diff options
author | Eike Ziller <eike.ziller@qt.io> | 2020-01-16 12:20:09 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2020-01-20 15:03:28 +0000 |
commit | 3e811d6068ad7b992f5578eaec824ea41c0f7100 (patch) | |
tree | 5c25bdb26153c776a1356cf22756a30fbd4b2561 | |
parent | b17909bf698b944c323c658870335352a165c390 (diff) |
Qt Creator: Fix retrieval of commit SHAsv5.14.1-packaging
With the sources from COIN we do not have a real git repository anymore,
but it writes the SHA into the .tag file.
Generalize a get_commit_SHA function that first tries git, then tries
.tag.
Change-Id: Ibd4637769d8e3e6024d8beec16fd22cda0d8b0ca
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
-rwxr-xr-x | packaging-tools/bld_qtcreator.py | 4 | ||||
-rwxr-xr-x | packaging-tools/bld_qtcreator_plugins.py | 5 | ||||
-rw-r--r-- | packaging-tools/bld_utils.py | 12 | ||||
-rw-r--r-- | packaging-tools/build_wrapper.py | 6 |
4 files changed, 20 insertions, 7 deletions
diff --git a/packaging-tools/bld_qtcreator.py b/packaging-tools/bld_qtcreator.py index 4a1326560..f82d9e385 100755 --- a/packaging-tools/bld_qtcreator.py +++ b/packaging-tools/bld_qtcreator.py @@ -52,7 +52,7 @@ import sys # own imports from threadedwork import ThreadedWork -from bld_utils import gitSHA, runBuildCommand, runCommand, runInstallCommand, stripVars +from bld_utils import get_commit_SHA, runBuildCommand, runCommand, runInstallCommand, stripVars import bldinstallercommon def add_commandline_arguments(parser): @@ -264,7 +264,7 @@ if __name__ == "__main__": buildType = 'debug' else: buildType = 'release' - buildGitSHA = gitSHA(qtCreatorSourceDirectory, callerArguments) + buildGitSHA = get_commit_SHA(qtCreatorSourceDirectory, callerArguments) qtCreatorProFile = os.path.join(qtCreatorSourceDirectory, 'qtcreator.pro') qmakeCommand = [qmakeBinary, qtCreatorProFile, diff --git a/packaging-tools/bld_qtcreator_plugins.py b/packaging-tools/bld_qtcreator_plugins.py index 12faad075..244f24ace 100755 --- a/packaging-tools/bld_qtcreator_plugins.py +++ b/packaging-tools/bld_qtcreator_plugins.py @@ -52,7 +52,7 @@ import sys # own imports from threadedwork import ThreadedWork -from bld_utils import gitSHA, runBuildCommand, runInstallCommand, runCommand, stripVars +from bld_utils import get_commit_SHA, runBuildCommand, runInstallCommand, runCommand, stripVars import bldinstallercommon from bld_qtcreator import add_common_commandline_arguments, patch_qt_pri_files, qmake_binary, get_common_environment @@ -168,7 +168,8 @@ def build_plugins(caller_arguments): # environment environment = get_common_environment(paths.qt5, caller_arguments) - buildGitSHA = gitSHA(paths.source, caller_arguments) + # get SHA either via git, or if that fails look for a .tag file + buildGitSHA = get_commit_SHA(paths.source, caller_arguments) # build plugins print('------------') diff --git a/packaging-tools/bld_utils.py b/packaging-tools/bld_utils.py index 9957d6da1..3935227c7 100644 --- a/packaging-tools/bld_utils.py +++ b/packaging-tools/bld_utils.py @@ -420,6 +420,18 @@ def gitSHA(path, callerArguments = None): return getReturnValue(gitBinary + " rev-list -n1 HEAD", currentWorkingDirectory = path, callerArguments = callerArguments).strip() return '' + +# get commit SHA either directly from git, or from a .tag file in the source directory +def get_commit_SHA(source_path, callerArguments = None): + buildGitSHA = gitSHA(source_path, callerArguments) + if not buildGitSHA: + tagfile = os.path.join(source_path, '.tag') + if os.path.exists(tagfile): + with open(tagfile, 'r') as f: + buildGitSHA = f.read().strip() + return buildGitSHA + + def isGitDirectory(repository_path): if not repository_path: return False diff --git a/packaging-tools/build_wrapper.py b/packaging-tools/build_wrapper.py index 06151c130..5cefdf30b 100644 --- a/packaging-tools/build_wrapper.py +++ b/packaging-tools/build_wrapper.py @@ -694,7 +694,7 @@ def collect_qt_creator_plugin_sha1s(plugins): sha1s = [] for name in [p.name for p in plugins if p.build and os.path.isdir(os.path.join(work_dir, p.path))]: with open(os.path.join(work_dir, name + '.7z.git_sha'), 'r') as f: - sha = f.read() + sha = f.read().strip() sha1s.append(name + ': ' + sha) return sorted(sha1s) @@ -1062,8 +1062,8 @@ def handle_qt_creator_build(optionDict, qtCreatorPlugins): sha1s = collect_qt_creator_plugin_sha1s(additional_plugins) licensemanaging_source = os.path.join(work_dir, 'license-managing') if os.path.exists(licensemanaging_source): - sha1s.append('license-managing: ' + bld_utils.gitSHA(licensemanaging_source)) - sha1s.append('qt-creator: ' + bld_utils.gitSHA(qtcreator_source)) + sha1s.append('license-managing: ' + bld_utils.get_commit_SHA(licensemanaging_source)) + sha1s.append('qt-creator: ' + bld_utils.get_commit_SHA(qtcreator_source)) with open(os.path.join(work_dir, 'SHA1'), 'w') as f: f.writelines([sha + '\n' for sha in sha1s]) # Create opensource source package |