Пример #1
0
 def _run_build_script(self, build_script: str) -> None:
     with build_environment(poetry=self._poetry, env=self._env,
                            io=self._io) as env:
         self._debug(f"  - Executing build script: <b>{build_script}</b>")
         env.run("python",
                 str(self._path.joinpath(build_script)),
                 call=True)
Пример #2
0
def test_build_environment_not_called_without_build_script_specified(
        mocker: MockerFixture, poetry: Poetry, tmp_dir: str):
    project_env = MockEnv(path=Path(tmp_dir) / "project")
    ephemeral_env = MockEnv(path=Path(tmp_dir) / "ephemeral")

    mocker.patch("poetry.utils.env.ephemeral_environment"
                 ).return_value.__enter__.return_value = ephemeral_env

    with build_environment(poetry, project_env) as env:
        assert env == project_env
        assert not env.executed
Пример #3
0
    def handle(self) -> None:
        from poetry.core.masonry.builder import Builder

        with build_environment(poetry=self.poetry, env=self.env, io=self.io) as env:
            fmt = self.option("format") or "all"
            package = self.poetry.package
            self.line(
                f"Building <c1>{package.pretty_name}</c1> (<c2>{package.version}</c2>)"
            )

            builder = Builder(self.poetry)
            builder.build(fmt, executable=env.python)
Пример #4
0
def test_build_environment_called_build_script_specified(
        mocker: MockerFixture, extended_without_setup_poetry: Poetry,
        tmp_dir: str):
    project_env = MockEnv(path=Path(tmp_dir) / "project")
    ephemeral_env = MockEnv(path=Path(tmp_dir) / "ephemeral")

    mocker.patch("poetry.utils.env.ephemeral_environment"
                 ).return_value.__enter__.return_value = ephemeral_env

    with build_environment(extended_without_setup_poetry, project_env) as env:
        assert env == ephemeral_env
        assert env.executed == [[
            "python",
            env.pip_embedded,
            "install",
            "--disable-pip-version-check",
            "--ignore-installed",
            *extended_without_setup_poetry.pyproject.build_system.requires,
        ]]