From 1442031e28dde91ba12bf2a8b67b1f41154cfbc2 Mon Sep 17 00:00:00 2001 From: "saumya.jain" Date: Wed, 2 Aug 2023 09:24:42 +0200 Subject: [PATCH] Review comments fixed CURA-10770 --- conanfile.py | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/conanfile.py b/conanfile.py index f028ccbe9e..8c86bdb60f 100644 --- a/conanfile.py +++ b/conanfile.py @@ -139,7 +139,7 @@ class CuraConan(ConanFile): return "None" def _generate_about_versions(self, location): - with open(os.path.join(self.recipe_folder, "AboutDialogVersionsList.qml.jinja"), "r") as f: + with open(os.path.join(self.source_folder, "AboutDialogVersionsList.qml.jinja"), "r") as f: cura_version_py = Template(f.read()) conan_installs = [] @@ -150,14 +150,17 @@ class CuraConan(ConanFile): conan_installs.append([dependency.ref.name,dependency.ref.version]) #list of python installs - python_ins_cmd = f""" python -c "import pkg_resources; import os; [open(os.path.join("'"{self.recipe_folder}"'", "'"info.txt"'"), "'"a"'").write(s.key+"'","'"+ s.version+"'";"'") for s in pkg_resources.working_set]" """ - self.run(python_ins_cmd, run_environment= True, env = "conanrun", output=True) - with open(os.path.join(self.recipe_folder, "info.txt"), "r") as f: - packages = f.read() - package = packages.split(";") - for pack in package: - python_installs.append(pack.split(",")) - os.remove(os.path.join(self.recipe_folder, "info.txt")) + outer = '"' if self.settings.os == "Windows" else "'" + inner = "'" if self.settings.os == "Windows" else '"' + python_ins_cmd = f"python -c {outer}import pkg_resources; print({inner};{inner}.join([(s.key+{inner},{inner}+ s.version) for s in pkg_resources.working_set])){outer}" + from six import StringIO + buffer = StringIO() + self.run(python_ins_cmd, run_environment= True, env = "conanrun", output=buffer) + + packages = str(buffer.getvalue()).split("-----------------\n") + package = packages[1].strip('\r\n').split(";") + for pack in package: + python_installs.append(pack.split(",")) with open(os.path.join(location, "AboutDialogVersionsList.qml"), "w") as f: f.write(cura_version_py.render( @@ -354,7 +357,7 @@ class CuraConan(ConanFile): pot = self.python_requires["translationextractor"].module.ExtractTranslations(self, cpp_info.bindirs[0]) pot.generate() - self._generate_about_versions(os.path.join(self.source_folder, "resources/qml/Dialogs")) + self._generate_about_versions(os.path.join(self.source_folder, "resources","qml", "Dialogs")) def build(self): if self.options.devtools: @@ -365,7 +368,6 @@ class CuraConan(ConanFile): mo_file = mo_file.parent.joinpath("LC_MESSAGES", mo_file.name) mkdir(self, str(unix_path(self, Path(mo_file).parent))) cpp_info = self.dependencies["gettext"].cpp_info - print("we are here /n") self.run(f"{cpp_info.bindirs[0]}/msgfmt {po_file} -o {mo_file} -f", env="conanbuild", ignore_errors=True) def imports(self): @@ -471,6 +473,8 @@ echo "CURA_APP_NAME={{ cura_app_name }}" >> ${{ env_prefix }}GITHUB_ENV icon_path = "'{}'".format(os.path.join(self.package_folder, self.cpp_info.resdirs[2], self.conan_data["pyinstaller"]["icon"][str(self.settings.os)])).replace("\\", "\\\\"), entitlements_file = entitlements_file if self.settings.os == "Macos" else "None") + self._generate_about_versions(os.path.join(self.source_folder, "resources", "qml", "Dialogs")) + def package(self): copy(self, "cura_app.py", src = self.source_folder, dst = os.path.join(self.package_folder, self.cpp.package.bindirs[0])) copy(self, "*", src = os.path.join(self.source_folder, "cura"), dst = os.path.join(self.package_folder, self.cpp.package.libdirs[0]))