Make internal resources requirements

Contributes to CURA-9528
This commit is contained in:
j.spijker@ultimaker.com 2022-08-12 16:38:17 +02:00 committed by Jelle Spijker
parent 05ea26a8cf
commit d92fd3d1e3
2 changed files with 49 additions and 2 deletions

View file

@ -20,6 +20,9 @@
- "fdm_materials/(latest)@ultimaker/testing" - "fdm_materials/(latest)@ultimaker/testing"
- "cura_binary_data/(latest)@ultimaker/testing" - "cura_binary_data/(latest)@ultimaker/testing"
- "cpython/3.10.4" - "cpython/3.10.4"
internal_requirements:
- "fdm_materials_private/(latest)@ultimaker/testing"
- "cura_private_data/(latest)@ultimaker/testing"
runinfo: runinfo:
entrypoint: "cura_app.py" entrypoint: "cura_app.py"
pyinstaller: pyinstaller:
@ -32,6 +35,11 @@
package: "cura" package: "cura"
src: "resources" src: "resources"
dst: "share/cura/resources" dst: "share/cura/resources"
cura_private_data:
package: "cura_private_data"
src: "resources"
dst: "share/cura/resources"
internal: true
uranium_plugins: uranium_plugins:
package: "uranium" package: "uranium"
src: "plugins" src: "plugins"
@ -60,6 +68,11 @@
package: "fdm_materials" package: "fdm_materials"
src: "materials" src: "materials"
dst: "share/cura/resources/materials" dst: "share/cura/resources/materials"
fdm_materials_private:
package: "fdm_materials_private"
src: "resources/materials"
dst: "share/cura/resources/materials"
internal: true
tcl: tcl:
package: "tcl" package: "tcl"
src: "lib/tcl8.6" src: "lib/tcl8.6"
@ -112,6 +125,9 @@
- "fdm_materials/(latest)@ultimaker/testing" - "fdm_materials/(latest)@ultimaker/testing"
- "cura_binary_data/(latest)@ultimaker/testing" - "cura_binary_data/(latest)@ultimaker/testing"
- "cpython/3.10.4" - "cpython/3.10.4"
internal_requirements:
- "fdm_materials_private/(latest)@ultimaker/testing"
- "cura_private_data/(latest)@ultimaker/testing"
runinfo: runinfo:
entrypoint: "cura_app.py" entrypoint: "cura_app.py"
pyinstaller: pyinstaller:
@ -124,6 +140,11 @@
package: "cura" package: "cura"
src: "resources" src: "resources"
dst: "share/cura/resources" dst: "share/cura/resources"
cura_private_data:
package: "cura_private_data"
src: "resources"
dst: "share/cura/resources"
internal: true
uranium_plugins: uranium_plugins:
package: "uranium" package: "uranium"
src: "plugins" src: "plugins"
@ -152,6 +173,11 @@
package: "fdm_materials" package: "fdm_materials"
src: "materials" src: "materials"
dst: "share/cura/resources/materials" dst: "share/cura/resources/materials"
fdm_materials_private:
package: "fdm_materials_private"
src: "resources/materials"
dst: "share/cura/resources/materials"
internal: true
tcl: tcl:
package: "tcl" package: "tcl"
src: "lib/tcl8.6" src: "lib/tcl8.6"

View file

@ -167,6 +167,9 @@ class CuraConan(ConanFile):
pyinstaller_metadata = self._um_data()["pyinstaller"] pyinstaller_metadata = self._um_data()["pyinstaller"]
datas = [(str(self._base_dir.joinpath("conan_install_info.json")), ".")] datas = [(str(self._base_dir.joinpath("conan_install_info.json")), ".")]
for data in pyinstaller_metadata["datas"].values(): for data in pyinstaller_metadata["datas"].values():
if not self.options.internal and ("internal" not in data or not data["internal"]):
continue
if "package" in data: # get the paths from conan package if "package" in data: # get the paths from conan package
if data["package"] == self.name: if data["package"] == self.name:
if self.in_local_cache: if self.in_local_cache:
@ -248,6 +251,9 @@ class CuraConan(ConanFile):
def requirements(self): def requirements(self):
for req in self._um_data()["requirements"]: for req in self._um_data()["requirements"]:
self.requires(req) self.requires(req)
if self.options.internal:
for req in self._um_data()["internal_requirements"]:
self.requires(req)
def layout(self): def layout(self):
self.folders.source = "." self.folders.source = "."
@ -286,11 +292,17 @@ class CuraConan(ConanFile):
self.copy("*.fdm_material", root_package = "fdm_materials", src = "@resdirs", dst = "resources/materials", keep_path = False) self.copy("*.fdm_material", root_package = "fdm_materials", src = "@resdirs", dst = "resources/materials", keep_path = False)
self.copy("*.sig", root_package = "fdm_materials", src = "@resdirs", dst = "resources/materials", keep_path = False) self.copy("*.sig", root_package = "fdm_materials", src = "@resdirs", dst = "resources/materials", keep_path = False)
if self.options.internal:
self.copy("*.fdm_material", root_package = "fdm_materials_private", src = "@resdirs", dst = "resources/materials", keep_path = False)
self.copy("*.sig", root_package = "fdm_materials_private", src = "@resdirs", dst = "resources/materials", keep_path = False)
self.copy("*", 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)
# Copy resources of cura_binary_data # Copy resources of cura_binary_data
self.copy("*", root_package = "cura_binary_data", src = self.deps_cpp_info["cura_binary_data"].resdirs[0], self.copy("*", root_package = "cura_binary_data", src = self.deps_cpp_info["cura_binary_data"].resdirs[0],
dst = "venv/share/cura", keep_path = True) dst = self._share_dir.joinpath("cura", "resources"), keep_path = True)
self.copy("*", root_package = "cura_binary_data", src = self.deps_cpp_info["cura_binary_data"].resdirs[1], self.copy("*", root_package = "cura_binary_data", src = self.deps_cpp_info["cura_binary_data"].resdirs[1],
dst = "venv/share/uranium", keep_path = True) dst =self._share_dir.joinpath("uranium", "resources"), keep_path = True)
self.copy("*.dll", src = "@bindirs", dst = self._site_packages) self.copy("*.dll", src = "@bindirs", dst = self._site_packages)
self.copy("*.pyd", src = "@libdirs", dst = self._site_packages) self.copy("*.pyd", src = "@libdirs", dst = self._site_packages)
@ -318,6 +330,15 @@ class CuraConan(ConanFile):
self.copy_deps("*.sig", root_package = "fdm_materials", src = self.deps_cpp_info["fdm_materials"].resdirs[0], 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) dst = self._share_dir.joinpath("cura", "resources", "materials"), keep_path = False)
# Copy internal resources
if self.options.internal:
self.copy_deps("*.fdm_material", root_package = "fdm_materials_private", src = self.deps_cpp_info["fdm_materials_private"].resdirs[0],
dst = self._share_dir.joinpath("cura", "resources", "materials"), keep_path = False)
self.copy_deps("*.sig", root_package = "fdm_materials_private", src = self.deps_cpp_info["fdm_materials_private"].resdirs[0],
dst = self._share_dir.joinpath("cura", "resources", "materials"), keep_path = False)
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)
# Copy resources of Uranium (keep folder structure) # Copy resources of Uranium (keep folder structure)
self.copy_deps("*", root_package = "uranium", src = self.deps_cpp_info["uranium"].resdirs[0], self.copy_deps("*", root_package = "uranium", src = self.deps_cpp_info["uranium"].resdirs[0],
dst = self._share_dir.joinpath("uranium", "resources"), keep_path = True) dst = self._share_dir.joinpath("uranium", "resources"), keep_path = True)