Browse Source

Set requirements and version with conandata

This will allow workflow automations to easily create release branches and set the versions

Contributes to CURA-10831
Jelle Spijker 1 year ago
parent
commit
2dfe6d7e5d
2 changed files with 26 additions and 19 deletions
  1. 19 0
      conandata.yml
  2. 7 19
      conanfile.py

+ 19 - 0
conandata.yml

@@ -1,3 +1,22 @@
+version: "5.6.0-beta.1"
+requirements:
+  - "uranium/(latest)@ultimaker/stable"
+  - "curaengine/(latest)@ultimaker/stable"
+  - "cura_binary_data/(latest)@ultimaker/stable"
+  - "fdm_materials/(latest)@ultimaker/stable"
+  - "curaengine_plugin_gradual_flow/0.1.0"
+  - "dulcificum/(latest)@ultimaker/stable"
+  - "pyarcus/5.3.0"
+  - "pysavitar/5.3.0"
+  - "pynest2d/5.3.0"
+  - "curaengine_grpc_definitions/0.1.0"
+  - "cpython/3.10.4"
+  - "boost/1.82.0"
+  - "fmt/9.0.0"
+  - "zlib/1.2.13"
+requirements_internal:
+  - "fdm_materials/(latest)@internal/testing"
+  - "cura_private_data/(latest)@internal/testing"
 urls:
     default:
         cloud_api_root: "https://api.ultimaker.com"

+ 7 - 19
conanfile.py

@@ -50,7 +50,7 @@ class CuraConan(ConanFile):
 
     def set_version(self):
         if not self.version:
-            self.version = "5.6.0-beta.1"
+            self.version = self.conan_data["version"]
 
     @property
     def _pycharm_targets(self):
@@ -313,24 +313,12 @@ class CuraConan(ConanFile):
             raise ConanInvalidConfiguration("Only versions 5+ are support")
 
     def requirements(self):
-        self.requires("boost/1.82.0")
-        self.requires("fmt/9.0.0")
-        self.requires("curaengine_grpc_definitions/0.1.0")
-        self.requires("zlib/1.2.13")
-        self.requires("pyarcus/5.3.0")
-        self.requires("dulcificum/(latest)@ultimaker/stable")
-        self.requires("curaengine/(latest)@ultimaker/stable")
-        self.requires("pysavitar/5.3.0")
-        self.requires("pynest2d/5.3.0")
-        self.requires("curaengine_plugin_gradual_flow/0.1.0")
-        self.requires("uranium/(latest)@ultimaker/stable")
-        self.requires("cura_binary_data/(latest)@ultimaker/stable")
-        self.requires("cpython/3.10.4")
-        if self.options.internal:
-            self.requires("cura_private_data/(latest)@internal/testing")
-            self.requires("fdm_materials/(latest)@internal/testing")
-        else:
-            self.requires("fdm_materials/(latest)@ultimaker/stable")
+        for req in self.conan_data["requirements"]:
+            if self.options.internal and "fdm_materials" in req:
+                continue
+            self.requires(req)
+        for req in self.conan_data["requirements_internal"]:
+            self.requires(req)
 
     def build_requirements(self):
         if self.options.get_safe("enable_i18n", False):