From 6f0f9bb35fac2a352498e3e25daf6696288d3f90 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Wed, 13 Oct 2021 07:32:47 -0500 Subject: [PATCH] Fix missing export sources and error on no conandata. --- HISTORY.adoc | 5 +++++ setup.py | 2 +- src/barbarians/barbarian.py | 11 ++++++++++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/HISTORY.adoc b/HISTORY.adoc index 1bdf138..376a179 100644 --- a/HISTORY.adoc +++ b/HISTORY.adoc @@ -1,5 +1,10 @@ = History +== 0.1.1 + +* Fixes not including recipe exported sources in upload. +* Fixes errors when recipe does not have a `conandata.yml` specification file. + == 0.1 Initial release of `barbarian` tool to manage Conan packages for the Barbarian diff --git a/setup.py b/setup.py index dde54a3..9fcb24c 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ from setuptools import setup, find_namespace_packages import os -VERSION = '0.1' +VERSION = '0.1.1' print("TEST_VERSION:", os.getenv('TEST_VERSION')) if os.getenv('GHA_TEST_VERSION'): diff --git a/src/barbarians/barbarian.py b/src/barbarians/barbarian.py index 6f99358..3e1bffb 100644 --- a/src/barbarians/barbarian.py +++ b/src/barbarians/barbarian.py @@ -417,7 +417,16 @@ def command_upload(self, args): conan_export_tgz = os.path.join( self.recipe_revision_pub_dir, "files", "conan_export.tgz") with tarfile.open(conan_export_tgz, 'w|gz') as tgz: - tgz.add(conandata_yml, os.path.basename(conandata_yml)) + if os.path.exists(conandata_yml): + tgz.add(conandata_yml, os.path.basename(conandata_yml)) + # Generate the conan_sources.tgz. + export_source_dir = os.path.join( + self.recipe_export_dir, "export_source") + conan_sources_tgz = os.path.join( + self.recipe_revision_pub_dir, "files", "conan_sources.tgz") + with tarfile.open(conan_sources_tgz, 'w|gz') as tgz: + for source in os.listdir(export_source_dir): + tgz.add(os.path.join(export_source_dir, source), source) # Generate snapshot.json (v1), and files.json (v2). snapshot = {} files = {'files': {}}