From c921e624bf2fa4c57aae887d375c1ce927fa62a0 Mon Sep 17 00:00:00 2001 From: jlstevens Date: Sat, 9 Jan 2021 16:39:06 +0000 Subject: [PATCH 01/17] Attempting to load from file first --- autover/version.py | 5 +++++ examples/PkgBundle/version.py | 5 +++++ examples/pkg_bundle/version.py | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/autover/version.py b/autover/version.py index 76fc1d0..2aab3b6 100644 --- a/autover/version.py +++ b/autover/version.py @@ -236,6 +236,11 @@ def fetch(self): self._commit = self._expected_commit return self + output = self._output_from_file() + if output is not None: + self._update_from_vcs(output) + return self + # Only git right now but easily extended to SVN, Mercurial, etc. for cmd in ['git', 'git.cmd', 'git.exe']: try: diff --git a/examples/PkgBundle/version.py b/examples/PkgBundle/version.py index 76fc1d0..2aab3b6 100644 --- a/examples/PkgBundle/version.py +++ b/examples/PkgBundle/version.py @@ -236,6 +236,11 @@ def fetch(self): self._commit = self._expected_commit return self + output = self._output_from_file() + if output is not None: + self._update_from_vcs(output) + return self + # Only git right now but easily extended to SVN, Mercurial, etc. for cmd in ['git', 'git.cmd', 'git.exe']: try: diff --git a/examples/pkg_bundle/version.py b/examples/pkg_bundle/version.py index 76fc1d0..2aab3b6 100644 --- a/examples/pkg_bundle/version.py +++ b/examples/pkg_bundle/version.py @@ -236,6 +236,11 @@ def fetch(self): self._commit = self._expected_commit return self + output = self._output_from_file() + if output is not None: + self._update_from_vcs(output) + return self + # Only git right now but easily extended to SVN, Mercurial, etc. for cmd in ['git', 'git.cmd', 'git.exe']: try: From fe78959579d8a176f8fbfb24ace583d52862c551 Mon Sep 17 00:00:00 2001 From: jlstevens Date: Mon, 8 Feb 2021 21:41:27 +0000 Subject: [PATCH 02/17] Factored writing of .version file into record_version classmethod --- autover/version.py | 21 +++++++++++++++++---- examples/PkgBundle/version.py | 21 +++++++++++++++++---- examples/pkg_bundle/version.py | 21 +++++++++++++++++---- 3 files changed, 51 insertions(+), 12 deletions(-) diff --git a/autover/version.py b/autover/version.py index 2aab3b6..7573d81 100644 --- a/autover/version.py +++ b/autover/version.py @@ -488,7 +488,7 @@ def extract_directory_tag(cls, setup_path, reponame): @classmethod - def setup_version(cls, setup_path, reponame, archive_commit=None, + def record_version(cls, setup_path, reponame, archive_commit=None, pkgname=None, dirty='report'): info = {} git_describe = None @@ -529,11 +529,22 @@ def setup_version(cls, setup_path, reponame, archive_commit=None, except: print('Error in setup_version: could not write .version file.') - return info['version_string'] + @classmethod + def setup_version(cls, setup_path, reponame, archive_commit=None, + pkgname=None, dirty='report', record_version=False): + if record_version: + cls.record_version(setup_path, reponame, archive_commit=archive_commit, + pkgname=pkgname, dirty=dirty) + return Version.get_setup_version(setup_path, reponame, + describe=False, + dirty=dirty, + pkgname=pkgname, + archive_commit=archive_commit)['version_string'] -def get_setup_version(location, reponame, pkgname=None, archive_commit=None): +def get_setup_version(location, reponame, pkgname=None, archive_commit=None, + record_version=False): """Helper for use in setup.py to get the current version from either git describe or the .version file (if available). @@ -553,7 +564,9 @@ def get_setup_version(location, reponame, pkgname=None, archive_commit=None): pkgname = reponame if pkgname is None else pkgname if archive_commit is None: warnings.warn("No archive commit available; git archives will not contain version information") - return Version.setup_version(os.path.dirname(os.path.abspath(location)),reponame,pkgname=pkgname,archive_commit=archive_commit) + return Version.setup_version(os.path.dirname(os.path.abspath(location)),reponame, + pkgname=pkgname, archive_commit=archive_commit, + record_version=record_version) def get_setupcfg_version(): diff --git a/examples/PkgBundle/version.py b/examples/PkgBundle/version.py index 2aab3b6..7573d81 100644 --- a/examples/PkgBundle/version.py +++ b/examples/PkgBundle/version.py @@ -488,7 +488,7 @@ def extract_directory_tag(cls, setup_path, reponame): @classmethod - def setup_version(cls, setup_path, reponame, archive_commit=None, + def record_version(cls, setup_path, reponame, archive_commit=None, pkgname=None, dirty='report'): info = {} git_describe = None @@ -529,11 +529,22 @@ def setup_version(cls, setup_path, reponame, archive_commit=None, except: print('Error in setup_version: could not write .version file.') - return info['version_string'] + @classmethod + def setup_version(cls, setup_path, reponame, archive_commit=None, + pkgname=None, dirty='report', record_version=False): + if record_version: + cls.record_version(setup_path, reponame, archive_commit=archive_commit, + pkgname=pkgname, dirty=dirty) + return Version.get_setup_version(setup_path, reponame, + describe=False, + dirty=dirty, + pkgname=pkgname, + archive_commit=archive_commit)['version_string'] -def get_setup_version(location, reponame, pkgname=None, archive_commit=None): +def get_setup_version(location, reponame, pkgname=None, archive_commit=None, + record_version=False): """Helper for use in setup.py to get the current version from either git describe or the .version file (if available). @@ -553,7 +564,9 @@ def get_setup_version(location, reponame, pkgname=None, archive_commit=None): pkgname = reponame if pkgname is None else pkgname if archive_commit is None: warnings.warn("No archive commit available; git archives will not contain version information") - return Version.setup_version(os.path.dirname(os.path.abspath(location)),reponame,pkgname=pkgname,archive_commit=archive_commit) + return Version.setup_version(os.path.dirname(os.path.abspath(location)),reponame, + pkgname=pkgname, archive_commit=archive_commit, + record_version=record_version) def get_setupcfg_version(): diff --git a/examples/pkg_bundle/version.py b/examples/pkg_bundle/version.py index 2aab3b6..7573d81 100644 --- a/examples/pkg_bundle/version.py +++ b/examples/pkg_bundle/version.py @@ -488,7 +488,7 @@ def extract_directory_tag(cls, setup_path, reponame): @classmethod - def setup_version(cls, setup_path, reponame, archive_commit=None, + def record_version(cls, setup_path, reponame, archive_commit=None, pkgname=None, dirty='report'): info = {} git_describe = None @@ -529,11 +529,22 @@ def setup_version(cls, setup_path, reponame, archive_commit=None, except: print('Error in setup_version: could not write .version file.') - return info['version_string'] + @classmethod + def setup_version(cls, setup_path, reponame, archive_commit=None, + pkgname=None, dirty='report', record_version=False): + if record_version: + cls.record_version(setup_path, reponame, archive_commit=archive_commit, + pkgname=pkgname, dirty=dirty) + return Version.get_setup_version(setup_path, reponame, + describe=False, + dirty=dirty, + pkgname=pkgname, + archive_commit=archive_commit)['version_string'] -def get_setup_version(location, reponame, pkgname=None, archive_commit=None): +def get_setup_version(location, reponame, pkgname=None, archive_commit=None, + record_version=False): """Helper for use in setup.py to get the current version from either git describe or the .version file (if available). @@ -553,7 +564,9 @@ def get_setup_version(location, reponame, pkgname=None, archive_commit=None): pkgname = reponame if pkgname is None else pkgname if archive_commit is None: warnings.warn("No archive commit available; git archives will not contain version information") - return Version.setup_version(os.path.dirname(os.path.abspath(location)),reponame,pkgname=pkgname,archive_commit=archive_commit) + return Version.setup_version(os.path.dirname(os.path.abspath(location)),reponame, + pkgname=pkgname, archive_commit=archive_commit, + record_version=record_version) def get_setupcfg_version(): From 645d40aaa9764f782e8b2926a2d4a1aa245ff2f4 Mon Sep 17 00:00:00 2001 From: jlstevens Date: Tue, 9 Feb 2021 00:23:04 +0000 Subject: [PATCH 03/17] Fixed error in refactor --- autover/version.py | 2 +- examples/PkgBundle/version.py | 2 +- examples/pkg_bundle/version.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/autover/version.py b/autover/version.py index 7573d81..b1af67b 100644 --- a/autover/version.py +++ b/autover/version.py @@ -539,7 +539,7 @@ def setup_version(cls, setup_path, reponame, archive_commit=None, describe=False, dirty=dirty, pkgname=pkgname, - archive_commit=archive_commit)['version_string'] + archive_commit=archive_commit) diff --git a/examples/PkgBundle/version.py b/examples/PkgBundle/version.py index 7573d81..b1af67b 100644 --- a/examples/PkgBundle/version.py +++ b/examples/PkgBundle/version.py @@ -539,7 +539,7 @@ def setup_version(cls, setup_path, reponame, archive_commit=None, describe=False, dirty=dirty, pkgname=pkgname, - archive_commit=archive_commit)['version_string'] + archive_commit=archive_commit) diff --git a/examples/pkg_bundle/version.py b/examples/pkg_bundle/version.py index 7573d81..b1af67b 100644 --- a/examples/pkg_bundle/version.py +++ b/examples/pkg_bundle/version.py @@ -539,7 +539,7 @@ def setup_version(cls, setup_path, reponame, archive_commit=None, describe=False, dirty=dirty, pkgname=pkgname, - archive_commit=archive_commit)['version_string'] + archive_commit=archive_commit) From c5417edddbbcecbf28aa3f4dffb660d46c44f3fd Mon Sep 17 00:00:00 2001 From: jlstevens Date: Tue, 9 Feb 2021 18:32:52 +0000 Subject: [PATCH 04/17] Temporarily setting record_version flag to True --- autover/version.py | 2 +- examples/PkgBundle/version.py | 2 +- examples/pkg_bundle/version.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/autover/version.py b/autover/version.py index b1af67b..2e3cbf7 100644 --- a/autover/version.py +++ b/autover/version.py @@ -531,7 +531,7 @@ def record_version(cls, setup_path, reponame, archive_commit=None, @classmethod def setup_version(cls, setup_path, reponame, archive_commit=None, - pkgname=None, dirty='report', record_version=False): + pkgname=None, dirty='report', record_version=True): if record_version: cls.record_version(setup_path, reponame, archive_commit=archive_commit, pkgname=pkgname, dirty=dirty) diff --git a/examples/PkgBundle/version.py b/examples/PkgBundle/version.py index b1af67b..2e3cbf7 100644 --- a/examples/PkgBundle/version.py +++ b/examples/PkgBundle/version.py @@ -531,7 +531,7 @@ def record_version(cls, setup_path, reponame, archive_commit=None, @classmethod def setup_version(cls, setup_path, reponame, archive_commit=None, - pkgname=None, dirty='report', record_version=False): + pkgname=None, dirty='report', record_version=True): if record_version: cls.record_version(setup_path, reponame, archive_commit=archive_commit, pkgname=pkgname, dirty=dirty) diff --git a/examples/pkg_bundle/version.py b/examples/pkg_bundle/version.py index b1af67b..2e3cbf7 100644 --- a/examples/pkg_bundle/version.py +++ b/examples/pkg_bundle/version.py @@ -531,7 +531,7 @@ def record_version(cls, setup_path, reponame, archive_commit=None, @classmethod def setup_version(cls, setup_path, reponame, archive_commit=None, - pkgname=None, dirty='report', record_version=False): + pkgname=None, dirty='report', record_version=True): if record_version: cls.record_version(setup_path, reponame, archive_commit=archive_commit, pkgname=pkgname, dirty=dirty) From 645fd090a761e954304a63667123f6a7cd4f0dfd Mon Sep 17 00:00:00 2001 From: jlstevens Date: Wed, 10 Feb 2021 09:55:37 +0000 Subject: [PATCH 05/17] Setting flag to True at the correct entrypoint --- autover/version.py | 4 ++-- examples/PkgBundle/version.py | 4 ++-- examples/pkg_bundle/version.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/autover/version.py b/autover/version.py index 2e3cbf7..b149bd2 100644 --- a/autover/version.py +++ b/autover/version.py @@ -531,7 +531,7 @@ def record_version(cls, setup_path, reponame, archive_commit=None, @classmethod def setup_version(cls, setup_path, reponame, archive_commit=None, - pkgname=None, dirty='report', record_version=True): + pkgname=None, dirty='report', record_version=False): if record_version: cls.record_version(setup_path, reponame, archive_commit=archive_commit, pkgname=pkgname, dirty=dirty) @@ -544,7 +544,7 @@ def setup_version(cls, setup_path, reponame, archive_commit=None, def get_setup_version(location, reponame, pkgname=None, archive_commit=None, - record_version=False): + record_version=True): """Helper for use in setup.py to get the current version from either git describe or the .version file (if available). diff --git a/examples/PkgBundle/version.py b/examples/PkgBundle/version.py index 2e3cbf7..b149bd2 100644 --- a/examples/PkgBundle/version.py +++ b/examples/PkgBundle/version.py @@ -531,7 +531,7 @@ def record_version(cls, setup_path, reponame, archive_commit=None, @classmethod def setup_version(cls, setup_path, reponame, archive_commit=None, - pkgname=None, dirty='report', record_version=True): + pkgname=None, dirty='report', record_version=False): if record_version: cls.record_version(setup_path, reponame, archive_commit=archive_commit, pkgname=pkgname, dirty=dirty) @@ -544,7 +544,7 @@ def setup_version(cls, setup_path, reponame, archive_commit=None, def get_setup_version(location, reponame, pkgname=None, archive_commit=None, - record_version=False): + record_version=True): """Helper for use in setup.py to get the current version from either git describe or the .version file (if available). diff --git a/examples/pkg_bundle/version.py b/examples/pkg_bundle/version.py index 2e3cbf7..b149bd2 100644 --- a/examples/pkg_bundle/version.py +++ b/examples/pkg_bundle/version.py @@ -531,7 +531,7 @@ def record_version(cls, setup_path, reponame, archive_commit=None, @classmethod def setup_version(cls, setup_path, reponame, archive_commit=None, - pkgname=None, dirty='report', record_version=True): + pkgname=None, dirty='report', record_version=False): if record_version: cls.record_version(setup_path, reponame, archive_commit=archive_commit, pkgname=pkgname, dirty=dirty) @@ -544,7 +544,7 @@ def setup_version(cls, setup_path, reponame, archive_commit=None, def get_setup_version(location, reponame, pkgname=None, archive_commit=None, - record_version=False): + record_version=True): """Helper for use in setup.py to get the current version from either git describe or the .version file (if available). From be6e7ff01eef73ab63a029756488bd16438ac83d Mon Sep 17 00:00:00 2001 From: jlstevens Date: Wed, 10 Feb 2021 15:33:55 +0000 Subject: [PATCH 06/17] Attempt to fix test --- dodo.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dodo.py b/dodo.py index 1580991..964651a 100644 --- a/dodo.py +++ b/dodo.py @@ -106,6 +106,8 @@ def task_original_script(): 'getargs': {'git_version': ('get_git_version','git_version')}, 'params': [example,example_pkgname], 'actions':[ + # 1. Create .version file for tox + action.CmdAction("""python -c 'import os; from autover import Version; Version.record_version(os.getcwd(), %(example_pkgname)r, archive_commit="$Format:%h$")'""",env=env1), # 1. verify package generation & installation action.CmdAction('tox -e py -- %(git_version)s',env=env1), From 8ce578abce4149f5c0b1d56af34dd485fb962469 Mon Sep 17 00:00:00 2001 From: jlstevens Date: Wed, 10 Feb 2021 17:13:27 +0000 Subject: [PATCH 07/17] Updated action definition --- dodo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dodo.py b/dodo.py index 964651a..a6ff5c2 100644 --- a/dodo.py +++ b/dodo.py @@ -107,7 +107,7 @@ def task_original_script(): 'params': [example,example_pkgname], 'actions':[ # 1. Create .version file for tox - action.CmdAction("""python -c 'import os; from autover import Version; Version.record_version(os.getcwd(), %(example_pkgname)r, archive_commit="$Format:%h$")'""",env=env1), + action.CmdAction(lambda example,example_pkgname: """python -c 'import os; from autover import Version; Version.record_version(os.getcwd(), """ + "\"%r\"" % example_pkgname + """, archive_commit="$Format:%h$")'""",env=env1), # 1. verify package generation & installation action.CmdAction('tox -e py -- %(git_version)s',env=env1), From edbd3d0d13eda57b7e1a105cf3df0b18da2ff866 Mon Sep 17 00:00:00 2001 From: jlstevens Date: Wed, 10 Feb 2021 23:25:54 +0000 Subject: [PATCH 08/17] Fixed issue with unrecognized format character --- dodo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dodo.py b/dodo.py index a6ff5c2..c4a751b 100644 --- a/dodo.py +++ b/dodo.py @@ -107,7 +107,7 @@ def task_original_script(): 'params': [example,example_pkgname], 'actions':[ # 1. Create .version file for tox - action.CmdAction(lambda example,example_pkgname: """python -c 'import os; from autover import Version; Version.record_version(os.getcwd(), """ + "\"%r\"" % example_pkgname + """, archive_commit="$Format:%h$")'""",env=env1), + action.CmdAction(lambda example,example_pkgname: """python -c 'import os; from autover import Version; Version.record_version(os.getcwd(), """ + "\"%s\"" % example_pkgname + """, archive_commit="$Format:%%h$")'""",env=env1), # 1. verify package generation & installation action.CmdAction('tox -e py -- %(git_version)s',env=env1), From 87bbe2456fb4c62816b4c065566069e5c9937a0a Mon Sep 17 00:00:00 2001 From: jlstevens Date: Thu, 11 Feb 2021 09:05:11 +0000 Subject: [PATCH 09/17] Importing from local version.py file --- dodo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dodo.py b/dodo.py index c4a751b..234289c 100644 --- a/dodo.py +++ b/dodo.py @@ -107,7 +107,7 @@ def task_original_script(): 'params': [example,example_pkgname], 'actions':[ # 1. Create .version file for tox - action.CmdAction(lambda example,example_pkgname: """python -c 'import os; from autover import Version; Version.record_version(os.getcwd(), """ + "\"%s\"" % example_pkgname + """, archive_commit="$Format:%%h$")'""",env=env1), + action.CmdAction(lambda example,example_pkgname: """python -c 'import os; from version import Version; Version.record_version(os.getcwd(), """ + "\"%s\"" % example_pkgname + """, archive_commit="$Format:%%h$")'""",env=env1), # 1. verify package generation & installation action.CmdAction('tox -e py -- %(git_version)s',env=env1), From 3337ae9388eca310e6e9d55aef7e0b11f0ebc4f9 Mon Sep 17 00:00:00 2001 From: jlstevens Date: Thu, 11 Feb 2021 10:17:21 +0000 Subject: [PATCH 10/17] Conditioning recording of .version by test --- dodo.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/dodo.py b/dodo.py index 234289c..c4a2c80 100644 --- a/dodo.py +++ b/dodo.py @@ -102,12 +102,27 @@ def task_original_script(): env2 = os.environ.copy() env2['PYTHONPATH'] = os.getcwd() # TODO win + def record_pkg_bundle_version(example,example_pkgname): + return """python -c 'import os; from version import Version; Version.record_version(os.getcwd(), """ + "\"%s\"" % example_pkgname + """, archive_commit="$Format:%%h$")'""" + + def record_pkg_depend_version(example,example_pkgname): + return """python -c 'import os; from autover import Version; Version.record_version(os.getcwd(), """ + "\"%s\"" % example_pkgname + """, archive_commit="$Format:%%h$")'""" + + def record_pkg_params_version(example,example_pkgname): + return """python -c 'import os; from param.version import Version; Version.record_version(os.getcwd(), """ + "\"%s\"" % example_pkgname + """, archive_commit="$Format:%%h$")'""" + + record_mapping={'pkg_bundle':record_pkg_bundle_version, + 'PkgBundle':record_pkg_bundle_version, + 'pkg_depend':record_pkg_depend_version, + 'pkg_params':record_pkg_params_version} + return { 'getargs': {'git_version': ('get_git_version','git_version')}, 'params': [example,example_pkgname], 'actions':[ - # 1. Create .version file for tox - action.CmdAction(lambda example,example_pkgname: """python -c 'import os; from version import Version; Version.record_version(os.getcwd(), """ + "\"%s\"" % example_pkgname + """, archive_commit="$Format:%%h$")'""",env=env1), + # 0. Create .version file for tox + action.CmdAction(lambda example,example_pkgname: record_mapping[example_pkgname](example,example_pkgname), + env=env1), # 1. verify package generation & installation action.CmdAction('tox -e py -- %(git_version)s',env=env1), From 6143aeedff90deab79a103226524e3924ad4db53 Mon Sep 17 00:00:00 2001 From: jlstevens Date: Thu, 11 Feb 2021 10:22:28 +0000 Subject: [PATCH 11/17] Only recording .version when necessary --- dodo.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/dodo.py b/dodo.py index c4a2c80..8fabb49 100644 --- a/dodo.py +++ b/dodo.py @@ -105,23 +105,17 @@ def task_original_script(): def record_pkg_bundle_version(example,example_pkgname): return """python -c 'import os; from version import Version; Version.record_version(os.getcwd(), """ + "\"%s\"" % example_pkgname + """, archive_commit="$Format:%%h$")'""" - def record_pkg_depend_version(example,example_pkgname): - return """python -c 'import os; from autover import Version; Version.record_version(os.getcwd(), """ + "\"%s\"" % example_pkgname + """, archive_commit="$Format:%%h$")'""" - - def record_pkg_params_version(example,example_pkgname): - return """python -c 'import os; from param.version import Version; Version.record_version(os.getcwd(), """ + "\"%s\"" % example_pkgname + """, archive_commit="$Format:%%h$")'""" + def record_pkg_skip(example,example_pkgname): + return """python -c 'print(\"Not recording .version\")'""" record_mapping={'pkg_bundle':record_pkg_bundle_version, - 'PkgBundle':record_pkg_bundle_version, - 'pkg_depend':record_pkg_depend_version, - 'pkg_params':record_pkg_params_version} - + 'PkgBundle': record_pkg_bundle_version} return { 'getargs': {'git_version': ('get_git_version','git_version')}, 'params': [example,example_pkgname], 'actions':[ # 0. Create .version file for tox - action.CmdAction(lambda example,example_pkgname: record_mapping[example_pkgname](example,example_pkgname), + action.CmdAction(lambda example,example_pkgname: record_mapping.get(example_pkgname,record_pkg_skip)(example,example_pkgname), env=env1), # 1. verify package generation & installation action.CmdAction('tox -e py -- %(git_version)s',env=env1), From 8e14f9bde468600876c3dcdae3d30778ed93b343 Mon Sep 17 00:00:00 2001 From: jlstevens Date: Mon, 15 Feb 2021 23:16:51 +0100 Subject: [PATCH 12/17] Removing .version after pkg_bundle or PkgBundle tests --- dodo.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dodo.py b/dodo.py index 8fabb49..bce51f1 100644 --- a/dodo.py +++ b/dodo.py @@ -108,6 +108,12 @@ def record_pkg_bundle_version(example,example_pkgname): def record_pkg_skip(example,example_pkgname): return """python -c 'print(\"Not recording .version\")'""" + def remove_version_file(example,example_pkgname): + return (("rm ./%s/.version" % example_pkgname) + if example_pkgname in ['pkg_bundle', 'PkgBundle'] + else "echo 'Skipping removal of .version'") + + record_mapping={'pkg_bundle':record_pkg_bundle_version, 'PkgBundle': record_pkg_bundle_version} return { @@ -119,6 +125,8 @@ def record_pkg_skip(example,example_pkgname): env=env1), # 1. verify package generation & installation action.CmdAction('tox -e py -- %(git_version)s',env=env1), + # 2. Remove .version file + action.CmdAction(remove_version_file, env=env1), # dev install, then... # TODO: need prerelease param just now; remove pre & index urls after release From df4b4275808d6413e6b059bae1c0bd08be3c8844 Mon Sep 17 00:00:00 2001 From: jlstevens Date: Tue, 16 Feb 2021 08:51:56 +0100 Subject: [PATCH 13/17] Added more debug info --- dodo.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dodo.py b/dodo.py index bce51f1..d592d8b 100644 --- a/dodo.py +++ b/dodo.py @@ -103,7 +103,9 @@ def task_original_script(): env2['PYTHONPATH'] = os.getcwd() # TODO win def record_pkg_bundle_version(example,example_pkgname): - return """python -c 'import os; from version import Version; Version.record_version(os.getcwd(), """ + "\"%s\"" % example_pkgname + """, archive_commit="$Format:%%h$")'""" + return ("""python -c 'import os; from version import Version;""" + + ('print("Writing .version for %s in %s");' % (example_pkgname, example)) + + """Version.record_version(os.getcwd(), """ + "\"%s\"" % example_pkgname + """, archive_commit="$Format:%%h$")'""") def record_pkg_skip(example,example_pkgname): return """python -c 'print(\"Not recording .version\")'""" @@ -111,7 +113,8 @@ def record_pkg_skip(example,example_pkgname): def remove_version_file(example,example_pkgname): return (("rm ./%s/.version" % example_pkgname) if example_pkgname in ['pkg_bundle', 'PkgBundle'] - else "echo 'Skipping removal of .version'") + else ("echo 'Skipping removal of .version for %s in %s'" + % (example_pkgname, example))) record_mapping={'pkg_bundle':record_pkg_bundle_version, From 80a48c413b30be3d23e2af3b869ea1ea23773301 Mon Sep 17 00:00:00 2001 From: jlstevens Date: Tue, 16 Feb 2021 09:19:54 +0100 Subject: [PATCH 14/17] Fixes --- autover/version.py | 2 +- dodo.py | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/autover/version.py b/autover/version.py index b149bd2..b1af67b 100644 --- a/autover/version.py +++ b/autover/version.py @@ -544,7 +544,7 @@ def setup_version(cls, setup_path, reponame, archive_commit=None, def get_setup_version(location, reponame, pkgname=None, archive_commit=None, - record_version=True): + record_version=False): """Helper for use in setup.py to get the current version from either git describe or the .version file (if available). diff --git a/dodo.py b/dodo.py index d592d8b..ad4a51e 100644 --- a/dodo.py +++ b/dodo.py @@ -103,16 +103,18 @@ def task_original_script(): env2['PYTHONPATH'] = os.getcwd() # TODO win def record_pkg_bundle_version(example,example_pkgname): + pkgname = _x(example,example_pkgname) return ("""python -c 'import os; from version import Version;""" + ('print("Writing .version for %s in %s");' % (example_pkgname, example)) - + """Version.record_version(os.getcwd(), """ + "\"%s\"" % example_pkgname + """, archive_commit="$Format:%%h$")'""") + + """Version.record_version(os.getcwd(), """ + "\"%s\"" % pkgname + """, archive_commit="$Format:%%h$")'""") def record_pkg_skip(example,example_pkgname): return """python -c 'print(\"Not recording .version\")'""" def remove_version_file(example,example_pkgname): - return (("rm ./%s/.version" % example_pkgname) - if example_pkgname in ['pkg_bundle', 'PkgBundle'] + pkgname = _x(example,example_pkgname) + return (("rm ./%s/.version" % pkgname) + if pkgname in ['pkg_bundle', 'PkgBundle'] else ("echo 'Skipping removal of .version for %s in %s'" % (example_pkgname, example))) From a6009b847ea70a1fff68dab02bd931ca2af685d9 Mon Sep 17 00:00:00 2001 From: jlstevens Date: Tue, 16 Feb 2021 09:25:13 +0100 Subject: [PATCH 15/17] Synchronized version files --- examples/PkgBundle/version.py | 2 +- examples/pkg_bundle/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/PkgBundle/version.py b/examples/PkgBundle/version.py index b149bd2..b1af67b 100644 --- a/examples/PkgBundle/version.py +++ b/examples/PkgBundle/version.py @@ -544,7 +544,7 @@ def setup_version(cls, setup_path, reponame, archive_commit=None, def get_setup_version(location, reponame, pkgname=None, archive_commit=None, - record_version=True): + record_version=False): """Helper for use in setup.py to get the current version from either git describe or the .version file (if available). diff --git a/examples/pkg_bundle/version.py b/examples/pkg_bundle/version.py index b149bd2..b1af67b 100644 --- a/examples/pkg_bundle/version.py +++ b/examples/pkg_bundle/version.py @@ -544,7 +544,7 @@ def setup_version(cls, setup_path, reponame, archive_commit=None, def get_setup_version(location, reponame, pkgname=None, archive_commit=None, - record_version=True): + record_version=False): """Helper for use in setup.py to get the current version from either git describe or the .version file (if available). From a07857bd17d6543ed8342c45cb5e3cbbcc3b47db Mon Sep 17 00:00:00 2001 From: jlstevens Date: Tue, 16 Feb 2021 09:33:31 +0100 Subject: [PATCH 16/17] Fix accessing function dict --- dodo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dodo.py b/dodo.py index ad4a51e..b938fcc 100644 --- a/dodo.py +++ b/dodo.py @@ -126,7 +126,7 @@ def remove_version_file(example,example_pkgname): 'params': [example,example_pkgname], 'actions':[ # 0. Create .version file for tox - action.CmdAction(lambda example,example_pkgname: record_mapping.get(example_pkgname,record_pkg_skip)(example,example_pkgname), + action.CmdAction(lambda example,example_pkgname: record_mapping.get(_x(example,example_pkgname),record_pkg_skip)(example,example_pkgname), env=env1), # 1. verify package generation & installation action.CmdAction('tox -e py -- %(git_version)s',env=env1), From 1438aaf7745e9cc9fc6f3c6b47aa22a0ace6eedd Mon Sep 17 00:00:00 2001 From: jlstevens Date: Tue, 16 Feb 2021 18:53:49 +0100 Subject: [PATCH 17/17] Printing exception message when git access fails --- autover/version.py | 1 + examples/PkgBundle/version.py | 1 + examples/pkg_bundle/version.py | 1 + 3 files changed, 3 insertions(+) diff --git a/autover/version.py b/autover/version.py index b1af67b..dfc4e2d 100644 --- a/autover/version.py +++ b/autover/version.py @@ -277,6 +277,7 @@ def git_fetch(self, cmd='git', as_string=False): cwd=os.path.dirname(self.fpath)) if as_string: return output except Exception as e1: + print('Git describe exception: %s' % str(e1)) try: output = self._output_from_file() if output is not None: diff --git a/examples/PkgBundle/version.py b/examples/PkgBundle/version.py index b1af67b..dfc4e2d 100644 --- a/examples/PkgBundle/version.py +++ b/examples/PkgBundle/version.py @@ -277,6 +277,7 @@ def git_fetch(self, cmd='git', as_string=False): cwd=os.path.dirname(self.fpath)) if as_string: return output except Exception as e1: + print('Git describe exception: %s' % str(e1)) try: output = self._output_from_file() if output is not None: diff --git a/examples/pkg_bundle/version.py b/examples/pkg_bundle/version.py index b1af67b..dfc4e2d 100644 --- a/examples/pkg_bundle/version.py +++ b/examples/pkg_bundle/version.py @@ -277,6 +277,7 @@ def git_fetch(self, cmd='git', as_string=False): cwd=os.path.dirname(self.fpath)) if as_string: return output except Exception as e1: + print('Git describe exception: %s' % str(e1)) try: output = self._output_from_file() if output is not None: