From 2debe37e7236f42ab3457c94c7789103c70516de Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 7 Jul 2025 09:18:22 +0200 Subject: [PATCH 1/4] Use specific config folder for alpha versions CURA-12408 --- conandata.yml | 1 + conanfile.py | 20 +++++++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/conandata.yml b/conandata.yml index 3181d601e5..b9a8b99eb1 100644 --- a/conandata.yml +++ b/conandata.yml @@ -1,4 +1,5 @@ version: "5.11.0-alpha.0" +commit: "unknown" requirements: - "cura_resources/5.11.0-alpha.0@ultimaker/testing" - "uranium/5.11.0-alpha.0@ultimaker/testing" diff --git a/conanfile.py b/conanfile.py index 28f45e7c24..652f151fc3 100644 --- a/conanfile.py +++ b/conanfile.py @@ -16,7 +16,7 @@ from conan import ConanFile from conan.tools.files import copy, rmdir, save, mkdir, rm, update_conandata from conan.tools.microsoft import unix_path from conan.tools.env import VirtualRunEnv, Environment, VirtualBuildEnv -from conan.tools.scm import Version +from conan.tools.scm import Version, Git from conan.errors import ConanInvalidConfiguration, ConanException required_conan_version = ">=2.7.0" # When changing the version, also change the one in conandata.yml/extra_dependencies @@ -329,10 +329,16 @@ class CuraConan(ConanFile): # If you want a specific Cura version to show up on the splash screen add the user configuration `user.cura:version=VERSION` # the global.conf, profile, package_info (of dependency) or via the cmd line `-c user.cura:version=VERSION` cura_version = Version(self.conf.get("user.cura:version", default = self.version, check_type = str)) - pre_tag = f"-{cura_version.pre}" if cura_version.pre else "" - build_tag = f"+{cura_version.build}" if cura_version.build else "" - internal_tag = f"+internal" if self.options.internal else "" - cura_version = f"{cura_version.major}.{cura_version.minor}.{cura_version.patch}{pre_tag}{build_tag}{internal_tag}" + extra_build_identifiers = [] + + if self.options.internal: + extra_build_identifiers.append("internal") + if cura_version.pre.startswith("alpha") and self.conan_data["commmit"] != "unknown": + extra_build_identifiers.append(self.conan_data["commmit"]) + + if extra_build_identifiers: + separator = "+" if not cura_version.build else "." + cura_version = Version(f"{cura_version}{separator}{".".join(extra_build_identifiers)}") self.output.info(f"Write CuraVersion.py to {self.recipe_folder}") @@ -340,7 +346,7 @@ class CuraConan(ConanFile): f.write(cura_version_py.render( cura_app_name = self.name, cura_app_display_name = self._app_name, - cura_version = cura_version, + cura_version = str(cura_version), cura_version_full = self.version, cura_build_type = "Enterprise" if self.options.enterprise else "", cura_debug_mode = self.options.cura_debug_mode, @@ -527,7 +533,7 @@ class CuraConan(ConanFile): )) def export(self): - update_conandata(self, {"version": self.version}) + update_conandata(self, {"version": self.version, "commit": Git(self).get_commit()}) def export_sources(self): copy(self, "*", os.path.join(self.recipe_folder, "plugins"), os.path.join(self.export_sources_folder, "plugins")) From 87eb3b47053959c4b70e004dc54afbe453cefaed Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 7 Jul 2025 09:25:39 +0200 Subject: [PATCH 2/4] Fix string comparison CURA-12408 --- conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conanfile.py b/conanfile.py index 652f151fc3..82f039f9b9 100644 --- a/conanfile.py +++ b/conanfile.py @@ -333,7 +333,7 @@ class CuraConan(ConanFile): if self.options.internal: extra_build_identifiers.append("internal") - if cura_version.pre.startswith("alpha") and self.conan_data["commmit"] != "unknown": + if str(cura_version.pre).startswith("alpha") and self.conan_data["commmit"] != "unknown": extra_build_identifiers.append(self.conan_data["commmit"]) if extra_build_identifiers: From b617f2c27e60e7b33f0fc307cb1b89290b2cd975 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 7 Jul 2025 09:29:30 +0200 Subject: [PATCH 3/4] Fix commit key (too many MMMMMs) CURA-12408 --- conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conanfile.py b/conanfile.py index 82f039f9b9..362861ae41 100644 --- a/conanfile.py +++ b/conanfile.py @@ -333,8 +333,8 @@ class CuraConan(ConanFile): if self.options.internal: extra_build_identifiers.append("internal") - if str(cura_version.pre).startswith("alpha") and self.conan_data["commmit"] != "unknown": - extra_build_identifiers.append(self.conan_data["commmit"]) + if str(cura_version.pre).startswith("alpha") and self.conan_data["commit"] != "unknown": + extra_build_identifiers.append(self.conan_data["commit"]) if extra_build_identifiers: separator = "+" if not cura_version.build else "." From 581d8e3a1299a0b75ba61332c019649c9e07fd0c Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 7 Jul 2025 09:55:37 +0200 Subject: [PATCH 4/4] Use shorter commit reference CURA-12408 --- conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conanfile.py b/conanfile.py index 362861ae41..89b2da35d6 100644 --- a/conanfile.py +++ b/conanfile.py @@ -334,7 +334,7 @@ class CuraConan(ConanFile): if self.options.internal: extra_build_identifiers.append("internal") if str(cura_version.pre).startswith("alpha") and self.conan_data["commit"] != "unknown": - extra_build_identifiers.append(self.conan_data["commit"]) + extra_build_identifiers.append(self.conan_data["commit"][:6]) if extra_build_identifiers: separator = "+" if not cura_version.build else "."