diff --git a/.github/workflows/.tests-matrix.yaml b/.github/workflows/.tests-matrix.yaml index ffd9dcff22b..2ec92617b54 100644 --- a/.github/workflows/.tests-matrix.yaml +++ b/.github/workflows/.tests-matrix.yaml @@ -89,9 +89,6 @@ jobs: echo version=${PLUGIN_VERSION} >> $GITHUB_OUTPUT id: poetry-plugin-export-version - - run: poetry run pip list --format json | jq -r '.[] | "\(.name)=\(.version)"' >> $GITHUB_OUTPUT - id: package-versions - - name: Check out poetry-plugin-export uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 with: diff --git a/docs/cli.md b/docs/cli.md index 2e6a8fdd21c..149a95f63f9 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -780,17 +780,9 @@ This command exports the lock file to other formats. poetry export -f requirements.txt --output requirements.txt ``` -{{% warning %}} -This command is provided by the [Export Poetry Plugin](https://github.com/python-poetry/poetry-plugin-export). -In a future version of Poetry this plugin will not be installed by default anymore. -In order to avoid a breaking change and make your automation forward-compatible, -please install poetry-plugin-export explicitly. -See [Using plugins]({{< relref "plugins#using-plugins" >}}) for details on how to install a plugin. -{{% /warning %}} - {{% note %}} -This command is also available as a pre-commit hook. -See [pre-commit hooks]({{< relref "pre-commit-hooks#poetry-export" >}}) for more information. +This command is provided by the [Export Poetry Plugin](https://github.com/python-poetry/poetry-plugin-export) +and is also available as a pre-commit hook. See [pre-commit hooks]({{< relref "pre-commit-hooks#poetry-export" >}}) for more information. {{% /note %}} {{% note %}} diff --git a/src/poetry/config/config.py b/src/poetry/config/config.py index 2188f8284e0..036f71f5a59 100644 --- a/src/poetry/config/config.py +++ b/src/poetry/config/config.py @@ -137,9 +137,6 @@ class Config: "solver": { "lazy-wheel": True, }, - "warnings": { - "export": True, - }, "keyring": { "enabled": True, }, @@ -310,7 +307,6 @@ def _get_normalizer(name: str) -> Callable[[str], Any]: "installer.modern-installation", "installer.parallel", "solver.lazy-wheel", - "warnings.export", "keyring.enabled", }: return boolean_normalizer diff --git a/src/poetry/console/application.py b/src/poetry/console/application.py index 07b02f771d0..134759b9504 100644 --- a/src/poetry/console/application.py +++ b/src/poetry/console/application.py @@ -344,12 +344,6 @@ def _load_plugins(self, io: IO | None = None) -> None: manager.load_plugins() manager.activate(self) - # We have to override the command from poetry-plugin-export - # with the wrapper. - if self.command_loader.has("export"): - del self.command_loader._factories["export"] - self.command_loader._factories["export"] = load_command("export") - self._plugins_loaded = True @property diff --git a/src/poetry/console/commands/config.py b/src/poetry/console/commands/config.py index 8b862226689..dd8a9ce0b30 100644 --- a/src/poetry/console/commands/config.py +++ b/src/poetry/console/commands/config.py @@ -86,7 +86,6 @@ def unique_config_values(self) -> dict[str, tuple[Any, Any]]: PackageFilterPolicy.normalize, ), "solver.lazy-wheel": (boolean_validator, boolean_normalizer), - "warnings.export": (boolean_validator, boolean_normalizer), "keyring.enabled": (boolean_validator, boolean_normalizer), } diff --git a/src/poetry/console/commands/export.py b/src/poetry/console/commands/export.py deleted file mode 100644 index cf18e279deb..00000000000 --- a/src/poetry/console/commands/export.py +++ /dev/null @@ -1,21 +0,0 @@ -from __future__ import annotations - -from poetry_plugin_export.command import ( # type: ignore[import-untyped] - ExportCommand as BaseExportCommand, -) - - -class ExportCommand(BaseExportCommand): # type: ignore[misc] - def handle(self) -> int: - if self.poetry.config.get("warnings.export"): - self.line_error( - "Warning: poetry-plugin-export will not be installed by default in a" - " future version of Poetry.\n" - "In order to avoid a breaking change and make your automation" - " forward-compatible, please install poetry-plugin-export explicitly." - " See https://python-poetry.org/docs/plugins/#using-plugins for details" - " on how to install a plugin.\n" - "To disable this warning run 'poetry config warnings.export false'.", - style="warning", - ) - return super().handle() # type: ignore[no-any-return] diff --git a/tests/console/commands/test_config.py b/tests/console/commands/test_config.py index 218d47f8032..848de0ba0ae 100644 --- a/tests/console/commands/test_config.py +++ b/tests/console/commands/test_config.py @@ -71,7 +71,6 @@ def test_list_displays_default_value_if_not_set( virtualenvs.path = {venv_path} # {config_cache_dir / 'virtualenvs'} virtualenvs.prefer-active-python = false virtualenvs.prompt = "{{project_name}}-py{{python_version}}" -warnings.export = true """ assert tester.io.fetch_output() == expected @@ -104,7 +103,6 @@ def test_list_displays_set_get_setting( virtualenvs.path = {venv_path} # {config_cache_dir / 'virtualenvs'} virtualenvs.prefer-active-python = false virtualenvs.prompt = "{{project_name}}-py{{python_version}}" -warnings.export = true """ assert config.set_config_source.call_count == 0 # type: ignore[attr-defined] @@ -158,7 +156,6 @@ def test_unset_setting( virtualenvs.path = {venv_path} # {config_cache_dir / 'virtualenvs'} virtualenvs.prefer-active-python = false virtualenvs.prompt = "{{project_name}}-py{{python_version}}" -warnings.export = true """ assert config.set_config_source.call_count == 0 # type: ignore[attr-defined] assert tester.io.fetch_output() == expected @@ -190,7 +187,6 @@ def test_unset_repo_setting( virtualenvs.path = {venv_path} # {config_cache_dir / 'virtualenvs'} virtualenvs.prefer-active-python = false virtualenvs.prompt = "{{project_name}}-py{{python_version}}" -warnings.export = true """ assert config.set_config_source.call_count == 0 # type: ignore[attr-defined] assert tester.io.fetch_output() == expected @@ -320,7 +316,6 @@ def test_list_displays_set_get_local_setting( virtualenvs.path = {venv_path} # {config_cache_dir / 'virtualenvs'} virtualenvs.prefer-active-python = false virtualenvs.prompt = "{{project_name}}-py{{python_version}}" -warnings.export = true """ assert config.set_config_source.call_count == 1 # type: ignore[attr-defined] @@ -361,7 +356,6 @@ def test_list_must_not_display_sources_from_pyproject_toml( virtualenvs.path = {venv_path} # {config_cache_dir / 'virtualenvs'} virtualenvs.prefer-active-python = false virtualenvs.prompt = "{{project_name}}-py{{python_version}}" -warnings.export = true """ assert tester.io.fetch_output() == expected diff --git a/tests/console/commands/test_export.py b/tests/console/commands/test_export.py deleted file mode 100644 index 962c2c8c151..00000000000 --- a/tests/console/commands/test_export.py +++ /dev/null @@ -1,31 +0,0 @@ -from __future__ import annotations - -from typing import TYPE_CHECKING - -import pytest - - -if TYPE_CHECKING: - from cleo.testers.command_tester import CommandTester - - from tests.conftest import Config - from tests.types import CommandTesterFactory - - -@pytest.fixture -def tester(command_tester_factory: CommandTesterFactory) -> CommandTester: - return command_tester_factory("export") - - -def test_export_prints_warning(tester: CommandTester) -> None: - tester.execute("") - assert ( - "Warning: poetry-plugin-export will not be installed by default" - in tester.io.fetch_error() - ) - - -def test_disable_export_warning(tester: CommandTester, config: Config) -> None: - config.config["warnings"]["export"] = False - tester.execute("") - assert "poetry-plugin-export" not in tester.io.fetch_error()