aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2020-01-16 12:20:09 +0100
committerEike Ziller <eike.ziller@qt.io>2020-01-20 15:03:28 +0000
commit3e811d6068ad7b992f5578eaec824ea41c0f7100 (patch)
tree5c25bdb26153c776a1356cf22756a30fbd4b2561
parentb17909bf698b944c323c658870335352a165c390 (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-xpackaging-tools/bld_qtcreator.py4
-rwxr-xr-xpackaging-tools/bld_qtcreator_plugins.py5
-rw-r--r--packaging-tools/bld_utils.py12
-rw-r--r--packaging-tools/build_wrapper.py6
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