diff --git a/generators/PyCharmRunEnv.py b/generators/PyCharmRunEnv.py new file mode 100644 index 0000000..18624b2 --- /dev/null +++ b/generators/PyCharmRunEnv.py @@ -0,0 +1,46 @@ +from pathlib import Path + +from jinja2 import Template + +from conan.tools.env import VirtualRunEnv +from conans.model import Generator + + +class PyCharmRunEnv(Generator): + run_xml = Template(r""" + + + + """) + + @property + def filename(self): + return str(Path(self.conanfile.source_folder).joinpath(".run", f"{self.conanfile.name}.run.xml")) + + @property + def content(self): + run_env = VirtualRunEnv(self.conanfile) + env = run_env.environment() + envvars = env.vars(self.conanfile, scope = "run") + return self.run_xml.render(name = self.conanfile.name, envvars = envvars, + entrypoint = self.conanfile.conan_data["runinfo"][self.conanfile._conan_data_version]["entrypoint"])