aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--coin/instructions/common_environment.yaml90
-rw-r--r--coin/product_dependencies.yaml1
-rw-r--r--scripts/common.py12
-rwxr-xr-xscripts/install_qt.py8
4 files changed, 86 insertions, 25 deletions
diff --git a/coin/instructions/common_environment.yaml b/coin/instructions/common_environment.yaml
index 66119627c55..dedcbaf2fc5 100644
--- a/coin/instructions/common_environment.yaml
+++ b/coin/instructions/common_environment.yaml
@@ -2,12 +2,36 @@ type: Group
instructions:
- type: Group
instructions:
+ # Currently used Qt version for packaging ...
- type: Group
instructions:
- - type: SetBuildDirectory
- directory: "{{.AgentWorkingDir}}/build"
- - type: MakeDirectory
- directory: "{{.BuildDir}}"
+ - type: EnvironmentVariable
+ variableName: QTC_QT_BASE_URL
+ variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/qt/6.8.0/release_content/"
+ - type: EnvironmentVariable
+ variableName: MACOSX_DEPLOYMENT_TARGET
+ variableValue: 12.0
+ enable_if:
+ condition: property
+ property: features
+ not_contains_value: "OldestQt"
+ # ... or oldest supported Qt version
+ - type: Group
+ instructions:
+ - type: EnvironmentVariable
+ variableName: QTC_QT_BASE_URL
+ variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/qt/6.4.3/release_content/"
+ - type: EnvironmentVariable
+ variableName: MACOSX_DEPLOYMENT_TARGET
+ variableValue: 11.0
+ enable_if:
+ condition: property
+ property: features
+ contains_value: "OldestQt"
+ - type: SetBuildDirectory
+ directory: "{{.AgentWorkingDir}}/build"
+ - type: MakeDirectory
+ directory: "{{.BuildDir}}"
- type: EnvironmentVariable
variableName: QTC_BUILD_TYPE
variableValue: "RelWithDebInfo"
@@ -15,15 +39,9 @@ instructions:
variableName: LLVM_BASE_URL
variableValue: https://ci-files02-hki.ci.qt.io/packages/jenkins/qtcreator_libclang/libclang-release_19.1.0-based
- type: EnvironmentVariable
- variableName: QTC_QT_BASE_URL
- variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/qt/6.8.0/release_content/"
- - type: EnvironmentVariable
variableName: QTC_QT_MODULES
variableValue: "qt5compat qtbase qtdeclarative qtimageformats qtquick3d qtquicktimeline qtserialport qtshadertools qtsvg qttools qttranslations qtwebengine"
- type: EnvironmentVariable
- variableName: MACOSX_DEPLOYMENT_TARGET
- variableValue: 11.0
- - type: EnvironmentVariable
variableName: SDKTOOL_MACOSX_DEPLOYMENT_TARGET
variableValue: 11.0
- type: EnvironmentVariable
@@ -37,6 +55,17 @@ instructions:
- type: EnvironmentVariable
variableName: QTC_QT_POSTFIX
variableValue: "-Windows-Windows_11_23H2-MSVC2022-Windows-Windows_11_23H2-X86_64.7z"
+ enable_if:
+ condition: property
+ property: features
+ not_contains_value: "OldestQt"
+ - type: EnvironmentVariable
+ variableName: QTC_QT_POSTFIX
+ variableValue: "-Windows-Windows_11_22H2-MSVC2019-Windows-Windows_11_22H2-X86_64.7z"
+ enable_if:
+ condition: property
+ property: features
+ contains_value: "OldestQt"
- type: EnvironmentVariable
variableName: QTC_SDKTOOL_QT_EXT
variableValue: ".zip"
@@ -55,9 +84,30 @@ instructions:
equals_value: Windows
- type: Group
instructions:
- - type: EnvironmentVariable
- variableName: QTC_QT_POSTFIX
- variableValue: "-Linux-RHEL_8_8-GCC-Linux-RHEL_8_8-X86_64.7z"
+ - type: Group
+ instructions:
+ - type: EnvironmentVariable
+ variableName: QTC_QT_POSTFIX
+ variableValue: "-Linux-RHEL_8_8-GCC-Linux-RHEL_8_8-X86_64.7z"
+ - type: EnvironmentVariable
+ variableName: QTC_ICU_URL
+ variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/development_releases/prebuilt/icu/prebuilt/73.2/icu-linux-g++-Rhel8.6-x64.7z"
+ enable_if:
+ condition: property
+ property: features
+ not_contains_value: "OldestQt"
+ - type: Group
+ instructions:
+ - type: EnvironmentVariable
+ variableName: QTC_QT_POSTFIX
+ variableValue: "-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z"
+ - type: EnvironmentVariable
+ variableName: QTC_ICU_URL
+ variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/development_releases/prebuilt/icu/prebuilt/56.1/icu-linux-g++-Rhel7.2-x64.7z"
+ enable_if:
+ condition: property
+ property: features
+ contains_value: "OldestQt"
- type: EnvironmentVariable
variableName: QTC_SDKTOOL_QT_EXT
variableValue: ".tar.xz"
@@ -68,9 +118,6 @@ instructions:
variableName: QTC_LLVM_POSTFIX
variableValue: "-linux-Rhel8.8-gcc10.3-x86_64.7z"
- type: EnvironmentVariable
- variableName: QTC_ICU_URL
- variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/development_releases/prebuilt/icu/prebuilt/56.1/icu-linux-g++-Rhel7.2-x64.7z"
- - type: EnvironmentVariable
variableName: PYTHON_EXECUTABLE
variableValue: "python3"
# RHEL 8.10 comes with Python 3.6, we need explicitly python3.11
@@ -124,6 +171,17 @@ instructions:
- type: EnvironmentVariable
variableName: QTC_QT_POSTFIX
variableValue: "-MacOS-MacOS_14-Clang-MacOS-MacOS_14-X86_64-ARM64.7z"
+ enable_if:
+ condition: property
+ property: features
+ not_contains_value: "OldestQt"
+ - type: EnvironmentVariable
+ variableName: QTC_QT_POSTFIX
+ variableValue: "-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z"
+ enable_if:
+ condition: property
+ property: features
+ contains_value: "OldestQt"
- type: EnvironmentVariable
variableName: QTC_SDKTOOL_QT_EXT
variableValue: ".tar.xz"
diff --git a/coin/product_dependencies.yaml b/coin/product_dependencies.yaml
index 9f43d3da95f..959465886ef 100644
--- a/coin/product_dependencies.yaml
+++ b/coin/product_dependencies.yaml
@@ -1,4 +1,3 @@
dependencies:
../../qt/qt5.git:
ref: "6.8"
-
diff --git a/scripts/common.py b/scripts/common.py
index 4ee0ddf7036..1cbd13213d2 100644
--- a/scripts/common.py
+++ b/scripts/common.py
@@ -142,22 +142,26 @@ async def download(url: str, target: Path) -> None:
def download_and_extract(urls: list[str], target: Path, temp: Path) -> None:
+ download_and_extract_tuples([(url, target) for url in urls], temp)
+
+
+def download_and_extract_tuples(urls_and_targets: list[tuple[str, Path]], temp: Path) -> None:
temp.mkdir(parents=True, exist_ok=True)
- target_files = []
+ target_tuples : list[tuple[Path, Path]] = []
# TODO make this work with file URLs, which then aren't downloaded
# but just extracted
async def impl():
tasks : list[asyncio.Task] = []
- for url in urls:
+ for (url, target_path) in urls_and_targets:
u = urlparse(url)
filename = Path(u.path).name
target_file = temp / filename
- target_files.append(target_file)
+ target_tuples.append((target_file, target_path))
tasks.append(asyncio.create_task(download(url, target_file)))
for task in tasks:
await task
asyncio.run(impl())
- for file in target_files:
+ for (file, target) in target_tuples:
extract_file(file, target)
diff --git a/scripts/install_qt.py b/scripts/install_qt.py
index c2c68f0e2ad..777349c91d0 100755
--- a/scripts/install_qt.py
+++ b/scripts/install_qt.py
@@ -4,7 +4,7 @@
from __future__ import annotations
import argparse
-from common import download_and_extract
+from common import download_and_extract_tuples
from pathlib import Path
import subprocess
import sys
@@ -73,10 +73,10 @@ def install_qt(
with TemporaryDirectory() as temporary_dir:
if need_to_install_qt:
- urls = qt_modules
+ url_target_tuples = [(url, qt_path) for url in qt_modules]
if icu_url:
- qt_modules.append(icu_url)
- download_and_extract(urls, qt_path, Path(temporary_dir))
+ url_target_tuples.append((icu_url, qt_path / 'lib'))
+ download_and_extract_tuples(url_target_tuples, Path(temporary_dir))
patch_qt(qt_path)