From a6ede540e8c6c33ba3915645dee87b6971e3df99 Mon Sep 17 00:00:00 2001 From: jspijker Date: Fri, 24 Feb 2023 11:35:46 +0100 Subject: [PATCH 01/12] Move staging urls out-of conanfile Contributes to CURA-10317 Inconsitent material profiles in internal builds --- conandata.yml | 13 +++++++++++++ conanfile.py | 36 +++++++++--------------------------- 2 files changed, 22 insertions(+), 27 deletions(-) diff --git a/conandata.yml b/conandata.yml index 1f90437ab2..ec27469dc4 100644 --- a/conandata.yml +++ b/conandata.yml @@ -1,3 +1,16 @@ +urls: + default: + cloud_api_root: "https://api.ultimaker.com" + cloud_account_api_root: "https://account.ultimaker.com" + marketplace_root: "https://marketplace.ultimaker.com" + digital_factory_url: "https://digitalfactory.ultimaker.com" + cura_latest_url: "https://software.ultimaker.com/latest.json" + staging: + cloud_api_root: "https://api-staging.ultimaker.com" + cloud_account_api_root: "https://account-staging.ultimaker.com" + marketplace_root: "https://marketplace-staging.ultimaker.com" + digital_factory_url: "https://digitalfactory-staging.ultimaker.com" + cura_latest_url: "https://software.ultimaker.com/latest.json" pyinstaller: runinfo: entrypoint: "cura_app.py" diff --git a/conanfile.py b/conanfile.py index 828e5ce34d..76baec2100 100644 --- a/conanfile.py +++ b/conanfile.py @@ -71,10 +71,6 @@ class CuraConan(ConanFile): self._cura_env.define("QT_XKB_CONFIG_ROOT", "/usr/share/X11/xkb") return self._cura_env - @property - def _staging(self): - return self.options.staging in ["True", 'true'] - @property def _enterprise(self): return self.options.enterprise in ["True", 'true'] @@ -86,24 +82,10 @@ class CuraConan(ConanFile): return str(self.options.display_name) @property - def _cloud_api_root(self): - return "https://api-staging.ultimaker.com" if self._staging else "https://api.ultimaker.com" - - @property - def _cloud_account_api_root(self): - return "https://account-staging.ultimaker.com" if self._staging else "https://account.ultimaker.com" - - @property - def _marketplace_root(self): - return "https://marketplace-staging.ultimaker.com" if self._staging else "https://marketplace.ultimaker.com" - - @property - def _digital_factory_url(self): - return "https://digitalfactory-staging.ultimaker.com" if self._staging else "https://digitalfactory.ultimaker.com" - - @property - def _cura_latest_url(self): - return "https://software.ultimaker.com/latest.json" + def _urls(self): + if self.options.staging in ["True", 'true']: + return "staging" + return "default" @property def requirements_txts(self): @@ -173,12 +155,12 @@ class CuraConan(ConanFile): cura_version = cura_version, cura_build_type = "Enterprise" if self._enterprise else "", cura_debug_mode = self.options.cura_debug_mode, - cura_cloud_api_root = self._cloud_api_root, + cura_cloud_api_root = self.conan_data["urls"][self._urls]["cloud_api_root"], cura_cloud_api_version = self.options.cloud_api_version, - cura_cloud_account_api_root = self._cloud_account_api_root, - cura_marketplace_root = self._marketplace_root, - cura_digital_factory_url = self._digital_factory_url, - cura_latest_url = self._cura_latest_url)) + cura_cloud_account_api_root = self.conan_data["urls"][self._urls]["cloud_account_api_root"], + cura_marketplace_root = self.conan_data["urls"][self._urls]["marketplace_root"], + cura_digital_factory_url = self.conan_data["urls"][self._urls]["digital_factory_url"], + cura_latest_url = self.conan_data["urls"][self._urls]["cura_latest_url"])) def _generate_pyinstaller_spec(self, location, entrypoint_location, icon_path, entitlements_file): pyinstaller_metadata = self.conan_data["pyinstaller"] From a7a26c56700870f2a46cdcd70fb77eee1071cd7d Mon Sep 17 00:00:00 2001 From: jspijker Date: Fri, 24 Feb 2023 11:38:53 +0100 Subject: [PATCH 02/12] Clear the info as you would clear a header only lib Contributes to CURA-10317 Inconsitent material profiles in internal builds --- conanfile.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/conanfile.py b/conanfile.py index 76baec2100..385542c6b9 100644 --- a/conanfile.py +++ b/conanfile.py @@ -476,10 +476,7 @@ echo "CURA_APP_NAME={{ cura_app_name }}" >> ${{ env_prefix }}GITHUB_ENV self.runenv_info.append_path("PYTHONPATH", os.path.join(self.source_folder, "plugins")) def package_id(self): - del self.info.settings.os - del self.info.settings.compiler - del self.info.settings.build_type - del self.info.settings.arch + self.info.clear() # The following options shouldn't be used to determine the hash, since these are only used to set the CuraVersion.py # which will als be generated by the deploy method during the `conan install cura/5.1.0@_/_` From 93564ac008fac809bc3bfe085822f09eaed99a76 Mon Sep 17 00:00:00 2001 From: jspijker Date: Fri, 24 Feb 2023 14:42:00 +0100 Subject: [PATCH 03/12] deploy cura resources Contributes to CURA-10317 Inconsitent material profiles in internal builds --- conanfile.py | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/conanfile.py b/conanfile.py index 385542c6b9..5d4f4ca8fc 100644 --- a/conanfile.py +++ b/conanfile.py @@ -367,31 +367,23 @@ class CuraConan(ConanFile): def deploy(self): # Copy CuraEngine.exe to bindirs of Virtual Python Environment - # TODO: Fix source such that it will get the curaengine relative from the executable (Python bindir in this case) - self.copy_deps("CuraEngine.exe", root_package = "curaengine", src = self.deps_cpp_info["curaengine"].bindirs[0], - dst = self._base_dir, - keep_path = False) - self.copy_deps("CuraEngine", root_package = "curaengine", src = self.deps_cpp_info["curaengine"].bindirs[0], dst = self._base_dir, - keep_path = False) + curaengine_exe = Path(self.conf.get("user.curaengine:curaengine")) + copy(self, "*", str(curaengine_exe.parent), self._base_dir, keep_path=False) # Copy resources of Cura (keep folder structure) - self.copy("*", src = self.cpp_info.bindirs[0], dst = self._base_dir, keep_path = False) - self.copy("*", src = self.cpp_info.libdirs[0], dst = self._site_packages.joinpath("cura"), keep_path = True) - self.copy("*", src = self.cpp_info.resdirs[0], dst = self._share_dir.joinpath("cura", "resources"), keep_path = True) - self.copy("*", src = self.cpp_info.resdirs[1], dst = self._share_dir.joinpath("cura", "plugins"), keep_path = True) + copy(self, "*", self.cpp_info.bindirs[0], str(self._base_dir), keep_path = False) + copy(self, "*", self.cpp_info.libdirs[0], str(self._site_packages.joinpath("cura")), keep_path = True) + copy(self, "*", self.cpp_info.resdirs[0], str(self._share_dir.joinpath("cura", "resources")), keep_path = True) + copy(self, "*", self.cpp_info.resdirs[1], str(self._share_dir.joinpath("cura", "plugins")), keep_path = True) # Copy materials (flat) - self.copy_deps("*.fdm_material", root_package = "fdm_materials", src = self.deps_cpp_info["fdm_materials"].resdirs[0], - dst = self._share_dir.joinpath("cura", "resources", "materials"), keep_path = False) - self.copy_deps("*.sig", root_package = "fdm_materials", src = self.deps_cpp_info["fdm_materials"].resdirs[0], - dst = self._share_dir.joinpath("cura", "resources", "materials"), keep_path = False) + fdm_materials = self.dependencies["fdm_materials"].cpp_info + copy(self, "*", fdm_materials.resdirs[0], str(self._share_dir.joinpath("cura"))) # Copy internal resources if self.options.internal: - self.copy_deps("*", root_package = "cura_private_data", src = self.deps_cpp_info["cura_private_data"].resdirs[0], - dst = self._share_dir.joinpath("cura", "resources"), keep_path = True) - self.copy_deps("*", root_package = "cura_private_data", src = self.deps_cpp_info["cura_private_data"].resdirs[1], - dst = self._share_dir.joinpath("cura", "plugins"), keep_path = True) + cura_private_data = self.dependencies["cura_private_data"].cpp_info + copy(self, "*", cura_private_data.resdirs[0], str(self._share_dir.joinpath("cura"))) # Copy resources of Uranium (keep folder structure) self.copy_deps("*", root_package = "uranium", src = self.deps_cpp_info["uranium"].resdirs[0], From 3d88c3c105910e65f3686d3a8ed466aa03f497b3 Mon Sep 17 00:00:00 2001 From: jellespijker Date: Mon, 27 Mar 2023 08:58:42 +0000 Subject: [PATCH 04/12] Applied printer-linter format --- resources/definitions/lnl3d_base.def.json | 28 +++++++++---------- resources/definitions/lnl3d_d3.def.json | 8 ++++-- .../definitions/lnl3d_d3_vulcan.def.json | 8 ++++-- .../extruders/lnl3d_extruder_left.def.json | 2 +- .../extruders/lnl3d_extruder_right.def.json | 2 +- ...lnl3d_base_0.2_generic_PETG_super.inst.cfg | 1 + ...lnl3d_base_0.2_generic_PETG_ultra.inst.cfg | 1 + .../lnl3d_base_0.2_generic_PLA_super.inst.cfg | 1 + .../lnl3d_base_0.2_generic_PLA_ultra.inst.cfg | 1 + ...3d_base_0.4_generic_PETG_adaptive.inst.cfg | 1 + .../lnl3d_base_0.4_generic_PETG_low.inst.cfg | 1 + ...3d_base_0.4_generic_PETG_standard.inst.cfg | 1 + ...lnl3d_base_0.4_generic_PETG_super.inst.cfg | 1 + ...l3d_base_0.4_generic_PLA_adaptive.inst.cfg | 1 + .../lnl3d_base_0.4_generic_PLA_low.inst.cfg | 1 + ...l3d_base_0.4_generic_PLA_standard.inst.cfg | 1 + .../lnl3d_base_0.4_generic_PLA_super.inst.cfg | 1 + ...l3d_base_0.4_generic_TPU_adaptive.inst.cfg | 1 + ...l3d_base_0.4_generic_TPU_standard.inst.cfg | 1 + .../lnl3d_base_0.4_generic_TPU_super.inst.cfg | 1 + ...3d_base_0.6_generic_PETG_standard.inst.cfg | 1 + .../lnl3d_base_0.6_generic_PLA_draft.inst.cfg | 1 + .../lnl3d_base_0.6_generic_PLA_low.inst.cfg | 1 + ...l3d_base_0.6_generic_PLA_standard.inst.cfg | 1 + ...l3d_base_0.6_generic_TPU_standard.inst.cfg | 1 + ...lnl3d_base_0.8_generic_PETG_draft.inst.cfg | 1 + .../lnl3d_base_0.8_generic_PLA_draft.inst.cfg | 1 + .../lnl3d_base_0.8_generic_TPU_draft.inst.cfg | 1 + .../lnl3d/lnl3d_base_global_adaptive.inst.cfg | 1 + .../lnl3d/lnl3d_base_global_draft.inst.cfg | 1 + .../lnl3d/lnl3d_base_global_low.inst.cfg | 1 + .../lnl3d/lnl3d_base_global_standard.inst.cfg | 1 + .../lnl3d/lnl3d_base_global_super.inst.cfg | 1 + .../lnl3d/lnl3d_base_global_ultra.inst.cfg | 1 + .../variants/lnl3d/lnl3d_d3_0.2.inst.cfg | 1 + .../variants/lnl3d/lnl3d_d3_0.4.inst.cfg | 1 + .../variants/lnl3d/lnl3d_d3_0.6.inst.cfg | 1 + .../variants/lnl3d/lnl3d_d3_0.8.inst.cfg | 1 + .../lnl3d/lnl3d_d3_vulcan_0.2.inst.cfg | 1 + .../lnl3d/lnl3d_d3_vulcan_0.4.inst.cfg | 1 + .../lnl3d/lnl3d_d3_vulcan_0.6.inst.cfg | 1 + .../lnl3d/lnl3d_d3_vulcan_0.8.inst.cfg | 1 + .../variants/lnl3d/lnl3d_d5_0.2.inst.cfg | 1 + .../variants/lnl3d/lnl3d_d5_0.4.inst.cfg | 1 + .../variants/lnl3d/lnl3d_d5_0.6.inst.cfg | 1 + .../variants/lnl3d/lnl3d_d5_0.8.inst.cfg | 1 + .../variants/lnl3d/lnl3d_d6_0.2.inst.cfg | 1 + .../variants/lnl3d/lnl3d_d6_0.4.inst.cfg | 1 + .../variants/lnl3d/lnl3d_d6_0.6.inst.cfg | 1 + .../variants/lnl3d/lnl3d_d6_0.8.inst.cfg | 1 + 50 files changed, 73 insertions(+), 20 deletions(-) diff --git a/resources/definitions/lnl3d_base.def.json b/resources/definitions/lnl3d_base.def.json index c181e80a8e..5ee0638002 100644 --- a/resources/definitions/lnl3d_base.def.json +++ b/resources/definitions/lnl3d_base.def.json @@ -7,7 +7,7 @@ "author": "LNL3D", "manufacturer": "LNL3D", "file_formats": "text/x-gcode", - "first_start_actions": ["MachineSettingsAction"], + "first_start_actions": [ "MachineSettingsAction" ], "has_machine_quality": true, "has_materials": true, "has_variants": true, @@ -51,13 +51,13 @@ "machine_max_acceleration_x": { "value": 500 }, "machine_max_acceleration_y": { "value": 500 }, "machine_max_acceleration_z": { "value": 100 }, - "machine_max_jerk_e": { "value": 5 }, - "machine_max_jerk_xy": { "value": 10 }, - "machine_max_jerk_z": { "value": 0.4 }, "machine_max_feedrate_e": { "value": 80 }, "machine_max_feedrate_x": { "value": 500 }, "machine_max_feedrate_y": { "value": 500 }, "machine_max_feedrate_z": { "value": 10 }, + "machine_max_jerk_e": { "value": 5 }, + "machine_max_jerk_xy": { "value": 10 }, + "machine_max_jerk_z": { "value": 0.4 }, "machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 ;move to min endstops\nG92 E0 ;reset extruder\nG1 E15 F1500 ;move extruder 15mm\nG1 Z15.0 F3000 ;move the header up 15mm\nM117 printing... ;LCD message" }, "material_diameter": { "default_value": 1.75 }, "material_final_print_temperature": { "value": "material_print_temperature" }, @@ -70,7 +70,7 @@ "prime_tower_brim_enable": { "default_value": true }, "prime_tower_wipe_enabled": { "default_value": false }, "raft_airgap": { "default_value": 0.2 }, - "raft_margin": {"default_value": 2 }, + "raft_margin": { "default_value": 2 }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'noskin'" }, "retraction_count_max": { "value": 100 }, "retraction_extrusion_window": { "value": 4 }, @@ -79,18 +79,18 @@ "retraction_hop_enabled": { "value": "False" }, "retraction_prime_speed": { - "maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')", - "maximum_value": 200 + "maximum_value": 200, + "maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')" }, "retraction_retract_speed": { - "maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')", - "maximum_value": 200 + "maximum_value": 200, + "maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')" }, "retraction_speed": { - "maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')", - "maximum_value": 200 + "maximum_value": 200, + "maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')" }, "skin_overlap": { "value": 25 }, "skirt_line_count": { "value": 2 }, @@ -117,14 +117,14 @@ "support_z_distance": { "value": "layer_height if layer_height >= 0.16 else layer_height*2" }, "switch_extruder_retraction_amount": { "value": 8.0 }, "switch_extruder_retraction_speeds": { "default_value": 60.0 }, - "top_bottom_thickness": { "value": "layer_height_0 + layer_height * 4" }, + "top_bottom_thickness": { "value": "layer_height_0 + layer_height * 4" }, "travel_avoid_other_parts": { "value": false }, "travel_avoid_supports": { "value": true }, "travel_retract_before_outer_wall": { "value": true }, "wall_0_wipe_dist": { "value": 0.0 }, "wall_thickness": { "value": "line_width * 2" }, - "z_seam_type": { "value": "'back'" }, "z_seam_corner": { "value": "'z_seam_corner_weighted'" }, + "z_seam_type": { "value": "'back'" }, "zig_zaggify_infill": { "value": true } } -} +} \ No newline at end of file diff --git a/resources/definitions/lnl3d_d3.def.json b/resources/definitions/lnl3d_d3.def.json index b12e13884b..52e8042306 100755 --- a/resources/definitions/lnl3d_d3.def.json +++ b/resources/definitions/lnl3d_d3.def.json @@ -6,7 +6,11 @@ { "visible": true, "platform": "lnl3d_d3.stl", - "platform_offset": [ 0, 0, 0 ] + "platform_offset": [ + 0, + 0, + 0 + ] }, "overrides": { @@ -17,4 +21,4 @@ "prime_tower_position_x": { "value": "155" }, "prime_tower_position_y": { "value": "155" } } -} +} \ No newline at end of file diff --git a/resources/definitions/lnl3d_d3_vulcan.def.json b/resources/definitions/lnl3d_d3_vulcan.def.json index 4b18ef4fc0..f81cae81c5 100755 --- a/resources/definitions/lnl3d_d3_vulcan.def.json +++ b/resources/definitions/lnl3d_d3_vulcan.def.json @@ -6,7 +6,11 @@ { "visible": true, "platform": "lnl3d_d3.stl", - "platform_offset": [ 0, 0, 0 ] + "platform_offset": [ + 0, + 0, + 0 + ] }, "overrides": { @@ -17,4 +21,4 @@ "prime_tower_position_x": { "value": "155" }, "prime_tower_position_y": { "value": "155" } } -} +} \ No newline at end of file diff --git a/resources/extruders/lnl3d_extruder_left.def.json b/resources/extruders/lnl3d_extruder_left.def.json index 03ed857f0e..7e5d2dfe98 100755 --- a/resources/extruders/lnl3d_extruder_left.def.json +++ b/resources/extruders/lnl3d_extruder_left.def.json @@ -26,4 +26,4 @@ "machine_nozzle_size": { "default_value": 0.4 }, "material_diameter": { "default_value": 1.75 } } -} +} \ No newline at end of file diff --git a/resources/extruders/lnl3d_extruder_right.def.json b/resources/extruders/lnl3d_extruder_right.def.json index 62e9cd230c..6b5e0993de 100755 --- a/resources/extruders/lnl3d_extruder_right.def.json +++ b/resources/extruders/lnl3d_extruder_right.def.json @@ -26,4 +26,4 @@ "machine_nozzle_size": { "default_value": 0.4 }, "material_diameter": { "default_value": 1.75 } } -} +} \ No newline at end of file diff --git a/resources/quality/lnl3d/lnl3d_base_0.2_generic_PETG_super.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.2_generic_PETG_super.inst.cfg index ca7c0e514a..9e1ed6b824 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.2_generic_PETG_super.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.2_generic_PETG_super.inst.cfg @@ -13,3 +13,4 @@ variant = 0.2mm Nozzle [values] speed_layer_0 = 15 wall_thickness = =line_width*8 + diff --git a/resources/quality/lnl3d/lnl3d_base_0.2_generic_PETG_ultra.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.2_generic_PETG_ultra.inst.cfg index 4d8f10a604..f2d08c5351 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.2_generic_PETG_ultra.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.2_generic_PETG_ultra.inst.cfg @@ -13,3 +13,4 @@ variant = 0.2mm Nozzle [values] speed_layer_0 = 15 wall_thickness = =line_width*8 + diff --git a/resources/quality/lnl3d/lnl3d_base_0.2_generic_PLA_super.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.2_generic_PLA_super.inst.cfg index ae4d279e17..a26d3eeb2e 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.2_generic_PLA_super.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.2_generic_PLA_super.inst.cfg @@ -11,3 +11,4 @@ type = quality variant = 0.2mm Nozzle [values] + diff --git a/resources/quality/lnl3d/lnl3d_base_0.2_generic_PLA_ultra.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.2_generic_PLA_ultra.inst.cfg index 74616e862e..2086268efe 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.2_generic_PLA_ultra.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.2_generic_PLA_ultra.inst.cfg @@ -11,3 +11,4 @@ type = quality variant = 0.2mm Nozzle [values] + diff --git a/resources/quality/lnl3d/lnl3d_base_0.4_generic_PETG_adaptive.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.4_generic_PETG_adaptive.inst.cfg index 4acfd83171..ea0e83055c 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.4_generic_PETG_adaptive.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.4_generic_PETG_adaptive.inst.cfg @@ -13,3 +13,4 @@ variant = 0.4mm Nozzle [values] speed_layer_0 = 15 wall_thickness = =line_width*4 + diff --git a/resources/quality/lnl3d/lnl3d_base_0.4_generic_PETG_low.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.4_generic_PETG_low.inst.cfg index bd30b8ed51..20575a94de 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.4_generic_PETG_low.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.4_generic_PETG_low.inst.cfg @@ -13,3 +13,4 @@ variant = 0.4mm Nozzle [values] speed_layer_0 = 15 wall_thickness = =line_width*4 + diff --git a/resources/quality/lnl3d/lnl3d_base_0.4_generic_PETG_standard.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.4_generic_PETG_standard.inst.cfg index 669ef07d98..f8af1bef08 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.4_generic_PETG_standard.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.4_generic_PETG_standard.inst.cfg @@ -13,3 +13,4 @@ variant = 0.4mm Nozzle [values] speed_layer_0 = 15 wall_thickness = =line_width*4 + diff --git a/resources/quality/lnl3d/lnl3d_base_0.4_generic_PETG_super.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.4_generic_PETG_super.inst.cfg index c70979a5cb..52dfb21b4c 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.4_generic_PETG_super.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.4_generic_PETG_super.inst.cfg @@ -13,3 +13,4 @@ variant = 0.4mm Nozzle [values] speed_layer_0 = 15 wall_thickness = =line_width*4 + diff --git a/resources/quality/lnl3d/lnl3d_base_0.4_generic_PLA_adaptive.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.4_generic_PLA_adaptive.inst.cfg index 4712e4c3ff..cf38d49ca7 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.4_generic_PLA_adaptive.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.4_generic_PLA_adaptive.inst.cfg @@ -11,3 +11,4 @@ type = quality variant = 0.4mm Nozzle [values] + diff --git a/resources/quality/lnl3d/lnl3d_base_0.4_generic_PLA_low.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.4_generic_PLA_low.inst.cfg index 0dd25c760d..91318eb388 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.4_generic_PLA_low.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.4_generic_PLA_low.inst.cfg @@ -11,3 +11,4 @@ type = quality variant = 0.4mm Nozzle [values] + diff --git a/resources/quality/lnl3d/lnl3d_base_0.4_generic_PLA_standard.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.4_generic_PLA_standard.inst.cfg index 4a537571d1..6566822054 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.4_generic_PLA_standard.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.4_generic_PLA_standard.inst.cfg @@ -11,3 +11,4 @@ type = quality variant = 0.4mm Nozzle [values] + diff --git a/resources/quality/lnl3d/lnl3d_base_0.4_generic_PLA_super.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.4_generic_PLA_super.inst.cfg index f786275820..52448a3e17 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.4_generic_PLA_super.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.4_generic_PLA_super.inst.cfg @@ -11,3 +11,4 @@ type = quality variant = 0.4mm Nozzle [values] + diff --git a/resources/quality/lnl3d/lnl3d_base_0.4_generic_TPU_adaptive.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.4_generic_TPU_adaptive.inst.cfg index 83603cffdf..ab1fb391e8 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.4_generic_TPU_adaptive.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.4_generic_TPU_adaptive.inst.cfg @@ -11,3 +11,4 @@ type = quality variant = 0.4mm Nozzle [values] + diff --git a/resources/quality/lnl3d/lnl3d_base_0.4_generic_TPU_standard.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.4_generic_TPU_standard.inst.cfg index ab68f0dd73..b1212b7fb7 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.4_generic_TPU_standard.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.4_generic_TPU_standard.inst.cfg @@ -11,3 +11,4 @@ type = quality variant = 0.4mm Nozzle [values] + diff --git a/resources/quality/lnl3d/lnl3d_base_0.4_generic_TPU_super.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.4_generic_TPU_super.inst.cfg index cac46549c1..5e0dd99521 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.4_generic_TPU_super.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.4_generic_TPU_super.inst.cfg @@ -11,3 +11,4 @@ type = quality variant = 0.4mm Nozzle [values] + diff --git a/resources/quality/lnl3d/lnl3d_base_0.6_generic_PETG_standard.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.6_generic_PETG_standard.inst.cfg index f686201f7e..26ca469bf6 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.6_generic_PETG_standard.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.6_generic_PETG_standard.inst.cfg @@ -13,3 +13,4 @@ variant = 0.6mm Nozzle [values] speed_layer_0 = 15 wall_thickness = =line_width*3 + diff --git a/resources/quality/lnl3d/lnl3d_base_0.6_generic_PLA_draft.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.6_generic_PLA_draft.inst.cfg index fd1b439885..3ca8badcf8 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.6_generic_PLA_draft.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.6_generic_PLA_draft.inst.cfg @@ -11,3 +11,4 @@ type = quality variant = 0.6mm Nozzle [values] + diff --git a/resources/quality/lnl3d/lnl3d_base_0.6_generic_PLA_low.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.6_generic_PLA_low.inst.cfg index eb5732b8dc..8cd2acf117 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.6_generic_PLA_low.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.6_generic_PLA_low.inst.cfg @@ -11,3 +11,4 @@ type = quality variant = 0.6mm Nozzle [values] + diff --git a/resources/quality/lnl3d/lnl3d_base_0.6_generic_PLA_standard.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.6_generic_PLA_standard.inst.cfg index 63a740e8ec..7297384566 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.6_generic_PLA_standard.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.6_generic_PLA_standard.inst.cfg @@ -11,3 +11,4 @@ type = quality variant = 0.6mm Nozzle [values] + diff --git a/resources/quality/lnl3d/lnl3d_base_0.6_generic_TPU_standard.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.6_generic_TPU_standard.inst.cfg index 92f0fdfee0..9e59bbd349 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.6_generic_TPU_standard.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.6_generic_TPU_standard.inst.cfg @@ -11,3 +11,4 @@ type = quality variant = 0.6mm Nozzle [values] + diff --git a/resources/quality/lnl3d/lnl3d_base_0.8_generic_PETG_draft.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.8_generic_PETG_draft.inst.cfg index 25dce4e37f..d645385468 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.8_generic_PETG_draft.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.8_generic_PETG_draft.inst.cfg @@ -13,3 +13,4 @@ variant = 0.8mm Nozzle [values] speed_layer_0 = 15 wall_thickness = =line_width*3 + diff --git a/resources/quality/lnl3d/lnl3d_base_0.8_generic_PLA_draft.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.8_generic_PLA_draft.inst.cfg index 6668b1a129..1620bd79a8 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.8_generic_PLA_draft.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.8_generic_PLA_draft.inst.cfg @@ -11,3 +11,4 @@ type = quality variant = 0.8mm Nozzle [values] + diff --git a/resources/quality/lnl3d/lnl3d_base_0.8_generic_TPU_draft.inst.cfg b/resources/quality/lnl3d/lnl3d_base_0.8_generic_TPU_draft.inst.cfg index 8a6512c09b..d466d9bd94 100644 --- a/resources/quality/lnl3d/lnl3d_base_0.8_generic_TPU_draft.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_0.8_generic_TPU_draft.inst.cfg @@ -11,3 +11,4 @@ type = quality variant = 0.8mm Nozzle [values] + diff --git a/resources/quality/lnl3d/lnl3d_base_global_adaptive.inst.cfg b/resources/quality/lnl3d/lnl3d_base_global_adaptive.inst.cfg index 6e566239bf..569e8c5264 100644 --- a/resources/quality/lnl3d/lnl3d_base_global_adaptive.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_global_adaptive.inst.cfg @@ -17,3 +17,4 @@ layer_height_0 = 0.20 support_interface_height = =layer_height*6 top_bottom_thickness = =layer_height_0+layer_height*4 wall_thickness = =line_width*3 + diff --git a/resources/quality/lnl3d/lnl3d_base_global_draft.inst.cfg b/resources/quality/lnl3d/lnl3d_base_global_draft.inst.cfg index 34356067f2..b0d87d19bb 100644 --- a/resources/quality/lnl3d/lnl3d_base_global_draft.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_global_draft.inst.cfg @@ -16,3 +16,4 @@ layer_height_0 = 0.32 support_interface_height = =layer_height*4 top_bottom_thickness = =layer_height_0+layer_height*3 wall_thickness = =line_width*2 + diff --git a/resources/quality/lnl3d/lnl3d_base_global_low.inst.cfg b/resources/quality/lnl3d/lnl3d_base_global_low.inst.cfg index 000d7729d3..93d2f918ae 100644 --- a/resources/quality/lnl3d/lnl3d_base_global_low.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_global_low.inst.cfg @@ -16,3 +16,4 @@ layer_height_0 = 0.28 support_interface_height = =layer_height*4 top_bottom_thickness = =layer_height_0+layer_height*3 wall_thickness = =line_width*2 + diff --git a/resources/quality/lnl3d/lnl3d_base_global_standard.inst.cfg b/resources/quality/lnl3d/lnl3d_base_global_standard.inst.cfg index f96004b8d1..796a7ce1d0 100644 --- a/resources/quality/lnl3d/lnl3d_base_global_standard.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_global_standard.inst.cfg @@ -16,3 +16,4 @@ layer_height_0 = 0.2 support_interface_height = =layer_height*4 top_bottom_thickness = =layer_height_0+layer_height*3 wall_thickness = =line_width*2 + diff --git a/resources/quality/lnl3d/lnl3d_base_global_super.inst.cfg b/resources/quality/lnl3d/lnl3d_base_global_super.inst.cfg index f42fb2c6ac..f9cdb2dbf9 100644 --- a/resources/quality/lnl3d/lnl3d_base_global_super.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_global_super.inst.cfg @@ -16,3 +16,4 @@ layer_height_0 = 0.12 support_interface_height = =layer_height*8 top_bottom_thickness = =layer_height_0+layer_height*6 wall_thickness = =line_width*3 + diff --git a/resources/quality/lnl3d/lnl3d_base_global_ultra.inst.cfg b/resources/quality/lnl3d/lnl3d_base_global_ultra.inst.cfg index 2e97b1b620..a4dd6be3da 100644 --- a/resources/quality/lnl3d/lnl3d_base_global_ultra.inst.cfg +++ b/resources/quality/lnl3d/lnl3d_base_global_ultra.inst.cfg @@ -16,3 +16,4 @@ layer_height_0 = 0.12 support_interface_height = =layer_height*12 top_bottom_thickness = =layer_height_0+layer_height*10 wall_thickness = =line_width*3 + diff --git a/resources/variants/lnl3d/lnl3d_d3_0.2.inst.cfg b/resources/variants/lnl3d/lnl3d_d3_0.2.inst.cfg index 63a61e894f..7ae77ff476 100644 --- a/resources/variants/lnl3d/lnl3d_d3_0.2.inst.cfg +++ b/resources/variants/lnl3d/lnl3d_d3_0.2.inst.cfg @@ -10,3 +10,4 @@ type = variant [values] machine_nozzle_size = 0.2 + diff --git a/resources/variants/lnl3d/lnl3d_d3_0.4.inst.cfg b/resources/variants/lnl3d/lnl3d_d3_0.4.inst.cfg index 678e48f3b3..e8e0d15f7e 100644 --- a/resources/variants/lnl3d/lnl3d_d3_0.4.inst.cfg +++ b/resources/variants/lnl3d/lnl3d_d3_0.4.inst.cfg @@ -10,3 +10,4 @@ type = variant [values] machine_nozzle_size = 0.4 + diff --git a/resources/variants/lnl3d/lnl3d_d3_0.6.inst.cfg b/resources/variants/lnl3d/lnl3d_d3_0.6.inst.cfg index 7aeb9ef765..fa978ca8c8 100644 --- a/resources/variants/lnl3d/lnl3d_d3_0.6.inst.cfg +++ b/resources/variants/lnl3d/lnl3d_d3_0.6.inst.cfg @@ -10,3 +10,4 @@ type = variant [values] machine_nozzle_size = 0.6 + diff --git a/resources/variants/lnl3d/lnl3d_d3_0.8.inst.cfg b/resources/variants/lnl3d/lnl3d_d3_0.8.inst.cfg index 5052e08c25..05e72fe6a3 100644 --- a/resources/variants/lnl3d/lnl3d_d3_0.8.inst.cfg +++ b/resources/variants/lnl3d/lnl3d_d3_0.8.inst.cfg @@ -10,3 +10,4 @@ type = variant [values] machine_nozzle_size = 0.8 + diff --git a/resources/variants/lnl3d/lnl3d_d3_vulcan_0.2.inst.cfg b/resources/variants/lnl3d/lnl3d_d3_vulcan_0.2.inst.cfg index ac652dbedd..fee93aaef2 100644 --- a/resources/variants/lnl3d/lnl3d_d3_vulcan_0.2.inst.cfg +++ b/resources/variants/lnl3d/lnl3d_d3_vulcan_0.2.inst.cfg @@ -10,3 +10,4 @@ type = variant [values] machine_nozzle_size = 0.2 + diff --git a/resources/variants/lnl3d/lnl3d_d3_vulcan_0.4.inst.cfg b/resources/variants/lnl3d/lnl3d_d3_vulcan_0.4.inst.cfg index 3a7c5d26eb..a76a5aeb76 100644 --- a/resources/variants/lnl3d/lnl3d_d3_vulcan_0.4.inst.cfg +++ b/resources/variants/lnl3d/lnl3d_d3_vulcan_0.4.inst.cfg @@ -10,3 +10,4 @@ type = variant [values] machine_nozzle_size = 0.4 + diff --git a/resources/variants/lnl3d/lnl3d_d3_vulcan_0.6.inst.cfg b/resources/variants/lnl3d/lnl3d_d3_vulcan_0.6.inst.cfg index ab0e6a9e4d..71884bf1c9 100644 --- a/resources/variants/lnl3d/lnl3d_d3_vulcan_0.6.inst.cfg +++ b/resources/variants/lnl3d/lnl3d_d3_vulcan_0.6.inst.cfg @@ -10,3 +10,4 @@ type = variant [values] machine_nozzle_size = 0.6 + diff --git a/resources/variants/lnl3d/lnl3d_d3_vulcan_0.8.inst.cfg b/resources/variants/lnl3d/lnl3d_d3_vulcan_0.8.inst.cfg index 5a7e625a5e..0a1269d21e 100644 --- a/resources/variants/lnl3d/lnl3d_d3_vulcan_0.8.inst.cfg +++ b/resources/variants/lnl3d/lnl3d_d3_vulcan_0.8.inst.cfg @@ -10,3 +10,4 @@ type = variant [values] machine_nozzle_size = 0.8 + diff --git a/resources/variants/lnl3d/lnl3d_d5_0.2.inst.cfg b/resources/variants/lnl3d/lnl3d_d5_0.2.inst.cfg index b5410bc804..62dfd0b0d9 100644 --- a/resources/variants/lnl3d/lnl3d_d5_0.2.inst.cfg +++ b/resources/variants/lnl3d/lnl3d_d5_0.2.inst.cfg @@ -10,3 +10,4 @@ type = variant [values] machine_nozzle_size = 0.2 + diff --git a/resources/variants/lnl3d/lnl3d_d5_0.4.inst.cfg b/resources/variants/lnl3d/lnl3d_d5_0.4.inst.cfg index 4bbdd3af0f..088b18ed45 100644 --- a/resources/variants/lnl3d/lnl3d_d5_0.4.inst.cfg +++ b/resources/variants/lnl3d/lnl3d_d5_0.4.inst.cfg @@ -10,3 +10,4 @@ type = variant [values] machine_nozzle_size = 0.4 + diff --git a/resources/variants/lnl3d/lnl3d_d5_0.6.inst.cfg b/resources/variants/lnl3d/lnl3d_d5_0.6.inst.cfg index 985b141ee5..f4ecae1dad 100644 --- a/resources/variants/lnl3d/lnl3d_d5_0.6.inst.cfg +++ b/resources/variants/lnl3d/lnl3d_d5_0.6.inst.cfg @@ -10,3 +10,4 @@ type = variant [values] machine_nozzle_size = 0.6 + diff --git a/resources/variants/lnl3d/lnl3d_d5_0.8.inst.cfg b/resources/variants/lnl3d/lnl3d_d5_0.8.inst.cfg index 3951b27e5b..da10b5fa7e 100644 --- a/resources/variants/lnl3d/lnl3d_d5_0.8.inst.cfg +++ b/resources/variants/lnl3d/lnl3d_d5_0.8.inst.cfg @@ -10,3 +10,4 @@ type = variant [values] machine_nozzle_size = 0.8 + diff --git a/resources/variants/lnl3d/lnl3d_d6_0.2.inst.cfg b/resources/variants/lnl3d/lnl3d_d6_0.2.inst.cfg index 522868ce90..886a6bba65 100644 --- a/resources/variants/lnl3d/lnl3d_d6_0.2.inst.cfg +++ b/resources/variants/lnl3d/lnl3d_d6_0.2.inst.cfg @@ -10,3 +10,4 @@ type = variant [values] machine_nozzle_size = 0.2 + diff --git a/resources/variants/lnl3d/lnl3d_d6_0.4.inst.cfg b/resources/variants/lnl3d/lnl3d_d6_0.4.inst.cfg index 9414cd20be..f7a984cb72 100644 --- a/resources/variants/lnl3d/lnl3d_d6_0.4.inst.cfg +++ b/resources/variants/lnl3d/lnl3d_d6_0.4.inst.cfg @@ -10,3 +10,4 @@ type = variant [values] machine_nozzle_size = 0.4 + diff --git a/resources/variants/lnl3d/lnl3d_d6_0.6.inst.cfg b/resources/variants/lnl3d/lnl3d_d6_0.6.inst.cfg index 204bf57c3d..5c77bc2d3c 100644 --- a/resources/variants/lnl3d/lnl3d_d6_0.6.inst.cfg +++ b/resources/variants/lnl3d/lnl3d_d6_0.6.inst.cfg @@ -10,3 +10,4 @@ type = variant [values] machine_nozzle_size = 0.6 + diff --git a/resources/variants/lnl3d/lnl3d_d6_0.8.inst.cfg b/resources/variants/lnl3d/lnl3d_d6_0.8.inst.cfg index 0fcca7db18..f42592214e 100644 --- a/resources/variants/lnl3d/lnl3d_d6_0.8.inst.cfg +++ b/resources/variants/lnl3d/lnl3d_d6_0.8.inst.cfg @@ -10,3 +10,4 @@ type = variant [values] machine_nozzle_size = 0.8 + From c2721abf87e0bce61c7baf2bd992981eda3ec42e Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Mon, 27 Mar 2023 11:24:24 +0200 Subject: [PATCH 05/12] use copy_deps for copying curaengine conf doesn't work as expected in Conan<2.0 Contributes to CURA-10317 --- conanfile.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/conanfile.py b/conanfile.py index 7995a9be63..619d00b39b 100644 --- a/conanfile.py +++ b/conanfile.py @@ -362,8 +362,11 @@ class CuraConan(ConanFile): def deploy(self): # Copy CuraEngine.exe to bindirs of Virtual Python Environment - curaengine_exe = Path(self.conf.get("user.curaengine:curaengine")) - copy(self, "*", str(curaengine_exe.parent), self._base_dir, keep_path=False) + self.copy_deps("CuraEngine.exe", root_package = "curaengine", src = self.deps_cpp_info["curaengine"].bindirs[0], + dst = self._base_dir, + keep_path = False) + self.copy_deps("CuraEngine", root_package = "curaengine", src = self.deps_cpp_info["curaengine"].bindirs[0], dst = self._base_dir, + keep_path = False) # Copy resources of Cura (keep folder structure) copy(self, "*", self.cpp_info.bindirs[0], str(self._base_dir), keep_path = False) From 1f4956de1b11726a0a89813e8436130518443e9a Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Mon, 27 Mar 2023 11:46:39 +0200 Subject: [PATCH 06/12] Make it work with the export_sources method Contributes to CURA-10317 --- conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conanfile.py b/conanfile.py index 619d00b39b..f949c4b014 100644 --- a/conanfile.py +++ b/conanfile.py @@ -21,7 +21,6 @@ class CuraConan(ConanFile): description = "3D printer / slicing GUI built on top of the Uranium framework" topics = ("conan", "python", "pyqt6", "qt", "qml", "3d-printing", "slicer") build_policy = "missing" - exports = "LICENSE*", "UltiMaker-Cura.spec.jinja", "CuraVersion.py.jinja" settings = "os", "compiler", "build_type", "arch" no_copy_source = True # We won't build so no need to copy sources to the build folder @@ -140,7 +139,7 @@ class CuraConan(ConanFile): return "None" def _generate_cura_version(self, location): - with open(os.path.join(self.recipe_folder, "CuraVersion.py.jinja"), "r") as f: + with open(os.path.join(self.source_folder, "CuraVersion.py.jinja"), "r") as f: cura_version_py = Template(f.read()) # If you want a specific Cura version to show up on the splash screen add the user configuration `user.cura:version=VERSION` @@ -259,6 +258,7 @@ class CuraConan(ConanFile): copy(self, "UltiMaker-Cura.spec.jinja", self.recipe_folder, self.export_sources_folder) copy(self, "CuraVersion.py.jinja", self.recipe_folder, self.export_sources_folder) copy(self, "cura_app.py", self.recipe_folder, self.export_sources_folder) + copy(self, "LICENSE", self.recipe_folder, self.export_sources_folder) def configure(self): self.options["pyarcus"].shared = True From d2644df7b6d99c49823ac77d55047f57df1f79b2 Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Mon, 27 Mar 2023 11:54:10 +0200 Subject: [PATCH 07/12] Make it work with the export_sources method Contributes to CURA-10317 --- conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conanfile.py b/conanfile.py index f949c4b014..dc57ac7263 100644 --- a/conanfile.py +++ b/conanfile.py @@ -218,7 +218,7 @@ class CuraConan(ConanFile): # Collect all dll's from PyQt6 and place them in the root binaries.extend([(f"{p}", ".") for p in Path(self._site_packages, "PyQt6", "Qt6").glob("**/*.dll")]) - with open(os.path.join(self.recipe_folder, "UltiMaker-Cura.spec.jinja"), "r") as f: + with open(os.path.join(self.source_folder, "UltiMaker-Cura.spec.jinja"), "r") as f: pyinstaller = Template(f.read()) version = self.conf_info.get("user.cura:version", default = self.version, check_type = str) From 51b81a9fd83ea73774d3fec7951c46b222278212 Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Mon, 27 Mar 2023 12:37:40 +0200 Subject: [PATCH 08/12] don't use format The install command at the private repo, can't seem to override it from the commandline then Contributes to CURA-10317 --- conanfile.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/conanfile.py b/conanfile.py index dc57ac7263..6e776df40d 100644 --- a/conanfile.py +++ b/conanfile.py @@ -277,11 +277,13 @@ class CuraConan(ConanFile): self.requires("pysavitar/5.2.2") self.requires("pynest2d/5.2.2") self.requires("uranium/(latest)@ultimaker/testing") - self.requires("fdm_materials/(latest)@{}/testing".format("internal" if self.options.internal else "ultimaker")) self.requires("cura_binary_data/(latest)@ultimaker/testing") self.requires("cpython/3.10.4") if self.options.internal: self.requires("cura_private_data/(latest)@ultimaker/testing") + self.requires("fdm_materials/(latest)@internal/testing") + else: + self.requires("fdm_materials/(latest)@ultimaker/testing") def build_requirements(self): if self.options.devtools: From d9bc5e0ad67bd21f9afb4a80bcf97e729f072264 Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Mon, 27 Mar 2023 13:15:21 +0200 Subject: [PATCH 09/12] Fix missing jinja templates Contributes to CURA-10317 --- conanfile.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/conanfile.py b/conanfile.py index 6e776df40d..804340c666 100644 --- a/conanfile.py +++ b/conanfile.py @@ -21,8 +21,8 @@ class CuraConan(ConanFile): description = "3D printer / slicing GUI built on top of the Uranium framework" topics = ("conan", "python", "pyqt6", "qt", "qml", "3d-printing", "slicer") build_policy = "missing" + exports = "LICENSE*", "UltiMaker-Cura.spec.jinja", "CuraVersion.py.jinja" settings = "os", "compiler", "build_type", "arch" - no_copy_source = True # We won't build so no need to copy sources to the build folder # FIXME: Remove specific branch once merged to main python_requires = "umbase/[>=0.1.7]@ultimaker/stable", "translationextractor/[>=2.1.1]@ultimaker/stable" @@ -139,7 +139,7 @@ class CuraConan(ConanFile): return "None" def _generate_cura_version(self, location): - with open(os.path.join(self.source_folder, "CuraVersion.py.jinja"), "r") as f: + with open(os.path.join(self.recipe_folder, "CuraVersion.py.jinja"), "r") as f: cura_version_py = Template(f.read()) # If you want a specific Cura version to show up on the splash screen add the user configuration `user.cura:version=VERSION` @@ -218,7 +218,7 @@ class CuraConan(ConanFile): # Collect all dll's from PyQt6 and place them in the root binaries.extend([(f"{p}", ".") for p in Path(self._site_packages, "PyQt6", "Qt6").glob("**/*.dll")]) - with open(os.path.join(self.source_folder, "UltiMaker-Cura.spec.jinja"), "r") as f: + with open(os.path.join(self.recipe_folder, "UltiMaker-Cura.spec.jinja"), "r") as f: pyinstaller = Template(f.read()) version = self.conf_info.get("user.cura:version", default = self.version, check_type = str) @@ -255,10 +255,7 @@ class CuraConan(ConanFile): copy(self, "requirements.txt", self.recipe_folder, self.export_sources_folder) copy(self, "requirements-dev.txt", self.recipe_folder, self.export_sources_folder) copy(self, "requirements-ultimaker.txt", self.recipe_folder, self.export_sources_folder) - copy(self, "UltiMaker-Cura.spec.jinja", self.recipe_folder, self.export_sources_folder) - copy(self, "CuraVersion.py.jinja", self.recipe_folder, self.export_sources_folder) copy(self, "cura_app.py", self.recipe_folder, self.export_sources_folder) - copy(self, "LICENSE", self.recipe_folder, self.export_sources_folder) def configure(self): self.options["pyarcus"].shared = True From 2d5be9a88a0964c866de9163475b9da2404eaa8a Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Mon, 27 Mar 2023 13:44:26 +0200 Subject: [PATCH 10/12] copy cura from the package folder Contributes to CURA-10317 --- conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/conanfile.py b/conanfile.py index 804340c666..461b34e6fd 100644 --- a/conanfile.py +++ b/conanfile.py @@ -368,10 +368,10 @@ class CuraConan(ConanFile): keep_path = False) # Copy resources of Cura (keep folder structure) - copy(self, "*", self.cpp_info.bindirs[0], str(self._base_dir), keep_path = False) - copy(self, "*", self.cpp_info.libdirs[0], str(self._site_packages.joinpath("cura")), keep_path = True) - copy(self, "*", self.cpp_info.resdirs[0], str(self._share_dir.joinpath("cura", "resources")), keep_path = True) - copy(self, "*", self.cpp_info.resdirs[1], str(self._share_dir.joinpath("cura", "plugins")), keep_path = True) + copy(self, "*", os.path.join(self.package_folder, self.cpp_info.bindirs[0]), str(self._base_dir), keep_path = False) + copy(self, "*", os.path.join(self.package_folder, self.cpp_info.libdirs[0]), str(self._site_packages.joinpath("cura")), keep_path = True) + copy(self, "*", os.path.join(self.package_folder, self.cpp_info.resdirs[0]), str(self._share_dir.joinpath("cura", "resources")), keep_path = True) + copy(self, "*", os.path.join(self.package_folder, self.cpp_info.resdirs[1]), str(self._share_dir.joinpath("cura", "plugins")), keep_path = True) # Copy materials (flat) fdm_materials = self.dependencies["fdm_materials"].cpp_info From 734d72dcc8bce23553f1d80931310b5e740380c8 Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Tue, 28 Mar 2023 10:51:48 +0200 Subject: [PATCH 11/12] Modernize copy during deploy Contributes to CURA-10317 --- conanfile.py | 50 +++++++++++++++++++++++--------------------------- 1 file changed, 23 insertions(+), 27 deletions(-) diff --git a/conanfile.py b/conanfile.py index 461b34e6fd..9fcab68672 100644 --- a/conanfile.py +++ b/conanfile.py @@ -361,11 +361,9 @@ class CuraConan(ConanFile): def deploy(self): # Copy CuraEngine.exe to bindirs of Virtual Python Environment - self.copy_deps("CuraEngine.exe", root_package = "curaengine", src = self.deps_cpp_info["curaengine"].bindirs[0], - dst = self._base_dir, - keep_path = False) - self.copy_deps("CuraEngine", root_package = "curaengine", src = self.deps_cpp_info["curaengine"].bindirs[0], dst = self._base_dir, - keep_path = False) + curaengine = self.dependencies["curaengine"].cpp_info + copy(self, "CuraEngine.exe", curaengine.bindirs[0], str(self._base_dir), keep_path = False) + copy(self, "CuraEngine", curaengine.bindirs[0], str(self._base_dir), keep_path = False) # Copy resources of Cura (keep folder structure) copy(self, "*", os.path.join(self.package_folder, self.cpp_info.bindirs[0]), str(self._base_dir), keep_path = False) @@ -383,36 +381,34 @@ class CuraConan(ConanFile): copy(self, "*", cura_private_data.resdirs[0], str(self._share_dir.joinpath("cura"))) # Copy resources of Uranium (keep folder structure) - self.copy_deps("*", root_package = "uranium", src = self.deps_cpp_info["uranium"].resdirs[0], - dst = self._share_dir.joinpath("uranium", "resources"), keep_path = True) - self.copy_deps("*", root_package = "uranium", src = self.deps_cpp_info["uranium"].resdirs[1], - dst = self._share_dir.joinpath("uranium", "plugins"), keep_path = True) - self.copy_deps("*", root_package = "uranium", src = self.deps_cpp_info["uranium"].libdirs[0], - dst = self._site_packages.joinpath("UM"), - keep_path = True) - self.copy_deps("*", root_package = "uranium", src = str(os.path.join(self.deps_cpp_info["uranium"].libdirs[0], "Qt", "qml", "UM")), - dst = self._site_packages.joinpath("PyQt6", "Qt6", "qml", "UM"), - keep_path = True) + uranium = self.dependencies["uranium"].cpp_info + copy(self, "*", uranium.resdirs[0], str(self._share_dir.joinpath("uranium", "resources")), keep_path = True) + copy(self, "*", uranium.resdirs[1], str(self._share_dir.joinpath("uranium", "plugins")), keep_path = True) + copy(self, "*", uranium.libdirs[0], str(self._site_packages.joinpath("UM")), keep_path = True) + + # TODO: figure out if this is still needed + copy(self, "*", os.path.join(uranium.libdirs[0], "Qt", "qml", "UM"), str(self._site_packages.joinpath("PyQt6", "Qt6", "qml", "UM")), keep_path = True) # Copy resources of cura_binary_data - self.copy_deps("*", root_package = "cura_binary_data", src = self.deps_cpp_info["cura_binary_data"].resdirs[0], - dst = self._share_dir.joinpath("cura"), keep_path = True) - self.copy_deps("*", root_package = "cura_binary_data", src = self.deps_cpp_info["cura_binary_data"].resdirs[1], - dst = self._share_dir.joinpath("uranium"), keep_path = True) + cura_binary_data = self.dependencies["cura_binary_data"].cpp_info + copy(self, "*", cura_binary_data.resdirs[0], str(self._share_dir.joinpath("cura")), keep_path = True) + copy(self, "*", cura_binary_data.resdirs[1], str(self._share_dir.joinpath("uranium")), keep_path = True) if self.settings.os == "Windows": - self.copy_deps("*", root_package = "cura_binary_data", src = self.deps_cpp_info["cura_binary_data"].resdirs[2], - dst = self._share_dir.joinpath("windows"), keep_path = True) + copy(self, "*", cura_binary_data.resdirs[2], str(self._share_dir.joinpath("windows")), keep_path = True) - self.copy_deps("*.dll", src = "@bindirs", dst = self._site_packages) - self.copy_deps("*.pyd", src = "@libdirs", dst = self._site_packages) - self.copy_deps("*.pyi", src = "@libdirs", dst = self._site_packages) - self.copy_deps("*.dylib", src = "@libdirs", dst = self._base_dir.joinpath("lib")) + for dependency in self.dependencies.host.values(): + for bindir in dependency.cpp_info.bindirs: + copy(self, "*.dll", bindir, str(self._site_packages), keep_path = False) + for libdir in dependency.cpp_info.libdirs: + copy(self, "*.pyd", libdir, str(self._site_packages), keep_path = False) + copy(self, "*.pyi", libdir, str(self._site_packages), keep_path = False) + copy(self, "*.dylib", libdir, str(self._base_dir.joinpath("lib")), keep_path = False) # Copy packaging scripts - self.copy("*", src = self.cpp_info.resdirs[2], dst = self._base_dir.joinpath("packaging")) + copy(self, "*", os.path.join(self.package_folder, self.cpp_info.resdirs[2]), str(self._base_dir.joinpath("packaging")), keep_path = True) # Copy requirements.txt's - self.copy("*.txt", src = self.cpp_info.resdirs[-1], dst = self._base_dir.joinpath("pip_requirements")) + copy(self, "*.txt", os.path.join(self.package_folder, self.cpp_info.resdirs[-1]), str(self._base_dir.joinpath("pip_requirements")), keep_path = False) # Generate the GitHub Action version info Environment version = self.conf_info.get("user.cura:version", default = self.version, check_type = str) From 551036352ddb72aef136f5965d9ec1268df77bc8 Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Tue, 28 Mar 2023 11:26:46 +0200 Subject: [PATCH 12/12] Copy private data and materials from new location Contributes to CURA-10317 --- conandata.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conandata.yml b/conandata.yml index ec27469dc4..efbb7f8349 100644 --- a/conandata.yml +++ b/conandata.yml @@ -25,8 +25,8 @@ pyinstaller: dst: "share/cura/resources" cura_private_data: package: "cura_private_data" - src: "resources" - dst: "share/cura/resources" + src: "res" + dst: "share/cura" internal: true uranium_plugins: package: "uranium" @@ -54,7 +54,7 @@ pyinstaller: dst: "share/windows" fdm_materials: package: "fdm_materials" - src: "materials" + src: "res/resources/materials" dst: "share/cura/resources/materials" tcl: package: "tcl"