From 1b71bcf8745c859be904d99b24d092af4fcee02c Mon Sep 17 00:00:00 2001 From: Joshua Date: Thu, 21 Dec 2023 20:56:39 -0600 Subject: [PATCH] redirects --- docusaurus.config.js | 24 +- package.json | 1 + redirects.js | 18687 ++++++++++++++++++++ versioned_docs/version-2.0.x/slugmap.json | 8 - versioned_docs/version-2.1.x/slugmap.json | 9 - versioned_docs/version-2.2.x/slugmap.json | 10 - versioned_docs/version-2.3.x/slugmap.json | 11 - versioned_docs/version-2.4.x/slugmap.json | 12 - yarn.lock | 15 + 9 files changed, 18725 insertions(+), 52 deletions(-) create mode 100644 redirects.js diff --git a/docusaurus.config.js b/docusaurus.config.js index cca32ae67..4e8a30f87 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -1,4 +1,5 @@ import versions from "./versions.json"; +import redirects from "./redirects.js"; import captionedCode from "./src/remark/captioned-code.js"; import { themes as prismThemes } from "prism-react-renderer"; @@ -42,13 +43,15 @@ const config = { organizationName: "pantsbuild", projectName: "pantsbuild.org", - onBrokenLinks: isDev ? "warn" : "throw", - onBrokenMarkdownLinks: isDev ? "warn" : "throw", + // @TODO: This should throw on prod + onBrokenLinks: isDev ? "warn" : "warn", + onBrokenMarkdownLinks: isDev ? "warn" : "warn", presets: [ [ "@docusaurus/preset-classic", { + debug: process.env.NODE_ENV !== "production", docs: { sidebarPath: require.resolve("./sidebars.js"), routeBasePath: "/", @@ -274,6 +277,23 @@ const config = { darkTheme: prismThemes.nightOwl, }, }, + plugins: [ + [ + "@docusaurus/plugin-client-redirects", + { + redirects: [ + { + from: "/v2.20/docs/welcome-to-pants", + to: "/2.20.x/docs/introduction/welcome-to-pants", + }, + { + from: "/FOO", + to: "/2.20.x/docs", + }, + ], + }, + ], + ], }; module.exports = config; diff --git a/package.json b/package.json index 9acf1c8ab..4f356b940 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ }, "dependencies": { "@docusaurus/core": "^3.0.0", + "@docusaurus/plugin-client-redirects": "^3.0.1", "@docusaurus/preset-classic": "^3.0.0", "@mdx-js/react": "^3.0.0", "clsx": "^1.2.1", diff --git a/redirects.js b/redirects.js new file mode 100644 index 000000000..00146b650 --- /dev/null +++ b/redirects.js @@ -0,0 +1,18687 @@ +export default [ + { + from: "/v2.0/docs/advanced-target-selection", + to: "/2.0.x/docs/using-pants/advanced-target-selection.mdx", + }, + { from: "/v2.0/docs/aws-lambda", to: "/2.0.x/docs/aws-lambda/index.mdx" }, + { + from: "/v2.0/docs/awslambda-python", + to: "/2.0.x/docs/aws-lambda/python-support.mdx", + }, + { + from: "/v2.0/docs/code-of-conduct", + to: "/2.0.x/community/code-of-conduct", + }, + { from: "/v2.0/docs/codegen", to: "/2.0.x/docs/codegen/index.mdx" }, + { + from: "/v2.0/docs/command-line-help", + to: "/2.0.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.0/docs/committers", + to: "/2.0.x/docs/contributions/committers.mdx", + }, + { + from: "/v2.0/docs/common-plugin-tasks", + to: "/2.0.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.0/docs/community", to: "/2.0.x/community/members" }, + { + from: "/v2.0/docs/concepts", + to: "/2.0.x/docs/using-pants/concepts/index.mdx", + }, + { + from: "/v2.0/docs/contentious-decisions", + to: "/2.0.x/community/contentious-decisions", + }, + { + from: "/v2.0/docs/contributing-to-pants", + to: "/2.0.x/docs/contributions/index.mdx", + }, + { + from: "/v2.0/docs/contributions-debugging", + to: "/2.0.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.0/docs/contributions-rust", + to: "/2.0.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.0/docs/contributor-overview", + to: "/2.0.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.0/docs/contributor-setup", + to: "/2.0.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.0/docs/deprecation-policy", + to: "/2.0.x/docs/release-notes/deprecation-policy.mdx", + }, + { + from: "/v2.0/docs/development", + to: "/2.0.x/docs/contributions/development/index.mdx", + }, + { + from: "/v2.0/docs/documentation", + to: "/2.0.x/docs/introduction/index.mdx", + }, + { + from: "/v2.0/docs/enabling-backends", + to: "/2.0.x/docs/using-pants/concepts/backends.mdx", + }, + { + from: "/v2.0/docs/example-repos", + to: "/2.0.x/docs/introduction/getting-started/example-repositories.mdx", + }, + { + from: "/v2.0/docs/existing-repositories", + to: "/2.0.x/docs/using-pants/adopting-pants-in-existing-repos.mdx", + }, + { from: "/v2.0/docs/getting-help", to: "/2.0.x/community/getting-help" }, + { + from: "/v2.0/docs/getting-started", + to: "/2.0.x/docs/introduction/getting-started/index.mdx", + }, + { + from: "/v2.0/docs/gitignore", + to: "/2.0.x/docs/introduction/getting-started/updating-.gitignore.mdx", + }, + { + from: "/v2.0/docs/goals", + to: "/2.0.x/docs/using-pants/concepts/goals.mdx", + }, + { + from: "/v2.0/docs/how-does-pants-work", + to: "/2.0.x/docs/introduction/how-does-pants-work.mdx", + }, + { + from: "/v2.0/docs/how-to-upgrade-pants-2-0", + to: "/2.0.x/docs/introduction/pants-1.x-vs.-2.0/how-to-upgrade.mdx", + }, + { + from: "/v2.0/docs/initial-configuration", + to: "/2.0.x/docs/introduction/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.0/docs/installation", + to: "/2.0.x/docs/introduction/getting-started/installing-pants.mdx", + }, + { + from: "/v2.0/docs/internal-rules-architecture", + to: "/2.0.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.0/docs/language-support", + to: "/2.0.x/spotlight/language-support", + }, + { from: "/v2.0/docs/macros", to: "/2.0.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.0/docs/maintainers", to: "/2.0.x/community/maintainers" }, + { from: "/v2.0/docs/media", to: "/2.0.x/spotlight/media" }, + { from: "/v2.0/docs/news-room", to: "/2.0.x/spotlight/media" }, + { + from: "/v2.0/docs/options", + to: "/2.0.x/docs/using-pants/concepts/options.mdx", + }, + { + from: "/v2.0/docs/pants-1-vs-2", + to: "/2.0.x/docs/introduction/pants-1.x-vs.-2.0/index.mdx", + }, + { + from: "/v2.0/docs/pex-files", + to: "/2.0.x/docs/python/overview/pex-files.mdx", + }, + { + from: "/v2.0/docs/plugin-upgrade-guide", + to: "/2.0.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.0/docs/plugins-codegen", + to: "/2.0.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.0/docs/plugins-fmt-goal", + to: "/2.0.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.0/docs/plugins-lint-goal", + to: "/2.0.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.0/docs/plugins-overview", + to: "/2.0.x/docs/writing-plugins/overview.mdx", + }, + { + from: "/v2.0/docs/plugins-package-goal", + to: "/2.0.x/docs/writing-plugins/common-plugin-tasks/package-code.mdx", + }, + { + from: "/v2.0/docs/plugins-repl-goal", + to: "/2.0.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.0/docs/plugins-run-goal", + to: "/2.0.x/docs/writing-plugins/common-plugin-tasks/run-programs.mdx", + }, + { + from: "/v2.0/docs/plugins-setup-py", + to: "/2.0.x/docs/writing-plugins/common-plugin-tasks/custom-setup-py-kwargs.mdx", + }, + { + from: "/v2.0/docs/plugins-test-goal", + to: "/2.0.x/docs/writing-plugins/common-plugin-tasks/run-tests.mdx", + }, + { + from: "/v2.0/docs/plugins-typecheck-goal", + to: "/2.0.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.0/docs/project-introspection", + to: "/2.0.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.0/docs/protobuf", + to: "/2.0.x/docs/codegen/protobuf-and-grpc.mdx", + }, + { + from: "/v2.0/docs/proxies", + to: "/2.0.x/docs/using-pants/troubleshooting-common-issues/proxies.mdx", + }, + { + from: "/v2.0/docs/python-backend", + to: "/2.0.x/docs/python/overview/enabling-python-support.mdx", + }, + { + from: "/v2.0/docs/python-distributions", + to: "/2.0.x/docs/python/overview/building-distributions.mdx", + }, + { + from: "/v2.0/docs/python-fmt-goal", + to: "/2.0.x/docs/python/goals/fmt.mdx", + }, + { from: "/v2.0/docs/python-goals", to: "/2.0.x/docs/python/goals/index.mdx" }, + { + from: "/v2.0/docs/python-interpreter-compatibility", + to: "/2.0.x/docs/python/overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.0/docs/python-lint-goal", + to: "/2.0.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.0/docs/python-linters-and-formatters", + to: "/2.0.x/docs/python/overview/linters-and-formatters.mdx", + }, + { + from: "/v2.0/docs/python-package-goal", + to: "/2.0.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.0/docs/python-repl-goal", + to: "/2.0.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.0/docs/python-run-goal", + to: "/2.0.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.0/docs/python-target-types", + to: "/2.0.x/docs/python/overview/target-types.mdx", + }, + { + from: "/v2.0/docs/python-test-goal", + to: "/2.0.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.0/docs/python-third-party-dependencies", + to: "/2.0.x/docs/python/overview/third-party-dependencies.mdx", + }, + { + from: "/v2.0/docs/python-typecheck-goal", + to: "/2.0.x/docs/python/goals/typecheck.mdx", + }, + { from: "/v2.0/docs/python", to: "/2.0.x/docs/python/overview/index.mdx" }, + { from: "/v2.0/docs/reference-all-goals", to: "/2.0.x/reference/goals" }, + { + from: "/v2.0/docs/reference-all-subsystems", + to: "/2.0.x/reference/subsystems", + }, + { from: "/v2.0/docs/reference-all-targets", to: "/2.0.x/reference/targets" }, + { + from: "/v2.0/docs/reference-archive", + to: "/2.0.x/reference/targets/archive.mdx", + }, + { + from: "/v2.0/docs/reference-awslambda", + to: "/2.0.x/reference/goals/awslambda.mdx", + }, + { + from: "/v2.0/docs/reference-bandit", + to: "/2.0.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.0/docs/reference-basicauth", + to: "/2.0.x/reference/subsystems/basicauth.mdx", + }, + { + from: "/v2.0/docs/reference-binary", + to: "/2.0.x/reference/goals/binary.mdx", + }, + { + from: "/v2.0/docs/reference-black", + to: "/2.0.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.0/docs/reference-changed", + to: "/2.0.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.0/docs/reference-cookies", + to: "/2.0.x/reference/subsystems/cookies.mdx", + }, + { + from: "/v2.0/docs/reference-count-loc", + to: "/2.0.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.0/docs/reference-coverage-py", + to: "/2.0.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.0/docs/reference-dependees", + to: "/2.0.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.0/docs/reference-dependencies", + to: "/2.0.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.0/docs/reference-docformatter", + to: "/2.0.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.0/docs/reference-download-pex-bin", + to: "/2.0.x/reference/subsystems/download-pex-bin.mdx", + }, + { + from: "/v2.0/docs/reference-filedeps", + to: "/2.0.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.0/docs/reference-files", + to: "/2.0.x/reference/targets/files.mdx", + }, + { + from: "/v2.0/docs/reference-filter", + to: "/2.0.x/reference/goals/filter.mdx", + }, + { + from: "/v2.0/docs/reference-flake8", + to: "/2.0.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.0/docs/reference-fmt", to: "/2.0.x/reference/goals/fmt.mdx" }, + { + from: "/v2.0/docs/reference-global", + to: "/2.0.x/reference/global-options.mdx", + }, + { + from: "/v2.0/docs/reference-grpc_python_plugin", + to: "/2.0.x/reference/subsystems/grpc_python_plugin.mdx", + }, + { + from: "/v2.0/docs/reference-ipython", + to: "/2.0.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.0/docs/reference-isort", + to: "/2.0.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.0/docs/reference-lambdex", + to: "/2.0.x/reference/subsystems/lambdex.mdx", + }, + { from: "/v2.0/docs/reference-lint", to: "/2.0.x/reference/goals/lint.mdx" }, + { from: "/v2.0/docs/reference-list", to: "/2.0.x/reference/goals/list.mdx" }, + { + from: "/v2.0/docs/reference-mypy_source_plugin", + to: "/2.0.x/reference/targets/mypy_source_plugin.mdx", + }, + { + from: "/v2.0/docs/reference-mypy", + to: "/2.0.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.0/docs/reference-package", + to: "/2.0.x/reference/goals/package.mdx", + }, + { + from: "/v2.0/docs/reference-pex_binary", + to: "/2.0.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.0/docs/reference-pex-binary-defaults", + to: "/2.0.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.0/docs/reference-pex", + to: "/2.0.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.0/docs/reference-protobuf_library", + to: "/2.0.x/reference/targets/protobuf_library.mdx", + }, + { + from: "/v2.0/docs/reference-protoc", + to: "/2.0.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.0/docs/reference-pylint_source_plugin", + to: "/2.0.x/reference/targets/pylint_source_plugin.mdx", + }, + { + from: "/v2.0/docs/reference-pylint", + to: "/2.0.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.0/docs/reference-pytest", + to: "/2.0.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.0/docs/reference-python_awslambda", + to: "/2.0.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.0/docs/reference-python_distribution", + to: "/2.0.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.0/docs/reference-python_library", + to: "/2.0.x/reference/targets/python_library.mdx", + }, + { + from: "/v2.0/docs/reference-python_requirement_library", + to: "/2.0.x/reference/targets/python_requirement_library.mdx", + }, + { + from: "/v2.0/docs/reference-python_tests", + to: "/2.0.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.0/docs/reference-python-binary", + to: "/2.0.x/reference/subsystems/python-binary.mdx", + }, + { + from: "/v2.0/docs/reference-python-infer", + to: "/2.0.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.0/docs/reference-python-native-code", + to: "/2.0.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.0/docs/reference-python-protobuf", + to: "/2.0.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.0/docs/reference-python-repos", + to: "/2.0.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.0/docs/reference-python-setup", + to: "/2.0.x/reference/subsystems/python-setup.mdx", + }, + { + from: "/v2.0/docs/reference-relocated_files", + to: "/2.0.x/reference/targets/relocated_files.mdx", + }, + { from: "/v2.0/docs/reference-repl", to: "/2.0.x/reference/goals/repl.mdx" }, + { + from: "/v2.0/docs/reference-reporting", + to: "/2.0.x/reference/subsystems/reporting.mdx", + }, + { + from: "/v2.0/docs/reference-resources", + to: "/2.0.x/reference/targets/resources.mdx", + }, + { + from: "/v2.0/docs/reference-roots", + to: "/2.0.x/reference/goals/roots.mdx", + }, + { + from: "/v2.0/docs/reference-run-tracker", + to: "/2.0.x/reference/subsystems/run-tracker.mdx", + }, + { from: "/v2.0/docs/reference-run", to: "/2.0.x/reference/goals/run.mdx" }, + { + from: "/v2.0/docs/reference-scc", + to: "/2.0.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.0/docs/reference-setup-py-generation", + to: "/2.0.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.0/docs/reference-setup-py", + to: "/2.0.x/reference/goals/setup-py.mdx", + }, + { + from: "/v2.0/docs/reference-setuptools", + to: "/2.0.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.0/docs/reference-source", + to: "/2.0.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.0/docs/reference-sourcefile-validation", + to: "/2.0.x/reference/subsystems/sourcefile-validation.mdx", + }, + { + from: "/v2.0/docs/reference-subprocess-environment", + to: "/2.0.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.0/docs/reference-target", + to: "/2.0.x/reference/targets/target.mdx", + }, + { from: "/v2.0/docs/reference-test", to: "/2.0.x/reference/goals/test.mdx" }, + { + from: "/v2.0/docs/reference-typecheck", + to: "/2.0.x/reference/goals/typecheck.mdx", + }, + { + from: "/v2.0/docs/reference-validate", + to: "/2.0.x/reference/goals/validate.mdx", + }, + { from: "/v2.0/docs/reference", to: "/2.0.x/reference/index.mdx" }, + { + from: "/v2.0/docs/release-notes", + to: "/2.0.x/docs/release-notes/index.mdx", + }, + { + from: "/v2.0/docs/release-process", + to: "/2.0.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.0/docs/release-strategy", + to: "/2.0.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.0/docs/releases", + to: "/2.0.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.0/docs/remote-execution", + to: "/2.0.x/docs/using-pants/remote-execution.mdx", + }, + { + from: "/v2.0/docs/resources", + to: "/2.0.x/docs/using-pants/resources-and-archives.mdx", + }, + { + from: "/v2.0/docs/rules-api-and-target-api", + to: "/2.0.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.0/docs/rules-api-concepts", + to: "/2.0.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.0/docs/rules-api-file-system", + to: "/2.0.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.0/docs/rules-api-goal-rules", + to: "/2.0.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.0/docs/rules-api-installing-tools", + to: "/2.0.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.0/docs/rules-api-logging", + to: "/2.0.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.0/docs/rules-api-process", + to: "/2.0.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.0/docs/rules-api-subsystems", + to: "/2.0.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.0/docs/rules-api-testing", + to: "/2.0.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.0/docs/rules-api-tips", + to: "/2.0.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.0/docs/rules-api-unions", + to: "/2.0.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.0/docs/rules-api", + to: "/2.0.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.0/docs/source-roots", + to: "/2.0.x/docs/using-pants/concepts/source-roots.mdx", + }, + { + from: "/v2.0/docs/style-guide", + to: "/2.0.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.0/docs/target-api-concepts", + to: "/2.0.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.0/docs/target-api-extending-targets", + to: "/2.0.x/docs/writing-plugins/the-target-api/extending-pre-existing-targets.mdx", + }, + { + from: "/v2.0/docs/target-api-new-fields", + to: "/2.0.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.0/docs/target-api-new-targets", + to: "/2.0.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.0/docs/target-api", + to: "/2.0.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.0/docs/targets", + to: "/2.0.x/docs/using-pants/concepts/targets-and-build-files.mdx", + }, + { from: "/v2.0/docs/team", to: "/2.0.x/community/meet-the-team" }, + { from: "/v2.0/docs/testimonials", to: "/2.0.x/spotlight/testimonials" }, + { from: "/v2.0/docs/the-pants-community", to: "/2.0.x/community/members" }, + { + from: "/v2.0/docs/troubleshooting", + to: "/2.0.x/docs/using-pants/troubleshooting-common-issues/index.mdx", + }, + { + from: "/v2.0/docs/upgrade-tips", + to: "/2.0.x/docs/release-notes/upgrade-tips.mdx", + }, + { + from: "/v2.0/docs/using-pants-in-ci", + to: "/2.0.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.0/docs/using-pants", to: "/2.0.x/docs/using-pants/index.mdx" }, + { + from: "/v2.0/docs/welcome-to-pants", + to: "/2.0.x/docs/introduction/welcome-to-pants.mdx", + }, + { from: "/v2.0/docs/who-uses-pants", to: "/2.0.x/spotlight/users" }, + { + from: "/v2.0/docs/writing-plugins", + to: "/2.0.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.1/docs/advanced-target-selection", + to: "/2.1.x/docs/using-pants/advanced-target-selection.mdx", + }, + { from: "/v2.1/docs/aws-lambda", to: "/2.1.x/docs/aws-lambda/index.mdx" }, + { + from: "/v2.1/docs/awslambda-python", + to: "/2.1.x/docs/aws-lambda/python-support.mdx", + }, + { + from: "/v2.1/docs/code-of-conduct", + to: "/2.1.x/community/code-of-conduct", + }, + { from: "/v2.1/docs/codegen", to: "/2.1.x/docs/codegen/index.mdx" }, + { + from: "/v2.1/docs/command-line-help", + to: "/2.1.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.1/docs/committers", + to: "/2.1.x/docs/contributions/committers.mdx", + }, + { + from: "/v2.1/docs/common-plugin-tasks", + to: "/2.1.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.1/docs/community", to: "/2.1.x/community/members" }, + { + from: "/v2.1/docs/concepts", + to: "/2.1.x/docs/using-pants/concepts/index.mdx", + }, + { + from: "/v2.1/docs/contentious-decisions", + to: "/2.1.x/community/contentious-decisions", + }, + { + from: "/v2.1/docs/contributing-to-pants", + to: "/2.1.x/docs/contributions/index.mdx", + }, + { + from: "/v2.1/docs/contributions-debugging", + to: "/2.1.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.1/docs/contributions-rust", + to: "/2.1.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.1/docs/contributor-overview", + to: "/2.1.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.1/docs/contributor-setup", + to: "/2.1.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.1/docs/deprecation-policy", + to: "/2.1.x/docs/release-notes/deprecation-policy.mdx", + }, + { + from: "/v2.1/docs/development", + to: "/2.1.x/docs/contributions/development/index.mdx", + }, + { + from: "/v2.1/docs/documentation", + to: "/2.1.x/docs/introduction/index.mdx", + }, + { + from: "/v2.1/docs/enabling-backends", + to: "/2.1.x/docs/using-pants/concepts/backends.mdx", + }, + { + from: "/v2.1/docs/example-repos", + to: "/2.1.x/docs/introduction/getting-started/example-repositories.mdx", + }, + { + from: "/v2.1/docs/existing-repositories", + to: "/2.1.x/docs/using-pants/adopting-pants-in-existing-repos.mdx", + }, + { from: "/v2.1/docs/getting-help", to: "/2.1.x/community/getting-help" }, + { + from: "/v2.1/docs/getting-started", + to: "/2.1.x/docs/introduction/getting-started/index.mdx", + }, + { + from: "/v2.1/docs/gitignore", + to: "/2.1.x/docs/introduction/getting-started/updating-.gitignore.mdx", + }, + { + from: "/v2.1/docs/goals", + to: "/2.1.x/docs/using-pants/concepts/goals.mdx", + }, + { + from: "/v2.1/docs/how-does-pants-work", + to: "/2.1.x/docs/introduction/how-does-pants-work.mdx", + }, + { + from: "/v2.1/docs/how-to-upgrade-pants-2-0", + to: "/2.1.x/docs/introduction/pants-1.x-vs.-2.x/how-to-upgrade.mdx", + }, + { + from: "/v2.1/docs/initial-configuration", + to: "/2.1.x/docs/introduction/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.1/docs/installation", + to: "/2.1.x/docs/introduction/getting-started/installing-pants.mdx", + }, + { + from: "/v2.1/docs/internal-rules-architecture", + to: "/2.1.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.1/docs/language-support", + to: "/2.1.x/spotlight/language-support", + }, + { from: "/v2.1/docs/macros", to: "/2.1.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.1/docs/maintainers", to: "/2.1.x/community/maintainers" }, + { from: "/v2.1/docs/media", to: "/2.1.x/spotlight/media" }, + { from: "/v2.1/docs/news-room", to: "/2.1.x/spotlight/media" }, + { + from: "/v2.1/docs/options", + to: "/2.1.x/docs/using-pants/concepts/options.mdx", + }, + { + from: "/v2.1/docs/pants-1-vs-2", + to: "/2.1.x/docs/introduction/pants-1.x-vs.-2.x/index.mdx", + }, + { + from: "/v2.1/docs/pex-files", + to: "/2.1.x/docs/python/overview/pex-files.mdx", + }, + { + from: "/v2.1/docs/plugin-upgrade-guide", + to: "/2.1.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.1/docs/plugins-codegen", + to: "/2.1.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.1/docs/plugins-fmt-goal", + to: "/2.1.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.1/docs/plugins-lint-goal", + to: "/2.1.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.1/docs/plugins-overview", + to: "/2.1.x/docs/writing-plugins/overview.mdx", + }, + { + from: "/v2.1/docs/plugins-package-goal", + to: "/2.1.x/docs/writing-plugins/common-plugin-tasks/package-code.mdx", + }, + { + from: "/v2.1/docs/plugins-repl-goal", + to: "/2.1.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.1/docs/plugins-run-goal", + to: "/2.1.x/docs/writing-plugins/common-plugin-tasks/run-programs.mdx", + }, + { + from: "/v2.1/docs/plugins-setup-py", + to: "/2.1.x/docs/writing-plugins/common-plugin-tasks/custom-setup-py-kwargs.mdx", + }, + { + from: "/v2.1/docs/plugins-test-goal", + to: "/2.1.x/docs/writing-plugins/common-plugin-tasks/run-tests.mdx", + }, + { + from: "/v2.1/docs/plugins-typecheck-goal", + to: "/2.1.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.1/docs/project-introspection", + to: "/2.1.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.1/docs/protobuf", + to: "/2.1.x/docs/codegen/protobuf-and-grpc.mdx", + }, + { + from: "/v2.1/docs/proxies", + to: "/2.1.x/docs/using-pants/troubleshooting-common-issues/proxies.mdx", + }, + { + from: "/v2.1/docs/python-backend", + to: "/2.1.x/docs/python/overview/enabling-python-support.mdx", + }, + { + from: "/v2.1/docs/python-distributions", + to: "/2.1.x/docs/python/overview/building-distributions.mdx", + }, + { + from: "/v2.1/docs/python-fmt-goal", + to: "/2.1.x/docs/python/goals/fmt.mdx", + }, + { from: "/v2.1/docs/python-goals", to: "/2.1.x/docs/python/goals/index.mdx" }, + { + from: "/v2.1/docs/python-interpreter-compatibility", + to: "/2.1.x/docs/python/overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.1/docs/python-lint-goal", + to: "/2.1.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.1/docs/python-linters-and-formatters", + to: "/2.1.x/docs/python/overview/linters-and-formatters.mdx", + }, + { + from: "/v2.1/docs/python-package-goal", + to: "/2.1.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.1/docs/python-repl-goal", + to: "/2.1.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.1/docs/python-run-goal", + to: "/2.1.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.1/docs/python-target-types", + to: "/2.1.x/docs/python/overview/target-types.mdx", + }, + { + from: "/v2.1/docs/python-test-goal", + to: "/2.1.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.1/docs/python-third-party-dependencies", + to: "/2.1.x/docs/python/overview/third-party-dependencies.mdx", + }, + { + from: "/v2.1/docs/python-typecheck-goal", + to: "/2.1.x/docs/python/goals/typecheck.mdx", + }, + { from: "/v2.1/docs/python", to: "/2.1.x/docs/python/overview/index.mdx" }, + { from: "/v2.1/docs/reference-all-goals", to: "/2.1.x/reference/goals" }, + { + from: "/v2.1/docs/reference-all-subsystems", + to: "/2.1.x/reference/subsystems", + }, + { from: "/v2.1/docs/reference-all-targets", to: "/2.1.x/reference/targets" }, + { + from: "/v2.1/docs/reference-archive", + to: "/2.1.x/reference/targets/archive.mdx", + }, + { + from: "/v2.1/docs/reference-bandit", + to: "/2.1.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.1/docs/reference-black", + to: "/2.1.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.1/docs/reference-changed", + to: "/2.1.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.1/docs/reference-count-loc", + to: "/2.1.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.1/docs/reference-coverage-py", + to: "/2.1.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.1/docs/reference-dependees", + to: "/2.1.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.1/docs/reference-dependencies", + to: "/2.1.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.1/docs/reference-docformatter", + to: "/2.1.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.1/docs/reference-download-pex-bin", + to: "/2.1.x/reference/subsystems/download-pex-bin.mdx", + }, + { + from: "/v2.1/docs/reference-export-codegen", + to: "/2.1.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.1/docs/reference-filedeps", + to: "/2.1.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.1/docs/reference-files", + to: "/2.1.x/reference/targets/files.mdx", + }, + { + from: "/v2.1/docs/reference-filter", + to: "/2.1.x/reference/goals/filter.mdx", + }, + { + from: "/v2.1/docs/reference-flake8", + to: "/2.1.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.1/docs/reference-fmt", to: "/2.1.x/reference/goals/fmt.mdx" }, + { + from: "/v2.1/docs/reference-global", + to: "/2.1.x/reference/global-options.mdx", + }, + { + from: "/v2.1/docs/reference-grpc_python_plugin", + to: "/2.1.x/reference/subsystems/grpc_python_plugin.mdx", + }, + { + from: "/v2.1/docs/reference-ipython", + to: "/2.1.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.1/docs/reference-isort", + to: "/2.1.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.1/docs/reference-lambdex", + to: "/2.1.x/reference/subsystems/lambdex.mdx", + }, + { from: "/v2.1/docs/reference-lint", to: "/2.1.x/reference/goals/lint.mdx" }, + { from: "/v2.1/docs/reference-list", to: "/2.1.x/reference/goals/list.mdx" }, + { + from: "/v2.1/docs/reference-mypy_source_plugin", + to: "/2.1.x/reference/targets/mypy_source_plugin.mdx", + }, + { + from: "/v2.1/docs/reference-mypy", + to: "/2.1.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.1/docs/reference-package", + to: "/2.1.x/reference/goals/package.mdx", + }, + { + from: "/v2.1/docs/reference-pex_binary", + to: "/2.1.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.1/docs/reference-pex-binary-defaults", + to: "/2.1.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.1/docs/reference-pex", + to: "/2.1.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.1/docs/reference-protobuf_library", + to: "/2.1.x/reference/targets/protobuf_library.mdx", + }, + { + from: "/v2.1/docs/reference-protoc", + to: "/2.1.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.1/docs/reference-pylint_source_plugin", + to: "/2.1.x/reference/targets/pylint_source_plugin.mdx", + }, + { + from: "/v2.1/docs/reference-pylint", + to: "/2.1.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.1/docs/reference-pytest", + to: "/2.1.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.1/docs/reference-python_awslambda", + to: "/2.1.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.1/docs/reference-python_distribution", + to: "/2.1.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.1/docs/reference-python_library", + to: "/2.1.x/reference/targets/python_library.mdx", + }, + { + from: "/v2.1/docs/reference-python_requirement_library", + to: "/2.1.x/reference/targets/python_requirement_library.mdx", + }, + { + from: "/v2.1/docs/reference-python_tests", + to: "/2.1.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.1/docs/reference-python-infer", + to: "/2.1.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.1/docs/reference-python-native-code", + to: "/2.1.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.1/docs/reference-python-protobuf", + to: "/2.1.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.1/docs/reference-python-repos", + to: "/2.1.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.1/docs/reference-python-setup", + to: "/2.1.x/reference/subsystems/python-setup.mdx", + }, + { + from: "/v2.1/docs/reference-relocated_files", + to: "/2.1.x/reference/targets/relocated_files.mdx", + }, + { from: "/v2.1/docs/reference-repl", to: "/2.1.x/reference/goals/repl.mdx" }, + { + from: "/v2.1/docs/reference-resources", + to: "/2.1.x/reference/targets/resources.mdx", + }, + { + from: "/v2.1/docs/reference-roots", + to: "/2.1.x/reference/goals/roots.mdx", + }, + { + from: "/v2.1/docs/reference-run-tracker", + to: "/2.1.x/reference/subsystems/run-tracker.mdx", + }, + { from: "/v2.1/docs/reference-run", to: "/2.1.x/reference/goals/run.mdx" }, + { + from: "/v2.1/docs/reference-scc", + to: "/2.1.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.1/docs/reference-setup-py-generation", + to: "/2.1.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.1/docs/reference-setuptools", + to: "/2.1.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.1/docs/reference-source", + to: "/2.1.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.1/docs/reference-sourcefile-validation", + to: "/2.1.x/reference/subsystems/sourcefile-validation.mdx", + }, + { + from: "/v2.1/docs/reference-subprocess-environment", + to: "/2.1.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.1/docs/reference-target", + to: "/2.1.x/reference/targets/target.mdx", + }, + { from: "/v2.1/docs/reference-test", to: "/2.1.x/reference/goals/test.mdx" }, + { + from: "/v2.1/docs/reference-typecheck", + to: "/2.1.x/reference/goals/typecheck.mdx", + }, + { + from: "/v2.1/docs/reference-validate", + to: "/2.1.x/reference/goals/validate.mdx", + }, + { from: "/v2.1/docs/reference", to: "/2.1.x/reference/index.mdx" }, + { + from: "/v2.1/docs/release-notes", + to: "/2.1.x/docs/release-notes/index.mdx", + }, + { + from: "/v2.1/docs/release-process", + to: "/2.1.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.1/docs/release-strategy", + to: "/2.1.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.1/docs/releases", + to: "/2.1.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.1/docs/remote-execution", + to: "/2.1.x/docs/using-pants/remote-execution.mdx", + }, + { + from: "/v2.1/docs/resources", + to: "/2.1.x/docs/using-pants/resources-and-archives.mdx", + }, + { + from: "/v2.1/docs/rules-api-and-target-api", + to: "/2.1.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.1/docs/rules-api-concepts", + to: "/2.1.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.1/docs/rules-api-file-system", + to: "/2.1.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.1/docs/rules-api-goal-rules", + to: "/2.1.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.1/docs/rules-api-installing-tools", + to: "/2.1.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.1/docs/rules-api-logging", + to: "/2.1.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.1/docs/rules-api-process", + to: "/2.1.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.1/docs/rules-api-subsystems", + to: "/2.1.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.1/docs/rules-api-testing", + to: "/2.1.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.1/docs/rules-api-tips", + to: "/2.1.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.1/docs/rules-api-unions", + to: "/2.1.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.1/docs/rules-api", + to: "/2.1.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.1/docs/source-roots", + to: "/2.1.x/docs/using-pants/concepts/source-roots.mdx", + }, + { + from: "/v2.1/docs/style-guide", + to: "/2.1.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.1/docs/target-api-concepts", + to: "/2.1.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.1/docs/target-api-extending-targets", + to: "/2.1.x/docs/writing-plugins/the-target-api/extending-pre-existing-targets.mdx", + }, + { + from: "/v2.1/docs/target-api-new-fields", + to: "/2.1.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.1/docs/target-api-new-targets", + to: "/2.1.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.1/docs/target-api", + to: "/2.1.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.1/docs/targets", + to: "/2.1.x/docs/using-pants/concepts/targets-and-build-files.mdx", + }, + { from: "/v2.1/docs/team", to: "/2.1.x/community/meet-the-team" }, + { from: "/v2.1/docs/testimonials", to: "/2.1.x/spotlight/testimonials" }, + { from: "/v2.1/docs/the-pants-community", to: "/2.1.x/community/members" }, + { + from: "/v2.1/docs/troubleshooting", + to: "/2.1.x/docs/using-pants/troubleshooting-common-issues/index.mdx", + }, + { + from: "/v2.1/docs/upgrade-tips", + to: "/2.1.x/docs/release-notes/upgrade-tips.mdx", + }, + { + from: "/v2.1/docs/using-pants-in-ci", + to: "/2.1.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.1/docs/using-pants", to: "/2.1.x/docs/using-pants/index.mdx" }, + { + from: "/v2.1/docs/welcome-to-pants", + to: "/2.1.x/docs/introduction/welcome-to-pants.mdx", + }, + { from: "/v2.1/docs/who-uses-pants", to: "/2.1.x/spotlight/users" }, + { + from: "/v2.1/docs/writing-plugins", + to: "/2.1.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.10/docs/advanced-target-selection", + to: "/2.10.x/docs/using-pants/advanced-target-selection.mdx", + }, + { + from: "/v2.10/docs/anonymous-telemetry", + to: "/2.10.x/docs/using-pants/anonymous-telemetry.mdx", + }, + { + from: "/v2.10/docs/assets", + to: "/2.10.x/docs/using-pants/assets-and-archives.mdx", + }, + { + from: "/v2.10/docs/awslambda-python", + to: "/2.10.x/docs/python/integrations/aws-lambda.mdx", + }, + { from: "/v2.10/docs/changelog", to: "/2.10.x/versions" }, + { + from: "/v2.10/docs/code-of-conduct", + to: "/2.10.x/community/code-of-conduct", + }, + { + from: "/v2.10/docs/command-line-help", + to: "/2.10.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.10/docs/common-plugin-tasks", + to: "/2.10.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.10/docs/community", to: "/2.10.x/community/members" }, + { + from: "/v2.10/docs/concepts", + to: "/2.10.x/docs/using-pants/key-concepts/index.mdx", + }, + { + from: "/v2.10/docs/contentious-decisions", + to: "/2.10.x/community/contentious-decisions", + }, + { + from: "/v2.10/docs/contributing-to-pants", + to: "/2.10.x/docs/contributions/index.mdx", + }, + { + from: "/v2.10/docs/contributions-debugging", + to: "/2.10.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.10/docs/contributions-rust", + to: "/2.10.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.10/docs/contributor-overview", + to: "/2.10.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.10/docs/contributor-setup", + to: "/2.10.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.10/docs/create-initial-build-files", + to: "/2.10.x/docs/getting-started/getting-started/create-initial-build-files.mdx", + }, + { + from: "/v2.10/docs/deprecation-policy", + to: "/2.10.x/docs/releases/deprecation-policy.mdx", + }, + { + from: "/v2.10/docs/development", + to: "/2.10.x/docs/contributions/development/index.mdx", + }, + { from: "/v2.10/docs/docker", to: "/2.10.x/docs/docker/overview.mdx" }, + { + from: "/v2.10/docs/documentation", + to: "/2.10.x/docs/introduction/index.mdx", + }, + { + from: "/v2.10/docs/enabling-backends", + to: "/2.10.x/docs/using-pants/key-concepts/backends.mdx", + }, + { + from: "/v2.10/docs/example-repos", + to: "/2.10.x/docs/getting-started/getting-started/example-projects-and-repositories.mdx", + }, + { + from: "/v2.10/docs/existing-repositories", + to: "/2.10.x/docs/getting-started/getting-started/incremental-adoption.mdx", + }, + { from: "/v2.10/docs/getting-help", to: "/2.10.x/community/getting-help" }, + { + from: "/v2.10/docs/getting-started", + to: "/2.10.x/docs/getting-started/getting-started/index.mdx", + }, + { + from: "/v2.10/docs/gitignore", + to: "/2.10.x/docs/getting-started/getting-started/updating-.gitignore.mdx", + }, + { from: "/v2.10/docs/go", to: "/2.10.x/docs/go/overview.mdx" }, + { + from: "/v2.10/docs/goals", + to: "/2.10.x/docs/using-pants/key-concepts/goals.mdx", + }, + { + from: "/v2.10/docs/google-cloud-function-python", + to: "/2.10.x/docs/python/integrations/google-cloud-functions.mdx", + }, + { + from: "/v2.10/docs/how-does-pants-work", + to: "/2.10.x/docs/introduction/how-does-pants-work.mdx", + }, + { + from: "/v2.10/docs/initial-configuration", + to: "/2.10.x/docs/getting-started/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.10/docs/installation", + to: "/2.10.x/docs/getting-started/getting-started/installing-pants.mdx", + }, + { + from: "/v2.10/docs/integrations", + to: "/2.10.x/docs/python/integrations/index.mdx", + }, + { + from: "/v2.10/docs/internal-rules-architecture", + to: "/2.10.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.10/docs/jupyter", + to: "/2.10.x/docs/python/integrations/jupyter.mdx", + }, + { + from: "/v2.10/docs/jvm-overview", + to: "/2.10.x/docs/java-and-scala/overview.mdx", + }, + { from: "/v2.10/docs/jvm", to: "/2.10.x/docs/java-and-scala/index.mdx" }, + { + from: "/v2.10/docs/language-support", + to: "/2.10.x/spotlight/language-support", + }, + { from: "/v2.10/docs/macros", to: "/2.10.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.10/docs/maintainers", to: "/2.10.x/community/maintainers" }, + { from: "/v2.10/docs/media", to: "/2.10.x/spotlight/media" }, + { from: "/v2.10/docs/news-room", to: "/2.10.x/spotlight/media" }, + { + from: "/v2.10/docs/options", + to: "/2.10.x/docs/using-pants/key-concepts/options.mdx", + }, + { + from: "/v2.10/docs/pex-files", + to: "/2.10.x/docs/python/overview/pex-files.mdx", + }, + { + from: "/v2.10/docs/plugin-upgrade-guide", + to: "/2.10.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.10/docs/plugins-codegen", + to: "/2.10.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.10/docs/plugins-fmt-goal", + to: "/2.10.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.10/docs/plugins-lint-goal", + to: "/2.10.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.10/docs/plugins-overview", + to: "/2.10.x/docs/writing-plugins/overview.mdx", + }, + { + from: "/v2.10/docs/plugins-repl-goal", + to: "/2.10.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.10/docs/plugins-setup-py", + to: "/2.10.x/docs/writing-plugins/common-plugin-tasks/custom-setup-py-kwargs.mdx", + }, + { + from: "/v2.10/docs/plugins-typecheck-goal", + to: "/2.10.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.10/docs/prerequisites", + to: "/2.10.x/docs/getting-started/getting-started/prerequisites.mdx", + }, + { + from: "/v2.10/docs/project-introspection", + to: "/2.10.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.10/docs/protobuf-python", + to: "/2.10.x/docs/python/integrations/protobuf-and-grpc.mdx", + }, + { + from: "/v2.10/docs/pyoxidizer", + to: "/2.10.x/docs/python/integrations/pyoxidizer.mdx", + }, + { + from: "/v2.10/docs/python-backend", + to: "/2.10.x/docs/python/overview/enabling-python-support.mdx", + }, + { + from: "/v2.10/docs/python-check-goal", + to: "/2.10.x/docs/python/goals/check.mdx", + }, + { + from: "/v2.10/docs/python-distributions", + to: "/2.10.x/docs/python/overview/building-distributions.mdx", + }, + { + from: "/v2.10/docs/python-fmt-goal", + to: "/2.10.x/docs/python/goals/fmt.mdx", + }, + { + from: "/v2.10/docs/python-goals", + to: "/2.10.x/docs/python/goals/index.mdx", + }, + { + from: "/v2.10/docs/python-interpreter-compatibility", + to: "/2.10.x/docs/python/overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.10/docs/python-lint-goal", + to: "/2.10.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.10/docs/python-linters-and-formatters", + to: "/2.10.x/docs/python/overview/linters-and-formatters.mdx", + }, + { + from: "/v2.10/docs/python-package-goal", + to: "/2.10.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.10/docs/python-publish-goal", + to: "/2.10.x/docs/python/goals/publish.mdx", + }, + { + from: "/v2.10/docs/python-repl-goal", + to: "/2.10.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.10/docs/python-run-goal", + to: "/2.10.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.10/docs/python-test-goal", + to: "/2.10.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.10/docs/python-third-party-dependencies", + to: "/2.10.x/docs/python/overview/third-party-dependencies.mdx", + }, + { from: "/v2.10/docs/python", to: "/2.10.x/docs/python/overview/index.mdx" }, + { from: "/v2.10/docs/reference-all-goals", to: "/2.10.x/reference/goals" }, + { + from: "/v2.10/docs/reference-all-subsystems", + to: "/2.10.x/reference/subsystems", + }, + { + from: "/v2.10/docs/reference-all-targets", + to: "/2.10.x/reference/targets", + }, + { + from: "/v2.10/docs/reference-anonymous-telemetry", + to: "/2.10.x/reference/subsystems/anonymous-telemetry.mdx", + }, + { + from: "/v2.10/docs/reference-apache-thrift", + to: "/2.10.x/reference/subsystems/apache-thrift.mdx", + }, + { + from: "/v2.10/docs/reference-archive", + to: "/2.10.x/reference/targets/archive.mdx", + }, + { + from: "/v2.10/docs/reference-autoflake", + to: "/2.10.x/reference/subsystems/autoflake.mdx", + }, + { + from: "/v2.10/docs/reference-bandit", + to: "/2.10.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.10/docs/reference-black", + to: "/2.10.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.10/docs/reference-changed", + to: "/2.10.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.10/docs/reference-check", + to: "/2.10.x/reference/goals/check.mdx", + }, + { + from: "/v2.10/docs/reference-cli", + to: "/2.10.x/reference/subsystems/cli.mdx", + }, + { + from: "/v2.10/docs/reference-count-loc", + to: "/2.10.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.10/docs/reference-coursier", + to: "/2.10.x/reference/subsystems/coursier.mdx", + }, + { + from: "/v2.10/docs/reference-coverage-py", + to: "/2.10.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.10/docs/reference-dependees", + to: "/2.10.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.10/docs/reference-dependencies", + to: "/2.10.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.10/docs/reference-deploy_jar", + to: "/2.10.x/reference/targets/deploy_jar.mdx", + }, + { + from: "/v2.10/docs/reference-docformatter", + to: "/2.10.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.10/docs/reference-docker_image", + to: "/2.10.x/reference/targets/docker_image.mdx", + }, + { + from: "/v2.10/docs/reference-docker", + to: "/2.10.x/reference/subsystems/docker.mdx", + }, + { + from: "/v2.10/docs/reference-dockerfile-parser", + to: "/2.10.x/reference/subsystems/dockerfile-parser.mdx", + }, + { + from: "/v2.10/docs/reference-download-pex-bin", + to: "/2.10.x/reference/subsystems/download-pex-bin.mdx", + }, + { + from: "/v2.10/docs/reference-experimental_run_shell_command", + to: "/2.10.x/reference/targets/experimental_run_shell_command.mdx", + }, + { + from: "/v2.10/docs/reference-experimental_shell_command", + to: "/2.10.x/reference/targets/experimental_shell_command.mdx", + }, + { + from: "/v2.10/docs/reference-experimental-bsp", + to: "/2.10.x/reference/goals/experimental-bsp.mdx", + }, + { + from: "/v2.10/docs/reference-export-codegen", + to: "/2.10.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.10/docs/reference-export", + to: "/2.10.x/reference/goals/export.mdx", + }, + { + from: "/v2.10/docs/reference-file", + to: "/2.10.x/reference/targets/file.mdx", + }, + { + from: "/v2.10/docs/reference-filedeps", + to: "/2.10.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.10/docs/reference-files", + to: "/2.10.x/reference/targets/files.mdx", + }, + { + from: "/v2.10/docs/reference-filter", + to: "/2.10.x/reference/goals/filter.mdx", + }, + { + from: "/v2.10/docs/reference-flake8", + to: "/2.10.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.10/docs/reference-fmt", to: "/2.10.x/reference/goals/fmt.mdx" }, + { + from: "/v2.10/docs/reference-generate-lockfiles", + to: "/2.10.x/reference/goals/generate-lockfiles.mdx", + }, + { + from: "/v2.10/docs/reference-generate-user-lockfile", + to: "/2.10.x/reference/goals/generate-user-lockfile.mdx", + }, + { + from: "/v2.10/docs/reference-global", + to: "/2.10.x/reference/global-options.mdx", + }, + { + from: "/v2.10/docs/reference-go_binary", + to: "/2.10.x/reference/targets/go_binary.mdx", + }, + { + from: "/v2.10/docs/reference-go_mod", + to: "/2.10.x/reference/targets/go_mod.mdx", + }, + { + from: "/v2.10/docs/reference-go_package", + to: "/2.10.x/reference/targets/go_package.mdx", + }, + { + from: "/v2.10/docs/reference-go_third_party_package", + to: "/2.10.x/reference/targets/go_third_party_package.mdx", + }, + { + from: "/v2.10/docs/reference-go-test", + to: "/2.10.x/reference/subsystems/go-test.mdx", + }, + { + from: "/v2.10/docs/reference-gofmt", + to: "/2.10.x/reference/subsystems/gofmt.mdx", + }, + { + from: "/v2.10/docs/reference-golang", + to: "/2.10.x/reference/subsystems/golang.mdx", + }, + { + from: "/v2.10/docs/reference-google-java-format", + to: "/2.10.x/reference/subsystems/google-java-format.mdx", + }, + { + from: "/v2.10/docs/reference-grpc-python-plugin", + to: "/2.10.x/reference/subsystems/grpc-python-plugin.mdx", + }, + { + from: "/v2.10/docs/reference-hadolint", + to: "/2.10.x/reference/subsystems/hadolint.mdx", + }, + { + from: "/v2.10/docs/reference-help-advanced", + to: "/2.10.x/reference/goals/help-advanced.mdx", + }, + { + from: "/v2.10/docs/reference-help-all", + to: "/2.10.x/reference/goals/help-all.mdx", + }, + { + from: "/v2.10/docs/reference-help", + to: "/2.10.x/reference/goals/help.mdx", + }, + { + from: "/v2.10/docs/reference-ipython", + to: "/2.10.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.10/docs/reference-isort", + to: "/2.10.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.10/docs/reference-java_source", + to: "/2.10.x/reference/targets/java_source.mdx", + }, + { + from: "/v2.10/docs/reference-java_sources", + to: "/2.10.x/reference/targets/java_sources.mdx", + }, + { + from: "/v2.10/docs/reference-java-infer", + to: "/2.10.x/reference/subsystems/java-infer.mdx", + }, + { + from: "/v2.10/docs/reference-javac", + to: "/2.10.x/reference/subsystems/javac.mdx", + }, + { + from: "/v2.10/docs/reference-junit_test", + to: "/2.10.x/reference/targets/junit_test.mdx", + }, + { + from: "/v2.10/docs/reference-junit_tests", + to: "/2.10.x/reference/targets/junit_tests.mdx", + }, + { + from: "/v2.10/docs/reference-junit", + to: "/2.10.x/reference/subsystems/junit.mdx", + }, + { + from: "/v2.10/docs/reference-jvm_artifact", + to: "/2.10.x/reference/targets/jvm_artifact.mdx", + }, + { + from: "/v2.10/docs/reference-jvm", + to: "/2.10.x/reference/subsystems/jvm.mdx", + }, + { + from: "/v2.10/docs/reference-lambdex", + to: "/2.10.x/reference/subsystems/lambdex.mdx", + }, + { + from: "/v2.10/docs/reference-lint", + to: "/2.10.x/reference/goals/lint.mdx", + }, + { + from: "/v2.10/docs/reference-list", + to: "/2.10.x/reference/goals/list.mdx", + }, + { + from: "/v2.10/docs/reference-mypy-protobuf", + to: "/2.10.x/reference/subsystems/mypy-protobuf.mdx", + }, + { + from: "/v2.10/docs/reference-mypy", + to: "/2.10.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.10/docs/reference-package", + to: "/2.10.x/reference/goals/package.mdx", + }, + { + from: "/v2.10/docs/reference-pants_requirements", + to: "/2.10.x/reference/targets/pants_requirements.mdx", + }, + { + from: "/v2.10/docs/reference-paths", + to: "/2.10.x/reference/goals/paths.mdx", + }, + { + from: "/v2.10/docs/reference-peek", + to: "/2.10.x/reference/goals/peek.mdx", + }, + { + from: "/v2.10/docs/reference-pex_binaries", + to: "/2.10.x/reference/targets/pex_binaries.mdx", + }, + { + from: "/v2.10/docs/reference-pex_binary", + to: "/2.10.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.10/docs/reference-pex-binary-defaults", + to: "/2.10.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.10/docs/reference-pex-cli", + to: "/2.10.x/reference/subsystems/pex-cli.mdx", + }, + { + from: "/v2.10/docs/reference-pex", + to: "/2.10.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.10/docs/reference-pipenv_requirements", + to: "/2.10.x/reference/targets/pipenv_requirements.mdx", + }, + { + from: "/v2.10/docs/reference-poetry_requirements", + to: "/2.10.x/reference/targets/poetry_requirements.mdx", + }, + { + from: "/v2.10/docs/reference-poetry", + to: "/2.10.x/reference/subsystems/poetry.mdx", + }, + { + from: "/v2.10/docs/reference-protobuf_source", + to: "/2.10.x/reference/targets/protobuf_source.mdx", + }, + { + from: "/v2.10/docs/reference-protobuf_sources", + to: "/2.10.x/reference/targets/protobuf_sources.mdx", + }, + { + from: "/v2.10/docs/reference-protoc", + to: "/2.10.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.10/docs/reference-publish", + to: "/2.10.x/reference/goals/publish.mdx", + }, + { + from: "/v2.10/docs/reference-py-constraints", + to: "/2.10.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.10/docs/reference-pylint", + to: "/2.10.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.10/docs/reference-pyoxidizer_binary", + to: "/2.10.x/reference/targets/pyoxidizer_binary.mdx", + }, + { + from: "/v2.10/docs/reference-pyoxidizer", + to: "/2.10.x/reference/subsystems/pyoxidizer.mdx", + }, + { + from: "/v2.10/docs/reference-pytest", + to: "/2.10.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.10/docs/reference-python_awslambda", + to: "/2.10.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.10/docs/reference-python_distribution", + to: "/2.10.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.10/docs/reference-python_google_cloud_function", + to: "/2.10.x/reference/targets/python_google_cloud_function.mdx", + }, + { + from: "/v2.10/docs/reference-python_requirement", + to: "/2.10.x/reference/targets/python_requirement.mdx", + }, + { + from: "/v2.10/docs/reference-python_requirements", + to: "/2.10.x/reference/targets/python_requirements.mdx", + }, + { + from: "/v2.10/docs/reference-python_source", + to: "/2.10.x/reference/targets/python_source.mdx", + }, + { + from: "/v2.10/docs/reference-python_sources", + to: "/2.10.x/reference/targets/python_sources.mdx", + }, + { + from: "/v2.10/docs/reference-python_test_utils", + to: "/2.10.x/reference/targets/python_test_utils.mdx", + }, + { + from: "/v2.10/docs/reference-python_test", + to: "/2.10.x/reference/targets/python_test.mdx", + }, + { + from: "/v2.10/docs/reference-python_tests", + to: "/2.10.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.10/docs/reference-python-bootstrap", + to: "/2.10.x/reference/subsystems/python-bootstrap.mdx", + }, + { + from: "/v2.10/docs/reference-python-infer", + to: "/2.10.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.10/docs/reference-python-native-code", + to: "/2.10.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.10/docs/reference-python-protobuf", + to: "/2.10.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.10/docs/reference-python-repos", + to: "/2.10.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.10/docs/reference-python-thrift", + to: "/2.10.x/reference/subsystems/python-thrift.mdx", + }, + { + from: "/v2.10/docs/reference-python", + to: "/2.10.x/reference/subsystems/python.mdx", + }, + { + from: "/v2.10/docs/reference-pyupgrade", + to: "/2.10.x/reference/subsystems/pyupgrade.mdx", + }, + { + from: "/v2.10/docs/reference-regex-lint", + to: "/2.10.x/reference/subsystems/regex-lint.mdx", + }, + { + from: "/v2.10/docs/reference-relocated_files", + to: "/2.10.x/reference/targets/relocated_files.mdx", + }, + { + from: "/v2.10/docs/reference-repl", + to: "/2.10.x/reference/goals/repl.mdx", + }, + { + from: "/v2.10/docs/reference-resource", + to: "/2.10.x/reference/targets/resource.mdx", + }, + { + from: "/v2.10/docs/reference-resources", + to: "/2.10.x/reference/targets/resources.mdx", + }, + { + from: "/v2.10/docs/reference-roots", + to: "/2.10.x/reference/goals/roots.mdx", + }, + { from: "/v2.10/docs/reference-run", to: "/2.10.x/reference/goals/run.mdx" }, + { + from: "/v2.10/docs/reference-scala_junit_test", + to: "/2.10.x/reference/targets/scala_junit_test.mdx", + }, + { + from: "/v2.10/docs/reference-scala_junit_tests", + to: "/2.10.x/reference/targets/scala_junit_tests.mdx", + }, + { + from: "/v2.10/docs/reference-scala_source", + to: "/2.10.x/reference/targets/scala_source.mdx", + }, + { + from: "/v2.10/docs/reference-scala_sources", + to: "/2.10.x/reference/targets/scala_sources.mdx", + }, + { + from: "/v2.10/docs/reference-scala-infer", + to: "/2.10.x/reference/subsystems/scala-infer.mdx", + }, + { + from: "/v2.10/docs/reference-scala", + to: "/2.10.x/reference/subsystems/scala.mdx", + }, + { + from: "/v2.10/docs/reference-scalac_plugin", + to: "/2.10.x/reference/targets/scalac_plugin.mdx", + }, + { + from: "/v2.10/docs/reference-scalac", + to: "/2.10.x/reference/subsystems/scalac.mdx", + }, + { + from: "/v2.10/docs/reference-scalafmt", + to: "/2.10.x/reference/subsystems/scalafmt.mdx", + }, + { + from: "/v2.10/docs/reference-scalatest_test", + to: "/2.10.x/reference/targets/scalatest_test.mdx", + }, + { + from: "/v2.10/docs/reference-scalatest_tests", + to: "/2.10.x/reference/targets/scalatest_tests.mdx", + }, + { + from: "/v2.10/docs/reference-scalatest", + to: "/2.10.x/reference/subsystems/scalatest.mdx", + }, + { + from: "/v2.10/docs/reference-scc", + to: "/2.10.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.10/docs/reference-setup-py-generation", + to: "/2.10.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.10/docs/reference-setuptools", + to: "/2.10.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.10/docs/reference-shell_source", + to: "/2.10.x/reference/targets/shell_source.mdx", + }, + { + from: "/v2.10/docs/reference-shell_sources", + to: "/2.10.x/reference/targets/shell_sources.mdx", + }, + { + from: "/v2.10/docs/reference-shell-setup", + to: "/2.10.x/reference/subsystems/shell-setup.mdx", + }, + { + from: "/v2.10/docs/reference-shellcheck", + to: "/2.10.x/reference/subsystems/shellcheck.mdx", + }, + { + from: "/v2.10/docs/reference-shfmt", + to: "/2.10.x/reference/subsystems/shfmt.mdx", + }, + { + from: "/v2.10/docs/reference-shunit2_test", + to: "/2.10.x/reference/targets/shunit2_test.mdx", + }, + { + from: "/v2.10/docs/reference-shunit2_tests", + to: "/2.10.x/reference/targets/shunit2_tests.mdx", + }, + { + from: "/v2.10/docs/reference-source", + to: "/2.10.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.10/docs/reference-sourcefile-validation", + to: "/2.10.x/reference/subsystems/sourcefile-validation.mdx", + }, + { + from: "/v2.10/docs/reference-stats", + to: "/2.10.x/reference/subsystems/stats.mdx", + }, + { + from: "/v2.10/docs/reference-subprocess-environment", + to: "/2.10.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.10/docs/reference-tailor", + to: "/2.10.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.10/docs/reference-target", + to: "/2.10.x/reference/targets/target.mdx", + }, + { + from: "/v2.10/docs/reference-test", + to: "/2.10.x/reference/goals/test.mdx", + }, + { + from: "/v2.10/docs/reference-thrift_source", + to: "/2.10.x/reference/targets/thrift_source.mdx", + }, + { + from: "/v2.10/docs/reference-thrift_sources", + to: "/2.10.x/reference/targets/thrift_sources.mdx", + }, + { + from: "/v2.10/docs/reference-thrift", + to: "/2.10.x/reference/subsystems/thrift.mdx", + }, + { + from: "/v2.10/docs/reference-twine", + to: "/2.10.x/reference/subsystems/twine.mdx", + }, + { + from: "/v2.10/docs/reference-update-build-files", + to: "/2.10.x/reference/goals/update-build-files.mdx", + }, + { + from: "/v2.10/docs/reference-validate", + to: "/2.10.x/reference/goals/validate.mdx", + }, + { + from: "/v2.10/docs/reference-version", + to: "/2.10.x/reference/goals/version.mdx", + }, + { + from: "/v2.10/docs/reference-yapf", + to: "/2.10.x/reference/subsystems/yapf.mdx", + }, + { from: "/v2.10/docs/reference", to: "/2.10.x/reference/index.mdx" }, + { from: "/v2.10/docs/release-notes", to: "/2.10.x/docs/releases/index.mdx" }, + { + from: "/v2.10/docs/release-process", + to: "/2.10.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.10/docs/release-strategy", + to: "/2.10.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.10/docs/releases", + to: "/2.10.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.10/docs/remote-caching-execution", + to: "/2.10.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.10/docs/remote-caching", + to: "/2.10.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.10/docs/remote-execution", + to: "/2.10.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.10/docs/restricted-internet-access", + to: "/2.10.x/docs/using-pants/restricted-internet-access.mdx", + }, + { + from: "/v2.10/docs/rules-api-and-target-api", + to: "/2.10.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.10/docs/rules-api-concepts", + to: "/2.10.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.10/docs/rules-api-file-system", + to: "/2.10.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.10/docs/rules-api-goal-rules", + to: "/2.10.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.10/docs/rules-api-installing-tools", + to: "/2.10.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.10/docs/rules-api-logging", + to: "/2.10.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.10/docs/rules-api-process", + to: "/2.10.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.10/docs/rules-api-subsystems", + to: "/2.10.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.10/docs/rules-api-testing", + to: "/2.10.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.10/docs/rules-api-tips", + to: "/2.10.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.10/docs/rules-api-unions", + to: "/2.10.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.10/docs/rules-api", + to: "/2.10.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.10/docs/run-shell-commands", + to: "/2.10.x/docs/shell/run-shell-commands.mdx", + }, + { + from: "/v2.10/docs/running-pants-from-sources", + to: "/2.10.x/docs/contributions/development/running-pants-from-sources.mdx", + }, + { + from: "/v2.10/docs/setting-up-an-ide", + to: "/2.10.x/docs/using-pants/setting-up-an-ide.mdx", + }, + { from: "/v2.10/docs/shell", to: "/2.10.x/docs/shell/overview.mdx" }, + { + from: "/v2.10/docs/source-roots", + to: "/2.10.x/docs/using-pants/key-concepts/source-roots.mdx", + }, + { + from: "/v2.10/docs/style-guide", + to: "/2.10.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.10/docs/tagging-docker-images", + to: "/2.10.x/docs/docker/tagging-docker-images.mdx", + }, + { + from: "/v2.10/docs/target-api-concepts", + to: "/2.10.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.10/docs/target-api-extending-targets", + to: "/2.10.x/docs/writing-plugins/the-target-api/extending-existing-targets.mdx", + }, + { + from: "/v2.10/docs/target-api-new-fields", + to: "/2.10.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.10/docs/target-api-new-targets", + to: "/2.10.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.10/docs/target-api", + to: "/2.10.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.10/docs/targets", + to: "/2.10.x/docs/using-pants/key-concepts/targets-and-build-files.mdx", + }, + { from: "/v2.10/docs/team", to: "/2.10.x/community/meet-the-team" }, + { from: "/v2.10/docs/testimonials", to: "/2.10.x/spotlight/testimonials" }, + { from: "/v2.10/docs/the-pants-community", to: "/2.10.x/community/members" }, + { + from: "/v2.10/docs/thrift-python", + to: "/2.10.x/docs/python/integrations/thrift.mdx", + }, + { + from: "/v2.10/docs/troubleshooting", + to: "/2.10.x/docs/using-pants/troubleshooting-common-issues.mdx", + }, + { + from: "/v2.10/docs/upgrade-tips", + to: "/2.10.x/docs/releases/upgrade-tips.mdx", + }, + { + from: "/v2.10/docs/using-pants-in-ci", + to: "/2.10.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.10/docs/using-pants", to: "/2.10.x/docs/using-pants/index.mdx" }, + { + from: "/v2.10/docs/welcome-to-pants", + to: "/2.10.x/docs/introduction/welcome-to-pants.mdx", + }, + { from: "/v2.10/docs/who-uses-pants", to: "/2.10.x/spotlight/users" }, + { + from: "/v2.10/docs/writing-plugins", + to: "/2.10.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.11/docs/advanced-target-selection", + to: "/2.11.x/docs/using-pants/advanced-target-selection.mdx", + }, + { + from: "/v2.11/docs/anonymous-telemetry", + to: "/2.11.x/docs/using-pants/anonymous-telemetry.mdx", + }, + { + from: "/v2.11/docs/assets", + to: "/2.11.x/docs/using-pants/assets-and-archives.mdx", + }, + { + from: "/v2.11/docs/awslambda-python", + to: "/2.11.x/docs/python/integrations/aws-lambda.mdx", + }, + { from: "/v2.11/docs/changelog", to: "/2.11.x/versions" }, + { + from: "/v2.11/docs/code-of-conduct", + to: "/2.11.x/community/code-of-conduct", + }, + { + from: "/v2.11/docs/command-line-help", + to: "/2.11.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.11/docs/common-plugin-tasks", + to: "/2.11.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.11/docs/community", to: "/2.11.x/community/members" }, + { + from: "/v2.11/docs/concepts", + to: "/2.11.x/docs/using-pants/key-concepts/index.mdx", + }, + { + from: "/v2.11/docs/contentious-decisions", + to: "/2.11.x/community/contentious-decisions", + }, + { + from: "/v2.11/docs/contributing-to-pants", + to: "/2.11.x/docs/contributions/index.mdx", + }, + { + from: "/v2.11/docs/contributions-debugging", + to: "/2.11.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.11/docs/contributions-rust", + to: "/2.11.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.11/docs/contributor-overview", + to: "/2.11.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.11/docs/contributor-setup", + to: "/2.11.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.11/docs/deprecation-policy", + to: "/2.11.x/docs/releases/deprecation-policy.mdx", + }, + { + from: "/v2.11/docs/development", + to: "/2.11.x/docs/contributions/development/index.mdx", + }, + { from: "/v2.11/docs/docker", to: "/2.11.x/docs/docker/docker-overview.mdx" }, + { + from: "/v2.11/docs/documentation", + to: "/2.11.x/docs/introduction/index.mdx", + }, + { + from: "/v2.11/docs/enabling-backends", + to: "/2.11.x/docs/using-pants/key-concepts/backends.mdx", + }, + { + from: "/v2.11/docs/example-repos", + to: "/2.11.x/docs/getting-started/getting-started/example-projects-and-repositories.mdx", + }, + { + from: "/v2.11/docs/existing-repositories", + to: "/2.11.x/docs/getting-started/getting-started/incremental-adoption.mdx", + }, + { from: "/v2.11/docs/getting-help", to: "/2.11.x/community/getting-help" }, + { + from: "/v2.11/docs/getting-started", + to: "/2.11.x/docs/getting-started/getting-started/index.mdx", + }, + { + from: "/v2.11/docs/go-integrations", + to: "/2.11.x/docs/go/integrations/index.mdx", + }, + { from: "/v2.11/docs/go", to: "/2.11.x/docs/go/go-overview.mdx" }, + { + from: "/v2.11/docs/goals", + to: "/2.11.x/docs/using-pants/key-concepts/goals.mdx", + }, + { + from: "/v2.11/docs/google-cloud-function-python", + to: "/2.11.x/docs/python/integrations/google-cloud-functions.mdx", + }, + { + from: "/v2.11/docs/how-does-pants-work", + to: "/2.11.x/docs/introduction/how-does-pants-work.mdx", + }, + { + from: "/v2.11/docs/initial-configuration", + to: "/2.11.x/docs/getting-started/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.11/docs/installation", + to: "/2.11.x/docs/getting-started/getting-started/installing-pants.mdx", + }, + { + from: "/v2.11/docs/internal-rules-architecture", + to: "/2.11.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.11/docs/jupyter", + to: "/2.11.x/docs/python/integrations/jupyter.mdx", + }, + { + from: "/v2.11/docs/jvm-overview", + to: "/2.11.x/docs/java-and-scala/java-and-scala-overview.mdx", + }, + { from: "/v2.11/docs/jvm", to: "/2.11.x/docs/java-and-scala/index.mdx" }, + { + from: "/v2.11/docs/language-support", + to: "/2.11.x/spotlight/language-support", + }, + { from: "/v2.11/docs/macros", to: "/2.11.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.11/docs/maintainers", to: "/2.11.x/community/maintainers" }, + { from: "/v2.11/docs/media", to: "/2.11.x/spotlight/media" }, + { from: "/v2.11/docs/news-room", to: "/2.11.x/spotlight/media" }, + { + from: "/v2.11/docs/options", + to: "/2.11.x/docs/using-pants/key-concepts/options.mdx", + }, + { + from: "/v2.11/docs/pex-files", + to: "/2.11.x/docs/python/python-overview/pex-files.mdx", + }, + { + from: "/v2.11/docs/plugin-upgrade-guide", + to: "/2.11.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.11/docs/plugins-codegen", + to: "/2.11.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.11/docs/plugins-fmt-goal", + to: "/2.11.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.11/docs/plugins-lint-goal", + to: "/2.11.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.11/docs/plugins-overview", + to: "/2.11.x/docs/writing-plugins/plugins-overview.mdx", + }, + { + from: "/v2.11/docs/plugins-repl-goal", + to: "/2.11.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.11/docs/plugins-setup-py", + to: "/2.11.x/docs/writing-plugins/common-plugin-tasks/custom-python-artifact-kwargs.mdx", + }, + { + from: "/v2.11/docs/plugins-typecheck-goal", + to: "/2.11.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.11/docs/prerequisites", + to: "/2.11.x/docs/getting-started/getting-started/prerequisites.mdx", + }, + { + from: "/v2.11/docs/project-introspection", + to: "/2.11.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.11/docs/protobuf-go", + to: "/2.11.x/docs/go/integrations/protobuf.mdx", + }, + { + from: "/v2.11/docs/protobuf-python", + to: "/2.11.x/docs/python/integrations/protobuf-and-grpc.mdx", + }, + { + from: "/v2.11/docs/pyoxidizer", + to: "/2.11.x/docs/python/integrations/pyoxidizer.mdx", + }, + { + from: "/v2.11/docs/python-backend", + to: "/2.11.x/docs/python/python-overview/enabling-python-support.mdx", + }, + { + from: "/v2.11/docs/python-check-goal", + to: "/2.11.x/docs/python/goals/check.mdx", + }, + { + from: "/v2.11/docs/python-distributions", + to: "/2.11.x/docs/python/python-overview/building-distributions.mdx", + }, + { + from: "/v2.11/docs/python-fmt-goal", + to: "/2.11.x/docs/python/goals/fmt.mdx", + }, + { + from: "/v2.11/docs/python-goals", + to: "/2.11.x/docs/python/goals/index.mdx", + }, + { + from: "/v2.11/docs/python-integrations", + to: "/2.11.x/docs/python/integrations/index.mdx", + }, + { + from: "/v2.11/docs/python-interpreter-compatibility", + to: "/2.11.x/docs/python/python-overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.11/docs/python-lint-goal", + to: "/2.11.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.11/docs/python-linters-and-formatters", + to: "/2.11.x/docs/python/python-overview/linters-and-formatters.mdx", + }, + { + from: "/v2.11/docs/python-package-goal", + to: "/2.11.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.11/docs/python-publish-goal", + to: "/2.11.x/docs/python/goals/publish.mdx", + }, + { + from: "/v2.11/docs/python-repl-goal", + to: "/2.11.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.11/docs/python-run-goal", + to: "/2.11.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.11/docs/python-test-goal", + to: "/2.11.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.11/docs/python-third-party-dependencies", + to: "/2.11.x/docs/python/python-overview/third-party-dependencies.mdx", + }, + { + from: "/v2.11/docs/python", + to: "/2.11.x/docs/python/python-overview/index.mdx", + }, + { from: "/v2.11/docs/reference-all-goals", to: "/2.11.x/reference/goals" }, + { + from: "/v2.11/docs/reference-all-subsystems", + to: "/2.11.x/reference/subsystems", + }, + { + from: "/v2.11/docs/reference-all-targets", + to: "/2.11.x/reference/targets", + }, + { + from: "/v2.11/docs/reference-anonymous-telemetry", + to: "/2.11.x/reference/subsystems/anonymous-telemetry.mdx", + }, + { + from: "/v2.11/docs/reference-apache-thrift", + to: "/2.11.x/reference/subsystems/apache-thrift.mdx", + }, + { + from: "/v2.11/docs/reference-archive", + to: "/2.11.x/reference/targets/archive.mdx", + }, + { + from: "/v2.11/docs/reference-autoflake", + to: "/2.11.x/reference/subsystems/autoflake.mdx", + }, + { + from: "/v2.11/docs/reference-bandit", + to: "/2.11.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.11/docs/reference-black", + to: "/2.11.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.11/docs/reference-buf", + to: "/2.11.x/reference/subsystems/buf.mdx", + }, + { + from: "/v2.11/docs/reference-changed", + to: "/2.11.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.11/docs/reference-check", + to: "/2.11.x/reference/goals/check.mdx", + }, + { + from: "/v2.11/docs/reference-cli", + to: "/2.11.x/reference/subsystems/cli.mdx", + }, + { + from: "/v2.11/docs/reference-count-loc", + to: "/2.11.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.11/docs/reference-coursier", + to: "/2.11.x/reference/subsystems/coursier.mdx", + }, + { + from: "/v2.11/docs/reference-coverage-py", + to: "/2.11.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.11/docs/reference-dependees", + to: "/2.11.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.11/docs/reference-dependencies", + to: "/2.11.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.11/docs/reference-deploy_jar", + to: "/2.11.x/reference/targets/deploy_jar.mdx", + }, + { + from: "/v2.11/docs/reference-docformatter", + to: "/2.11.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.11/docs/reference-docker_image", + to: "/2.11.x/reference/targets/docker_image.mdx", + }, + { + from: "/v2.11/docs/reference-docker", + to: "/2.11.x/reference/subsystems/docker.mdx", + }, + { + from: "/v2.11/docs/reference-dockerfile-parser", + to: "/2.11.x/reference/subsystems/dockerfile-parser.mdx", + }, + { + from: "/v2.11/docs/reference-download-terraform", + to: "/2.11.x/reference/subsystems/download-terraform.mdx", + }, + { + from: "/v2.11/docs/reference-experimental_run_shell_command", + to: "/2.11.x/reference/targets/experimental_run_shell_command.mdx", + }, + { + from: "/v2.11/docs/reference-experimental_shell_command", + to: "/2.11.x/reference/targets/experimental_shell_command.mdx", + }, + { + from: "/v2.11/docs/reference-experimental-bsp", + to: "/2.11.x/reference/goals/experimental-bsp.mdx", + }, + { + from: "/v2.11/docs/reference-export-codegen", + to: "/2.11.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.11/docs/reference-export", + to: "/2.11.x/reference/goals/export.mdx", + }, + { + from: "/v2.11/docs/reference-file", + to: "/2.11.x/reference/targets/file.mdx", + }, + { + from: "/v2.11/docs/reference-filedeps", + to: "/2.11.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.11/docs/reference-files", + to: "/2.11.x/reference/targets/files.mdx", + }, + { + from: "/v2.11/docs/reference-filter", + to: "/2.11.x/reference/goals/filter.mdx", + }, + { + from: "/v2.11/docs/reference-flake8", + to: "/2.11.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.11/docs/reference-fmt", to: "/2.11.x/reference/goals/fmt.mdx" }, + { + from: "/v2.11/docs/reference-generate-lockfiles", + to: "/2.11.x/reference/goals/generate-lockfiles.mdx", + }, + { + from: "/v2.11/docs/reference-global", + to: "/2.11.x/reference/global-options.mdx", + }, + { + from: "/v2.11/docs/reference-go_binary", + to: "/2.11.x/reference/targets/go_binary.mdx", + }, + { + from: "/v2.11/docs/reference-go_mod", + to: "/2.11.x/reference/targets/go_mod.mdx", + }, + { + from: "/v2.11/docs/reference-go_package", + to: "/2.11.x/reference/targets/go_package.mdx", + }, + { + from: "/v2.11/docs/reference-go_third_party_package", + to: "/2.11.x/reference/targets/go_third_party_package.mdx", + }, + { + from: "/v2.11/docs/reference-go-test", + to: "/2.11.x/reference/subsystems/go-test.mdx", + }, + { + from: "/v2.11/docs/reference-gofmt", + to: "/2.11.x/reference/subsystems/gofmt.mdx", + }, + { + from: "/v2.11/docs/reference-golang", + to: "/2.11.x/reference/subsystems/golang.mdx", + }, + { + from: "/v2.11/docs/reference-google-java-format", + to: "/2.11.x/reference/subsystems/google-java-format.mdx", + }, + { + from: "/v2.11/docs/reference-grpc-python-plugin", + to: "/2.11.x/reference/subsystems/grpc-python-plugin.mdx", + }, + { + from: "/v2.11/docs/reference-hadolint", + to: "/2.11.x/reference/subsystems/hadolint.mdx", + }, + { + from: "/v2.11/docs/reference-helm_chart", + to: "/2.11.x/reference/targets/helm_chart.mdx", + }, + { + from: "/v2.11/docs/reference-helm", + to: "/2.11.x/reference/subsystems/helm.mdx", + }, + { + from: "/v2.11/docs/reference-help-advanced", + to: "/2.11.x/reference/goals/help-advanced.mdx", + }, + { + from: "/v2.11/docs/reference-help-all", + to: "/2.11.x/reference/goals/help-all.mdx", + }, + { + from: "/v2.11/docs/reference-help", + to: "/2.11.x/reference/goals/help.mdx", + }, + { + from: "/v2.11/docs/reference-ipython", + to: "/2.11.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.11/docs/reference-isort", + to: "/2.11.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.11/docs/reference-java_source", + to: "/2.11.x/reference/targets/java_source.mdx", + }, + { + from: "/v2.11/docs/reference-java_sources", + to: "/2.11.x/reference/targets/java_sources.mdx", + }, + { + from: "/v2.11/docs/reference-java-infer", + to: "/2.11.x/reference/subsystems/java-infer.mdx", + }, + { + from: "/v2.11/docs/reference-javac", + to: "/2.11.x/reference/subsystems/javac.mdx", + }, + { + from: "/v2.11/docs/reference-junit_test", + to: "/2.11.x/reference/targets/junit_test.mdx", + }, + { + from: "/v2.11/docs/reference-junit_tests", + to: "/2.11.x/reference/targets/junit_tests.mdx", + }, + { + from: "/v2.11/docs/reference-junit", + to: "/2.11.x/reference/subsystems/junit.mdx", + }, + { + from: "/v2.11/docs/reference-jvm_artifact", + to: "/2.11.x/reference/targets/jvm_artifact.mdx", + }, + { + from: "/v2.11/docs/reference-jvm_war", + to: "/2.11.x/reference/targets/jvm_war.mdx", + }, + { + from: "/v2.11/docs/reference-jvm", + to: "/2.11.x/reference/subsystems/jvm.mdx", + }, + { + from: "/v2.11/docs/reference-lambdex", + to: "/2.11.x/reference/subsystems/lambdex.mdx", + }, + { + from: "/v2.11/docs/reference-lint", + to: "/2.11.x/reference/goals/lint.mdx", + }, + { + from: "/v2.11/docs/reference-list", + to: "/2.11.x/reference/goals/list.mdx", + }, + { + from: "/v2.11/docs/reference-mypy-protobuf", + to: "/2.11.x/reference/subsystems/mypy-protobuf.mdx", + }, + { + from: "/v2.11/docs/reference-mypy", + to: "/2.11.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.11/docs/reference-package", + to: "/2.11.x/reference/goals/package.mdx", + }, + { + from: "/v2.11/docs/reference-pants_requirements", + to: "/2.11.x/reference/targets/pants_requirements.mdx", + }, + { + from: "/v2.11/docs/reference-paths", + to: "/2.11.x/reference/goals/paths.mdx", + }, + { + from: "/v2.11/docs/reference-peek", + to: "/2.11.x/reference/goals/peek.mdx", + }, + { + from: "/v2.11/docs/reference-pex_binaries", + to: "/2.11.x/reference/targets/pex_binaries.mdx", + }, + { + from: "/v2.11/docs/reference-pex_binary", + to: "/2.11.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.11/docs/reference-pex-binary-defaults", + to: "/2.11.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.11/docs/reference-pex-cli", + to: "/2.11.x/reference/subsystems/pex-cli.mdx", + }, + { + from: "/v2.11/docs/reference-pex", + to: "/2.11.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.11/docs/reference-pipenv_requirements", + to: "/2.11.x/reference/targets/pipenv_requirements.mdx", + }, + { + from: "/v2.11/docs/reference-poetry_requirements", + to: "/2.11.x/reference/targets/poetry_requirements.mdx", + }, + { + from: "/v2.11/docs/reference-poetry", + to: "/2.11.x/reference/subsystems/poetry.mdx", + }, + { + from: "/v2.11/docs/reference-protobuf_source", + to: "/2.11.x/reference/targets/protobuf_source.mdx", + }, + { + from: "/v2.11/docs/reference-protobuf_sources", + to: "/2.11.x/reference/targets/protobuf_sources.mdx", + }, + { + from: "/v2.11/docs/reference-protoc", + to: "/2.11.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.11/docs/reference-publish", + to: "/2.11.x/reference/goals/publish.mdx", + }, + { + from: "/v2.11/docs/reference-py-constraints", + to: "/2.11.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.11/docs/reference-pylint", + to: "/2.11.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.11/docs/reference-pyoxidizer_binary", + to: "/2.11.x/reference/targets/pyoxidizer_binary.mdx", + }, + { + from: "/v2.11/docs/reference-pyoxidizer", + to: "/2.11.x/reference/subsystems/pyoxidizer.mdx", + }, + { + from: "/v2.11/docs/reference-pytest", + to: "/2.11.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.11/docs/reference-python_awslambda", + to: "/2.11.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.11/docs/reference-python_distribution", + to: "/2.11.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.11/docs/reference-python_google_cloud_function", + to: "/2.11.x/reference/targets/python_google_cloud_function.mdx", + }, + { + from: "/v2.11/docs/reference-python_requirement", + to: "/2.11.x/reference/targets/python_requirement.mdx", + }, + { + from: "/v2.11/docs/reference-python_requirements", + to: "/2.11.x/reference/targets/python_requirements.mdx", + }, + { + from: "/v2.11/docs/reference-python_source", + to: "/2.11.x/reference/targets/python_source.mdx", + }, + { + from: "/v2.11/docs/reference-python_sources", + to: "/2.11.x/reference/targets/python_sources.mdx", + }, + { + from: "/v2.11/docs/reference-python_test_utils", + to: "/2.11.x/reference/targets/python_test_utils.mdx", + }, + { + from: "/v2.11/docs/reference-python_test", + to: "/2.11.x/reference/targets/python_test.mdx", + }, + { + from: "/v2.11/docs/reference-python_tests", + to: "/2.11.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.11/docs/reference-python-bootstrap", + to: "/2.11.x/reference/subsystems/python-bootstrap.mdx", + }, + { + from: "/v2.11/docs/reference-python-infer", + to: "/2.11.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.11/docs/reference-python-native-code", + to: "/2.11.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.11/docs/reference-python-protobuf", + to: "/2.11.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.11/docs/reference-python-repos", + to: "/2.11.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.11/docs/reference-python-thrift", + to: "/2.11.x/reference/subsystems/python-thrift.mdx", + }, + { + from: "/v2.11/docs/reference-python", + to: "/2.11.x/reference/subsystems/python.mdx", + }, + { + from: "/v2.11/docs/reference-pyupgrade", + to: "/2.11.x/reference/subsystems/pyupgrade.mdx", + }, + { + from: "/v2.11/docs/reference-regex-lint", + to: "/2.11.x/reference/subsystems/regex-lint.mdx", + }, + { + from: "/v2.11/docs/reference-relocated_files", + to: "/2.11.x/reference/targets/relocated_files.mdx", + }, + { + from: "/v2.11/docs/reference-repl", + to: "/2.11.x/reference/goals/repl.mdx", + }, + { + from: "/v2.11/docs/reference-resource", + to: "/2.11.x/reference/targets/resource.mdx", + }, + { + from: "/v2.11/docs/reference-resources", + to: "/2.11.x/reference/targets/resources.mdx", + }, + { + from: "/v2.11/docs/reference-roots", + to: "/2.11.x/reference/goals/roots.mdx", + }, + { from: "/v2.11/docs/reference-run", to: "/2.11.x/reference/goals/run.mdx" }, + { + from: "/v2.11/docs/reference-scala_junit_test", + to: "/2.11.x/reference/targets/scala_junit_test.mdx", + }, + { + from: "/v2.11/docs/reference-scala_junit_tests", + to: "/2.11.x/reference/targets/scala_junit_tests.mdx", + }, + { + from: "/v2.11/docs/reference-scala_source", + to: "/2.11.x/reference/targets/scala_source.mdx", + }, + { + from: "/v2.11/docs/reference-scala_sources", + to: "/2.11.x/reference/targets/scala_sources.mdx", + }, + { + from: "/v2.11/docs/reference-scala-infer", + to: "/2.11.x/reference/subsystems/scala-infer.mdx", + }, + { + from: "/v2.11/docs/reference-scala", + to: "/2.11.x/reference/subsystems/scala.mdx", + }, + { + from: "/v2.11/docs/reference-scalac_plugin", + to: "/2.11.x/reference/targets/scalac_plugin.mdx", + }, + { + from: "/v2.11/docs/reference-scalac", + to: "/2.11.x/reference/subsystems/scalac.mdx", + }, + { + from: "/v2.11/docs/reference-scalafmt", + to: "/2.11.x/reference/subsystems/scalafmt.mdx", + }, + { + from: "/v2.11/docs/reference-scalapb", + to: "/2.11.x/reference/subsystems/scalapb.mdx", + }, + { + from: "/v2.11/docs/reference-scalatest_test", + to: "/2.11.x/reference/targets/scalatest_test.mdx", + }, + { + from: "/v2.11/docs/reference-scalatest_tests", + to: "/2.11.x/reference/targets/scalatest_tests.mdx", + }, + { + from: "/v2.11/docs/reference-scalatest", + to: "/2.11.x/reference/subsystems/scalatest.mdx", + }, + { + from: "/v2.11/docs/reference-scc", + to: "/2.11.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.11/docs/reference-setup-py-generation", + to: "/2.11.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.11/docs/reference-setuptools", + to: "/2.11.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.11/docs/reference-shell_source", + to: "/2.11.x/reference/targets/shell_source.mdx", + }, + { + from: "/v2.11/docs/reference-shell_sources", + to: "/2.11.x/reference/targets/shell_sources.mdx", + }, + { + from: "/v2.11/docs/reference-shell-setup", + to: "/2.11.x/reference/subsystems/shell-setup.mdx", + }, + { + from: "/v2.11/docs/reference-shellcheck", + to: "/2.11.x/reference/subsystems/shellcheck.mdx", + }, + { + from: "/v2.11/docs/reference-shfmt", + to: "/2.11.x/reference/subsystems/shfmt.mdx", + }, + { + from: "/v2.11/docs/reference-shunit2_test", + to: "/2.11.x/reference/targets/shunit2_test.mdx", + }, + { + from: "/v2.11/docs/reference-shunit2_tests", + to: "/2.11.x/reference/targets/shunit2_tests.mdx", + }, + { + from: "/v2.11/docs/reference-source", + to: "/2.11.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.11/docs/reference-stats", + to: "/2.11.x/reference/subsystems/stats.mdx", + }, + { + from: "/v2.11/docs/reference-subprocess-environment", + to: "/2.11.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.11/docs/reference-tailor", + to: "/2.11.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.11/docs/reference-target", + to: "/2.11.x/reference/targets/target.mdx", + }, + { + from: "/v2.11/docs/reference-terraform_module", + to: "/2.11.x/reference/targets/terraform_module.mdx", + }, + { + from: "/v2.11/docs/reference-terraform-fmt", + to: "/2.11.x/reference/subsystems/terraform-fmt.mdx", + }, + { + from: "/v2.11/docs/reference-terraform-hcl2-parser", + to: "/2.11.x/reference/subsystems/terraform-hcl2-parser.mdx", + }, + { + from: "/v2.11/docs/reference-terraform-validate", + to: "/2.11.x/reference/subsystems/terraform-validate.mdx", + }, + { + from: "/v2.11/docs/reference-test", + to: "/2.11.x/reference/goals/test.mdx", + }, + { + from: "/v2.11/docs/reference-thrift_source", + to: "/2.11.x/reference/targets/thrift_source.mdx", + }, + { + from: "/v2.11/docs/reference-thrift_sources", + to: "/2.11.x/reference/targets/thrift_sources.mdx", + }, + { + from: "/v2.11/docs/reference-thrift", + to: "/2.11.x/reference/subsystems/thrift.mdx", + }, + { + from: "/v2.11/docs/reference-twine", + to: "/2.11.x/reference/subsystems/twine.mdx", + }, + { + from: "/v2.11/docs/reference-update-build-files", + to: "/2.11.x/reference/goals/update-build-files.mdx", + }, + { + from: "/v2.11/docs/reference-version", + to: "/2.11.x/reference/goals/version.mdx", + }, + { + from: "/v2.11/docs/reference-yapf", + to: "/2.11.x/reference/subsystems/yapf.mdx", + }, + { from: "/v2.11/docs/reference", to: "/2.11.x/reference/index.mdx" }, + { from: "/v2.11/docs/release-notes", to: "/2.11.x/docs/releases/index.mdx" }, + { + from: "/v2.11/docs/release-process", + to: "/2.11.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.11/docs/release-strategy", + to: "/2.11.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.11/docs/releases", + to: "/2.11.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.11/docs/remote-caching-execution", + to: "/2.11.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.11/docs/remote-caching", + to: "/2.11.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.11/docs/remote-execution", + to: "/2.11.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.11/docs/restricted-internet-access", + to: "/2.11.x/docs/using-pants/restricted-internet-access.mdx", + }, + { + from: "/v2.11/docs/rules-api-and-target-api", + to: "/2.11.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.11/docs/rules-api-concepts", + to: "/2.11.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.11/docs/rules-api-file-system", + to: "/2.11.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.11/docs/rules-api-goal-rules", + to: "/2.11.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.11/docs/rules-api-installing-tools", + to: "/2.11.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.11/docs/rules-api-logging", + to: "/2.11.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.11/docs/rules-api-process", + to: "/2.11.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.11/docs/rules-api-subsystems", + to: "/2.11.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.11/docs/rules-api-testing", + to: "/2.11.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.11/docs/rules-api-tips", + to: "/2.11.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.11/docs/rules-api-unions", + to: "/2.11.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.11/docs/rules-api", + to: "/2.11.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.11/docs/run-shell-commands", + to: "/2.11.x/docs/shell/run-shell-commands.mdx", + }, + { + from: "/v2.11/docs/running-pants-from-sources", + to: "/2.11.x/docs/contributions/development/running-pants-from-sources.mdx", + }, + { + from: "/v2.11/docs/setting-up-an-ide", + to: "/2.11.x/docs/using-pants/setting-up-an-ide.mdx", + }, + { from: "/v2.11/docs/shell", to: "/2.11.x/docs/shell/shell-overview.mdx" }, + { + from: "/v2.11/docs/source-roots", + to: "/2.11.x/docs/using-pants/key-concepts/source-roots.mdx", + }, + { + from: "/v2.11/docs/style-guide", + to: "/2.11.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.11/docs/tagging-docker-images", + to: "/2.11.x/docs/docker/tagging-docker-images.mdx", + }, + { + from: "/v2.11/docs/target-api-concepts", + to: "/2.11.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.11/docs/target-api-extending-targets", + to: "/2.11.x/docs/writing-plugins/the-target-api/extending-existing-targets.mdx", + }, + { + from: "/v2.11/docs/target-api-new-fields", + to: "/2.11.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.11/docs/target-api-new-targets", + to: "/2.11.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.11/docs/target-api", + to: "/2.11.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.11/docs/targets", + to: "/2.11.x/docs/using-pants/key-concepts/targets-and-build-files.mdx", + }, + { from: "/v2.11/docs/team", to: "/2.11.x/community/meet-the-team" }, + { from: "/v2.11/docs/testimonials", to: "/2.11.x/spotlight/testimonials" }, + { from: "/v2.11/docs/the-pants-community", to: "/2.11.x/community/members" }, + { + from: "/v2.11/docs/thrift-python", + to: "/2.11.x/docs/python/integrations/thrift.mdx", + }, + { + from: "/v2.11/docs/troubleshooting", + to: "/2.11.x/docs/using-pants/troubleshooting-common-issues.mdx", + }, + { + from: "/v2.11/docs/upgrade-tips", + to: "/2.11.x/docs/releases/upgrade-tips.mdx", + }, + { + from: "/v2.11/docs/using-pants-in-ci", + to: "/2.11.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.11/docs/using-pants", to: "/2.11.x/docs/using-pants/index.mdx" }, + { + from: "/v2.11/docs/welcome-to-pants", + to: "/2.11.x/docs/introduction/welcome-to-pants.mdx", + }, + { from: "/v2.11/docs/who-uses-pants", to: "/2.11.x/spotlight/users" }, + { + from: "/v2.11/docs/writing-plugins", + to: "/2.11.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.12/docs/advanced-target-selection", + to: "/2.12.x/docs/using-pants/advanced-target-selection.mdx", + }, + { + from: "/v2.12/docs/anonymous-telemetry", + to: "/2.12.x/docs/using-pants/anonymous-telemetry.mdx", + }, + { + from: "/v2.12/docs/assets", + to: "/2.12.x/docs/using-pants/assets-and-archives.mdx", + }, + { + from: "/v2.12/docs/awslambda-python", + to: "/2.12.x/docs/python/integrations/aws-lambda.mdx", + }, + { from: "/v2.12/docs/changelog", to: "/2.12.x/versions" }, + { + from: "/v2.12/docs/ci-for-macos-on-arm64", + to: "/2.12.x/docs/contributions/releases/github-actions-macos-arm64-runners.mdx", + }, + { + from: "/v2.12/docs/code-of-conduct", + to: "/2.12.x/community/code-of-conduct", + }, + { + from: "/v2.12/docs/command-line-help", + to: "/2.12.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.12/docs/common-plugin-tasks", + to: "/2.12.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.12/docs/community", to: "/2.12.x/community/members" }, + { + from: "/v2.12/docs/concepts", + to: "/2.12.x/docs/using-pants/key-concepts/index.mdx", + }, + { + from: "/v2.12/docs/contentious-decisions", + to: "/2.12.x/community/contentious-decisions", + }, + { + from: "/v2.12/docs/contributing-to-pants", + to: "/2.12.x/docs/contributions/index.mdx", + }, + { + from: "/v2.12/docs/contributions-debugging", + to: "/2.12.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.12/docs/contributions-rust", + to: "/2.12.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.12/docs/contributor-overview", + to: "/2.12.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.12/docs/contributor-setup", + to: "/2.12.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.12/docs/deprecation-policy", + to: "/2.12.x/docs/releases/deprecation-policy.mdx", + }, + { + from: "/v2.12/docs/development", + to: "/2.12.x/docs/contributions/development/index.mdx", + }, + { from: "/v2.12/docs/docker", to: "/2.12.x/docs/docker/docker-overview.mdx" }, + { + from: "/v2.12/docs/documentation", + to: "/2.12.x/docs/introduction/index.mdx", + }, + { + from: "/v2.12/docs/enabling-backends", + to: "/2.12.x/docs/using-pants/key-concepts/backends.mdx", + }, + { + from: "/v2.12/docs/example-repos", + to: "/2.12.x/docs/getting-started/getting-started/example-projects-and-repositories.mdx", + }, + { + from: "/v2.12/docs/existing-repositories", + to: "/2.12.x/docs/getting-started/getting-started/incremental-adoption.mdx", + }, + { from: "/v2.12/docs/getting-help", to: "/2.12.x/community/getting-help" }, + { + from: "/v2.12/docs/getting-started", + to: "/2.12.x/docs/getting-started/getting-started/index.mdx", + }, + { + from: "/v2.12/docs/go-integrations", + to: "/2.12.x/docs/go/integrations/index.mdx", + }, + { from: "/v2.12/docs/go", to: "/2.12.x/docs/go/go-overview.mdx" }, + { + from: "/v2.12/docs/goals", + to: "/2.12.x/docs/using-pants/key-concepts/goals.mdx", + }, + { + from: "/v2.12/docs/google-cloud-function-python", + to: "/2.12.x/docs/python/integrations/google-cloud-functions.mdx", + }, + { + from: "/v2.12/docs/helm-overview", + to: "/2.12.x/docs/helm/helm-overview.mdx", + }, + { from: "/v2.12/docs/helm", to: "/2.12.x/docs/helm/index.mdx" }, + { + from: "/v2.12/docs/how-does-pants-work", + to: "/2.12.x/docs/introduction/how-does-pants-work.mdx", + }, + { + from: "/v2.12/docs/initial-configuration", + to: "/2.12.x/docs/getting-started/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.12/docs/installation", + to: "/2.12.x/docs/getting-started/getting-started/installing-pants.mdx", + }, + { + from: "/v2.12/docs/internal-rules-architecture", + to: "/2.12.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.12/docs/jupyter", + to: "/2.12.x/docs/python/integrations/jupyter.mdx", + }, + { + from: "/v2.12/docs/jvm-overview", + to: "/2.12.x/docs/java-and-scala/java-and-scala-overview.mdx", + }, + { from: "/v2.12/docs/jvm", to: "/2.12.x/docs/java-and-scala/index.mdx" }, + { + from: "/v2.12/docs/language-support", + to: "/2.12.x/spotlight/language-support", + }, + { from: "/v2.12/docs/macros", to: "/2.12.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.12/docs/maintainers", to: "/2.12.x/community/maintainers" }, + { + from: "/v2.12/docs/manual-installation", + to: "/2.12.x/docs/getting-started/getting-started/manual-and-advanced-installation.mdx", + }, + { from: "/v2.12/docs/media", to: "/2.12.x/spotlight/media" }, + { from: "/v2.12/docs/news-room", to: "/2.12.x/spotlight/media" }, + { + from: "/v2.12/docs/options", + to: "/2.12.x/docs/using-pants/key-concepts/options.mdx", + }, + { + from: "/v2.12/docs/pex-files", + to: "/2.12.x/docs/python/python-overview/pex-files.mdx", + }, + { + from: "/v2.12/docs/plugin-upgrade-guide", + to: "/2.12.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.12/docs/plugins-codegen", + to: "/2.12.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.12/docs/plugins-fmt-goal", + to: "/2.12.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.12/docs/plugins-lint-goal", + to: "/2.12.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.12/docs/plugins-overview", + to: "/2.12.x/docs/writing-plugins/plugins-overview.mdx", + }, + { + from: "/v2.12/docs/plugins-repl-goal", + to: "/2.12.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.12/docs/plugins-setup-py", + to: "/2.12.x/docs/writing-plugins/common-plugin-tasks/custom-python-artifact-kwargs.mdx", + }, + { + from: "/v2.12/docs/plugins-typecheck-goal", + to: "/2.12.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.12/docs/prerequisites", + to: "/2.12.x/docs/getting-started/getting-started/prerequisites.mdx", + }, + { + from: "/v2.12/docs/project-introspection", + to: "/2.12.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.12/docs/protobuf-go", + to: "/2.12.x/docs/go/integrations/protobuf.mdx", + }, + { + from: "/v2.12/docs/protobuf-python", + to: "/2.12.x/docs/python/integrations/protobuf-and-grpc.mdx", + }, + { + from: "/v2.12/docs/pyoxidizer", + to: "/2.12.x/docs/python/integrations/pyoxidizer.mdx", + }, + { + from: "/v2.12/docs/python-backend", + to: "/2.12.x/docs/python/python-overview/enabling-python-support.mdx", + }, + { + from: "/v2.12/docs/python-check-goal", + to: "/2.12.x/docs/python/goals/check.mdx", + }, + { + from: "/v2.12/docs/python-distributions", + to: "/2.12.x/docs/python/python-overview/building-distributions.mdx", + }, + { + from: "/v2.12/docs/python-fmt-goal", + to: "/2.12.x/docs/python/goals/fmt.mdx", + }, + { + from: "/v2.12/docs/python-goals", + to: "/2.12.x/docs/python/goals/index.mdx", + }, + { + from: "/v2.12/docs/python-integrations", + to: "/2.12.x/docs/python/integrations/index.mdx", + }, + { + from: "/v2.12/docs/python-interpreter-compatibility", + to: "/2.12.x/docs/python/python-overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.12/docs/python-lint-goal", + to: "/2.12.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.12/docs/python-linters-and-formatters", + to: "/2.12.x/docs/python/python-overview/linters-and-formatters.mdx", + }, + { + from: "/v2.12/docs/python-package-goal", + to: "/2.12.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.12/docs/python-publish-goal", + to: "/2.12.x/docs/python/goals/publish.mdx", + }, + { + from: "/v2.12/docs/python-repl-goal", + to: "/2.12.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.12/docs/python-run-goal", + to: "/2.12.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.12/docs/python-test-goal", + to: "/2.12.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.12/docs/python-third-party-dependencies", + to: "/2.12.x/docs/python/python-overview/third-party-dependencies.mdx", + }, + { + from: "/v2.12/docs/python", + to: "/2.12.x/docs/python/python-overview/index.mdx", + }, + { from: "/v2.12/docs/reference-all-goals", to: "/2.12.x/reference/goals" }, + { + from: "/v2.12/docs/reference-all-subsystems", + to: "/2.12.x/reference/subsystems", + }, + { + from: "/v2.12/docs/reference-all-targets", + to: "/2.12.x/reference/targets", + }, + { + from: "/v2.12/docs/reference-anonymous-telemetry", + to: "/2.12.x/reference/subsystems/anonymous-telemetry.mdx", + }, + { + from: "/v2.12/docs/reference-apache-thrift", + to: "/2.12.x/reference/subsystems/apache-thrift.mdx", + }, + { + from: "/v2.12/docs/reference-archive", + to: "/2.12.x/reference/targets/archive.mdx", + }, + { + from: "/v2.12/docs/reference-autoflake", + to: "/2.12.x/reference/subsystems/autoflake.mdx", + }, + { + from: "/v2.12/docs/reference-bandit", + to: "/2.12.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.12/docs/reference-black", + to: "/2.12.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.12/docs/reference-buf", + to: "/2.12.x/reference/subsystems/buf.mdx", + }, + { + from: "/v2.12/docs/reference-changed", + to: "/2.12.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.12/docs/reference-check", + to: "/2.12.x/reference/goals/check.mdx", + }, + { + from: "/v2.12/docs/reference-cli", + to: "/2.12.x/reference/subsystems/cli.mdx", + }, + { + from: "/v2.12/docs/reference-count-loc", + to: "/2.12.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.12/docs/reference-coursier", + to: "/2.12.x/reference/subsystems/coursier.mdx", + }, + { + from: "/v2.12/docs/reference-coverage-py", + to: "/2.12.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.12/docs/reference-dependees", + to: "/2.12.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.12/docs/reference-dependencies", + to: "/2.12.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.12/docs/reference-deploy_jar", + to: "/2.12.x/reference/targets/deploy_jar.mdx", + }, + { + from: "/v2.12/docs/reference-docformatter", + to: "/2.12.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.12/docs/reference-docker_image", + to: "/2.12.x/reference/targets/docker_image.mdx", + }, + { + from: "/v2.12/docs/reference-docker", + to: "/2.12.x/reference/subsystems/docker.mdx", + }, + { + from: "/v2.12/docs/reference-dockerfile-parser", + to: "/2.12.x/reference/subsystems/dockerfile-parser.mdx", + }, + { + from: "/v2.12/docs/reference-download-terraform", + to: "/2.12.x/reference/subsystems/download-terraform.mdx", + }, + { + from: "/v2.12/docs/reference-experimental_run_shell_command", + to: "/2.12.x/reference/targets/experimental_run_shell_command.mdx", + }, + { + from: "/v2.12/docs/reference-experimental_shell_command", + to: "/2.12.x/reference/targets/experimental_shell_command.mdx", + }, + { + from: "/v2.12/docs/reference-experimental-bsp", + to: "/2.12.x/reference/goals/experimental-bsp.mdx", + }, + { + from: "/v2.12/docs/reference-export-codegen", + to: "/2.12.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.12/docs/reference-export", + to: "/2.12.x/reference/goals/export.mdx", + }, + { + from: "/v2.12/docs/reference-file", + to: "/2.12.x/reference/targets/file.mdx", + }, + { + from: "/v2.12/docs/reference-filedeps", + to: "/2.12.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.12/docs/reference-files", + to: "/2.12.x/reference/targets/files.mdx", + }, + { + from: "/v2.12/docs/reference-filter", + to: "/2.12.x/reference/goals/filter.mdx", + }, + { + from: "/v2.12/docs/reference-flake8", + to: "/2.12.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.12/docs/reference-fmt", to: "/2.12.x/reference/goals/fmt.mdx" }, + { + from: "/v2.12/docs/reference-generate-lockfiles", + to: "/2.12.x/reference/goals/generate-lockfiles.mdx", + }, + { + from: "/v2.12/docs/reference-global", + to: "/2.12.x/reference/global-options.mdx", + }, + { + from: "/v2.12/docs/reference-go_binary", + to: "/2.12.x/reference/targets/go_binary.mdx", + }, + { + from: "/v2.12/docs/reference-go_mod", + to: "/2.12.x/reference/targets/go_mod.mdx", + }, + { + from: "/v2.12/docs/reference-go_package", + to: "/2.12.x/reference/targets/go_package.mdx", + }, + { + from: "/v2.12/docs/reference-go_third_party_package", + to: "/2.12.x/reference/targets/go_third_party_package.mdx", + }, + { + from: "/v2.12/docs/reference-go-test", + to: "/2.12.x/reference/subsystems/go-test.mdx", + }, + { + from: "/v2.12/docs/reference-gofmt", + to: "/2.12.x/reference/subsystems/gofmt.mdx", + }, + { + from: "/v2.12/docs/reference-golang", + to: "/2.12.x/reference/subsystems/golang.mdx", + }, + { + from: "/v2.12/docs/reference-google-java-format", + to: "/2.12.x/reference/subsystems/google-java-format.mdx", + }, + { + from: "/v2.12/docs/reference-grpc-python-plugin", + to: "/2.12.x/reference/subsystems/grpc-python-plugin.mdx", + }, + { + from: "/v2.12/docs/reference-hadolint", + to: "/2.12.x/reference/subsystems/hadolint.mdx", + }, + { + from: "/v2.12/docs/reference-helm_artifact", + to: "/2.12.x/reference/targets/helm_artifact.mdx", + }, + { + from: "/v2.12/docs/reference-helm_chart", + to: "/2.12.x/reference/targets/helm_chart.mdx", + }, + { + from: "/v2.12/docs/reference-helm_unittest_test", + to: "/2.12.x/reference/targets/helm_unittest_test.mdx", + }, + { + from: "/v2.12/docs/reference-helm_unittest_tests", + to: "/2.12.x/reference/targets/helm_unittest_tests.mdx", + }, + { + from: "/v2.12/docs/reference-helm-unittest", + to: "/2.12.x/reference/subsystems/helm-unittest.mdx", + }, + { + from: "/v2.12/docs/reference-helm", + to: "/2.12.x/reference/subsystems/helm.mdx", + }, + { + from: "/v2.12/docs/reference-help-advanced", + to: "/2.12.x/reference/goals/help-advanced.mdx", + }, + { + from: "/v2.12/docs/reference-help-all", + to: "/2.12.x/reference/goals/help-all.mdx", + }, + { + from: "/v2.12/docs/reference-help", + to: "/2.12.x/reference/goals/help.mdx", + }, + { + from: "/v2.12/docs/reference-ipython", + to: "/2.12.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.12/docs/reference-isort", + to: "/2.12.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.12/docs/reference-java_source", + to: "/2.12.x/reference/targets/java_source.mdx", + }, + { + from: "/v2.12/docs/reference-java_sources", + to: "/2.12.x/reference/targets/java_sources.mdx", + }, + { + from: "/v2.12/docs/reference-java-infer", + to: "/2.12.x/reference/subsystems/java-infer.mdx", + }, + { + from: "/v2.12/docs/reference-javac", + to: "/2.12.x/reference/subsystems/javac.mdx", + }, + { + from: "/v2.12/docs/reference-junit_test", + to: "/2.12.x/reference/targets/junit_test.mdx", + }, + { + from: "/v2.12/docs/reference-junit_tests", + to: "/2.12.x/reference/targets/junit_tests.mdx", + }, + { + from: "/v2.12/docs/reference-junit", + to: "/2.12.x/reference/subsystems/junit.mdx", + }, + { + from: "/v2.12/docs/reference-jvm_artifact", + to: "/2.12.x/reference/targets/jvm_artifact.mdx", + }, + { + from: "/v2.12/docs/reference-jvm_war", + to: "/2.12.x/reference/targets/jvm_war.mdx", + }, + { + from: "/v2.12/docs/reference-jvm", + to: "/2.12.x/reference/subsystems/jvm.mdx", + }, + { + from: "/v2.12/docs/reference-kotlin_source", + to: "/2.12.x/reference/targets/kotlin_source.mdx", + }, + { + from: "/v2.12/docs/reference-kotlin_sources", + to: "/2.12.x/reference/targets/kotlin_sources.mdx", + }, + { + from: "/v2.12/docs/reference-kotlin-infer", + to: "/2.12.x/reference/subsystems/kotlin-infer.mdx", + }, + { + from: "/v2.12/docs/reference-kotlin", + to: "/2.12.x/reference/subsystems/kotlin.mdx", + }, + { + from: "/v2.12/docs/reference-kotlinc_plugin", + to: "/2.12.x/reference/targets/kotlinc_plugin.mdx", + }, + { + from: "/v2.12/docs/reference-kotlinc", + to: "/2.12.x/reference/subsystems/kotlinc.mdx", + }, + { + from: "/v2.12/docs/reference-ktlint", + to: "/2.12.x/reference/subsystems/ktlint.mdx", + }, + { + from: "/v2.12/docs/reference-lambdex", + to: "/2.12.x/reference/subsystems/lambdex.mdx", + }, + { + from: "/v2.12/docs/reference-lint", + to: "/2.12.x/reference/goals/lint.mdx", + }, + { + from: "/v2.12/docs/reference-list", + to: "/2.12.x/reference/goals/list.mdx", + }, + { + from: "/v2.12/docs/reference-mypy-protobuf", + to: "/2.12.x/reference/subsystems/mypy-protobuf.mdx", + }, + { + from: "/v2.12/docs/reference-mypy", + to: "/2.12.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.12/docs/reference-package", + to: "/2.12.x/reference/goals/package.mdx", + }, + { + from: "/v2.12/docs/reference-pants_requirements", + to: "/2.12.x/reference/targets/pants_requirements.mdx", + }, + { + from: "/v2.12/docs/reference-paths", + to: "/2.12.x/reference/goals/paths.mdx", + }, + { + from: "/v2.12/docs/reference-peek", + to: "/2.12.x/reference/goals/peek.mdx", + }, + { + from: "/v2.12/docs/reference-pex_binaries", + to: "/2.12.x/reference/targets/pex_binaries.mdx", + }, + { + from: "/v2.12/docs/reference-pex_binary", + to: "/2.12.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.12/docs/reference-pex-binary-defaults", + to: "/2.12.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.12/docs/reference-pex-cli", + to: "/2.12.x/reference/subsystems/pex-cli.mdx", + }, + { + from: "/v2.12/docs/reference-pex", + to: "/2.12.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.12/docs/reference-pipenv_requirements", + to: "/2.12.x/reference/targets/pipenv_requirements.mdx", + }, + { + from: "/v2.12/docs/reference-poetry_requirements", + to: "/2.12.x/reference/targets/poetry_requirements.mdx", + }, + { + from: "/v2.12/docs/reference-poetry", + to: "/2.12.x/reference/subsystems/poetry.mdx", + }, + { + from: "/v2.12/docs/reference-protobuf_source", + to: "/2.12.x/reference/targets/protobuf_source.mdx", + }, + { + from: "/v2.12/docs/reference-protobuf_sources", + to: "/2.12.x/reference/targets/protobuf_sources.mdx", + }, + { + from: "/v2.12/docs/reference-protoc", + to: "/2.12.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.12/docs/reference-publish", + to: "/2.12.x/reference/goals/publish.mdx", + }, + { + from: "/v2.12/docs/reference-py-constraints", + to: "/2.12.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.12/docs/reference-pylint", + to: "/2.12.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.12/docs/reference-pyoxidizer_binary", + to: "/2.12.x/reference/targets/pyoxidizer_binary.mdx", + }, + { + from: "/v2.12/docs/reference-pyoxidizer", + to: "/2.12.x/reference/subsystems/pyoxidizer.mdx", + }, + { + from: "/v2.12/docs/reference-pytest", + to: "/2.12.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.12/docs/reference-python_awslambda", + to: "/2.12.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.12/docs/reference-python_distribution", + to: "/2.12.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.12/docs/reference-python_google_cloud_function", + to: "/2.12.x/reference/targets/python_google_cloud_function.mdx", + }, + { + from: "/v2.12/docs/reference-python_requirement", + to: "/2.12.x/reference/targets/python_requirement.mdx", + }, + { + from: "/v2.12/docs/reference-python_requirements", + to: "/2.12.x/reference/targets/python_requirements.mdx", + }, + { + from: "/v2.12/docs/reference-python_source", + to: "/2.12.x/reference/targets/python_source.mdx", + }, + { + from: "/v2.12/docs/reference-python_sources", + to: "/2.12.x/reference/targets/python_sources.mdx", + }, + { + from: "/v2.12/docs/reference-python_test_utils", + to: "/2.12.x/reference/targets/python_test_utils.mdx", + }, + { + from: "/v2.12/docs/reference-python_test", + to: "/2.12.x/reference/targets/python_test.mdx", + }, + { + from: "/v2.12/docs/reference-python_tests", + to: "/2.12.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.12/docs/reference-python-bootstrap", + to: "/2.12.x/reference/subsystems/python-bootstrap.mdx", + }, + { + from: "/v2.12/docs/reference-python-infer", + to: "/2.12.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.12/docs/reference-python-native-code", + to: "/2.12.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.12/docs/reference-python-protobuf", + to: "/2.12.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.12/docs/reference-python-repos", + to: "/2.12.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.12/docs/reference-python-thrift", + to: "/2.12.x/reference/subsystems/python-thrift.mdx", + }, + { + from: "/v2.12/docs/reference-python", + to: "/2.12.x/reference/subsystems/python.mdx", + }, + { + from: "/v2.12/docs/reference-pyupgrade", + to: "/2.12.x/reference/subsystems/pyupgrade.mdx", + }, + { + from: "/v2.12/docs/reference-regex-lint", + to: "/2.12.x/reference/subsystems/regex-lint.mdx", + }, + { + from: "/v2.12/docs/reference-relocated_files", + to: "/2.12.x/reference/targets/relocated_files.mdx", + }, + { + from: "/v2.12/docs/reference-repl", + to: "/2.12.x/reference/goals/repl.mdx", + }, + { + from: "/v2.12/docs/reference-resource", + to: "/2.12.x/reference/targets/resource.mdx", + }, + { + from: "/v2.12/docs/reference-resources", + to: "/2.12.x/reference/targets/resources.mdx", + }, + { + from: "/v2.12/docs/reference-roots", + to: "/2.12.x/reference/goals/roots.mdx", + }, + { from: "/v2.12/docs/reference-run", to: "/2.12.x/reference/goals/run.mdx" }, + { + from: "/v2.12/docs/reference-scala_junit_test", + to: "/2.12.x/reference/targets/scala_junit_test.mdx", + }, + { + from: "/v2.12/docs/reference-scala_junit_tests", + to: "/2.12.x/reference/targets/scala_junit_tests.mdx", + }, + { + from: "/v2.12/docs/reference-scala_source", + to: "/2.12.x/reference/targets/scala_source.mdx", + }, + { + from: "/v2.12/docs/reference-scala_sources", + to: "/2.12.x/reference/targets/scala_sources.mdx", + }, + { + from: "/v2.12/docs/reference-scala-infer", + to: "/2.12.x/reference/subsystems/scala-infer.mdx", + }, + { + from: "/v2.12/docs/reference-scala", + to: "/2.12.x/reference/subsystems/scala.mdx", + }, + { + from: "/v2.12/docs/reference-scalac_plugin", + to: "/2.12.x/reference/targets/scalac_plugin.mdx", + }, + { + from: "/v2.12/docs/reference-scalac", + to: "/2.12.x/reference/subsystems/scalac.mdx", + }, + { + from: "/v2.12/docs/reference-scalafmt", + to: "/2.12.x/reference/subsystems/scalafmt.mdx", + }, + { + from: "/v2.12/docs/reference-scalapb", + to: "/2.12.x/reference/subsystems/scalapb.mdx", + }, + { + from: "/v2.12/docs/reference-scalatest_test", + to: "/2.12.x/reference/targets/scalatest_test.mdx", + }, + { + from: "/v2.12/docs/reference-scalatest_tests", + to: "/2.12.x/reference/targets/scalatest_tests.mdx", + }, + { + from: "/v2.12/docs/reference-scalatest", + to: "/2.12.x/reference/subsystems/scalatest.mdx", + }, + { + from: "/v2.12/docs/reference-scc", + to: "/2.12.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.12/docs/reference-setup-py-generation", + to: "/2.12.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.12/docs/reference-setuptools", + to: "/2.12.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.12/docs/reference-shell_source", + to: "/2.12.x/reference/targets/shell_source.mdx", + }, + { + from: "/v2.12/docs/reference-shell_sources", + to: "/2.12.x/reference/targets/shell_sources.mdx", + }, + { + from: "/v2.12/docs/reference-shell-setup", + to: "/2.12.x/reference/subsystems/shell-setup.mdx", + }, + { + from: "/v2.12/docs/reference-shellcheck", + to: "/2.12.x/reference/subsystems/shellcheck.mdx", + }, + { + from: "/v2.12/docs/reference-shfmt", + to: "/2.12.x/reference/subsystems/shfmt.mdx", + }, + { + from: "/v2.12/docs/reference-shunit2_test", + to: "/2.12.x/reference/targets/shunit2_test.mdx", + }, + { + from: "/v2.12/docs/reference-shunit2_tests", + to: "/2.12.x/reference/targets/shunit2_tests.mdx", + }, + { + from: "/v2.12/docs/reference-source", + to: "/2.12.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.12/docs/reference-stats", + to: "/2.12.x/reference/subsystems/stats.mdx", + }, + { + from: "/v2.12/docs/reference-subprocess-environment", + to: "/2.12.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.12/docs/reference-tailor", + to: "/2.12.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.12/docs/reference-target", + to: "/2.12.x/reference/targets/target.mdx", + }, + { + from: "/v2.12/docs/reference-terraform_module", + to: "/2.12.x/reference/targets/terraform_module.mdx", + }, + { + from: "/v2.12/docs/reference-terraform-fmt", + to: "/2.12.x/reference/subsystems/terraform-fmt.mdx", + }, + { + from: "/v2.12/docs/reference-terraform-hcl2-parser", + to: "/2.12.x/reference/subsystems/terraform-hcl2-parser.mdx", + }, + { + from: "/v2.12/docs/reference-terraform-validate", + to: "/2.12.x/reference/subsystems/terraform-validate.mdx", + }, + { + from: "/v2.12/docs/reference-test", + to: "/2.12.x/reference/goals/test.mdx", + }, + { + from: "/v2.12/docs/reference-thrift_source", + to: "/2.12.x/reference/targets/thrift_source.mdx", + }, + { + from: "/v2.12/docs/reference-thrift_sources", + to: "/2.12.x/reference/targets/thrift_sources.mdx", + }, + { + from: "/v2.12/docs/reference-thrift", + to: "/2.12.x/reference/subsystems/thrift.mdx", + }, + { + from: "/v2.12/docs/reference-twine", + to: "/2.12.x/reference/subsystems/twine.mdx", + }, + { + from: "/v2.12/docs/reference-update-build-files", + to: "/2.12.x/reference/goals/update-build-files.mdx", + }, + { + from: "/v2.12/docs/reference-version", + to: "/2.12.x/reference/goals/version.mdx", + }, + { + from: "/v2.12/docs/reference-yapf", + to: "/2.12.x/reference/subsystems/yapf.mdx", + }, + { from: "/v2.12/docs/reference", to: "/2.12.x/reference/index.mdx" }, + { from: "/v2.12/docs/release-notes", to: "/2.12.x/docs/releases/index.mdx" }, + { + from: "/v2.12/docs/release-process", + to: "/2.12.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.12/docs/release-strategy", + to: "/2.12.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.12/docs/releases", + to: "/2.12.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.12/docs/remote-caching-execution", + to: "/2.12.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.12/docs/remote-caching", + to: "/2.12.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.12/docs/remote-execution", + to: "/2.12.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.12/docs/restricted-internet-access", + to: "/2.12.x/docs/using-pants/restricted-internet-access.mdx", + }, + { + from: "/v2.12/docs/rules-api-and-target-api", + to: "/2.12.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.12/docs/rules-api-concepts", + to: "/2.12.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.12/docs/rules-api-file-system", + to: "/2.12.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.12/docs/rules-api-goal-rules", + to: "/2.12.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.12/docs/rules-api-installing-tools", + to: "/2.12.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.12/docs/rules-api-logging", + to: "/2.12.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.12/docs/rules-api-process", + to: "/2.12.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.12/docs/rules-api-subsystems", + to: "/2.12.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.12/docs/rules-api-testing", + to: "/2.12.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.12/docs/rules-api-tips", + to: "/2.12.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.12/docs/rules-api-unions", + to: "/2.12.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.12/docs/rules-api", + to: "/2.12.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.12/docs/run-shell-commands", + to: "/2.12.x/docs/shell/run-shell-commands.mdx", + }, + { + from: "/v2.12/docs/running-pants-from-sources", + to: "/2.12.x/docs/contributions/development/running-pants-from-sources.mdx", + }, + { + from: "/v2.12/docs/setting-up-an-ide", + to: "/2.12.x/docs/using-pants/setting-up-an-ide.mdx", + }, + { from: "/v2.12/docs/shell", to: "/2.12.x/docs/shell/shell-overview.mdx" }, + { + from: "/v2.12/docs/source-roots", + to: "/2.12.x/docs/using-pants/key-concepts/source-roots.mdx", + }, + { + from: "/v2.12/docs/style-guide", + to: "/2.12.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.12/docs/tagging-docker-images", + to: "/2.12.x/docs/docker/tagging-docker-images.mdx", + }, + { + from: "/v2.12/docs/target-api-concepts", + to: "/2.12.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.12/docs/target-api-extending-targets", + to: "/2.12.x/docs/writing-plugins/the-target-api/extending-existing-targets.mdx", + }, + { + from: "/v2.12/docs/target-api-new-fields", + to: "/2.12.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.12/docs/target-api-new-targets", + to: "/2.12.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.12/docs/target-api", + to: "/2.12.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.12/docs/targets", + to: "/2.12.x/docs/using-pants/key-concepts/targets-and-build-files.mdx", + }, + { from: "/v2.12/docs/team", to: "/2.12.x/community/meet-the-team" }, + { from: "/v2.12/docs/testimonials", to: "/2.12.x/spotlight/testimonials" }, + { from: "/v2.12/docs/the-pants-community", to: "/2.12.x/community/members" }, + { + from: "/v2.12/docs/thrift-python", + to: "/2.12.x/docs/python/integrations/thrift.mdx", + }, + { + from: "/v2.12/docs/troubleshooting", + to: "/2.12.x/docs/using-pants/troubleshooting-common-issues.mdx", + }, + { + from: "/v2.12/docs/upgrade-tips", + to: "/2.12.x/docs/releases/upgrade-tips.mdx", + }, + { + from: "/v2.12/docs/using-pants-in-ci", + to: "/2.12.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.12/docs/using-pants", to: "/2.12.x/docs/using-pants/index.mdx" }, + { + from: "/v2.12/docs/welcome-to-pants", + to: "/2.12.x/docs/introduction/welcome-to-pants.mdx", + }, + { from: "/v2.12/docs/who-uses-pants", to: "/2.12.x/spotlight/users" }, + { + from: "/v2.12/docs/writing-plugins", + to: "/2.12.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.13/docs/advanced-target-selection", + to: "/2.13.x/docs/using-pants/advanced-target-selection.mdx", + }, + { + from: "/v2.13/docs/anonymous-telemetry", + to: "/2.13.x/docs/using-pants/anonymous-telemetry.mdx", + }, + { + from: "/v2.13/docs/assets", + to: "/2.13.x/docs/using-pants/assets-and-archives.mdx", + }, + { + from: "/v2.13/docs/awslambda-python", + to: "/2.13.x/docs/python/integrations/aws-lambda.mdx", + }, + { from: "/v2.13/docs/changelog", to: "/2.13.x/versions" }, + { + from: "/v2.13/docs/ci-for-macos-on-arm64", + to: "/2.13.x/docs/contributions/releases/github-actions-macos-arm64-runners.mdx", + }, + { + from: "/v2.13/docs/code-of-conduct", + to: "/2.13.x/community/code-of-conduct", + }, + { + from: "/v2.13/docs/command-line-help", + to: "/2.13.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.13/docs/common-plugin-tasks", + to: "/2.13.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.13/docs/community", to: "/2.13.x/community/members" }, + { + from: "/v2.13/docs/concepts", + to: "/2.13.x/docs/using-pants/key-concepts/index.mdx", + }, + { + from: "/v2.13/docs/contentious-decisions", + to: "/2.13.x/community/contentious-decisions", + }, + { + from: "/v2.13/docs/contributing-to-pants", + to: "/2.13.x/docs/contributions/index.mdx", + }, + { + from: "/v2.13/docs/contributions-debugging", + to: "/2.13.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.13/docs/contributions-rust", + to: "/2.13.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.13/docs/contributor-overview", + to: "/2.13.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.13/docs/contributor-setup", + to: "/2.13.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.13/docs/deprecation-policy", + to: "/2.13.x/docs/releases/deprecation-policy.mdx", + }, + { + from: "/v2.13/docs/development", + to: "/2.13.x/docs/contributions/development/index.mdx", + }, + { from: "/v2.13/docs/docker", to: "/2.13.x/docs/docker/docker-overview.mdx" }, + { + from: "/v2.13/docs/documentation", + to: "/2.13.x/docs/introduction/index.mdx", + }, + { + from: "/v2.13/docs/enabling-backends", + to: "/2.13.x/docs/using-pants/key-concepts/backends.mdx", + }, + { + from: "/v2.13/docs/example-repos", + to: "/2.13.x/docs/getting-started/getting-started/example-projects-and-repositories.mdx", + }, + { + from: "/v2.13/docs/existing-repositories", + to: "/2.13.x/docs/getting-started/getting-started/incremental-adoption.mdx", + }, + { + from: "/v2.13/docs/generating-version-tags", + to: "/2.13.x/docs/using-pants/generating-version-tags-from-git.mdx", + }, + { from: "/v2.13/docs/getting-help", to: "/2.13.x/community/getting-help" }, + { + from: "/v2.13/docs/getting-started", + to: "/2.13.x/docs/getting-started/getting-started/index.mdx", + }, + { + from: "/v2.13/docs/go-integrations", + to: "/2.13.x/docs/go/integrations/index.mdx", + }, + { from: "/v2.13/docs/go", to: "/2.13.x/docs/go/go-overview.mdx" }, + { + from: "/v2.13/docs/goals", + to: "/2.13.x/docs/using-pants/key-concepts/goals.mdx", + }, + { + from: "/v2.13/docs/google-cloud-function-python", + to: "/2.13.x/docs/python/integrations/google-cloud-functions.mdx", + }, + { + from: "/v2.13/docs/helm-overview", + to: "/2.13.x/docs/helm/helm-overview.mdx", + }, + { from: "/v2.13/docs/helm", to: "/2.13.x/docs/helm/index.mdx" }, + { + from: "/v2.13/docs/how-does-pants-work", + to: "/2.13.x/docs/introduction/how-does-pants-work.mdx", + }, + { + from: "/v2.13/docs/initial-configuration", + to: "/2.13.x/docs/getting-started/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.13/docs/installation", + to: "/2.13.x/docs/getting-started/getting-started/installing-pants.mdx", + }, + { + from: "/v2.13/docs/internal-rules-architecture", + to: "/2.13.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.13/docs/jupyter", + to: "/2.13.x/docs/python/integrations/jupyter.mdx", + }, + { + from: "/v2.13/docs/jvm-overview", + to: "/2.13.x/docs/java-and-scala/java-and-scala-overview.mdx", + }, + { from: "/v2.13/docs/jvm", to: "/2.13.x/docs/java-and-scala/index.mdx" }, + { from: "/v2.13/docs/kotlin", to: "/2.13.x/docs/java-and-scala/kotlin.mdx" }, + { + from: "/v2.13/docs/language-support", + to: "/2.13.x/spotlight/language-support", + }, + { from: "/v2.13/docs/macros", to: "/2.13.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.13/docs/maintainers", to: "/2.13.x/community/maintainers" }, + { + from: "/v2.13/docs/manual-installation", + to: "/2.13.x/docs/getting-started/getting-started/manual-and-advanced-installation.mdx", + }, + { from: "/v2.13/docs/media", to: "/2.13.x/spotlight/media" }, + { from: "/v2.13/docs/news-room", to: "/2.13.x/spotlight/media" }, + { + from: "/v2.13/docs/options", + to: "/2.13.x/docs/using-pants/key-concepts/options.mdx", + }, + { + from: "/v2.13/docs/pex-files", + to: "/2.13.x/docs/python/python-overview/pex-files.mdx", + }, + { + from: "/v2.13/docs/plugin-upgrade-guide", + to: "/2.13.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.13/docs/plugins-codegen", + to: "/2.13.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.13/docs/plugins-fmt-goal", + to: "/2.13.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.13/docs/plugins-lint-goal", + to: "/2.13.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.13/docs/plugins-overview", + to: "/2.13.x/docs/writing-plugins/plugins-overview.mdx", + }, + { + from: "/v2.13/docs/plugins-repl-goal", + to: "/2.13.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.13/docs/plugins-setup-py", + to: "/2.13.x/docs/writing-plugins/common-plugin-tasks/custom-python-artifact-kwargs.mdx", + }, + { + from: "/v2.13/docs/plugins-typecheck-goal", + to: "/2.13.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.13/docs/prerequisites", + to: "/2.13.x/docs/getting-started/getting-started/prerequisites.mdx", + }, + { + from: "/v2.13/docs/project-introspection", + to: "/2.13.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.13/docs/protobuf-go", + to: "/2.13.x/docs/go/integrations/protobuf.mdx", + }, + { + from: "/v2.13/docs/protobuf-python", + to: "/2.13.x/docs/python/integrations/protobuf-and-grpc.mdx", + }, + { + from: "/v2.13/docs/pyoxidizer", + to: "/2.13.x/docs/python/integrations/pyoxidizer.mdx", + }, + { + from: "/v2.13/docs/python-backend", + to: "/2.13.x/docs/python/python-overview/enabling-python-support.mdx", + }, + { + from: "/v2.13/docs/python-check-goal", + to: "/2.13.x/docs/python/goals/check.mdx", + }, + { + from: "/v2.13/docs/python-distributions", + to: "/2.13.x/docs/python/python-overview/building-distributions.mdx", + }, + { + from: "/v2.13/docs/python-fmt-goal", + to: "/2.13.x/docs/python/goals/fmt.mdx", + }, + { + from: "/v2.13/docs/python-goals", + to: "/2.13.x/docs/python/goals/index.mdx", + }, + { + from: "/v2.13/docs/python-integrations", + to: "/2.13.x/docs/python/integrations/index.mdx", + }, + { + from: "/v2.13/docs/python-interpreter-compatibility", + to: "/2.13.x/docs/python/python-overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.13/docs/python-lint-goal", + to: "/2.13.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.13/docs/python-linters-and-formatters", + to: "/2.13.x/docs/python/python-overview/linters-and-formatters.mdx", + }, + { + from: "/v2.13/docs/python-package-goal", + to: "/2.13.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.13/docs/python-publish-goal", + to: "/2.13.x/docs/python/goals/publish.mdx", + }, + { + from: "/v2.13/docs/python-repl-goal", + to: "/2.13.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.13/docs/python-run-goal", + to: "/2.13.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.13/docs/python-test-goal", + to: "/2.13.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.13/docs/python-third-party-dependencies", + to: "/2.13.x/docs/python/python-overview/third-party-dependencies.mdx", + }, + { + from: "/v2.13/docs/python", + to: "/2.13.x/docs/python/python-overview/index.mdx", + }, + { from: "/v2.13/docs/reference-all-goals", to: "/2.13.x/reference/goals" }, + { + from: "/v2.13/docs/reference-all-subsystems", + to: "/2.13.x/reference/subsystems", + }, + { + from: "/v2.13/docs/reference-all-targets", + to: "/2.13.x/reference/targets", + }, + { + from: "/v2.13/docs/reference-anonymous-telemetry", + to: "/2.13.x/reference/subsystems/anonymous-telemetry.mdx", + }, + { + from: "/v2.13/docs/reference-apache-thrift", + to: "/2.13.x/reference/subsystems/apache-thrift.mdx", + }, + { + from: "/v2.13/docs/reference-archive", + to: "/2.13.x/reference/targets/archive.mdx", + }, + { + from: "/v2.13/docs/reference-autoflake", + to: "/2.13.x/reference/subsystems/autoflake.mdx", + }, + { + from: "/v2.13/docs/reference-bandit", + to: "/2.13.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.13/docs/reference-black", + to: "/2.13.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.13/docs/reference-buf", + to: "/2.13.x/reference/subsystems/buf.mdx", + }, + { + from: "/v2.13/docs/reference-changed", + to: "/2.13.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.13/docs/reference-check", + to: "/2.13.x/reference/goals/check.mdx", + }, + { + from: "/v2.13/docs/reference-cli", + to: "/2.13.x/reference/subsystems/cli.mdx", + }, + { + from: "/v2.13/docs/reference-count-loc", + to: "/2.13.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.13/docs/reference-coursier", + to: "/2.13.x/reference/subsystems/coursier.mdx", + }, + { + from: "/v2.13/docs/reference-coverage-py", + to: "/2.13.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.13/docs/reference-debug-adapter", + to: "/2.13.x/reference/subsystems/debug-adapter.mdx", + }, + { + from: "/v2.13/docs/reference-debugpy", + to: "/2.13.x/reference/subsystems/debugpy.mdx", + }, + { + from: "/v2.13/docs/reference-dependees", + to: "/2.13.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.13/docs/reference-dependencies", + to: "/2.13.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.13/docs/reference-deploy_jar", + to: "/2.13.x/reference/targets/deploy_jar.mdx", + }, + { + from: "/v2.13/docs/reference-docformatter", + to: "/2.13.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.13/docs/reference-docker_image", + to: "/2.13.x/reference/targets/docker_image.mdx", + }, + { + from: "/v2.13/docs/reference-docker", + to: "/2.13.x/reference/subsystems/docker.mdx", + }, + { + from: "/v2.13/docs/reference-dockerfile-parser", + to: "/2.13.x/reference/subsystems/dockerfile-parser.mdx", + }, + { + from: "/v2.13/docs/reference-download-terraform", + to: "/2.13.x/reference/subsystems/download-terraform.mdx", + }, + { + from: "/v2.13/docs/reference-experimental_run_shell_command", + to: "/2.13.x/reference/targets/experimental_run_shell_command.mdx", + }, + { + from: "/v2.13/docs/reference-experimental_shell_command", + to: "/2.13.x/reference/targets/experimental_shell_command.mdx", + }, + { + from: "/v2.13/docs/reference-experimental-bsp", + to: "/2.13.x/reference/goals/experimental-bsp.mdx", + }, + { + from: "/v2.13/docs/reference-experimental-explorer", + to: "/2.13.x/reference/goals/experimental-explorer.mdx", + }, + { + from: "/v2.13/docs/reference-export-codegen", + to: "/2.13.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.13/docs/reference-export", + to: "/2.13.x/reference/goals/export.mdx", + }, + { + from: "/v2.13/docs/reference-file", + to: "/2.13.x/reference/targets/file.mdx", + }, + { + from: "/v2.13/docs/reference-filedeps", + to: "/2.13.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.13/docs/reference-files", + to: "/2.13.x/reference/targets/files.mdx", + }, + { + from: "/v2.13/docs/reference-filter", + to: "/2.13.x/reference/goals/filter.mdx", + }, + { + from: "/v2.13/docs/reference-flake8", + to: "/2.13.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.13/docs/reference-fmt", to: "/2.13.x/reference/goals/fmt.mdx" }, + { + from: "/v2.13/docs/reference-generate-lockfiles", + to: "/2.13.x/reference/goals/generate-lockfiles.mdx", + }, + { + from: "/v2.13/docs/reference-global", + to: "/2.13.x/reference/global-options.mdx", + }, + { + from: "/v2.13/docs/reference-go_binary", + to: "/2.13.x/reference/targets/go_binary.mdx", + }, + { + from: "/v2.13/docs/reference-go_mod", + to: "/2.13.x/reference/targets/go_mod.mdx", + }, + { + from: "/v2.13/docs/reference-go_package", + to: "/2.13.x/reference/targets/go_package.mdx", + }, + { + from: "/v2.13/docs/reference-go_third_party_package", + to: "/2.13.x/reference/targets/go_third_party_package.mdx", + }, + { + from: "/v2.13/docs/reference-go-test", + to: "/2.13.x/reference/subsystems/go-test.mdx", + }, + { + from: "/v2.13/docs/reference-gofmt", + to: "/2.13.x/reference/subsystems/gofmt.mdx", + }, + { + from: "/v2.13/docs/reference-golang", + to: "/2.13.x/reference/subsystems/golang.mdx", + }, + { + from: "/v2.13/docs/reference-google-java-format", + to: "/2.13.x/reference/subsystems/google-java-format.mdx", + }, + { + from: "/v2.13/docs/reference-grpc-python-plugin", + to: "/2.13.x/reference/subsystems/grpc-python-plugin.mdx", + }, + { + from: "/v2.13/docs/reference-hadolint", + to: "/2.13.x/reference/subsystems/hadolint.mdx", + }, + { + from: "/v2.13/docs/reference-helm_artifact", + to: "/2.13.x/reference/targets/helm_artifact.mdx", + }, + { + from: "/v2.13/docs/reference-helm_chart", + to: "/2.13.x/reference/targets/helm_chart.mdx", + }, + { + from: "/v2.13/docs/reference-helm_unittest_test", + to: "/2.13.x/reference/targets/helm_unittest_test.mdx", + }, + { + from: "/v2.13/docs/reference-helm_unittest_tests", + to: "/2.13.x/reference/targets/helm_unittest_tests.mdx", + }, + { + from: "/v2.13/docs/reference-helm-unittest", + to: "/2.13.x/reference/subsystems/helm-unittest.mdx", + }, + { + from: "/v2.13/docs/reference-helm", + to: "/2.13.x/reference/subsystems/helm.mdx", + }, + { + from: "/v2.13/docs/reference-help-advanced", + to: "/2.13.x/reference/goals/help-advanced.mdx", + }, + { + from: "/v2.13/docs/reference-help-all", + to: "/2.13.x/reference/goals/help-all.mdx", + }, + { + from: "/v2.13/docs/reference-help", + to: "/2.13.x/reference/goals/help.mdx", + }, + { + from: "/v2.13/docs/reference-ipython", + to: "/2.13.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.13/docs/reference-isort", + to: "/2.13.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.13/docs/reference-java_source", + to: "/2.13.x/reference/targets/java_source.mdx", + }, + { + from: "/v2.13/docs/reference-java_sources", + to: "/2.13.x/reference/targets/java_sources.mdx", + }, + { + from: "/v2.13/docs/reference-java-infer", + to: "/2.13.x/reference/subsystems/java-infer.mdx", + }, + { + from: "/v2.13/docs/reference-javac", + to: "/2.13.x/reference/subsystems/javac.mdx", + }, + { + from: "/v2.13/docs/reference-junit_test", + to: "/2.13.x/reference/targets/junit_test.mdx", + }, + { + from: "/v2.13/docs/reference-junit_tests", + to: "/2.13.x/reference/targets/junit_tests.mdx", + }, + { + from: "/v2.13/docs/reference-junit", + to: "/2.13.x/reference/subsystems/junit.mdx", + }, + { + from: "/v2.13/docs/reference-jvm_artifact", + to: "/2.13.x/reference/targets/jvm_artifact.mdx", + }, + { + from: "/v2.13/docs/reference-jvm_war", + to: "/2.13.x/reference/targets/jvm_war.mdx", + }, + { + from: "/v2.13/docs/reference-jvm", + to: "/2.13.x/reference/subsystems/jvm.mdx", + }, + { + from: "/v2.13/docs/reference-kotlin_junit_test", + to: "/2.13.x/reference/targets/kotlin_junit_test.mdx", + }, + { + from: "/v2.13/docs/reference-kotlin_junit_tests", + to: "/2.13.x/reference/targets/kotlin_junit_tests.mdx", + }, + { + from: "/v2.13/docs/reference-kotlin_source", + to: "/2.13.x/reference/targets/kotlin_source.mdx", + }, + { + from: "/v2.13/docs/reference-kotlin_sources", + to: "/2.13.x/reference/targets/kotlin_sources.mdx", + }, + { + from: "/v2.13/docs/reference-kotlin-infer", + to: "/2.13.x/reference/subsystems/kotlin-infer.mdx", + }, + { + from: "/v2.13/docs/reference-kotlin", + to: "/2.13.x/reference/subsystems/kotlin.mdx", + }, + { + from: "/v2.13/docs/reference-kotlinc_plugin", + to: "/2.13.x/reference/targets/kotlinc_plugin.mdx", + }, + { + from: "/v2.13/docs/reference-kotlinc", + to: "/2.13.x/reference/subsystems/kotlinc.mdx", + }, + { + from: "/v2.13/docs/reference-ktlint", + to: "/2.13.x/reference/subsystems/ktlint.mdx", + }, + { + from: "/v2.13/docs/reference-lambdex", + to: "/2.13.x/reference/subsystems/lambdex.mdx", + }, + { + from: "/v2.13/docs/reference-lint", + to: "/2.13.x/reference/goals/lint.mdx", + }, + { + from: "/v2.13/docs/reference-list", + to: "/2.13.x/reference/goals/list.mdx", + }, + { + from: "/v2.13/docs/reference-mypy-protobuf", + to: "/2.13.x/reference/subsystems/mypy-protobuf.mdx", + }, + { + from: "/v2.13/docs/reference-mypy", + to: "/2.13.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.13/docs/reference-package", + to: "/2.13.x/reference/goals/package.mdx", + }, + { + from: "/v2.13/docs/reference-pants_requirements", + to: "/2.13.x/reference/targets/pants_requirements.mdx", + }, + { + from: "/v2.13/docs/reference-paths", + to: "/2.13.x/reference/goals/paths.mdx", + }, + { + from: "/v2.13/docs/reference-peek", + to: "/2.13.x/reference/goals/peek.mdx", + }, + { + from: "/v2.13/docs/reference-pex_binaries", + to: "/2.13.x/reference/targets/pex_binaries.mdx", + }, + { + from: "/v2.13/docs/reference-pex_binary", + to: "/2.13.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.13/docs/reference-pex-binary-defaults", + to: "/2.13.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.13/docs/reference-pex-cli", + to: "/2.13.x/reference/subsystems/pex-cli.mdx", + }, + { + from: "/v2.13/docs/reference-pex", + to: "/2.13.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.13/docs/reference-pipenv_requirements", + to: "/2.13.x/reference/targets/pipenv_requirements.mdx", + }, + { + from: "/v2.13/docs/reference-poetry_requirements", + to: "/2.13.x/reference/targets/poetry_requirements.mdx", + }, + { + from: "/v2.13/docs/reference-poetry", + to: "/2.13.x/reference/subsystems/poetry.mdx", + }, + { + from: "/v2.13/docs/reference-protobuf_source", + to: "/2.13.x/reference/targets/protobuf_source.mdx", + }, + { + from: "/v2.13/docs/reference-protobuf_sources", + to: "/2.13.x/reference/targets/protobuf_sources.mdx", + }, + { + from: "/v2.13/docs/reference-protoc", + to: "/2.13.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.13/docs/reference-publish", + to: "/2.13.x/reference/goals/publish.mdx", + }, + { + from: "/v2.13/docs/reference-py-constraints", + to: "/2.13.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.13/docs/reference-pylint", + to: "/2.13.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.13/docs/reference-pyoxidizer_binary", + to: "/2.13.x/reference/targets/pyoxidizer_binary.mdx", + }, + { + from: "/v2.13/docs/reference-pyoxidizer", + to: "/2.13.x/reference/subsystems/pyoxidizer.mdx", + }, + { + from: "/v2.13/docs/reference-pytest", + to: "/2.13.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.13/docs/reference-python_awslambda", + to: "/2.13.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.13/docs/reference-python_distribution", + to: "/2.13.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.13/docs/reference-python_google_cloud_function", + to: "/2.13.x/reference/targets/python_google_cloud_function.mdx", + }, + { + from: "/v2.13/docs/reference-python_requirement", + to: "/2.13.x/reference/targets/python_requirement.mdx", + }, + { + from: "/v2.13/docs/reference-python_requirements", + to: "/2.13.x/reference/targets/python_requirements.mdx", + }, + { + from: "/v2.13/docs/reference-python_source", + to: "/2.13.x/reference/targets/python_source.mdx", + }, + { + from: "/v2.13/docs/reference-python_sources", + to: "/2.13.x/reference/targets/python_sources.mdx", + }, + { + from: "/v2.13/docs/reference-python_test_utils", + to: "/2.13.x/reference/targets/python_test_utils.mdx", + }, + { + from: "/v2.13/docs/reference-python_test", + to: "/2.13.x/reference/targets/python_test.mdx", + }, + { + from: "/v2.13/docs/reference-python_tests", + to: "/2.13.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.13/docs/reference-python-bootstrap", + to: "/2.13.x/reference/subsystems/python-bootstrap.mdx", + }, + { + from: "/v2.13/docs/reference-python-infer", + to: "/2.13.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.13/docs/reference-python-native-code", + to: "/2.13.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.13/docs/reference-python-protobuf", + to: "/2.13.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.13/docs/reference-python-repos", + to: "/2.13.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.13/docs/reference-python-thrift", + to: "/2.13.x/reference/subsystems/python-thrift.mdx", + }, + { + from: "/v2.13/docs/reference-python", + to: "/2.13.x/reference/subsystems/python.mdx", + }, + { + from: "/v2.13/docs/reference-pyupgrade", + to: "/2.13.x/reference/subsystems/pyupgrade.mdx", + }, + { + from: "/v2.13/docs/reference-regex-lint", + to: "/2.13.x/reference/subsystems/regex-lint.mdx", + }, + { + from: "/v2.13/docs/reference-relocated_files", + to: "/2.13.x/reference/targets/relocated_files.mdx", + }, + { + from: "/v2.13/docs/reference-repl", + to: "/2.13.x/reference/goals/repl.mdx", + }, + { + from: "/v2.13/docs/reference-resource", + to: "/2.13.x/reference/targets/resource.mdx", + }, + { + from: "/v2.13/docs/reference-resources", + to: "/2.13.x/reference/targets/resources.mdx", + }, + { + from: "/v2.13/docs/reference-roots", + to: "/2.13.x/reference/goals/roots.mdx", + }, + { from: "/v2.13/docs/reference-run", to: "/2.13.x/reference/goals/run.mdx" }, + { + from: "/v2.13/docs/reference-scala_junit_test", + to: "/2.13.x/reference/targets/scala_junit_test.mdx", + }, + { + from: "/v2.13/docs/reference-scala_junit_tests", + to: "/2.13.x/reference/targets/scala_junit_tests.mdx", + }, + { + from: "/v2.13/docs/reference-scala_source", + to: "/2.13.x/reference/targets/scala_source.mdx", + }, + { + from: "/v2.13/docs/reference-scala_sources", + to: "/2.13.x/reference/targets/scala_sources.mdx", + }, + { + from: "/v2.13/docs/reference-scala-infer", + to: "/2.13.x/reference/subsystems/scala-infer.mdx", + }, + { + from: "/v2.13/docs/reference-scala", + to: "/2.13.x/reference/subsystems/scala.mdx", + }, + { + from: "/v2.13/docs/reference-scalac_plugin", + to: "/2.13.x/reference/targets/scalac_plugin.mdx", + }, + { + from: "/v2.13/docs/reference-scalac", + to: "/2.13.x/reference/subsystems/scalac.mdx", + }, + { + from: "/v2.13/docs/reference-scalafmt", + to: "/2.13.x/reference/subsystems/scalafmt.mdx", + }, + { + from: "/v2.13/docs/reference-scalapb", + to: "/2.13.x/reference/subsystems/scalapb.mdx", + }, + { + from: "/v2.13/docs/reference-scalatest_test", + to: "/2.13.x/reference/targets/scalatest_test.mdx", + }, + { + from: "/v2.13/docs/reference-scalatest_tests", + to: "/2.13.x/reference/targets/scalatest_tests.mdx", + }, + { + from: "/v2.13/docs/reference-scalatest", + to: "/2.13.x/reference/subsystems/scalatest.mdx", + }, + { + from: "/v2.13/docs/reference-scc", + to: "/2.13.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.13/docs/reference-setup-py-generation", + to: "/2.13.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.13/docs/reference-setuptools-scm", + to: "/2.13.x/reference/subsystems/setuptools-scm.mdx", + }, + { + from: "/v2.13/docs/reference-setuptools", + to: "/2.13.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.13/docs/reference-shell_source", + to: "/2.13.x/reference/targets/shell_source.mdx", + }, + { + from: "/v2.13/docs/reference-shell_sources", + to: "/2.13.x/reference/targets/shell_sources.mdx", + }, + { + from: "/v2.13/docs/reference-shell-setup", + to: "/2.13.x/reference/subsystems/shell-setup.mdx", + }, + { + from: "/v2.13/docs/reference-shellcheck", + to: "/2.13.x/reference/subsystems/shellcheck.mdx", + }, + { + from: "/v2.13/docs/reference-shfmt", + to: "/2.13.x/reference/subsystems/shfmt.mdx", + }, + { + from: "/v2.13/docs/reference-shunit2_test", + to: "/2.13.x/reference/targets/shunit2_test.mdx", + }, + { + from: "/v2.13/docs/reference-shunit2_tests", + to: "/2.13.x/reference/targets/shunit2_tests.mdx", + }, + { + from: "/v2.13/docs/reference-source", + to: "/2.13.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.13/docs/reference-stats", + to: "/2.13.x/reference/subsystems/stats.mdx", + }, + { + from: "/v2.13/docs/reference-subprocess-environment", + to: "/2.13.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.13/docs/reference-tailor", + to: "/2.13.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.13/docs/reference-target", + to: "/2.13.x/reference/targets/target.mdx", + }, + { + from: "/v2.13/docs/reference-terraform_module", + to: "/2.13.x/reference/targets/terraform_module.mdx", + }, + { + from: "/v2.13/docs/reference-terraform-fmt", + to: "/2.13.x/reference/subsystems/terraform-fmt.mdx", + }, + { + from: "/v2.13/docs/reference-terraform-hcl2-parser", + to: "/2.13.x/reference/subsystems/terraform-hcl2-parser.mdx", + }, + { + from: "/v2.13/docs/reference-terraform-validate", + to: "/2.13.x/reference/subsystems/terraform-validate.mdx", + }, + { + from: "/v2.13/docs/reference-test", + to: "/2.13.x/reference/goals/test.mdx", + }, + { + from: "/v2.13/docs/reference-thrift_source", + to: "/2.13.x/reference/targets/thrift_source.mdx", + }, + { + from: "/v2.13/docs/reference-thrift_sources", + to: "/2.13.x/reference/targets/thrift_sources.mdx", + }, + { + from: "/v2.13/docs/reference-thrift", + to: "/2.13.x/reference/subsystems/thrift.mdx", + }, + { + from: "/v2.13/docs/reference-twine", + to: "/2.13.x/reference/subsystems/twine.mdx", + }, + { + from: "/v2.13/docs/reference-update-build-files", + to: "/2.13.x/reference/goals/update-build-files.mdx", + }, + { + from: "/v2.13/docs/reference-vcs_version", + to: "/2.13.x/reference/targets/vcs_version.mdx", + }, + { + from: "/v2.13/docs/reference-version", + to: "/2.13.x/reference/goals/version.mdx", + }, + { + from: "/v2.13/docs/reference-yapf", + to: "/2.13.x/reference/subsystems/yapf.mdx", + }, + { from: "/v2.13/docs/reference", to: "/2.13.x/reference/index.mdx" }, + { from: "/v2.13/docs/release-notes", to: "/2.13.x/docs/releases/index.mdx" }, + { + from: "/v2.13/docs/release-process", + to: "/2.13.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.13/docs/release-strategy", + to: "/2.13.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.13/docs/releases", + to: "/2.13.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.13/docs/remote-caching-execution", + to: "/2.13.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.13/docs/remote-caching", + to: "/2.13.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.13/docs/remote-execution", + to: "/2.13.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.13/docs/restricted-internet-access", + to: "/2.13.x/docs/using-pants/restricted-internet-access.mdx", + }, + { + from: "/v2.13/docs/rules-api-and-target-api", + to: "/2.13.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.13/docs/rules-api-concepts", + to: "/2.13.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.13/docs/rules-api-file-system", + to: "/2.13.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.13/docs/rules-api-goal-rules", + to: "/2.13.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.13/docs/rules-api-installing-tools", + to: "/2.13.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.13/docs/rules-api-logging", + to: "/2.13.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.13/docs/rules-api-process", + to: "/2.13.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.13/docs/rules-api-subsystems", + to: "/2.13.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.13/docs/rules-api-testing", + to: "/2.13.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.13/docs/rules-api-tips", + to: "/2.13.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.13/docs/rules-api-unions", + to: "/2.13.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.13/docs/rules-api", + to: "/2.13.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.13/docs/run-shell-commands", + to: "/2.13.x/docs/shell/run-shell-commands.mdx", + }, + { + from: "/v2.13/docs/running-pants-from-sources", + to: "/2.13.x/docs/contributions/development/running-pants-from-sources.mdx", + }, + { + from: "/v2.13/docs/setting-up-an-ide", + to: "/2.13.x/docs/using-pants/setting-up-an-ide.mdx", + }, + { from: "/v2.13/docs/shell", to: "/2.13.x/docs/shell/shell-overview.mdx" }, + { + from: "/v2.13/docs/source-roots", + to: "/2.13.x/docs/using-pants/key-concepts/source-roots.mdx", + }, + { + from: "/v2.13/docs/style-guide", + to: "/2.13.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.13/docs/tagging-docker-images", + to: "/2.13.x/docs/docker/tagging-docker-images.mdx", + }, + { + from: "/v2.13/docs/target-api-concepts", + to: "/2.13.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.13/docs/target-api-extending-targets", + to: "/2.13.x/docs/writing-plugins/the-target-api/extending-existing-targets.mdx", + }, + { + from: "/v2.13/docs/target-api-new-fields", + to: "/2.13.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.13/docs/target-api-new-targets", + to: "/2.13.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.13/docs/target-api", + to: "/2.13.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.13/docs/targets", + to: "/2.13.x/docs/using-pants/key-concepts/targets-and-build-files.mdx", + }, + { from: "/v2.13/docs/team", to: "/2.13.x/community/meet-the-team" }, + { from: "/v2.13/docs/testimonials", to: "/2.13.x/spotlight/testimonials" }, + { from: "/v2.13/docs/the-pants-community", to: "/2.13.x/community/members" }, + { + from: "/v2.13/docs/thrift-python", + to: "/2.13.x/docs/python/integrations/thrift.mdx", + }, + { + from: "/v2.13/docs/troubleshooting", + to: "/2.13.x/docs/using-pants/troubleshooting-common-issues.mdx", + }, + { + from: "/v2.13/docs/upgrade-tips", + to: "/2.13.x/docs/releases/upgrade-tips.mdx", + }, + { + from: "/v2.13/docs/using-pants-in-ci", + to: "/2.13.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.13/docs/using-pants", to: "/2.13.x/docs/using-pants/index.mdx" }, + { + from: "/v2.13/docs/welcome-to-pants", + to: "/2.13.x/docs/introduction/welcome-to-pants.mdx", + }, + { from: "/v2.13/docs/who-uses-pants", to: "/2.13.x/spotlight/users" }, + { + from: "/v2.13/docs/writing-plugins", + to: "/2.13.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.14/docs/advanced-target-selection", + to: "/2.14.x/docs/using-pants/advanced-target-selection.mdx", + }, + { + from: "/v2.14/docs/anonymous-telemetry", + to: "/2.14.x/docs/using-pants/anonymous-telemetry.mdx", + }, + { + from: "/v2.14/docs/assets", + to: "/2.14.x/docs/using-pants/assets-and-archives.mdx", + }, + { + from: "/v2.14/docs/awslambda-python", + to: "/2.14.x/docs/python/integrations/aws-lambda.mdx", + }, + { from: "/v2.14/docs/changelog", to: "/2.14.x/versions" }, + { + from: "/v2.14/docs/ci-for-macos-on-arm64", + to: "/2.14.x/docs/contributions/releases/github-actions-macos-arm64-runners.mdx", + }, + { + from: "/v2.14/docs/code-of-conduct", + to: "/2.14.x/community/code-of-conduct", + }, + { + from: "/v2.14/docs/command-line-help", + to: "/2.14.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.14/docs/common-plugin-tasks", + to: "/2.14.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.14/docs/community", to: "/2.14.x/community/members" }, + { + from: "/v2.14/docs/concepts", + to: "/2.14.x/docs/using-pants/key-concepts/index.mdx", + }, + { + from: "/v2.14/docs/contentious-decisions", + to: "/2.14.x/community/contentious-decisions", + }, + { + from: "/v2.14/docs/contributing-to-pants", + to: "/2.14.x/docs/contributions/index.mdx", + }, + { + from: "/v2.14/docs/contributions-debugging", + to: "/2.14.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.14/docs/contributions-rust", + to: "/2.14.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.14/docs/contributor-overview", + to: "/2.14.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.14/docs/contributor-setup", + to: "/2.14.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.14/docs/deprecation-policy", + to: "/2.14.x/docs/releases/deprecation-policy.mdx", + }, + { + from: "/v2.14/docs/development", + to: "/2.14.x/docs/contributions/development/index.mdx", + }, + { from: "/v2.14/docs/docker", to: "/2.14.x/docs/docker/docker-overview.mdx" }, + { + from: "/v2.14/docs/documentation", + to: "/2.14.x/docs/introduction/index.mdx", + }, + { + from: "/v2.14/docs/enabling-backends", + to: "/2.14.x/docs/using-pants/key-concepts/backends.mdx", + }, + { + from: "/v2.14/docs/example-repos", + to: "/2.14.x/docs/getting-started/getting-started/example-projects-and-repositories.mdx", + }, + { + from: "/v2.14/docs/existing-repositories", + to: "/2.14.x/docs/getting-started/getting-started/incremental-adoption.mdx", + }, + { + from: "/v2.14/docs/generating-version-tags", + to: "/2.14.x/docs/using-pants/generating-version-tags-from-git.mdx", + }, + { from: "/v2.14/docs/getting-help", to: "/2.14.x/community/getting-help" }, + { + from: "/v2.14/docs/getting-started", + to: "/2.14.x/docs/getting-started/getting-started/index.mdx", + }, + { + from: "/v2.14/docs/go-integrations", + to: "/2.14.x/docs/go/integrations/index.mdx", + }, + { from: "/v2.14/docs/go", to: "/2.14.x/docs/go/go-overview.mdx" }, + { + from: "/v2.14/docs/goals", + to: "/2.14.x/docs/using-pants/key-concepts/goals.mdx", + }, + { + from: "/v2.14/docs/google-cloud-function-python", + to: "/2.14.x/docs/python/integrations/google-cloud-functions.mdx", + }, + { + from: "/v2.14/docs/helm-deployments", + to: "/2.14.x/docs/helm/deployments.mdx", + }, + { + from: "/v2.14/docs/helm-overview", + to: "/2.14.x/docs/helm/helm-overview.mdx", + }, + { from: "/v2.14/docs/helm", to: "/2.14.x/docs/helm/index.mdx" }, + { + from: "/v2.14/docs/how-does-pants-work", + to: "/2.14.x/docs/introduction/how-does-pants-work.mdx", + }, + { + from: "/v2.14/docs/initial-configuration", + to: "/2.14.x/docs/getting-started/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.14/docs/installation", + to: "/2.14.x/docs/getting-started/getting-started/installing-pants.mdx", + }, + { + from: "/v2.14/docs/internal-rules-architecture", + to: "/2.14.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.14/docs/jupyter", + to: "/2.14.x/docs/python/integrations/jupyter.mdx", + }, + { + from: "/v2.14/docs/jvm-overview", + to: "/2.14.x/docs/java-and-scala/java-and-scala-overview.mdx", + }, + { from: "/v2.14/docs/jvm", to: "/2.14.x/docs/java-and-scala/index.mdx" }, + { from: "/v2.14/docs/kotlin", to: "/2.14.x/docs/java-and-scala/kotlin.mdx" }, + { + from: "/v2.14/docs/language-support", + to: "/2.14.x/spotlight/language-support", + }, + { from: "/v2.14/docs/macros", to: "/2.14.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.14/docs/maintainers", to: "/2.14.x/community/maintainers" }, + { + from: "/v2.14/docs/manual-installation", + to: "/2.14.x/docs/getting-started/getting-started/manual-and-advanced-installation.mdx", + }, + { from: "/v2.14/docs/media", to: "/2.14.x/spotlight/media" }, + { from: "/v2.14/docs/news-room", to: "/2.14.x/spotlight/media" }, + { + from: "/v2.14/docs/options", + to: "/2.14.x/docs/using-pants/key-concepts/options.mdx", + }, + { + from: "/v2.14/docs/pex-files", + to: "/2.14.x/docs/python/python-overview/pex-files.mdx", + }, + { + from: "/v2.14/docs/plugin-upgrade-guide", + to: "/2.14.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.14/docs/plugins-codegen", + to: "/2.14.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.14/docs/plugins-fmt-goal", + to: "/2.14.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.14/docs/plugins-lint-goal", + to: "/2.14.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.14/docs/plugins-overview", + to: "/2.14.x/docs/writing-plugins/plugins-overview.mdx", + }, + { + from: "/v2.14/docs/plugins-repl-goal", + to: "/2.14.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.14/docs/plugins-setup-py", + to: "/2.14.x/docs/writing-plugins/common-plugin-tasks/custom-python-artifact-kwargs.mdx", + }, + { + from: "/v2.14/docs/plugins-typecheck-goal", + to: "/2.14.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.14/docs/prerequisites", + to: "/2.14.x/docs/getting-started/getting-started/prerequisites.mdx", + }, + { + from: "/v2.14/docs/project-introspection", + to: "/2.14.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.14/docs/protobuf-go", + to: "/2.14.x/docs/go/integrations/protobuf.mdx", + }, + { + from: "/v2.14/docs/protobuf-python", + to: "/2.14.x/docs/python/integrations/protobuf-and-grpc.mdx", + }, + { + from: "/v2.14/docs/pyoxidizer", + to: "/2.14.x/docs/python/integrations/pyoxidizer.mdx", + }, + { + from: "/v2.14/docs/python-backend", + to: "/2.14.x/docs/python/python-overview/enabling-python-support.mdx", + }, + { + from: "/v2.14/docs/python-check-goal", + to: "/2.14.x/docs/python/goals/check.mdx", + }, + { + from: "/v2.14/docs/python-distributions", + to: "/2.14.x/docs/python/python-overview/building-distributions.mdx", + }, + { + from: "/v2.14/docs/python-fmt-goal", + to: "/2.14.x/docs/python/goals/fmt.mdx", + }, + { + from: "/v2.14/docs/python-goals", + to: "/2.14.x/docs/python/goals/index.mdx", + }, + { + from: "/v2.14/docs/python-integrations", + to: "/2.14.x/docs/python/integrations/index.mdx", + }, + { + from: "/v2.14/docs/python-interpreter-compatibility", + to: "/2.14.x/docs/python/python-overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.14/docs/python-lint-goal", + to: "/2.14.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.14/docs/python-linters-and-formatters", + to: "/2.14.x/docs/python/python-overview/linters-and-formatters.mdx", + }, + { + from: "/v2.14/docs/python-package-goal", + to: "/2.14.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.14/docs/python-publish-goal", + to: "/2.14.x/docs/python/goals/publish.mdx", + }, + { + from: "/v2.14/docs/python-repl-goal", + to: "/2.14.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.14/docs/python-run-goal", + to: "/2.14.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.14/docs/python-test-goal", + to: "/2.14.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.14/docs/python-third-party-dependencies", + to: "/2.14.x/docs/python/python-overview/third-party-dependencies.mdx", + }, + { + from: "/v2.14/docs/python", + to: "/2.14.x/docs/python/python-overview/index.mdx", + }, + { from: "/v2.14/docs/reference-all-goals", to: "/2.14.x/reference/goals" }, + { + from: "/v2.14/docs/reference-all-subsystems", + to: "/2.14.x/reference/subsystems", + }, + { + from: "/v2.14/docs/reference-all-targets", + to: "/2.14.x/reference/targets", + }, + { + from: "/v2.14/docs/reference-anonymous-telemetry", + to: "/2.14.x/reference/subsystems/anonymous-telemetry.mdx", + }, + { + from: "/v2.14/docs/reference-apache-thrift", + to: "/2.14.x/reference/subsystems/apache-thrift.mdx", + }, + { + from: "/v2.14/docs/reference-archive", + to: "/2.14.x/reference/targets/archive.mdx", + }, + { + from: "/v2.14/docs/reference-autoflake", + to: "/2.14.x/reference/subsystems/autoflake.mdx", + }, + { + from: "/v2.14/docs/reference-bandit", + to: "/2.14.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.14/docs/reference-black", + to: "/2.14.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.14/docs/reference-buf", + to: "/2.14.x/reference/subsystems/buf.mdx", + }, + { + from: "/v2.14/docs/reference-buildifier", + to: "/2.14.x/reference/subsystems/buildifier.mdx", + }, + { + from: "/v2.14/docs/reference-changed", + to: "/2.14.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.14/docs/reference-check", + to: "/2.14.x/reference/goals/check.mdx", + }, + { + from: "/v2.14/docs/reference-cli", + to: "/2.14.x/reference/subsystems/cli.mdx", + }, + { + from: "/v2.14/docs/reference-count-loc", + to: "/2.14.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.14/docs/reference-coursier", + to: "/2.14.x/reference/subsystems/coursier.mdx", + }, + { + from: "/v2.14/docs/reference-coverage-py", + to: "/2.14.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.14/docs/reference-debug-adapter", + to: "/2.14.x/reference/subsystems/debug-adapter.mdx", + }, + { + from: "/v2.14/docs/reference-debugpy", + to: "/2.14.x/reference/subsystems/debugpy.mdx", + }, + { + from: "/v2.14/docs/reference-dependees", + to: "/2.14.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.14/docs/reference-dependencies", + to: "/2.14.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.14/docs/reference-deploy_jar", + to: "/2.14.x/reference/targets/deploy_jar.mdx", + }, + { + from: "/v2.14/docs/reference-docformatter", + to: "/2.14.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.14/docs/reference-docker_image", + to: "/2.14.x/reference/targets/docker_image.mdx", + }, + { + from: "/v2.14/docs/reference-docker", + to: "/2.14.x/reference/subsystems/docker.mdx", + }, + { + from: "/v2.14/docs/reference-dockerfile-parser", + to: "/2.14.x/reference/subsystems/dockerfile-parser.mdx", + }, + { + from: "/v2.14/docs/reference-download-terraform", + to: "/2.14.x/reference/subsystems/download-terraform.mdx", + }, + { + from: "/v2.14/docs/reference-experimental_run_shell_command", + to: "/2.14.x/reference/targets/experimental_run_shell_command.mdx", + }, + { + from: "/v2.14/docs/reference-experimental_shell_command", + to: "/2.14.x/reference/targets/experimental_shell_command.mdx", + }, + { + from: "/v2.14/docs/reference-experimental-bsp", + to: "/2.14.x/reference/goals/experimental-bsp.mdx", + }, + { + from: "/v2.14/docs/reference-experimental-deploy", + to: "/2.14.x/reference/goals/experimental-deploy.mdx", + }, + { + from: "/v2.14/docs/reference-experimental-explorer", + to: "/2.14.x/reference/goals/experimental-explorer.mdx", + }, + { + from: "/v2.14/docs/reference-export-codegen", + to: "/2.14.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.14/docs/reference-export", + to: "/2.14.x/reference/goals/export.mdx", + }, + { + from: "/v2.14/docs/reference-file", + to: "/2.14.x/reference/targets/file.mdx", + }, + { + from: "/v2.14/docs/reference-filedeps", + to: "/2.14.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.14/docs/reference-files", + to: "/2.14.x/reference/targets/files.mdx", + }, + { + from: "/v2.14/docs/reference-filter", + to: "/2.14.x/reference/subsystems/filter.mdx", + }, + { + from: "/v2.14/docs/reference-flake8", + to: "/2.14.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.14/docs/reference-fmt", to: "/2.14.x/reference/goals/fmt.mdx" }, + { + from: "/v2.14/docs/reference-generate-lockfiles", + to: "/2.14.x/reference/goals/generate-lockfiles.mdx", + }, + { + from: "/v2.14/docs/reference-global", + to: "/2.14.x/reference/global-options.mdx", + }, + { + from: "/v2.14/docs/reference-go_binary", + to: "/2.14.x/reference/targets/go_binary.mdx", + }, + { + from: "/v2.14/docs/reference-go_mod", + to: "/2.14.x/reference/targets/go_mod.mdx", + }, + { + from: "/v2.14/docs/reference-go_package", + to: "/2.14.x/reference/targets/go_package.mdx", + }, + { + from: "/v2.14/docs/reference-go_third_party_package", + to: "/2.14.x/reference/targets/go_third_party_package.mdx", + }, + { + from: "/v2.14/docs/reference-go-test", + to: "/2.14.x/reference/subsystems/go-test.mdx", + }, + { + from: "/v2.14/docs/reference-gofmt", + to: "/2.14.x/reference/subsystems/gofmt.mdx", + }, + { + from: "/v2.14/docs/reference-golang", + to: "/2.14.x/reference/subsystems/golang.mdx", + }, + { + from: "/v2.14/docs/reference-google-java-format", + to: "/2.14.x/reference/subsystems/google-java-format.mdx", + }, + { + from: "/v2.14/docs/reference-grpc-python-plugin", + to: "/2.14.x/reference/subsystems/grpc-python-plugin.mdx", + }, + { + from: "/v2.14/docs/reference-hadolint", + to: "/2.14.x/reference/subsystems/hadolint.mdx", + }, + { + from: "/v2.14/docs/reference-helm_artifact", + to: "/2.14.x/reference/targets/helm_artifact.mdx", + }, + { + from: "/v2.14/docs/reference-helm_chart", + to: "/2.14.x/reference/targets/helm_chart.mdx", + }, + { + from: "/v2.14/docs/reference-helm_deployment", + to: "/2.14.x/reference/targets/helm_deployment.mdx", + }, + { + from: "/v2.14/docs/reference-helm_unittest_test", + to: "/2.14.x/reference/targets/helm_unittest_test.mdx", + }, + { + from: "/v2.14/docs/reference-helm_unittest_tests", + to: "/2.14.x/reference/targets/helm_unittest_tests.mdx", + }, + { + from: "/v2.14/docs/reference-helm-k8s-parser", + to: "/2.14.x/reference/subsystems/helm-k8s-parser.mdx", + }, + { + from: "/v2.14/docs/reference-helm-post-renderer", + to: "/2.14.x/reference/subsystems/helm-post-renderer.mdx", + }, + { + from: "/v2.14/docs/reference-helm-unittest", + to: "/2.14.x/reference/subsystems/helm-unittest.mdx", + }, + { + from: "/v2.14/docs/reference-helm", + to: "/2.14.x/reference/subsystems/helm.mdx", + }, + { + from: "/v2.14/docs/reference-help-advanced", + to: "/2.14.x/reference/goals/help-advanced.mdx", + }, + { + from: "/v2.14/docs/reference-help-all", + to: "/2.14.x/reference/goals/help-all.mdx", + }, + { + from: "/v2.14/docs/reference-help", + to: "/2.14.x/reference/goals/help.mdx", + }, + { + from: "/v2.14/docs/reference-ipython", + to: "/2.14.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.14/docs/reference-isort", + to: "/2.14.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.14/docs/reference-java_source", + to: "/2.14.x/reference/targets/java_source.mdx", + }, + { + from: "/v2.14/docs/reference-java_sources", + to: "/2.14.x/reference/targets/java_sources.mdx", + }, + { + from: "/v2.14/docs/reference-java-infer", + to: "/2.14.x/reference/subsystems/java-infer.mdx", + }, + { + from: "/v2.14/docs/reference-javac", + to: "/2.14.x/reference/subsystems/javac.mdx", + }, + { + from: "/v2.14/docs/reference-junit_test", + to: "/2.14.x/reference/targets/junit_test.mdx", + }, + { + from: "/v2.14/docs/reference-junit_tests", + to: "/2.14.x/reference/targets/junit_tests.mdx", + }, + { + from: "/v2.14/docs/reference-junit", + to: "/2.14.x/reference/subsystems/junit.mdx", + }, + { + from: "/v2.14/docs/reference-jvm_artifact", + to: "/2.14.x/reference/targets/jvm_artifact.mdx", + }, + { + from: "/v2.14/docs/reference-jvm_war", + to: "/2.14.x/reference/targets/jvm_war.mdx", + }, + { + from: "/v2.14/docs/reference-jvm", + to: "/2.14.x/reference/subsystems/jvm.mdx", + }, + { + from: "/v2.14/docs/reference-kotlin_junit_test", + to: "/2.14.x/reference/targets/kotlin_junit_test.mdx", + }, + { + from: "/v2.14/docs/reference-kotlin_junit_tests", + to: "/2.14.x/reference/targets/kotlin_junit_tests.mdx", + }, + { + from: "/v2.14/docs/reference-kotlin_source", + to: "/2.14.x/reference/targets/kotlin_source.mdx", + }, + { + from: "/v2.14/docs/reference-kotlin_sources", + to: "/2.14.x/reference/targets/kotlin_sources.mdx", + }, + { + from: "/v2.14/docs/reference-kotlin-infer", + to: "/2.14.x/reference/subsystems/kotlin-infer.mdx", + }, + { + from: "/v2.14/docs/reference-kotlin", + to: "/2.14.x/reference/subsystems/kotlin.mdx", + }, + { + from: "/v2.14/docs/reference-kotlinc_plugin", + to: "/2.14.x/reference/targets/kotlinc_plugin.mdx", + }, + { + from: "/v2.14/docs/reference-kotlinc", + to: "/2.14.x/reference/subsystems/kotlinc.mdx", + }, + { + from: "/v2.14/docs/reference-ktlint", + to: "/2.14.x/reference/subsystems/ktlint.mdx", + }, + { + from: "/v2.14/docs/reference-lambdex", + to: "/2.14.x/reference/subsystems/lambdex.mdx", + }, + { + from: "/v2.14/docs/reference-lint", + to: "/2.14.x/reference/goals/lint.mdx", + }, + { + from: "/v2.14/docs/reference-list", + to: "/2.14.x/reference/goals/list.mdx", + }, + { + from: "/v2.14/docs/reference-mypy-protobuf", + to: "/2.14.x/reference/subsystems/mypy-protobuf.mdx", + }, + { + from: "/v2.14/docs/reference-mypy", + to: "/2.14.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.14/docs/reference-package", + to: "/2.14.x/reference/goals/package.mdx", + }, + { + from: "/v2.14/docs/reference-pants_requirements", + to: "/2.14.x/reference/targets/pants_requirements.mdx", + }, + { + from: "/v2.14/docs/reference-paths", + to: "/2.14.x/reference/goals/paths.mdx", + }, + { + from: "/v2.14/docs/reference-peek", + to: "/2.14.x/reference/goals/peek.mdx", + }, + { + from: "/v2.14/docs/reference-pex_binaries", + to: "/2.14.x/reference/targets/pex_binaries.mdx", + }, + { + from: "/v2.14/docs/reference-pex_binary", + to: "/2.14.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.14/docs/reference-pex-binary-defaults", + to: "/2.14.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.14/docs/reference-pex-cli", + to: "/2.14.x/reference/subsystems/pex-cli.mdx", + }, + { + from: "/v2.14/docs/reference-pex", + to: "/2.14.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.14/docs/reference-pipenv_requirements", + to: "/2.14.x/reference/targets/pipenv_requirements.mdx", + }, + { + from: "/v2.14/docs/reference-poetry_requirements", + to: "/2.14.x/reference/targets/poetry_requirements.mdx", + }, + { + from: "/v2.14/docs/reference-poetry", + to: "/2.14.x/reference/subsystems/poetry.mdx", + }, + { + from: "/v2.14/docs/reference-protobuf_source", + to: "/2.14.x/reference/targets/protobuf_source.mdx", + }, + { + from: "/v2.14/docs/reference-protobuf_sources", + to: "/2.14.x/reference/targets/protobuf_sources.mdx", + }, + { + from: "/v2.14/docs/reference-protobuf-java-grpc", + to: "/2.14.x/reference/subsystems/protobuf-java-grpc.mdx", + }, + { + from: "/v2.14/docs/reference-protoc", + to: "/2.14.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.14/docs/reference-publish", + to: "/2.14.x/reference/goals/publish.mdx", + }, + { + from: "/v2.14/docs/reference-py-constraints", + to: "/2.14.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.14/docs/reference-pylint", + to: "/2.14.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.14/docs/reference-pyoxidizer_binary", + to: "/2.14.x/reference/targets/pyoxidizer_binary.mdx", + }, + { + from: "/v2.14/docs/reference-pyoxidizer", + to: "/2.14.x/reference/subsystems/pyoxidizer.mdx", + }, + { + from: "/v2.14/docs/reference-pytest", + to: "/2.14.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.14/docs/reference-python_awslambda", + to: "/2.14.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.14/docs/reference-python_distribution", + to: "/2.14.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.14/docs/reference-python_google_cloud_function", + to: "/2.14.x/reference/targets/python_google_cloud_function.mdx", + }, + { + from: "/v2.14/docs/reference-python_requirement", + to: "/2.14.x/reference/targets/python_requirement.mdx", + }, + { + from: "/v2.14/docs/reference-python_requirements", + to: "/2.14.x/reference/targets/python_requirements.mdx", + }, + { + from: "/v2.14/docs/reference-python_source", + to: "/2.14.x/reference/targets/python_source.mdx", + }, + { + from: "/v2.14/docs/reference-python_sources", + to: "/2.14.x/reference/targets/python_sources.mdx", + }, + { + from: "/v2.14/docs/reference-python_test_utils", + to: "/2.14.x/reference/targets/python_test_utils.mdx", + }, + { + from: "/v2.14/docs/reference-python_test", + to: "/2.14.x/reference/targets/python_test.mdx", + }, + { + from: "/v2.14/docs/reference-python_tests", + to: "/2.14.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.14/docs/reference-python-bootstrap", + to: "/2.14.x/reference/subsystems/python-bootstrap.mdx", + }, + { + from: "/v2.14/docs/reference-python-infer", + to: "/2.14.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.14/docs/reference-python-native-code", + to: "/2.14.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.14/docs/reference-python-protobuf", + to: "/2.14.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.14/docs/reference-python-repos", + to: "/2.14.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.14/docs/reference-python-thrift", + to: "/2.14.x/reference/subsystems/python-thrift.mdx", + }, + { + from: "/v2.14/docs/reference-python", + to: "/2.14.x/reference/subsystems/python.mdx", + }, + { + from: "/v2.14/docs/reference-pyupgrade", + to: "/2.14.x/reference/subsystems/pyupgrade.mdx", + }, + { + from: "/v2.14/docs/reference-regex-lint", + to: "/2.14.x/reference/subsystems/regex-lint.mdx", + }, + { + from: "/v2.14/docs/reference-relocated_files", + to: "/2.14.x/reference/targets/relocated_files.mdx", + }, + { + from: "/v2.14/docs/reference-repl", + to: "/2.14.x/reference/goals/repl.mdx", + }, + { + from: "/v2.14/docs/reference-resource", + to: "/2.14.x/reference/targets/resource.mdx", + }, + { + from: "/v2.14/docs/reference-resources", + to: "/2.14.x/reference/targets/resources.mdx", + }, + { + from: "/v2.14/docs/reference-roots", + to: "/2.14.x/reference/goals/roots.mdx", + }, + { from: "/v2.14/docs/reference-run", to: "/2.14.x/reference/goals/run.mdx" }, + { + from: "/v2.14/docs/reference-scala_junit_test", + to: "/2.14.x/reference/targets/scala_junit_test.mdx", + }, + { + from: "/v2.14/docs/reference-scala_junit_tests", + to: "/2.14.x/reference/targets/scala_junit_tests.mdx", + }, + { + from: "/v2.14/docs/reference-scala_source", + to: "/2.14.x/reference/targets/scala_source.mdx", + }, + { + from: "/v2.14/docs/reference-scala_sources", + to: "/2.14.x/reference/targets/scala_sources.mdx", + }, + { + from: "/v2.14/docs/reference-scala-infer", + to: "/2.14.x/reference/subsystems/scala-infer.mdx", + }, + { + from: "/v2.14/docs/reference-scala", + to: "/2.14.x/reference/subsystems/scala.mdx", + }, + { + from: "/v2.14/docs/reference-scalac_plugin", + to: "/2.14.x/reference/targets/scalac_plugin.mdx", + }, + { + from: "/v2.14/docs/reference-scalac", + to: "/2.14.x/reference/subsystems/scalac.mdx", + }, + { + from: "/v2.14/docs/reference-scalafmt", + to: "/2.14.x/reference/subsystems/scalafmt.mdx", + }, + { + from: "/v2.14/docs/reference-scalapb", + to: "/2.14.x/reference/subsystems/scalapb.mdx", + }, + { + from: "/v2.14/docs/reference-scalatest_test", + to: "/2.14.x/reference/targets/scalatest_test.mdx", + }, + { + from: "/v2.14/docs/reference-scalatest_tests", + to: "/2.14.x/reference/targets/scalatest_tests.mdx", + }, + { + from: "/v2.14/docs/reference-scalatest", + to: "/2.14.x/reference/subsystems/scalatest.mdx", + }, + { + from: "/v2.14/docs/reference-scc", + to: "/2.14.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.14/docs/reference-setup-py-generation", + to: "/2.14.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.14/docs/reference-setuptools-scm", + to: "/2.14.x/reference/subsystems/setuptools-scm.mdx", + }, + { + from: "/v2.14/docs/reference-setuptools", + to: "/2.14.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.14/docs/reference-shell_source", + to: "/2.14.x/reference/targets/shell_source.mdx", + }, + { + from: "/v2.14/docs/reference-shell_sources", + to: "/2.14.x/reference/targets/shell_sources.mdx", + }, + { + from: "/v2.14/docs/reference-shell-setup", + to: "/2.14.x/reference/subsystems/shell-setup.mdx", + }, + { + from: "/v2.14/docs/reference-shellcheck", + to: "/2.14.x/reference/subsystems/shellcheck.mdx", + }, + { + from: "/v2.14/docs/reference-shfmt", + to: "/2.14.x/reference/subsystems/shfmt.mdx", + }, + { + from: "/v2.14/docs/reference-shunit2_test", + to: "/2.14.x/reference/targets/shunit2_test.mdx", + }, + { + from: "/v2.14/docs/reference-shunit2_tests", + to: "/2.14.x/reference/targets/shunit2_tests.mdx", + }, + { + from: "/v2.14/docs/reference-source", + to: "/2.14.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.14/docs/reference-stats", + to: "/2.14.x/reference/subsystems/stats.mdx", + }, + { + from: "/v2.14/docs/reference-subprocess-environment", + to: "/2.14.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.14/docs/reference-tailor", + to: "/2.14.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.14/docs/reference-target", + to: "/2.14.x/reference/targets/target.mdx", + }, + { + from: "/v2.14/docs/reference-terraform_module", + to: "/2.14.x/reference/targets/terraform_module.mdx", + }, + { + from: "/v2.14/docs/reference-terraform-fmt", + to: "/2.14.x/reference/subsystems/terraform-fmt.mdx", + }, + { + from: "/v2.14/docs/reference-terraform-hcl2-parser", + to: "/2.14.x/reference/subsystems/terraform-hcl2-parser.mdx", + }, + { + from: "/v2.14/docs/reference-terraform-validate", + to: "/2.14.x/reference/subsystems/terraform-validate.mdx", + }, + { + from: "/v2.14/docs/reference-test", + to: "/2.14.x/reference/goals/test.mdx", + }, + { + from: "/v2.14/docs/reference-thrift_source", + to: "/2.14.x/reference/targets/thrift_source.mdx", + }, + { + from: "/v2.14/docs/reference-thrift_sources", + to: "/2.14.x/reference/targets/thrift_sources.mdx", + }, + { + from: "/v2.14/docs/reference-thrift", + to: "/2.14.x/reference/subsystems/thrift.mdx", + }, + { + from: "/v2.14/docs/reference-twine", + to: "/2.14.x/reference/subsystems/twine.mdx", + }, + { + from: "/v2.14/docs/reference-update-build-files", + to: "/2.14.x/reference/goals/update-build-files.mdx", + }, + { + from: "/v2.14/docs/reference-vcs_version", + to: "/2.14.x/reference/targets/vcs_version.mdx", + }, + { + from: "/v2.14/docs/reference-version", + to: "/2.14.x/reference/goals/version.mdx", + }, + { + from: "/v2.14/docs/reference-yapf", + to: "/2.14.x/reference/subsystems/yapf.mdx", + }, + { from: "/v2.14/docs/reference", to: "/2.14.x/reference/index.mdx" }, + { from: "/v2.14/docs/release-notes", to: "/2.14.x/docs/releases/index.mdx" }, + { + from: "/v2.14/docs/release-process", + to: "/2.14.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.14/docs/release-strategy", + to: "/2.14.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.14/docs/releases", + to: "/2.14.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.14/docs/remote-caching-execution", + to: "/2.14.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.14/docs/remote-caching", + to: "/2.14.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.14/docs/remote-execution", + to: "/2.14.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.14/docs/restricted-internet-access", + to: "/2.14.x/docs/using-pants/restricted-internet-access.mdx", + }, + { + from: "/v2.14/docs/rules-api-and-target-api", + to: "/2.14.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.14/docs/rules-api-concepts", + to: "/2.14.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.14/docs/rules-api-file-system", + to: "/2.14.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.14/docs/rules-api-goal-rules", + to: "/2.14.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.14/docs/rules-api-installing-tools", + to: "/2.14.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.14/docs/rules-api-logging", + to: "/2.14.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.14/docs/rules-api-process", + to: "/2.14.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.14/docs/rules-api-subsystems", + to: "/2.14.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.14/docs/rules-api-testing", + to: "/2.14.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.14/docs/rules-api-tips", + to: "/2.14.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.14/docs/rules-api-unions", + to: "/2.14.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.14/docs/rules-api", + to: "/2.14.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.14/docs/run-shell-commands", + to: "/2.14.x/docs/shell/run-shell-commands.mdx", + }, + { + from: "/v2.14/docs/running-pants-from-sources", + to: "/2.14.x/docs/contributions/development/running-pants-from-sources.mdx", + }, + { + from: "/v2.14/docs/setting-up-an-ide", + to: "/2.14.x/docs/using-pants/setting-up-an-ide.mdx", + }, + { from: "/v2.14/docs/shell", to: "/2.14.x/docs/shell/shell-overview.mdx" }, + { + from: "/v2.14/docs/source-roots", + to: "/2.14.x/docs/using-pants/key-concepts/source-roots.mdx", + }, + { + from: "/v2.14/docs/style-guide", + to: "/2.14.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.14/docs/tagging-docker-images", + to: "/2.14.x/docs/docker/tagging-docker-images.mdx", + }, + { + from: "/v2.14/docs/target-api-concepts", + to: "/2.14.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.14/docs/target-api-extending-targets", + to: "/2.14.x/docs/writing-plugins/the-target-api/extending-existing-targets.mdx", + }, + { + from: "/v2.14/docs/target-api-new-fields", + to: "/2.14.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.14/docs/target-api-new-targets", + to: "/2.14.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.14/docs/target-api", + to: "/2.14.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.14/docs/targets", + to: "/2.14.x/docs/using-pants/key-concepts/targets-and-build-files.mdx", + }, + { from: "/v2.14/docs/team", to: "/2.14.x/community/meet-the-team" }, + { from: "/v2.14/docs/testimonials", to: "/2.14.x/spotlight/testimonials" }, + { from: "/v2.14/docs/the-pants-community", to: "/2.14.x/community/members" }, + { + from: "/v2.14/docs/thrift-python", + to: "/2.14.x/docs/python/integrations/thrift.mdx", + }, + { + from: "/v2.14/docs/troubleshooting", + to: "/2.14.x/docs/using-pants/troubleshooting-common-issues.mdx", + }, + { + from: "/v2.14/docs/upgrade-tips", + to: "/2.14.x/docs/releases/upgrade-tips.mdx", + }, + { + from: "/v2.14/docs/using-pants-in-ci", + to: "/2.14.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.14/docs/using-pants", to: "/2.14.x/docs/using-pants/index.mdx" }, + { + from: "/v2.14/docs/welcome-to-pants", + to: "/2.14.x/docs/introduction/welcome-to-pants.mdx", + }, + { from: "/v2.14/docs/who-uses-pants", to: "/2.14.x/spotlight/users" }, + { + from: "/v2.14/docs/writing-plugins", + to: "/2.14.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.15/docs/advanced-plugin-concepts", + to: "/2.15.x/docs/tutorials/advanced-plugin-concepts.mdx", + }, + { + from: "/v2.15/docs/advanced-target-selection", + to: "/2.15.x/docs/using-pants/advanced-target-selection.mdx", + }, + { + from: "/v2.15/docs/anonymous-telemetry", + to: "/2.15.x/docs/using-pants/anonymous-telemetry.mdx", + }, + { + from: "/v2.15/docs/assets", + to: "/2.15.x/docs/using-pants/assets-and-archives.mdx", + }, + { + from: "/v2.15/docs/awslambda-python", + to: "/2.15.x/docs/python/integrations/aws-lambda.mdx", + }, + { from: "/v2.15/docs/changelog", to: "/2.15.x/versions" }, + { + from: "/v2.15/docs/ci-for-macos-on-arm64", + to: "/2.15.x/docs/contributions/releases/github-actions-macos-arm64-runners.mdx", + }, + { + from: "/v2.15/docs/code-of-conduct", + to: "/2.15.x/community/code-of-conduct", + }, + { + from: "/v2.15/docs/command-line-help", + to: "/2.15.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.15/docs/common-plugin-tasks", + to: "/2.15.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.15/docs/community", to: "/2.15.x/community/members" }, + { + from: "/v2.15/docs/concepts", + to: "/2.15.x/docs/using-pants/key-concepts/index.mdx", + }, + { + from: "/v2.15/docs/contentious-decisions", + to: "/2.15.x/community/contentious-decisions", + }, + { + from: "/v2.15/docs/contributing-to-pants", + to: "/2.15.x/docs/contributions/index.mdx", + }, + { + from: "/v2.15/docs/contributions-debugging", + to: "/2.15.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.15/docs/contributions-rust", + to: "/2.15.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.15/docs/contributor-overview", + to: "/2.15.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.15/docs/contributor-setup", + to: "/2.15.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.15/docs/create-a-new-goal", + to: "/2.15.x/docs/tutorials/create-a-new-goal.mdx", + }, + { + from: "/v2.15/docs/deprecation-policy", + to: "/2.15.x/docs/releases/deprecation-policy.mdx", + }, + { + from: "/v2.15/docs/development", + to: "/2.15.x/docs/contributions/development/index.mdx", + }, + { from: "/v2.15/docs/docker", to: "/2.15.x/docs/docker/docker-overview.mdx" }, + { + from: "/v2.15/docs/documentation", + to: "/2.15.x/docs/introduction/index.mdx", + }, + { + from: "/v2.15/docs/enabling-backends", + to: "/2.15.x/docs/using-pants/key-concepts/backends.mdx", + }, + { + from: "/v2.15/docs/environments", + to: "/2.15.x/docs/using-pants/environments:-cross-platform-or-remote-builds.mdx", + }, + { + from: "/v2.15/docs/example-repos", + to: "/2.15.x/docs/getting-started/getting-started/example-projects-and-repositories.mdx", + }, + { + from: "/v2.15/docs/existing-repositories", + to: "/2.15.x/docs/getting-started/getting-started/incremental-adoption.mdx", + }, + { + from: "/v2.15/docs/generating-version-tags", + to: "/2.15.x/docs/using-pants/generating-version-tags-from-git.mdx", + }, + { from: "/v2.15/docs/getting-help", to: "/2.15.x/community/getting-help" }, + { + from: "/v2.15/docs/getting-started", + to: "/2.15.x/docs/getting-started/getting-started/index.mdx", + }, + { + from: "/v2.15/docs/go-integrations", + to: "/2.15.x/docs/go/integrations/index.mdx", + }, + { from: "/v2.15/docs/go", to: "/2.15.x/docs/go/go-overview.mdx" }, + { + from: "/v2.15/docs/goals", + to: "/2.15.x/docs/using-pants/key-concepts/goals.mdx", + }, + { + from: "/v2.15/docs/google-cloud-function-python", + to: "/2.15.x/docs/python/integrations/google-cloud-functions.mdx", + }, + { + from: "/v2.15/docs/helm-deployments", + to: "/2.15.x/docs/helm/deployments.mdx", + }, + { + from: "/v2.15/docs/helm-overview", + to: "/2.15.x/docs/helm/helm-overview.mdx", + }, + { from: "/v2.15/docs/helm", to: "/2.15.x/docs/helm/index.mdx" }, + { + from: "/v2.15/docs/how-does-pants-work", + to: "/2.15.x/docs/getting-started/getting-started/how-does-pants-work.mdx", + }, + { + from: "/v2.15/docs/initial-configuration", + to: "/2.15.x/docs/getting-started/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.15/docs/installation", + to: "/2.15.x/docs/getting-started/getting-started/installing-pants.mdx", + }, + { + from: "/v2.15/docs/internal-rules-architecture", + to: "/2.15.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.15/docs/jupyter", + to: "/2.15.x/docs/python/integrations/jupyter.mdx", + }, + { + from: "/v2.15/docs/jvm-overview", + to: "/2.15.x/docs/java-and-scala/java-and-scala-overview.mdx", + }, + { from: "/v2.15/docs/jvm", to: "/2.15.x/docs/java-and-scala/index.mdx" }, + { from: "/v2.15/docs/kotlin", to: "/2.15.x/docs/java-and-scala/kotlin.mdx" }, + { + from: "/v2.15/docs/language-support", + to: "/2.15.x/spotlight/language-support", + }, + { from: "/v2.15/docs/macros", to: "/2.15.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.15/docs/maintainers", to: "/2.15.x/community/maintainers" }, + { + from: "/v2.15/docs/manual-installation", + to: "/2.15.x/docs/getting-started/getting-started/manual-installation.mdx", + }, + { from: "/v2.15/docs/media", to: "/2.15.x/spotlight/media" }, + { from: "/v2.15/docs/news-room", to: "/2.15.x/spotlight/media" }, + { + from: "/v2.15/docs/options", + to: "/2.15.x/docs/using-pants/key-concepts/options.mdx", + }, + { + from: "/v2.15/docs/pex-files", + to: "/2.15.x/docs/python/python-overview/pex-files.mdx", + }, + { + from: "/v2.15/docs/plugin-upgrade-guide", + to: "/2.15.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.15/docs/plugins-codegen", + to: "/2.15.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.15/docs/plugins-fmt-goal", + to: "/2.15.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.15/docs/plugins-lint-goal", + to: "/2.15.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.15/docs/plugins-overview", + to: "/2.15.x/docs/writing-plugins/plugins-overview.mdx", + }, + { + from: "/v2.15/docs/plugins-repl-goal", + to: "/2.15.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.15/docs/plugins-setup-py", + to: "/2.15.x/docs/writing-plugins/common-plugin-tasks/custom-python-artifact-kwargs.mdx", + }, + { + from: "/v2.15/docs/plugins-test-goal", + to: "/2.15.x/docs/writing-plugins/common-plugin-tasks/run-tests.mdx", + }, + { + from: "/v2.15/docs/plugins-typecheck-goal", + to: "/2.15.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.15/docs/prerequisites", + to: "/2.15.x/docs/getting-started/getting-started/prerequisites.mdx", + }, + { + from: "/v2.15/docs/project-introspection", + to: "/2.15.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.15/docs/protobuf-go", + to: "/2.15.x/docs/go/integrations/protobuf.mdx", + }, + { + from: "/v2.15/docs/protobuf-python", + to: "/2.15.x/docs/python/integrations/protobuf-and-grpc.mdx", + }, + { + from: "/v2.15/docs/pyoxidizer", + to: "/2.15.x/docs/python/integrations/pyoxidizer.mdx", + }, + { + from: "/v2.15/docs/python-backend", + to: "/2.15.x/docs/python/python-overview/enabling-python-support.mdx", + }, + { + from: "/v2.15/docs/python-check-goal", + to: "/2.15.x/docs/python/goals/check.mdx", + }, + { + from: "/v2.15/docs/python-distributions", + to: "/2.15.x/docs/python/python-overview/building-distributions.mdx", + }, + { + from: "/v2.15/docs/python-fmt-goal", + to: "/2.15.x/docs/python/goals/fmt.mdx", + }, + { + from: "/v2.15/docs/python-goals", + to: "/2.15.x/docs/python/goals/index.mdx", + }, + { + from: "/v2.15/docs/python-integrations", + to: "/2.15.x/docs/python/integrations/index.mdx", + }, + { + from: "/v2.15/docs/python-interpreter-compatibility", + to: "/2.15.x/docs/python/python-overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.15/docs/python-lint-goal", + to: "/2.15.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.15/docs/python-linters-and-formatters", + to: "/2.15.x/docs/python/python-overview/linters-and-formatters.mdx", + }, + { + from: "/v2.15/docs/python-package-goal", + to: "/2.15.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.15/docs/python-publish-goal", + to: "/2.15.x/docs/python/goals/publish.mdx", + }, + { + from: "/v2.15/docs/python-repl-goal", + to: "/2.15.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.15/docs/python-run-goal", + to: "/2.15.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.15/docs/python-test-goal", + to: "/2.15.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.15/docs/python-third-party-dependencies", + to: "/2.15.x/docs/python/python-overview/third-party-dependencies.mdx", + }, + { + from: "/v2.15/docs/python", + to: "/2.15.x/docs/python/python-overview/index.mdx", + }, + { + from: "/v2.15/docs/reference-add-trailing-comma", + to: "/2.15.x/reference/subsystems/add-trailing-comma.mdx", + }, + { from: "/v2.15/docs/reference-all-goals", to: "/2.15.x/reference/goals" }, + { + from: "/v2.15/docs/reference-all-subsystems", + to: "/2.15.x/reference/subsystems", + }, + { + from: "/v2.15/docs/reference-all-targets", + to: "/2.15.x/reference/targets", + }, + { + from: "/v2.15/docs/reference-anonymous-telemetry", + to: "/2.15.x/reference/subsystems/anonymous-telemetry.mdx", + }, + { + from: "/v2.15/docs/reference-apache-thrift", + to: "/2.15.x/reference/subsystems/apache-thrift.mdx", + }, + { + from: "/v2.15/docs/reference-archive", + to: "/2.15.x/reference/targets/archive.mdx", + }, + { + from: "/v2.15/docs/reference-autoflake", + to: "/2.15.x/reference/subsystems/autoflake.mdx", + }, + { + from: "/v2.15/docs/reference-bandit", + to: "/2.15.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.15/docs/reference-black", + to: "/2.15.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.15/docs/reference-buf", + to: "/2.15.x/reference/subsystems/buf.mdx", + }, + { + from: "/v2.15/docs/reference-build-deprecations-fixer", + to: "/2.15.x/reference/subsystems/build-deprecations-fixer.mdx", + }, + { + from: "/v2.15/docs/reference-buildifier", + to: "/2.15.x/reference/subsystems/buildifier.mdx", + }, + { + from: "/v2.15/docs/reference-changed", + to: "/2.15.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.15/docs/reference-check", + to: "/2.15.x/reference/goals/check.mdx", + }, + { + from: "/v2.15/docs/reference-cli", + to: "/2.15.x/reference/subsystems/cli.mdx", + }, + { + from: "/v2.15/docs/reference-count-loc", + to: "/2.15.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.15/docs/reference-coursier", + to: "/2.15.x/reference/subsystems/coursier.mdx", + }, + { + from: "/v2.15/docs/reference-coverage-py", + to: "/2.15.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.15/docs/reference-debug-adapter", + to: "/2.15.x/reference/subsystems/debug-adapter.mdx", + }, + { + from: "/v2.15/docs/reference-debugpy", + to: "/2.15.x/reference/subsystems/debugpy.mdx", + }, + { + from: "/v2.15/docs/reference-dependees", + to: "/2.15.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.15/docs/reference-dependencies", + to: "/2.15.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.15/docs/reference-deploy_jar", + to: "/2.15.x/reference/targets/deploy_jar.mdx", + }, + { + from: "/v2.15/docs/reference-docformatter", + to: "/2.15.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.15/docs/reference-docker_environment", + to: "/2.15.x/reference/targets/docker_environment.mdx", + }, + { + from: "/v2.15/docs/reference-docker_image", + to: "/2.15.x/reference/targets/docker_image.mdx", + }, + { + from: "/v2.15/docs/reference-docker", + to: "/2.15.x/reference/subsystems/docker.mdx", + }, + { + from: "/v2.15/docs/reference-dockerfile-parser", + to: "/2.15.x/reference/subsystems/dockerfile-parser.mdx", + }, + { + from: "/v2.15/docs/reference-download-terraform", + to: "/2.15.x/reference/subsystems/download-terraform.mdx", + }, + { + from: "/v2.15/docs/reference-environments-preview", + to: "/2.15.x/reference/subsystems/environments-preview.mdx", + }, + { + from: "/v2.15/docs/reference-experimental_run_shell_command", + to: "/2.15.x/reference/targets/experimental_run_shell_command.mdx", + }, + { + from: "/v2.15/docs/reference-experimental_shell_command", + to: "/2.15.x/reference/targets/experimental_shell_command.mdx", + }, + { + from: "/v2.15/docs/reference-experimental-bsp", + to: "/2.15.x/reference/goals/experimental-bsp.mdx", + }, + { + from: "/v2.15/docs/reference-experimental-deploy", + to: "/2.15.x/reference/goals/experimental-deploy.mdx", + }, + { + from: "/v2.15/docs/reference-experimental-explorer", + to: "/2.15.x/reference/goals/experimental-explorer.mdx", + }, + { + from: "/v2.15/docs/reference-export-codegen", + to: "/2.15.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.15/docs/reference-export", + to: "/2.15.x/reference/goals/export.mdx", + }, + { + from: "/v2.15/docs/reference-file", + to: "/2.15.x/reference/targets/file.mdx", + }, + { + from: "/v2.15/docs/reference-filedeps", + to: "/2.15.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.15/docs/reference-files", + to: "/2.15.x/reference/targets/files.mdx", + }, + { + from: "/v2.15/docs/reference-filter", + to: "/2.15.x/reference/subsystems/filter.mdx", + }, + { from: "/v2.15/docs/reference-fix", to: "/2.15.x/reference/goals/fix.mdx" }, + { + from: "/v2.15/docs/reference-flake8", + to: "/2.15.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.15/docs/reference-fmt", to: "/2.15.x/reference/goals/fmt.mdx" }, + { + from: "/v2.15/docs/reference-generate-lockfiles", + to: "/2.15.x/reference/goals/generate-lockfiles.mdx", + }, + { + from: "/v2.15/docs/reference-global", + to: "/2.15.x/reference/global-options.mdx", + }, + { + from: "/v2.15/docs/reference-go_binary", + to: "/2.15.x/reference/targets/go_binary.mdx", + }, + { + from: "/v2.15/docs/reference-go_mod", + to: "/2.15.x/reference/targets/go_mod.mdx", + }, + { + from: "/v2.15/docs/reference-go_package", + to: "/2.15.x/reference/targets/go_package.mdx", + }, + { + from: "/v2.15/docs/reference-go_third_party_package", + to: "/2.15.x/reference/targets/go_third_party_package.mdx", + }, + { + from: "/v2.15/docs/reference-go-generate", + to: "/2.15.x/reference/goals/go-generate.mdx", + }, + { + from: "/v2.15/docs/reference-go-test", + to: "/2.15.x/reference/subsystems/go-test.mdx", + }, + { + from: "/v2.15/docs/reference-gofmt", + to: "/2.15.x/reference/subsystems/gofmt.mdx", + }, + { + from: "/v2.15/docs/reference-golang", + to: "/2.15.x/reference/subsystems/golang.mdx", + }, + { + from: "/v2.15/docs/reference-google-java-format", + to: "/2.15.x/reference/subsystems/google-java-format.mdx", + }, + { + from: "/v2.15/docs/reference-grpc-python-plugin", + to: "/2.15.x/reference/subsystems/grpc-python-plugin.mdx", + }, + { + from: "/v2.15/docs/reference-hadolint", + to: "/2.15.x/reference/subsystems/hadolint.mdx", + }, + { + from: "/v2.15/docs/reference-helm_artifact", + to: "/2.15.x/reference/targets/helm_artifact.mdx", + }, + { + from: "/v2.15/docs/reference-helm_chart", + to: "/2.15.x/reference/targets/helm_chart.mdx", + }, + { + from: "/v2.15/docs/reference-helm_deployment", + to: "/2.15.x/reference/targets/helm_deployment.mdx", + }, + { + from: "/v2.15/docs/reference-helm_unittest_test", + to: "/2.15.x/reference/targets/helm_unittest_test.mdx", + }, + { + from: "/v2.15/docs/reference-helm_unittest_tests", + to: "/2.15.x/reference/targets/helm_unittest_tests.mdx", + }, + { + from: "/v2.15/docs/reference-helm-k8s-parser", + to: "/2.15.x/reference/subsystems/helm-k8s-parser.mdx", + }, + { + from: "/v2.15/docs/reference-helm-post-renderer", + to: "/2.15.x/reference/subsystems/helm-post-renderer.mdx", + }, + { + from: "/v2.15/docs/reference-helm-unittest", + to: "/2.15.x/reference/subsystems/helm-unittest.mdx", + }, + { + from: "/v2.15/docs/reference-helm", + to: "/2.15.x/reference/subsystems/helm.mdx", + }, + { + from: "/v2.15/docs/reference-help-advanced", + to: "/2.15.x/reference/goals/help-advanced.mdx", + }, + { + from: "/v2.15/docs/reference-help-all", + to: "/2.15.x/reference/goals/help-all.mdx", + }, + { + from: "/v2.15/docs/reference-help", + to: "/2.15.x/reference/goals/help.mdx", + }, + { + from: "/v2.15/docs/reference-ipython", + to: "/2.15.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.15/docs/reference-isort", + to: "/2.15.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.15/docs/reference-java_source", + to: "/2.15.x/reference/targets/java_source.mdx", + }, + { + from: "/v2.15/docs/reference-java_sources", + to: "/2.15.x/reference/targets/java_sources.mdx", + }, + { + from: "/v2.15/docs/reference-java-infer", + to: "/2.15.x/reference/subsystems/java-infer.mdx", + }, + { + from: "/v2.15/docs/reference-javac", + to: "/2.15.x/reference/subsystems/javac.mdx", + }, + { + from: "/v2.15/docs/reference-junit_test", + to: "/2.15.x/reference/targets/junit_test.mdx", + }, + { + from: "/v2.15/docs/reference-junit_tests", + to: "/2.15.x/reference/targets/junit_tests.mdx", + }, + { + from: "/v2.15/docs/reference-junit", + to: "/2.15.x/reference/subsystems/junit.mdx", + }, + { + from: "/v2.15/docs/reference-jvm_artifact", + to: "/2.15.x/reference/targets/jvm_artifact.mdx", + }, + { + from: "/v2.15/docs/reference-jvm_war", + to: "/2.15.x/reference/targets/jvm_war.mdx", + }, + { + from: "/v2.15/docs/reference-jvm", + to: "/2.15.x/reference/subsystems/jvm.mdx", + }, + { + from: "/v2.15/docs/reference-kotlin_junit_test", + to: "/2.15.x/reference/targets/kotlin_junit_test.mdx", + }, + { + from: "/v2.15/docs/reference-kotlin_junit_tests", + to: "/2.15.x/reference/targets/kotlin_junit_tests.mdx", + }, + { + from: "/v2.15/docs/reference-kotlin_source", + to: "/2.15.x/reference/targets/kotlin_source.mdx", + }, + { + from: "/v2.15/docs/reference-kotlin_sources", + to: "/2.15.x/reference/targets/kotlin_sources.mdx", + }, + { + from: "/v2.15/docs/reference-kotlin-infer", + to: "/2.15.x/reference/subsystems/kotlin-infer.mdx", + }, + { + from: "/v2.15/docs/reference-kotlin", + to: "/2.15.x/reference/subsystems/kotlin.mdx", + }, + { + from: "/v2.15/docs/reference-kotlinc_plugin", + to: "/2.15.x/reference/targets/kotlinc_plugin.mdx", + }, + { + from: "/v2.15/docs/reference-kotlinc", + to: "/2.15.x/reference/subsystems/kotlinc.mdx", + }, + { + from: "/v2.15/docs/reference-ktlint", + to: "/2.15.x/reference/subsystems/ktlint.mdx", + }, + { + from: "/v2.15/docs/reference-lambdex", + to: "/2.15.x/reference/subsystems/lambdex.mdx", + }, + { + from: "/v2.15/docs/reference-lint", + to: "/2.15.x/reference/goals/lint.mdx", + }, + { + from: "/v2.15/docs/reference-list", + to: "/2.15.x/reference/goals/list.mdx", + }, + { + from: "/v2.15/docs/reference-local_environment", + to: "/2.15.x/reference/targets/local_environment.mdx", + }, + { + from: "/v2.15/docs/reference-mypy-protobuf", + to: "/2.15.x/reference/subsystems/mypy-protobuf.mdx", + }, + { + from: "/v2.15/docs/reference-mypy", + to: "/2.15.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.15/docs/reference-openapi_document", + to: "/2.15.x/reference/targets/openapi_document.mdx", + }, + { + from: "/v2.15/docs/reference-openapi_documents", + to: "/2.15.x/reference/targets/openapi_documents.mdx", + }, + { + from: "/v2.15/docs/reference-openapi_source", + to: "/2.15.x/reference/targets/openapi_source.mdx", + }, + { + from: "/v2.15/docs/reference-openapi_sources", + to: "/2.15.x/reference/targets/openapi_sources.mdx", + }, + { + from: "/v2.15/docs/reference-openapi", + to: "/2.15.x/reference/subsystems/openapi.mdx", + }, + { + from: "/v2.15/docs/reference-package", + to: "/2.15.x/reference/goals/package.mdx", + }, + { + from: "/v2.15/docs/reference-pants_requirements", + to: "/2.15.x/reference/targets/pants_requirements.mdx", + }, + { + from: "/v2.15/docs/reference-paths", + to: "/2.15.x/reference/goals/paths.mdx", + }, + { + from: "/v2.15/docs/reference-peek", + to: "/2.15.x/reference/goals/peek.mdx", + }, + { + from: "/v2.15/docs/reference-pex_binaries", + to: "/2.15.x/reference/targets/pex_binaries.mdx", + }, + { + from: "/v2.15/docs/reference-pex_binary", + to: "/2.15.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.15/docs/reference-pex-binary-defaults", + to: "/2.15.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.15/docs/reference-pex-cli", + to: "/2.15.x/reference/subsystems/pex-cli.mdx", + }, + { + from: "/v2.15/docs/reference-pex", + to: "/2.15.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.15/docs/reference-pipenv_requirements", + to: "/2.15.x/reference/targets/pipenv_requirements.mdx", + }, + { + from: "/v2.15/docs/reference-poetry_requirements", + to: "/2.15.x/reference/targets/poetry_requirements.mdx", + }, + { + from: "/v2.15/docs/reference-protobuf_source", + to: "/2.15.x/reference/targets/protobuf_source.mdx", + }, + { + from: "/v2.15/docs/reference-protobuf_sources", + to: "/2.15.x/reference/targets/protobuf_sources.mdx", + }, + { + from: "/v2.15/docs/reference-protobuf-java-grpc", + to: "/2.15.x/reference/subsystems/protobuf-java-grpc.mdx", + }, + { + from: "/v2.15/docs/reference-protoc", + to: "/2.15.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.15/docs/reference-publish", + to: "/2.15.x/reference/goals/publish.mdx", + }, + { + from: "/v2.15/docs/reference-py-constraints", + to: "/2.15.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.15/docs/reference-pylint", + to: "/2.15.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.15/docs/reference-pyoxidizer_binary", + to: "/2.15.x/reference/targets/pyoxidizer_binary.mdx", + }, + { + from: "/v2.15/docs/reference-pyoxidizer", + to: "/2.15.x/reference/subsystems/pyoxidizer.mdx", + }, + { + from: "/v2.15/docs/reference-pytest", + to: "/2.15.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.15/docs/reference-python_awslambda", + to: "/2.15.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.15/docs/reference-python_distribution", + to: "/2.15.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.15/docs/reference-python_google_cloud_function", + to: "/2.15.x/reference/targets/python_google_cloud_function.mdx", + }, + { + from: "/v2.15/docs/reference-python_requirement", + to: "/2.15.x/reference/targets/python_requirement.mdx", + }, + { + from: "/v2.15/docs/reference-python_requirements", + to: "/2.15.x/reference/targets/python_requirements.mdx", + }, + { + from: "/v2.15/docs/reference-python_source", + to: "/2.15.x/reference/targets/python_source.mdx", + }, + { + from: "/v2.15/docs/reference-python_sources", + to: "/2.15.x/reference/targets/python_sources.mdx", + }, + { + from: "/v2.15/docs/reference-python_test_utils", + to: "/2.15.x/reference/targets/python_test_utils.mdx", + }, + { + from: "/v2.15/docs/reference-python_test", + to: "/2.15.x/reference/targets/python_test.mdx", + }, + { + from: "/v2.15/docs/reference-python_tests", + to: "/2.15.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.15/docs/reference-python-bootstrap", + to: "/2.15.x/reference/subsystems/python-bootstrap.mdx", + }, + { + from: "/v2.15/docs/reference-python-infer", + to: "/2.15.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.15/docs/reference-python-native-code", + to: "/2.15.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.15/docs/reference-python-protobuf", + to: "/2.15.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.15/docs/reference-python-repos", + to: "/2.15.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.15/docs/reference-python-thrift", + to: "/2.15.x/reference/subsystems/python-thrift.mdx", + }, + { + from: "/v2.15/docs/reference-python", + to: "/2.15.x/reference/subsystems/python.mdx", + }, + { + from: "/v2.15/docs/reference-pyupgrade", + to: "/2.15.x/reference/subsystems/pyupgrade.mdx", + }, + { + from: "/v2.15/docs/reference-regex-lint", + to: "/2.15.x/reference/subsystems/regex-lint.mdx", + }, + { + from: "/v2.15/docs/reference-relocated_files", + to: "/2.15.x/reference/targets/relocated_files.mdx", + }, + { + from: "/v2.15/docs/reference-remote_environment", + to: "/2.15.x/reference/targets/remote_environment.mdx", + }, + { + from: "/v2.15/docs/reference-repl", + to: "/2.15.x/reference/goals/repl.mdx", + }, + { + from: "/v2.15/docs/reference-resource", + to: "/2.15.x/reference/targets/resource.mdx", + }, + { + from: "/v2.15/docs/reference-resources", + to: "/2.15.x/reference/targets/resources.mdx", + }, + { + from: "/v2.15/docs/reference-roots", + to: "/2.15.x/reference/goals/roots.mdx", + }, + { from: "/v2.15/docs/reference-run", to: "/2.15.x/reference/goals/run.mdx" }, + { + from: "/v2.15/docs/reference-scala_junit_test", + to: "/2.15.x/reference/targets/scala_junit_test.mdx", + }, + { + from: "/v2.15/docs/reference-scala_junit_tests", + to: "/2.15.x/reference/targets/scala_junit_tests.mdx", + }, + { + from: "/v2.15/docs/reference-scala_source", + to: "/2.15.x/reference/targets/scala_source.mdx", + }, + { + from: "/v2.15/docs/reference-scala_sources", + to: "/2.15.x/reference/targets/scala_sources.mdx", + }, + { + from: "/v2.15/docs/reference-scala-infer", + to: "/2.15.x/reference/subsystems/scala-infer.mdx", + }, + { + from: "/v2.15/docs/reference-scala", + to: "/2.15.x/reference/subsystems/scala.mdx", + }, + { + from: "/v2.15/docs/reference-scalac_plugin", + to: "/2.15.x/reference/targets/scalac_plugin.mdx", + }, + { + from: "/v2.15/docs/reference-scalac", + to: "/2.15.x/reference/subsystems/scalac.mdx", + }, + { + from: "/v2.15/docs/reference-scalafmt", + to: "/2.15.x/reference/subsystems/scalafmt.mdx", + }, + { + from: "/v2.15/docs/reference-scalapb", + to: "/2.15.x/reference/subsystems/scalapb.mdx", + }, + { + from: "/v2.15/docs/reference-scalatest_test", + to: "/2.15.x/reference/targets/scalatest_test.mdx", + }, + { + from: "/v2.15/docs/reference-scalatest_tests", + to: "/2.15.x/reference/targets/scalatest_tests.mdx", + }, + { + from: "/v2.15/docs/reference-scalatest", + to: "/2.15.x/reference/subsystems/scalatest.mdx", + }, + { + from: "/v2.15/docs/reference-scc", + to: "/2.15.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.15/docs/reference-setup-py-generation", + to: "/2.15.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.15/docs/reference-setuptools-scm", + to: "/2.15.x/reference/subsystems/setuptools-scm.mdx", + }, + { + from: "/v2.15/docs/reference-setuptools", + to: "/2.15.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.15/docs/reference-shell_source", + to: "/2.15.x/reference/targets/shell_source.mdx", + }, + { + from: "/v2.15/docs/reference-shell_sources", + to: "/2.15.x/reference/targets/shell_sources.mdx", + }, + { + from: "/v2.15/docs/reference-shell-setup", + to: "/2.15.x/reference/subsystems/shell-setup.mdx", + }, + { + from: "/v2.15/docs/reference-shellcheck", + to: "/2.15.x/reference/subsystems/shellcheck.mdx", + }, + { + from: "/v2.15/docs/reference-shfmt", + to: "/2.15.x/reference/subsystems/shfmt.mdx", + }, + { + from: "/v2.15/docs/reference-shunit2_test", + to: "/2.15.x/reference/targets/shunit2_test.mdx", + }, + { + from: "/v2.15/docs/reference-shunit2_tests", + to: "/2.15.x/reference/targets/shunit2_tests.mdx", + }, + { + from: "/v2.15/docs/reference-shunit2", + to: "/2.15.x/reference/subsystems/shunit2.mdx", + }, + { + from: "/v2.15/docs/reference-source", + to: "/2.15.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.15/docs/reference-spectral", + to: "/2.15.x/reference/subsystems/spectral.mdx", + }, + { + from: "/v2.15/docs/reference-stats", + to: "/2.15.x/reference/subsystems/stats.mdx", + }, + { + from: "/v2.15/docs/reference-subprocess-environment", + to: "/2.15.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.15/docs/reference-tailor", + to: "/2.15.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.15/docs/reference-target", + to: "/2.15.x/reference/targets/target.mdx", + }, + { + from: "/v2.15/docs/reference-terraform_module", + to: "/2.15.x/reference/targets/terraform_module.mdx", + }, + { + from: "/v2.15/docs/reference-terraform-fmt", + to: "/2.15.x/reference/subsystems/terraform-fmt.mdx", + }, + { + from: "/v2.15/docs/reference-terraform-hcl2-parser", + to: "/2.15.x/reference/subsystems/terraform-hcl2-parser.mdx", + }, + { + from: "/v2.15/docs/reference-terraform-validate", + to: "/2.15.x/reference/subsystems/terraform-validate.mdx", + }, + { + from: "/v2.15/docs/reference-test", + to: "/2.15.x/reference/goals/test.mdx", + }, + { + from: "/v2.15/docs/reference-thrift_source", + to: "/2.15.x/reference/targets/thrift_source.mdx", + }, + { + from: "/v2.15/docs/reference-thrift_sources", + to: "/2.15.x/reference/targets/thrift_sources.mdx", + }, + { + from: "/v2.15/docs/reference-thrift", + to: "/2.15.x/reference/subsystems/thrift.mdx", + }, + { + from: "/v2.15/docs/reference-twine", + to: "/2.15.x/reference/subsystems/twine.mdx", + }, + { + from: "/v2.15/docs/reference-update-build-files", + to: "/2.15.x/reference/goals/update-build-files.mdx", + }, + { + from: "/v2.15/docs/reference-vcs_version", + to: "/2.15.x/reference/targets/vcs_version.mdx", + }, + { + from: "/v2.15/docs/reference-version", + to: "/2.15.x/reference/goals/version.mdx", + }, + { + from: "/v2.15/docs/reference-yapf", + to: "/2.15.x/reference/subsystems/yapf.mdx", + }, + { from: "/v2.15/docs/reference", to: "/2.15.x/reference/index.mdx" }, + { from: "/v2.15/docs/release-notes", to: "/2.15.x/docs/releases/index.mdx" }, + { + from: "/v2.15/docs/release-process", + to: "/2.15.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.15/docs/release-strategy", + to: "/2.15.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.15/docs/releases", + to: "/2.15.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.15/docs/remote-caching-execution", + to: "/2.15.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.15/docs/remote-caching", + to: "/2.15.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.15/docs/remote-execution", + to: "/2.15.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.15/docs/restricted-internet-access", + to: "/2.15.x/docs/using-pants/restricted-internet-access.mdx", + }, + { + from: "/v2.15/docs/rules-api-and-target-api", + to: "/2.15.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.15/docs/rules-api-concepts", + to: "/2.15.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.15/docs/rules-api-file-system", + to: "/2.15.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.15/docs/rules-api-goal-rules", + to: "/2.15.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.15/docs/rules-api-installing-tools", + to: "/2.15.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.15/docs/rules-api-logging", + to: "/2.15.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.15/docs/rules-api-process", + to: "/2.15.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.15/docs/rules-api-subsystems", + to: "/2.15.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.15/docs/rules-api-testing", + to: "/2.15.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.15/docs/rules-api-tips", + to: "/2.15.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.15/docs/rules-api-unions", + to: "/2.15.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.15/docs/rules-api", + to: "/2.15.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.15/docs/run-shell-commands", + to: "/2.15.x/docs/shell/run-shell-commands.mdx", + }, + { + from: "/v2.15/docs/running-pants-from-sources", + to: "/2.15.x/docs/contributions/development/running-pants-from-sources.mdx", + }, + { + from: "/v2.15/docs/setting-up-an-ide", + to: "/2.15.x/docs/using-pants/setting-up-an-ide.mdx", + }, + { from: "/v2.15/docs/shell", to: "/2.15.x/docs/shell/shell-overview.mdx" }, + { + from: "/v2.15/docs/source-roots", + to: "/2.15.x/docs/using-pants/key-concepts/source-roots.mdx", + }, + { + from: "/v2.15/docs/style-guide", + to: "/2.15.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.15/docs/tagging-docker-images", + to: "/2.15.x/docs/docker/tagging-docker-images.mdx", + }, + { + from: "/v2.15/docs/target-api-concepts", + to: "/2.15.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.15/docs/target-api-extending-targets", + to: "/2.15.x/docs/writing-plugins/the-target-api/extending-existing-targets.mdx", + }, + { + from: "/v2.15/docs/target-api-new-fields", + to: "/2.15.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.15/docs/target-api-new-targets", + to: "/2.15.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.15/docs/target-api", + to: "/2.15.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.15/docs/targets", + to: "/2.15.x/docs/using-pants/key-concepts/targets-and-build-files.mdx", + }, + { from: "/v2.15/docs/team", to: "/2.15.x/community/meet-the-team" }, + { + from: "/v2.15/docs/test-custom-plugin-goal", + to: "/2.15.x/docs/tutorials/testing-plugins.mdx", + }, + { from: "/v2.15/docs/testimonials", to: "/2.15.x/spotlight/testimonials" }, + { from: "/v2.15/docs/the-pants-community", to: "/2.15.x/community/members" }, + { + from: "/v2.15/docs/thrift-python", + to: "/2.15.x/docs/python/integrations/thrift.mdx", + }, + { + from: "/v2.15/docs/troubleshooting", + to: "/2.15.x/docs/using-pants/troubleshooting-common-issues.mdx", + }, + { + from: "/v2.15/docs/tutorials-coming-soon", + to: "/2.15.x/docs/tutorials/index.mdx", + }, + { + from: "/v2.15/docs/upgrade-tips", + to: "/2.15.x/docs/releases/upgrade-tips.mdx", + }, + { + from: "/v2.15/docs/using-pants-in-ci", + to: "/2.15.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.15/docs/using-pants", to: "/2.15.x/docs/using-pants/index.mdx" }, + { + from: "/v2.15/docs/welcome-to-pants", + to: "/2.15.x/docs/introduction/welcome-to-pants.mdx", + }, + { from: "/v2.15/docs/who-uses-pants", to: "/2.15.x/spotlight/users" }, + { + from: "/v2.15/docs/writing-plugins", + to: "/2.15.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.16/docs/ad-hoc-tools", + to: "/2.16.x/docs/ad-hoc-tools/index.mdx", + }, + { + from: "/v2.16/docs/adhoc-tool", + to: "/2.16.x/docs/ad-hoc-tools/integrating-new-tools-without-plugins.mdx", + }, + { + from: "/v2.16/docs/advanced-plugin-concepts", + to: "/2.16.x/docs/tutorials/advanced-plugin-concepts.mdx", + }, + { + from: "/v2.16/docs/advanced-target-selection", + to: "/2.16.x/docs/using-pants/advanced-target-selection.mdx", + }, + { + from: "/v2.16/docs/anonymous-telemetry", + to: "/2.16.x/docs/using-pants/anonymous-telemetry.mdx", + }, + { + from: "/v2.16/docs/assets", + to: "/2.16.x/docs/using-pants/assets-and-archives.mdx", + }, + { + from: "/v2.16/docs/awslambda-python", + to: "/2.16.x/docs/python/integrations/aws-lambda.mdx", + }, + { from: "/v2.16/docs/changelog", to: "/2.16.x/versions" }, + { + from: "/v2.16/docs/ci-for-macos-on-arm64", + to: "/2.16.x/docs/contributions/releases/github-actions-macos-arm64-runners.mdx", + }, + { + from: "/v2.16/docs/code-of-conduct", + to: "/2.16.x/community/code-of-conduct", + }, + { + from: "/v2.16/docs/command-line-help", + to: "/2.16.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.16/docs/common-plugin-tasks", + to: "/2.16.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.16/docs/community", to: "/2.16.x/community/members" }, + { + from: "/v2.16/docs/concepts", + to: "/2.16.x/docs/using-pants/key-concepts/index.mdx", + }, + { + from: "/v2.16/docs/contentious-decisions", + to: "/2.16.x/community/contentious-decisions", + }, + { + from: "/v2.16/docs/contributing-to-pants", + to: "/2.16.x/docs/contributions/index.mdx", + }, + { + from: "/v2.16/docs/contributions-debugging", + to: "/2.16.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.16/docs/contributions-rust", + to: "/2.16.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.16/docs/contributor-overview", + to: "/2.16.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.16/docs/contributor-setup", + to: "/2.16.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.16/docs/create-a-new-goal", + to: "/2.16.x/docs/tutorials/create-a-new-goal.mdx", + }, + { + from: "/v2.16/docs/deprecation-policy", + to: "/2.16.x/docs/releases/deprecation-policy.mdx", + }, + { + from: "/v2.16/docs/development", + to: "/2.16.x/docs/contributions/development/index.mdx", + }, + { from: "/v2.16/docs/docker", to: "/2.16.x/docs/docker/docker-overview.mdx" }, + { + from: "/v2.16/docs/documentation", + to: "/2.16.x/docs/introduction/index.mdx", + }, + { + from: "/v2.16/docs/enabling-backends", + to: "/2.16.x/docs/using-pants/key-concepts/backends.mdx", + }, + { + from: "/v2.16/docs/environments", + to: "/2.16.x/docs/using-pants/environments:-cross-platform-or-remote-builds.mdx", + }, + { + from: "/v2.16/docs/example-repos", + to: "/2.16.x/docs/getting-started/getting-started/example-projects-and-repositories.mdx", + }, + { + from: "/v2.16/docs/existing-repositories", + to: "/2.16.x/docs/getting-started/getting-started/incremental-adoption.mdx", + }, + { + from: "/v2.16/docs/generating-version-tags", + to: "/2.16.x/docs/using-pants/generating-version-tags-from-git.mdx", + }, + { from: "/v2.16/docs/getting-help", to: "/2.16.x/community/getting-help" }, + { + from: "/v2.16/docs/getting-started", + to: "/2.16.x/docs/getting-started/getting-started/index.mdx", + }, + { + from: "/v2.16/docs/go-integrations", + to: "/2.16.x/docs/go/integrations/index.mdx", + }, + { from: "/v2.16/docs/go", to: "/2.16.x/docs/go/go-overview.mdx" }, + { + from: "/v2.16/docs/goals", + to: "/2.16.x/docs/using-pants/key-concepts/goals.mdx", + }, + { + from: "/v2.16/docs/google-cloud-function-python", + to: "/2.16.x/docs/python/integrations/google-cloud-functions.mdx", + }, + { + from: "/v2.16/docs/helm-deployments", + to: "/2.16.x/docs/helm/deployments.mdx", + }, + { + from: "/v2.16/docs/helm-overview", + to: "/2.16.x/docs/helm/helm-overview.mdx", + }, + { from: "/v2.16/docs/helm", to: "/2.16.x/docs/helm/index.mdx" }, + { + from: "/v2.16/docs/how-does-pants-work", + to: "/2.16.x/docs/introduction/how-does-pants-work.mdx", + }, + { + from: "/v2.16/docs/initial-configuration", + to: "/2.16.x/docs/getting-started/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.16/docs/installation", + to: "/2.16.x/docs/getting-started/getting-started/installing-pants.mdx", + }, + { + from: "/v2.16/docs/internal-rules-architecture", + to: "/2.16.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.16/docs/jupyter", + to: "/2.16.x/docs/python/integrations/jupyter.mdx", + }, + { + from: "/v2.16/docs/jvm-overview", + to: "/2.16.x/docs/java-and-scala/java-and-scala-overview.mdx", + }, + { from: "/v2.16/docs/jvm", to: "/2.16.x/docs/java-and-scala/index.mdx" }, + { from: "/v2.16/docs/kotlin", to: "/2.16.x/docs/java-and-scala/kotlin.mdx" }, + { + from: "/v2.16/docs/language-support", + to: "/2.16.x/spotlight/language-support", + }, + { from: "/v2.16/docs/macros", to: "/2.16.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.16/docs/maintainers", to: "/2.16.x/community/maintainers" }, + { + from: "/v2.16/docs/manual-installation", + to: "/2.16.x/docs/getting-started/getting-started/manual-installation.mdx", + }, + { from: "/v2.16/docs/media", to: "/2.16.x/spotlight/media" }, + { from: "/v2.16/docs/news-room", to: "/2.16.x/spotlight/media" }, + { + from: "/v2.16/docs/options", + to: "/2.16.x/docs/using-pants/key-concepts/options.mdx", + }, + { + from: "/v2.16/docs/pex-files", + to: "/2.16.x/docs/python/python-overview/pex-files.mdx", + }, + { + from: "/v2.16/docs/plugin-upgrade-guide", + to: "/2.16.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.16/docs/plugins-codegen", + to: "/2.16.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.16/docs/plugins-fmt-goal", + to: "/2.16.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.16/docs/plugins-lint-goal", + to: "/2.16.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.16/docs/plugins-overview", + to: "/2.16.x/docs/writing-plugins/plugins-overview.mdx", + }, + { + from: "/v2.16/docs/plugins-repl-goal", + to: "/2.16.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.16/docs/plugins-setup-py", + to: "/2.16.x/docs/writing-plugins/common-plugin-tasks/custom-python-artifact-kwargs.mdx", + }, + { + from: "/v2.16/docs/plugins-test-goal", + to: "/2.16.x/docs/writing-plugins/common-plugin-tasks/run-tests.mdx", + }, + { + from: "/v2.16/docs/plugins-typecheck-goal", + to: "/2.16.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.16/docs/prerequisites", + to: "/2.16.x/docs/getting-started/getting-started/prerequisites.mdx", + }, + { + from: "/v2.16/docs/project-introspection", + to: "/2.16.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.16/docs/protobuf-go", + to: "/2.16.x/docs/go/integrations/protobuf.mdx", + }, + { + from: "/v2.16/docs/protobuf-python", + to: "/2.16.x/docs/python/integrations/protobuf-and-grpc.mdx", + }, + { + from: "/v2.16/docs/pyoxidizer", + to: "/2.16.x/docs/python/integrations/pyoxidizer.mdx", + }, + { + from: "/v2.16/docs/python-backend", + to: "/2.16.x/docs/python/python-overview/enabling-python-support.mdx", + }, + { + from: "/v2.16/docs/python-check-goal", + to: "/2.16.x/docs/python/goals/check.mdx", + }, + { + from: "/v2.16/docs/python-distributions", + to: "/2.16.x/docs/python/python-overview/building-distributions.mdx", + }, + { + from: "/v2.16/docs/python-fmt-goal", + to: "/2.16.x/docs/python/goals/fmt.mdx", + }, + { + from: "/v2.16/docs/python-goals", + to: "/2.16.x/docs/python/goals/index.mdx", + }, + { + from: "/v2.16/docs/python-integrations", + to: "/2.16.x/docs/python/integrations/index.mdx", + }, + { + from: "/v2.16/docs/python-interpreter-compatibility", + to: "/2.16.x/docs/python/python-overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.16/docs/python-lint-goal", + to: "/2.16.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.16/docs/python-linters-and-formatters", + to: "/2.16.x/docs/python/python-overview/linters-and-formatters.mdx", + }, + { + from: "/v2.16/docs/python-lockfiles", + to: "/2.16.x/docs/python/python-overview/lockfiles.mdx", + }, + { + from: "/v2.16/docs/python-package-goal", + to: "/2.16.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.16/docs/python-publish-goal", + to: "/2.16.x/docs/python/goals/publish.mdx", + }, + { + from: "/v2.16/docs/python-repl-goal", + to: "/2.16.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.16/docs/python-run-goal", + to: "/2.16.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.16/docs/python-test-goal", + to: "/2.16.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.16/docs/python-third-party-dependencies", + to: "/2.16.x/docs/python/python-overview/third-party-dependencies.mdx", + }, + { + from: "/v2.16/docs/python", + to: "/2.16.x/docs/python/python-overview/index.mdx", + }, + { + from: "/v2.16/docs/reference-add-trailing-comma", + to: "/2.16.x/reference/subsystems/add-trailing-comma.mdx", + }, + { + from: "/v2.16/docs/reference-adhoc_tool", + to: "/2.16.x/reference/targets/adhoc_tool.mdx", + }, + { from: "/v2.16/docs/reference-all-goals", to: "/2.16.x/reference/goals" }, + { + from: "/v2.16/docs/reference-all-subsystems", + to: "/2.16.x/reference/subsystems", + }, + { + from: "/v2.16/docs/reference-all-targets", + to: "/2.16.x/reference/targets", + }, + { + from: "/v2.16/docs/reference-anonymous-telemetry", + to: "/2.16.x/reference/subsystems/anonymous-telemetry.mdx", + }, + { + from: "/v2.16/docs/reference-apache-thrift", + to: "/2.16.x/reference/subsystems/apache-thrift.mdx", + }, + { + from: "/v2.16/docs/reference-archive", + to: "/2.16.x/reference/targets/archive.mdx", + }, + { + from: "/v2.16/docs/reference-autoflake", + to: "/2.16.x/reference/subsystems/autoflake.mdx", + }, + { + from: "/v2.16/docs/reference-bandit", + to: "/2.16.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.16/docs/reference-black", + to: "/2.16.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.16/docs/reference-buf", + to: "/2.16.x/reference/subsystems/buf.mdx", + }, + { + from: "/v2.16/docs/reference-build-deprecations-fixer", + to: "/2.16.x/reference/subsystems/build-deprecations-fixer.mdx", + }, + { + from: "/v2.16/docs/reference-buildifier", + to: "/2.16.x/reference/subsystems/buildifier.mdx", + }, + { + from: "/v2.16/docs/reference-changed", + to: "/2.16.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.16/docs/reference-check", + to: "/2.16.x/reference/goals/check.mdx", + }, + { + from: "/v2.16/docs/reference-cli", + to: "/2.16.x/reference/subsystems/cli.mdx", + }, + { + from: "/v2.16/docs/reference-count-loc", + to: "/2.16.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.16/docs/reference-coursier", + to: "/2.16.x/reference/subsystems/coursier.mdx", + }, + { + from: "/v2.16/docs/reference-coverage-py", + to: "/2.16.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.16/docs/reference-debug-adapter", + to: "/2.16.x/reference/subsystems/debug-adapter.mdx", + }, + { + from: "/v2.16/docs/reference-debugpy", + to: "/2.16.x/reference/subsystems/debugpy.mdx", + }, + { + from: "/v2.16/docs/reference-dependees", + to: "/2.16.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.16/docs/reference-dependencies", + to: "/2.16.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.16/docs/reference-dependents", + to: "/2.16.x/reference/goals/dependents.mdx", + }, + { + from: "/v2.16/docs/reference-deploy_jar", + to: "/2.16.x/reference/targets/deploy_jar.mdx", + }, + { + from: "/v2.16/docs/reference-docformatter", + to: "/2.16.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.16/docs/reference-docker_environment", + to: "/2.16.x/reference/targets/docker_environment.mdx", + }, + { + from: "/v2.16/docs/reference-docker_image", + to: "/2.16.x/reference/targets/docker_image.mdx", + }, + { + from: "/v2.16/docs/reference-docker", + to: "/2.16.x/reference/subsystems/docker.mdx", + }, + { + from: "/v2.16/docs/reference-dockerfile-parser", + to: "/2.16.x/reference/subsystems/dockerfile-parser.mdx", + }, + { + from: "/v2.16/docs/reference-download-terraform", + to: "/2.16.x/reference/subsystems/download-terraform.mdx", + }, + { + from: "/v2.16/docs/reference-environments-preview", + to: "/2.16.x/reference/subsystems/environments-preview.mdx", + }, + { + from: "/v2.16/docs/reference-experimental_test_shell_command", + to: "/2.16.x/reference/targets/experimental_test_shell_command.mdx", + }, + { + from: "/v2.16/docs/reference-experimental_wrap_as_go_package_sources", + to: "/2.16.x/reference/targets/experimental_wrap_as_go_package_sources.mdx", + }, + { + from: "/v2.16/docs/reference-experimental_wrap_as_java_sources", + to: "/2.16.x/reference/targets/experimental_wrap_as_java_sources.mdx", + }, + { + from: "/v2.16/docs/reference-experimental_wrap_as_kotlin_sources", + to: "/2.16.x/reference/targets/experimental_wrap_as_kotlin_sources.mdx", + }, + { + from: "/v2.16/docs/reference-experimental_wrap_as_python_sources", + to: "/2.16.x/reference/targets/experimental_wrap_as_python_sources.mdx", + }, + { + from: "/v2.16/docs/reference-experimental_wrap_as_resources", + to: "/2.16.x/reference/targets/experimental_wrap_as_resources.mdx", + }, + { + from: "/v2.16/docs/reference-experimental_wrap_as_scala_sources", + to: "/2.16.x/reference/targets/experimental_wrap_as_scala_sources.mdx", + }, + { + from: "/v2.16/docs/reference-experimental-bsp", + to: "/2.16.x/reference/goals/experimental-bsp.mdx", + }, + { + from: "/v2.16/docs/reference-experimental-deploy", + to: "/2.16.x/reference/goals/experimental-deploy.mdx", + }, + { + from: "/v2.16/docs/reference-experimental-explorer", + to: "/2.16.x/reference/goals/experimental-explorer.mdx", + }, + { + from: "/v2.16/docs/reference-export-codegen", + to: "/2.16.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.16/docs/reference-export", + to: "/2.16.x/reference/goals/export.mdx", + }, + { + from: "/v2.16/docs/reference-file", + to: "/2.16.x/reference/targets/file.mdx", + }, + { + from: "/v2.16/docs/reference-filedeps", + to: "/2.16.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.16/docs/reference-files", + to: "/2.16.x/reference/targets/files.mdx", + }, + { + from: "/v2.16/docs/reference-filter", + to: "/2.16.x/reference/subsystems/filter.mdx", + }, + { from: "/v2.16/docs/reference-fix", to: "/2.16.x/reference/goals/fix.mdx" }, + { + from: "/v2.16/docs/reference-flake8", + to: "/2.16.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.16/docs/reference-fmt", to: "/2.16.x/reference/goals/fmt.mdx" }, + { + from: "/v2.16/docs/reference-generate-lockfiles", + to: "/2.16.x/reference/goals/generate-lockfiles.mdx", + }, + { + from: "/v2.16/docs/reference-global", + to: "/2.16.x/reference/global-options.mdx", + }, + { + from: "/v2.16/docs/reference-go_binary", + to: "/2.16.x/reference/targets/go_binary.mdx", + }, + { + from: "/v2.16/docs/reference-go_mod", + to: "/2.16.x/reference/targets/go_mod.mdx", + }, + { + from: "/v2.16/docs/reference-go_package", + to: "/2.16.x/reference/targets/go_package.mdx", + }, + { + from: "/v2.16/docs/reference-go_third_party_package", + to: "/2.16.x/reference/targets/go_third_party_package.mdx", + }, + { + from: "/v2.16/docs/reference-go-generate", + to: "/2.16.x/reference/goals/go-generate.mdx", + }, + { + from: "/v2.16/docs/reference-go-test", + to: "/2.16.x/reference/subsystems/go-test.mdx", + }, + { + from: "/v2.16/docs/reference-gofmt", + to: "/2.16.x/reference/subsystems/gofmt.mdx", + }, + { + from: "/v2.16/docs/reference-golang", + to: "/2.16.x/reference/subsystems/golang.mdx", + }, + { + from: "/v2.16/docs/reference-google-java-format", + to: "/2.16.x/reference/subsystems/google-java-format.mdx", + }, + { + from: "/v2.16/docs/reference-grpc-python-plugin", + to: "/2.16.x/reference/subsystems/grpc-python-plugin.mdx", + }, + { + from: "/v2.16/docs/reference-hadolint", + to: "/2.16.x/reference/subsystems/hadolint.mdx", + }, + { + from: "/v2.16/docs/reference-helm_artifact", + to: "/2.16.x/reference/targets/helm_artifact.mdx", + }, + { + from: "/v2.16/docs/reference-helm_chart", + to: "/2.16.x/reference/targets/helm_chart.mdx", + }, + { + from: "/v2.16/docs/reference-helm_deployment", + to: "/2.16.x/reference/targets/helm_deployment.mdx", + }, + { + from: "/v2.16/docs/reference-helm_unittest_test", + to: "/2.16.x/reference/targets/helm_unittest_test.mdx", + }, + { + from: "/v2.16/docs/reference-helm_unittest_tests", + to: "/2.16.x/reference/targets/helm_unittest_tests.mdx", + }, + { + from: "/v2.16/docs/reference-helm-k8s-parser", + to: "/2.16.x/reference/subsystems/helm-k8s-parser.mdx", + }, + { + from: "/v2.16/docs/reference-helm-post-renderer", + to: "/2.16.x/reference/subsystems/helm-post-renderer.mdx", + }, + { + from: "/v2.16/docs/reference-helm-unittest", + to: "/2.16.x/reference/subsystems/helm-unittest.mdx", + }, + { + from: "/v2.16/docs/reference-helm", + to: "/2.16.x/reference/subsystems/helm.mdx", + }, + { + from: "/v2.16/docs/reference-help-advanced", + to: "/2.16.x/reference/goals/help-advanced.mdx", + }, + { + from: "/v2.16/docs/reference-help-all", + to: "/2.16.x/reference/goals/help-all.mdx", + }, + { + from: "/v2.16/docs/reference-help", + to: "/2.16.x/reference/goals/help.mdx", + }, + { + from: "/v2.16/docs/reference-ipython", + to: "/2.16.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.16/docs/reference-isort", + to: "/2.16.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.16/docs/reference-jarjar", + to: "/2.16.x/reference/subsystems/jarjar.mdx", + }, + { + from: "/v2.16/docs/reference-java_source", + to: "/2.16.x/reference/targets/java_source.mdx", + }, + { + from: "/v2.16/docs/reference-java_sources", + to: "/2.16.x/reference/targets/java_sources.mdx", + }, + { + from: "/v2.16/docs/reference-java-infer", + to: "/2.16.x/reference/subsystems/java-infer.mdx", + }, + { + from: "/v2.16/docs/reference-javac", + to: "/2.16.x/reference/subsystems/javac.mdx", + }, + { + from: "/v2.16/docs/reference-junit_test", + to: "/2.16.x/reference/targets/junit_test.mdx", + }, + { + from: "/v2.16/docs/reference-junit_tests", + to: "/2.16.x/reference/targets/junit_tests.mdx", + }, + { + from: "/v2.16/docs/reference-junit", + to: "/2.16.x/reference/subsystems/junit.mdx", + }, + { + from: "/v2.16/docs/reference-jvm_artifact", + to: "/2.16.x/reference/targets/jvm_artifact.mdx", + }, + { + from: "/v2.16/docs/reference-jvm_war", + to: "/2.16.x/reference/targets/jvm_war.mdx", + }, + { + from: "/v2.16/docs/reference-jvm", + to: "/2.16.x/reference/subsystems/jvm.mdx", + }, + { + from: "/v2.16/docs/reference-kotlin_junit_test", + to: "/2.16.x/reference/targets/kotlin_junit_test.mdx", + }, + { + from: "/v2.16/docs/reference-kotlin_junit_tests", + to: "/2.16.x/reference/targets/kotlin_junit_tests.mdx", + }, + { + from: "/v2.16/docs/reference-kotlin_source", + to: "/2.16.x/reference/targets/kotlin_source.mdx", + }, + { + from: "/v2.16/docs/reference-kotlin_sources", + to: "/2.16.x/reference/targets/kotlin_sources.mdx", + }, + { + from: "/v2.16/docs/reference-kotlin-infer", + to: "/2.16.x/reference/subsystems/kotlin-infer.mdx", + }, + { + from: "/v2.16/docs/reference-kotlin", + to: "/2.16.x/reference/subsystems/kotlin.mdx", + }, + { + from: "/v2.16/docs/reference-kotlinc_plugin", + to: "/2.16.x/reference/targets/kotlinc_plugin.mdx", + }, + { + from: "/v2.16/docs/reference-kotlinc", + to: "/2.16.x/reference/subsystems/kotlinc.mdx", + }, + { + from: "/v2.16/docs/reference-ktlint", + to: "/2.16.x/reference/subsystems/ktlint.mdx", + }, + { + from: "/v2.16/docs/reference-lambdex", + to: "/2.16.x/reference/subsystems/lambdex.mdx", + }, + { + from: "/v2.16/docs/reference-lint", + to: "/2.16.x/reference/goals/lint.mdx", + }, + { + from: "/v2.16/docs/reference-list", + to: "/2.16.x/reference/goals/list.mdx", + }, + { + from: "/v2.16/docs/reference-local_environment", + to: "/2.16.x/reference/targets/local_environment.mdx", + }, + { + from: "/v2.16/docs/reference-mypy-protobuf", + to: "/2.16.x/reference/subsystems/mypy-protobuf.mdx", + }, + { + from: "/v2.16/docs/reference-mypy", + to: "/2.16.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.16/docs/reference-nodejs", + to: "/2.16.x/reference/subsystems/nodejs.mdx", + }, + { + from: "/v2.16/docs/reference-openapi_document", + to: "/2.16.x/reference/targets/openapi_document.mdx", + }, + { + from: "/v2.16/docs/reference-openapi_documents", + to: "/2.16.x/reference/targets/openapi_documents.mdx", + }, + { + from: "/v2.16/docs/reference-openapi_source", + to: "/2.16.x/reference/targets/openapi_source.mdx", + }, + { + from: "/v2.16/docs/reference-openapi_sources", + to: "/2.16.x/reference/targets/openapi_sources.mdx", + }, + { + from: "/v2.16/docs/reference-openapi", + to: "/2.16.x/reference/subsystems/openapi.mdx", + }, + { + from: "/v2.16/docs/reference-package", + to: "/2.16.x/reference/goals/package.mdx", + }, + { + from: "/v2.16/docs/reference-pants_requirements", + to: "/2.16.x/reference/targets/pants_requirements.mdx", + }, + { + from: "/v2.16/docs/reference-paths", + to: "/2.16.x/reference/goals/paths.mdx", + }, + { + from: "/v2.16/docs/reference-peek", + to: "/2.16.x/reference/goals/peek.mdx", + }, + { + from: "/v2.16/docs/reference-pex_binaries", + to: "/2.16.x/reference/targets/pex_binaries.mdx", + }, + { + from: "/v2.16/docs/reference-pex_binary", + to: "/2.16.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.16/docs/reference-pex-binary-defaults", + to: "/2.16.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.16/docs/reference-pex-cli", + to: "/2.16.x/reference/subsystems/pex-cli.mdx", + }, + { + from: "/v2.16/docs/reference-pex", + to: "/2.16.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.16/docs/reference-pipenv_requirements", + to: "/2.16.x/reference/targets/pipenv_requirements.mdx", + }, + { + from: "/v2.16/docs/reference-poetry_requirements", + to: "/2.16.x/reference/targets/poetry_requirements.mdx", + }, + { + from: "/v2.16/docs/reference-preamble", + to: "/2.16.x/reference/subsystems/preamble.mdx", + }, + { + from: "/v2.16/docs/reference-protobuf_source", + to: "/2.16.x/reference/targets/protobuf_source.mdx", + }, + { + from: "/v2.16/docs/reference-protobuf_sources", + to: "/2.16.x/reference/targets/protobuf_sources.mdx", + }, + { + from: "/v2.16/docs/reference-protobuf-java-grpc", + to: "/2.16.x/reference/subsystems/protobuf-java-grpc.mdx", + }, + { + from: "/v2.16/docs/reference-protoc", + to: "/2.16.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.16/docs/reference-publish", + to: "/2.16.x/reference/goals/publish.mdx", + }, + { + from: "/v2.16/docs/reference-py-constraints", + to: "/2.16.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.16/docs/reference-pydocstyle", + to: "/2.16.x/reference/subsystems/pydocstyle.mdx", + }, + { + from: "/v2.16/docs/reference-pylint", + to: "/2.16.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.16/docs/reference-pyoxidizer_binary", + to: "/2.16.x/reference/targets/pyoxidizer_binary.mdx", + }, + { + from: "/v2.16/docs/reference-pyoxidizer", + to: "/2.16.x/reference/subsystems/pyoxidizer.mdx", + }, + { + from: "/v2.16/docs/reference-pytest", + to: "/2.16.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.16/docs/reference-python_awslambda", + to: "/2.16.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.16/docs/reference-python_distribution", + to: "/2.16.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.16/docs/reference-python_google_cloud_function", + to: "/2.16.x/reference/targets/python_google_cloud_function.mdx", + }, + { + from: "/v2.16/docs/reference-python_requirement", + to: "/2.16.x/reference/targets/python_requirement.mdx", + }, + { + from: "/v2.16/docs/reference-python_requirements", + to: "/2.16.x/reference/targets/python_requirements.mdx", + }, + { + from: "/v2.16/docs/reference-python_source", + to: "/2.16.x/reference/targets/python_source.mdx", + }, + { + from: "/v2.16/docs/reference-python_sources", + to: "/2.16.x/reference/targets/python_sources.mdx", + }, + { + from: "/v2.16/docs/reference-python_test_utils", + to: "/2.16.x/reference/targets/python_test_utils.mdx", + }, + { + from: "/v2.16/docs/reference-python_test", + to: "/2.16.x/reference/targets/python_test.mdx", + }, + { + from: "/v2.16/docs/reference-python_tests", + to: "/2.16.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.16/docs/reference-python-bootstrap", + to: "/2.16.x/reference/subsystems/python-bootstrap.mdx", + }, + { + from: "/v2.16/docs/reference-python-dump-source-analysis", + to: "/2.16.x/reference/goals/python-dump-source-analysis.mdx", + }, + { + from: "/v2.16/docs/reference-python-infer", + to: "/2.16.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.16/docs/reference-python-native-code", + to: "/2.16.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.16/docs/reference-python-protobuf", + to: "/2.16.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.16/docs/reference-python-repos", + to: "/2.16.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.16/docs/reference-python-thrift", + to: "/2.16.x/reference/subsystems/python-thrift.mdx", + }, + { + from: "/v2.16/docs/reference-python", + to: "/2.16.x/reference/subsystems/python.mdx", + }, + { + from: "/v2.16/docs/reference-pyupgrade", + to: "/2.16.x/reference/subsystems/pyupgrade.mdx", + }, + { + from: "/v2.16/docs/reference-regex-lint", + to: "/2.16.x/reference/subsystems/regex-lint.mdx", + }, + { + from: "/v2.16/docs/reference-relocated_files", + to: "/2.16.x/reference/targets/relocated_files.mdx", + }, + { + from: "/v2.16/docs/reference-remote_environment", + to: "/2.16.x/reference/targets/remote_environment.mdx", + }, + { + from: "/v2.16/docs/reference-repl", + to: "/2.16.x/reference/goals/repl.mdx", + }, + { + from: "/v2.16/docs/reference-resource", + to: "/2.16.x/reference/targets/resource.mdx", + }, + { + from: "/v2.16/docs/reference-resources", + to: "/2.16.x/reference/targets/resources.mdx", + }, + { + from: "/v2.16/docs/reference-roots", + to: "/2.16.x/reference/goals/roots.mdx", + }, + { + from: "/v2.16/docs/reference-ruff", + to: "/2.16.x/reference/subsystems/ruff.mdx", + }, + { + from: "/v2.16/docs/reference-run_shell_command", + to: "/2.16.x/reference/targets/run_shell_command.mdx", + }, + { from: "/v2.16/docs/reference-run", to: "/2.16.x/reference/goals/run.mdx" }, + { + from: "/v2.16/docs/reference-scala_junit_test", + to: "/2.16.x/reference/targets/scala_junit_test.mdx", + }, + { + from: "/v2.16/docs/reference-scala_junit_tests", + to: "/2.16.x/reference/targets/scala_junit_tests.mdx", + }, + { + from: "/v2.16/docs/reference-scala_source", + to: "/2.16.x/reference/targets/scala_source.mdx", + }, + { + from: "/v2.16/docs/reference-scala_sources", + to: "/2.16.x/reference/targets/scala_sources.mdx", + }, + { + from: "/v2.16/docs/reference-scala-infer", + to: "/2.16.x/reference/subsystems/scala-infer.mdx", + }, + { + from: "/v2.16/docs/reference-scala", + to: "/2.16.x/reference/subsystems/scala.mdx", + }, + { + from: "/v2.16/docs/reference-scalac_plugin", + to: "/2.16.x/reference/targets/scalac_plugin.mdx", + }, + { + from: "/v2.16/docs/reference-scalac", + to: "/2.16.x/reference/subsystems/scalac.mdx", + }, + { + from: "/v2.16/docs/reference-scalafmt", + to: "/2.16.x/reference/subsystems/scalafmt.mdx", + }, + { + from: "/v2.16/docs/reference-scalapb", + to: "/2.16.x/reference/subsystems/scalapb.mdx", + }, + { + from: "/v2.16/docs/reference-scalatest_test", + to: "/2.16.x/reference/targets/scalatest_test.mdx", + }, + { + from: "/v2.16/docs/reference-scalatest_tests", + to: "/2.16.x/reference/targets/scalatest_tests.mdx", + }, + { + from: "/v2.16/docs/reference-scalatest", + to: "/2.16.x/reference/subsystems/scalatest.mdx", + }, + { + from: "/v2.16/docs/reference-scc", + to: "/2.16.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.16/docs/reference-setup-py-generation", + to: "/2.16.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.16/docs/reference-setuptools-scm", + to: "/2.16.x/reference/subsystems/setuptools-scm.mdx", + }, + { + from: "/v2.16/docs/reference-setuptools", + to: "/2.16.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.16/docs/reference-shell_command", + to: "/2.16.x/reference/targets/shell_command.mdx", + }, + { + from: "/v2.16/docs/reference-shell_source", + to: "/2.16.x/reference/targets/shell_source.mdx", + }, + { + from: "/v2.16/docs/reference-shell_sources", + to: "/2.16.x/reference/targets/shell_sources.mdx", + }, + { + from: "/v2.16/docs/reference-shell-setup", + to: "/2.16.x/reference/subsystems/shell-setup.mdx", + }, + { + from: "/v2.16/docs/reference-shell-test", + to: "/2.16.x/reference/subsystems/shell-test.mdx", + }, + { + from: "/v2.16/docs/reference-shellcheck", + to: "/2.16.x/reference/subsystems/shellcheck.mdx", + }, + { + from: "/v2.16/docs/reference-shfmt", + to: "/2.16.x/reference/subsystems/shfmt.mdx", + }, + { + from: "/v2.16/docs/reference-shunit2_test", + to: "/2.16.x/reference/targets/shunit2_test.mdx", + }, + { + from: "/v2.16/docs/reference-shunit2_tests", + to: "/2.16.x/reference/targets/shunit2_tests.mdx", + }, + { + from: "/v2.16/docs/reference-shunit2", + to: "/2.16.x/reference/subsystems/shunit2.mdx", + }, + { + from: "/v2.16/docs/reference-source", + to: "/2.16.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.16/docs/reference-spectral", + to: "/2.16.x/reference/subsystems/spectral.mdx", + }, + { + from: "/v2.16/docs/reference-stats", + to: "/2.16.x/reference/subsystems/stats.mdx", + }, + { + from: "/v2.16/docs/reference-subprocess-environment", + to: "/2.16.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.16/docs/reference-system_binary", + to: "/2.16.x/reference/targets/system_binary.mdx", + }, + { + from: "/v2.16/docs/reference-tailor", + to: "/2.16.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.16/docs/reference-target", + to: "/2.16.x/reference/targets/target.mdx", + }, + { + from: "/v2.16/docs/reference-terraform_module", + to: "/2.16.x/reference/targets/terraform_module.mdx", + }, + { + from: "/v2.16/docs/reference-terraform-fmt", + to: "/2.16.x/reference/subsystems/terraform-fmt.mdx", + }, + { + from: "/v2.16/docs/reference-terraform-hcl2-parser", + to: "/2.16.x/reference/subsystems/terraform-hcl2-parser.mdx", + }, + { + from: "/v2.16/docs/reference-terraform-validate", + to: "/2.16.x/reference/subsystems/terraform-validate.mdx", + }, + { + from: "/v2.16/docs/reference-test", + to: "/2.16.x/reference/goals/test.mdx", + }, + { + from: "/v2.16/docs/reference-thrift_source", + to: "/2.16.x/reference/targets/thrift_source.mdx", + }, + { + from: "/v2.16/docs/reference-thrift_sources", + to: "/2.16.x/reference/targets/thrift_sources.mdx", + }, + { + from: "/v2.16/docs/reference-thrift", + to: "/2.16.x/reference/subsystems/thrift.mdx", + }, + { + from: "/v2.16/docs/reference-twine", + to: "/2.16.x/reference/subsystems/twine.mdx", + }, + { + from: "/v2.16/docs/reference-update-build-files", + to: "/2.16.x/reference/goals/update-build-files.mdx", + }, + { + from: "/v2.16/docs/reference-vcs_version", + to: "/2.16.x/reference/targets/vcs_version.mdx", + }, + { + from: "/v2.16/docs/reference-version", + to: "/2.16.x/reference/goals/version.mdx", + }, + { + from: "/v2.16/docs/reference-yamllint", + to: "/2.16.x/reference/subsystems/yamllint.mdx", + }, + { + from: "/v2.16/docs/reference-yapf", + to: "/2.16.x/reference/subsystems/yapf.mdx", + }, + { from: "/v2.16/docs/reference", to: "/2.16.x/reference/index.mdx" }, + { from: "/v2.16/docs/release-notes", to: "/2.16.x/docs/releases/index.mdx" }, + { + from: "/v2.16/docs/release-process", + to: "/2.16.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.16/docs/release-strategy", + to: "/2.16.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.16/docs/releases", + to: "/2.16.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.16/docs/remote-caching-execution", + to: "/2.16.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.16/docs/remote-caching", + to: "/2.16.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.16/docs/remote-execution", + to: "/2.16.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.16/docs/restricted-internet-access", + to: "/2.16.x/docs/using-pants/restricted-internet-access.mdx", + }, + { + from: "/v2.16/docs/rules-api-and-target-api", + to: "/2.16.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.16/docs/rules-api-concepts", + to: "/2.16.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.16/docs/rules-api-file-system", + to: "/2.16.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.16/docs/rules-api-goal-rules", + to: "/2.16.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.16/docs/rules-api-installing-tools", + to: "/2.16.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.16/docs/rules-api-logging", + to: "/2.16.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.16/docs/rules-api-process", + to: "/2.16.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.16/docs/rules-api-subsystems", + to: "/2.16.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.16/docs/rules-api-testing", + to: "/2.16.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.16/docs/rules-api-tips", + to: "/2.16.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.16/docs/rules-api-unions", + to: "/2.16.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.16/docs/rules-api", + to: "/2.16.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.16/docs/run-shell-commands", + to: "/2.16.x/docs/shell/run-shell-commands.mdx", + }, + { + from: "/v2.16/docs/running-pants-from-sources", + to: "/2.16.x/docs/contributions/development/running-pants-from-sources.mdx", + }, + { + from: "/v2.16/docs/setting-up-an-ide", + to: "/2.16.x/docs/using-pants/setting-up-an-ide.mdx", + }, + { from: "/v2.16/docs/shell", to: "/2.16.x/docs/shell/shell-overview.mdx" }, + { + from: "/v2.16/docs/source-roots", + to: "/2.16.x/docs/using-pants/key-concepts/source-roots.mdx", + }, + { + from: "/v2.16/docs/sponsorship", + to: "/2.16.x/docs/introduction/sponsoring-pants.mdx", + }, + { + from: "/v2.16/docs/style-guide", + to: "/2.16.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.16/docs/tagging-docker-images", + to: "/2.16.x/docs/docker/tagging-docker-images.mdx", + }, + { + from: "/v2.16/docs/target-api-concepts", + to: "/2.16.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.16/docs/target-api-extending-targets", + to: "/2.16.x/docs/writing-plugins/the-target-api/extending-existing-targets.mdx", + }, + { + from: "/v2.16/docs/target-api-new-fields", + to: "/2.16.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.16/docs/target-api-new-targets", + to: "/2.16.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.16/docs/target-api", + to: "/2.16.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.16/docs/targets", + to: "/2.16.x/docs/using-pants/key-concepts/targets-and-build-files.mdx", + }, + { from: "/v2.16/docs/team", to: "/2.16.x/community/meet-the-team" }, + { + from: "/v2.16/docs/test-custom-plugin-goal", + to: "/2.16.x/docs/tutorials/testing-plugins.mdx", + }, + { from: "/v2.16/docs/testimonials", to: "/2.16.x/spotlight/testimonials" }, + { from: "/v2.16/docs/the-pants-community", to: "/2.16.x/community/members" }, + { + from: "/v2.16/docs/thrift-python", + to: "/2.16.x/docs/python/integrations/thrift.mdx", + }, + { + from: "/v2.16/docs/troubleshooting", + to: "/2.16.x/docs/using-pants/troubleshooting-common-issues.mdx", + }, + { + from: "/v2.16/docs/tutorials-coming-soon", + to: "/2.16.x/docs/tutorials/index.mdx", + }, + { + from: "/v2.16/docs/upgrade-tips", + to: "/2.16.x/docs/releases/upgrade-tips.mdx", + }, + { + from: "/v2.16/docs/using-pants-in-ci", + to: "/2.16.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.16/docs/using-pants", to: "/2.16.x/docs/using-pants/index.mdx" }, + { + from: "/v2.16/docs/validating-dependencies", + to: "/2.16.x/docs/using-pants/validating-dependencies.mdx", + }, + { + from: "/v2.16/docs/welcome-to-pants", + to: "/2.16.x/docs/introduction/welcome-to-pants.mdx", + }, + { from: "/v2.16/docs/who-uses-pants", to: "/2.16.x/spotlight/users" }, + { + from: "/v2.16/docs/writing-plugins", + to: "/2.16.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.17/docs/ad-hoc-tools", + to: "/2.17.x/docs/ad-hoc-tools/index.mdx", + }, + { + from: "/v2.17/docs/adhoc-tool", + to: "/2.17.x/docs/ad-hoc-tools/integrating-new-tools-without-plugins.mdx", + }, + { + from: "/v2.17/docs/advanced-plugin-concepts", + to: "/2.17.x/docs/tutorials-coming-soon/advanced-plugin-concepts.mdx", + }, + { + from: "/v2.17/docs/advanced-target-selection", + to: "/2.17.x/docs/using-pants/advanced-target-selection.mdx", + }, + { + from: "/v2.17/docs/anonymous-telemetry", + to: "/2.17.x/docs/using-pants/anonymous-telemetry.mdx", + }, + { + from: "/v2.17/docs/assets", + to: "/2.17.x/docs/using-pants/assets-and-archives.mdx", + }, + { + from: "/v2.17/docs/awslambda-python", + to: "/2.17.x/docs/python/integrations/aws-lambda.mdx", + }, + { from: "/v2.17/docs/changelog", to: "/2.17.x/versions" }, + { + from: "/v2.17/docs/ci-for-macos-on-arm64", + to: "/2.17.x/docs/contributions/releases/github-actions-macos-arm64-runners.mdx", + }, + { + from: "/v2.17/docs/code-of-conduct", + to: "/2.17.x/community/code-of-conduct", + }, + { + from: "/v2.17/docs/command-line-help", + to: "/2.17.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.17/docs/common-plugin-tasks", + to: "/2.17.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.17/docs/community", to: "/2.17.x/community/members" }, + { + from: "/v2.17/docs/concepts", + to: "/2.17.x/docs/using-pants/key-concepts/index.mdx", + }, + { + from: "/v2.17/docs/contentious-decisions", + to: "/2.17.x/community/contentious-decisions", + }, + { + from: "/v2.17/docs/contributing-to-pants", + to: "/2.17.x/docs/contributions/index.mdx", + }, + { + from: "/v2.17/docs/contributions-debugging", + to: "/2.17.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.17/docs/contributions-rust", + to: "/2.17.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.17/docs/contributor-overview", + to: "/2.17.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.17/docs/contributor-setup", + to: "/2.17.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.17/docs/create-a-new-goal", + to: "/2.17.x/docs/tutorials-coming-soon/create-a-new-goal.mdx", + }, + { + from: "/v2.17/docs/deprecation-policy", + to: "/2.17.x/docs/releases/deprecation-policy.mdx", + }, + { + from: "/v2.17/docs/development", + to: "/2.17.x/docs/contributions/development/index.mdx", + }, + { from: "/v2.17/docs/docker", to: "/2.17.x/docs/docker/docker-overview.mdx" }, + { + from: "/v2.17/docs/documentation", + to: "/2.17.x/docs/introduction/index.mdx", + }, + { + from: "/v2.17/docs/enabling-backends", + to: "/2.17.x/docs/using-pants/key-concepts/backends.mdx", + }, + { + from: "/v2.17/docs/environments", + to: "/2.17.x/docs/using-pants/environments:-cross-platform-or-remote-builds.mdx", + }, + { + from: "/v2.17/docs/example-repos", + to: "/2.17.x/docs/getting-started/getting-started/example-projects-and-repositories.mdx", + }, + { + from: "/v2.17/docs/existing-repositories", + to: "/2.17.x/docs/getting-started/getting-started/incremental-adoption.mdx", + }, + { + from: "/v2.17/docs/generating-version-tags", + to: "/2.17.x/docs/using-pants/generating-version-tags-from-git.mdx", + }, + { from: "/v2.17/docs/getting-help", to: "/2.17.x/community/getting-help" }, + { + from: "/v2.17/docs/getting-started", + to: "/2.17.x/docs/getting-started/getting-started/index.mdx", + }, + { + from: "/v2.17/docs/go-integrations", + to: "/2.17.x/docs/go/integrations/index.mdx", + }, + { from: "/v2.17/docs/go", to: "/2.17.x/docs/go/go-overview.mdx" }, + { + from: "/v2.17/docs/goals", + to: "/2.17.x/docs/using-pants/key-concepts/goals.mdx", + }, + { + from: "/v2.17/docs/google-cloud-function-python", + to: "/2.17.x/docs/python/integrations/google-cloud-functions.mdx", + }, + { + from: "/v2.17/docs/helm-deployments", + to: "/2.17.x/docs/helm/deployments.mdx", + }, + { + from: "/v2.17/docs/helm-overview", + to: "/2.17.x/docs/helm/helm-overview.mdx", + }, + { from: "/v2.17/docs/helm", to: "/2.17.x/docs/helm/index.mdx" }, + { + from: "/v2.17/docs/how-does-pants-work", + to: "/2.17.x/docs/introduction/how-does-pants-work.mdx", + }, + { + from: "/v2.17/docs/initial-configuration", + to: "/2.17.x/docs/getting-started/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.17/docs/installation", + to: "/2.17.x/docs/getting-started/getting-started/installing-pants.mdx", + }, + { + from: "/v2.17/docs/internal-rules-architecture", + to: "/2.17.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.17/docs/jupyter", + to: "/2.17.x/docs/python/integrations/jupyter.mdx", + }, + { + from: "/v2.17/docs/jvm-overview", + to: "/2.17.x/docs/java-and-scala/java-and-scala-overview.mdx", + }, + { from: "/v2.17/docs/jvm", to: "/2.17.x/docs/java-and-scala/index.mdx" }, + { from: "/v2.17/docs/kotlin", to: "/2.17.x/docs/java-and-scala/kotlin.mdx" }, + { + from: "/v2.17/docs/language-support", + to: "/2.17.x/spotlight/language-support", + }, + { from: "/v2.17/docs/macros", to: "/2.17.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.17/docs/maintainers", to: "/2.17.x/community/maintainers" }, + { + from: "/v2.17/docs/manual-installation", + to: "/2.17.x/docs/getting-started/getting-started/manual-installation.mdx", + }, + { from: "/v2.17/docs/media", to: "/2.17.x/spotlight/media" }, + { from: "/v2.17/docs/news-room", to: "/2.17.x/spotlight/media" }, + { + from: "/v2.17/docs/options", + to: "/2.17.x/docs/using-pants/key-concepts/options.mdx", + }, + { + from: "/v2.17/docs/pex-files", + to: "/2.17.x/docs/python/python-overview/pex-files.mdx", + }, + { + from: "/v2.17/docs/plugin-helpers", + to: "/2.17.x/docs/writing-plugins/common-plugin-tasks/plugin-helpers.mdx", + }, + { + from: "/v2.17/docs/plugin-upgrade-guide", + to: "/2.17.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.17/docs/plugins-codegen", + to: "/2.17.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.17/docs/plugins-fmt-goal", + to: "/2.17.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.17/docs/plugins-lint-goal", + to: "/2.17.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.17/docs/plugins-overview", + to: "/2.17.x/docs/writing-plugins/plugins-overview.mdx", + }, + { + from: "/v2.17/docs/plugins-repl-goal", + to: "/2.17.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.17/docs/plugins-setup-py", + to: "/2.17.x/docs/writing-plugins/common-plugin-tasks/custom-python-artifact-kwargs.mdx", + }, + { + from: "/v2.17/docs/plugins-test-goal", + to: "/2.17.x/docs/writing-plugins/common-plugin-tasks/run-tests.mdx", + }, + { + from: "/v2.17/docs/plugins-typecheck-goal", + to: "/2.17.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.17/docs/prerequisites", + to: "/2.17.x/docs/getting-started/getting-started/prerequisites.mdx", + }, + { + from: "/v2.17/docs/project-introspection", + to: "/2.17.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.17/docs/protobuf-go", + to: "/2.17.x/docs/go/integrations/protobuf.mdx", + }, + { + from: "/v2.17/docs/protobuf-python", + to: "/2.17.x/docs/python/integrations/protobuf-and-grpc.mdx", + }, + { + from: "/v2.17/docs/pyoxidizer", + to: "/2.17.x/docs/python/integrations/pyoxidizer.mdx", + }, + { + from: "/v2.17/docs/python-backend", + to: "/2.17.x/docs/python/python-overview/enabling-python-support.mdx", + }, + { + from: "/v2.17/docs/python-check-goal", + to: "/2.17.x/docs/python/goals/check.mdx", + }, + { + from: "/v2.17/docs/python-distributions", + to: "/2.17.x/docs/python/python-overview/building-distributions.mdx", + }, + { + from: "/v2.17/docs/python-fmt-goal", + to: "/2.17.x/docs/python/goals/fmt.mdx", + }, + { + from: "/v2.17/docs/python-goals", + to: "/2.17.x/docs/python/goals/index.mdx", + }, + { + from: "/v2.17/docs/python-integrations", + to: "/2.17.x/docs/python/integrations/index.mdx", + }, + { + from: "/v2.17/docs/python-interpreter-compatibility", + to: "/2.17.x/docs/python/python-overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.17/docs/python-lint-goal", + to: "/2.17.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.17/docs/python-linters-and-formatters", + to: "/2.17.x/docs/python/python-overview/linters-and-formatters.mdx", + }, + { + from: "/v2.17/docs/python-lockfiles", + to: "/2.17.x/docs/python/python-overview/lockfiles.mdx", + }, + { + from: "/v2.17/docs/python-package-goal", + to: "/2.17.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.17/docs/python-publish-goal", + to: "/2.17.x/docs/python/goals/publish.mdx", + }, + { + from: "/v2.17/docs/python-repl-goal", + to: "/2.17.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.17/docs/python-run-goal", + to: "/2.17.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.17/docs/python-test-goal", + to: "/2.17.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.17/docs/python-third-party-dependencies", + to: "/2.17.x/docs/python/python-overview/third-party-dependencies.mdx", + }, + { + from: "/v2.17/docs/python", + to: "/2.17.x/docs/python/python-overview/index.mdx", + }, + { + from: "/v2.17/docs/reference-add-trailing-comma", + to: "/2.17.x/reference/subsystems/add-trailing-comma.mdx", + }, + { + from: "/v2.17/docs/reference-adhoc_tool", + to: "/2.17.x/reference/targets/adhoc_tool.mdx", + }, + { from: "/v2.17/docs/reference-all-goals", to: "/2.17.x/reference/goals" }, + { + from: "/v2.17/docs/reference-all-subsystems", + to: "/2.17.x/reference/subsystems", + }, + { + from: "/v2.17/docs/reference-all-targets", + to: "/2.17.x/reference/targets", + }, + { + from: "/v2.17/docs/reference-anonymous-telemetry", + to: "/2.17.x/reference/subsystems/anonymous-telemetry.mdx", + }, + { + from: "/v2.17/docs/reference-apache-thrift", + to: "/2.17.x/reference/subsystems/apache-thrift.mdx", + }, + { + from: "/v2.17/docs/reference-archive", + to: "/2.17.x/reference/targets/archive.mdx", + }, + { + from: "/v2.17/docs/reference-autoflake", + to: "/2.17.x/reference/subsystems/autoflake.mdx", + }, + { + from: "/v2.17/docs/reference-bandit", + to: "/2.17.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.17/docs/reference-black", + to: "/2.17.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.17/docs/reference-buf", + to: "/2.17.x/reference/subsystems/buf.mdx", + }, + { + from: "/v2.17/docs/reference-build-deprecations-fixer", + to: "/2.17.x/reference/subsystems/build-deprecations-fixer.mdx", + }, + { + from: "/v2.17/docs/reference-buildifier", + to: "/2.17.x/reference/subsystems/buildifier.mdx", + }, + { + from: "/v2.17/docs/reference-changed", + to: "/2.17.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.17/docs/reference-check", + to: "/2.17.x/reference/goals/check.mdx", + }, + { + from: "/v2.17/docs/reference-cli", + to: "/2.17.x/reference/subsystems/cli.mdx", + }, + { + from: "/v2.17/docs/reference-count-loc", + to: "/2.17.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.17/docs/reference-coursier", + to: "/2.17.x/reference/subsystems/coursier.mdx", + }, + { + from: "/v2.17/docs/reference-coverage-py", + to: "/2.17.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.17/docs/reference-debug-adapter", + to: "/2.17.x/reference/subsystems/debug-adapter.mdx", + }, + { + from: "/v2.17/docs/reference-debugpy", + to: "/2.17.x/reference/subsystems/debugpy.mdx", + }, + { + from: "/v2.17/docs/reference-dependees", + to: "/2.17.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.17/docs/reference-dependencies", + to: "/2.17.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.17/docs/reference-dependents", + to: "/2.17.x/reference/goals/dependents.mdx", + }, + { + from: "/v2.17/docs/reference-deploy_jar", + to: "/2.17.x/reference/targets/deploy_jar.mdx", + }, + { + from: "/v2.17/docs/reference-docformatter", + to: "/2.17.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.17/docs/reference-docker_environment", + to: "/2.17.x/reference/targets/docker_environment.mdx", + }, + { + from: "/v2.17/docs/reference-docker_image", + to: "/2.17.x/reference/targets/docker_image.mdx", + }, + { + from: "/v2.17/docs/reference-docker", + to: "/2.17.x/reference/subsystems/docker.mdx", + }, + { + from: "/v2.17/docs/reference-dockerfile-parser", + to: "/2.17.x/reference/subsystems/dockerfile-parser.mdx", + }, + { + from: "/v2.17/docs/reference-download-terraform", + to: "/2.17.x/reference/subsystems/download-terraform.mdx", + }, + { + from: "/v2.17/docs/reference-environments-preview", + to: "/2.17.x/reference/subsystems/environments-preview.mdx", + }, + { + from: "/v2.17/docs/reference-experimental_test_shell_command", + to: "/2.17.x/reference/targets/experimental_test_shell_command.mdx", + }, + { + from: "/v2.17/docs/reference-experimental_wrap_as_go_package_sources", + to: "/2.17.x/reference/targets/experimental_wrap_as_go_package_sources.mdx", + }, + { + from: "/v2.17/docs/reference-experimental_wrap_as_java_sources", + to: "/2.17.x/reference/targets/experimental_wrap_as_java_sources.mdx", + }, + { + from: "/v2.17/docs/reference-experimental_wrap_as_kotlin_sources", + to: "/2.17.x/reference/targets/experimental_wrap_as_kotlin_sources.mdx", + }, + { + from: "/v2.17/docs/reference-experimental_wrap_as_python_sources", + to: "/2.17.x/reference/targets/experimental_wrap_as_python_sources.mdx", + }, + { + from: "/v2.17/docs/reference-experimental_wrap_as_resources", + to: "/2.17.x/reference/targets/experimental_wrap_as_resources.mdx", + }, + { + from: "/v2.17/docs/reference-experimental_wrap_as_scala_sources", + to: "/2.17.x/reference/targets/experimental_wrap_as_scala_sources.mdx", + }, + { + from: "/v2.17/docs/reference-experimental-bsp", + to: "/2.17.x/reference/goals/experimental-bsp.mdx", + }, + { + from: "/v2.17/docs/reference-experimental-deploy", + to: "/2.17.x/reference/goals/experimental-deploy.mdx", + }, + { + from: "/v2.17/docs/reference-experimental-explorer", + to: "/2.17.x/reference/goals/experimental-explorer.mdx", + }, + { + from: "/v2.17/docs/reference-export-codegen", + to: "/2.17.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.17/docs/reference-export", + to: "/2.17.x/reference/goals/export.mdx", + }, + { + from: "/v2.17/docs/reference-file", + to: "/2.17.x/reference/targets/file.mdx", + }, + { + from: "/v2.17/docs/reference-filedeps", + to: "/2.17.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.17/docs/reference-files", + to: "/2.17.x/reference/targets/files.mdx", + }, + { + from: "/v2.17/docs/reference-filter", + to: "/2.17.x/reference/subsystems/filter.mdx", + }, + { from: "/v2.17/docs/reference-fix", to: "/2.17.x/reference/goals/fix.mdx" }, + { + from: "/v2.17/docs/reference-flake8", + to: "/2.17.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.17/docs/reference-fmt", to: "/2.17.x/reference/goals/fmt.mdx" }, + { + from: "/v2.17/docs/reference-generate-lockfiles", + to: "/2.17.x/reference/goals/generate-lockfiles.mdx", + }, + { + from: "/v2.17/docs/reference-global", + to: "/2.17.x/reference/global-options.mdx", + }, + { + from: "/v2.17/docs/reference-go_binary", + to: "/2.17.x/reference/targets/go_binary.mdx", + }, + { + from: "/v2.17/docs/reference-go_mod", + to: "/2.17.x/reference/targets/go_mod.mdx", + }, + { + from: "/v2.17/docs/reference-go_package", + to: "/2.17.x/reference/targets/go_package.mdx", + }, + { + from: "/v2.17/docs/reference-go_third_party_package", + to: "/2.17.x/reference/targets/go_third_party_package.mdx", + }, + { + from: "/v2.17/docs/reference-go-generate", + to: "/2.17.x/reference/goals/go-generate.mdx", + }, + { + from: "/v2.17/docs/reference-go-test", + to: "/2.17.x/reference/subsystems/go-test.mdx", + }, + { + from: "/v2.17/docs/reference-gofmt", + to: "/2.17.x/reference/subsystems/gofmt.mdx", + }, + { + from: "/v2.17/docs/reference-golang", + to: "/2.17.x/reference/subsystems/golang.mdx", + }, + { + from: "/v2.17/docs/reference-google-java-format", + to: "/2.17.x/reference/subsystems/google-java-format.mdx", + }, + { + from: "/v2.17/docs/reference-grpc-python-plugin", + to: "/2.17.x/reference/subsystems/grpc-python-plugin.mdx", + }, + { + from: "/v2.17/docs/reference-hadolint", + to: "/2.17.x/reference/subsystems/hadolint.mdx", + }, + { + from: "/v2.17/docs/reference-helm_artifact", + to: "/2.17.x/reference/targets/helm_artifact.mdx", + }, + { + from: "/v2.17/docs/reference-helm_chart", + to: "/2.17.x/reference/targets/helm_chart.mdx", + }, + { + from: "/v2.17/docs/reference-helm_deployment", + to: "/2.17.x/reference/targets/helm_deployment.mdx", + }, + { + from: "/v2.17/docs/reference-helm_unittest_test", + to: "/2.17.x/reference/targets/helm_unittest_test.mdx", + }, + { + from: "/v2.17/docs/reference-helm_unittest_tests", + to: "/2.17.x/reference/targets/helm_unittest_tests.mdx", + }, + { + from: "/v2.17/docs/reference-helm-k8s-parser", + to: "/2.17.x/reference/subsystems/helm-k8s-parser.mdx", + }, + { + from: "/v2.17/docs/reference-helm-post-renderer", + to: "/2.17.x/reference/subsystems/helm-post-renderer.mdx", + }, + { + from: "/v2.17/docs/reference-helm-unittest", + to: "/2.17.x/reference/subsystems/helm-unittest.mdx", + }, + { + from: "/v2.17/docs/reference-helm", + to: "/2.17.x/reference/subsystems/helm.mdx", + }, + { + from: "/v2.17/docs/reference-help-advanced", + to: "/2.17.x/reference/goals/help-advanced.mdx", + }, + { + from: "/v2.17/docs/reference-help-all", + to: "/2.17.x/reference/goals/help-all.mdx", + }, + { + from: "/v2.17/docs/reference-help", + to: "/2.17.x/reference/goals/help.mdx", + }, + { + from: "/v2.17/docs/reference-ipython", + to: "/2.17.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.17/docs/reference-isort", + to: "/2.17.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.17/docs/reference-jarjar", + to: "/2.17.x/reference/subsystems/jarjar.mdx", + }, + { + from: "/v2.17/docs/reference-java_source", + to: "/2.17.x/reference/targets/java_source.mdx", + }, + { + from: "/v2.17/docs/reference-java_sources", + to: "/2.17.x/reference/targets/java_sources.mdx", + }, + { + from: "/v2.17/docs/reference-java-infer", + to: "/2.17.x/reference/subsystems/java-infer.mdx", + }, + { + from: "/v2.17/docs/reference-javac", + to: "/2.17.x/reference/subsystems/javac.mdx", + }, + { + from: "/v2.17/docs/reference-junit_test", + to: "/2.17.x/reference/targets/junit_test.mdx", + }, + { + from: "/v2.17/docs/reference-junit_tests", + to: "/2.17.x/reference/targets/junit_tests.mdx", + }, + { + from: "/v2.17/docs/reference-junit", + to: "/2.17.x/reference/subsystems/junit.mdx", + }, + { + from: "/v2.17/docs/reference-jvm_artifact", + to: "/2.17.x/reference/targets/jvm_artifact.mdx", + }, + { + from: "/v2.17/docs/reference-jvm_war", + to: "/2.17.x/reference/targets/jvm_war.mdx", + }, + { + from: "/v2.17/docs/reference-jvm", + to: "/2.17.x/reference/subsystems/jvm.mdx", + }, + { + from: "/v2.17/docs/reference-kotlin_junit_test", + to: "/2.17.x/reference/targets/kotlin_junit_test.mdx", + }, + { + from: "/v2.17/docs/reference-kotlin_junit_tests", + to: "/2.17.x/reference/targets/kotlin_junit_tests.mdx", + }, + { + from: "/v2.17/docs/reference-kotlin_source", + to: "/2.17.x/reference/targets/kotlin_source.mdx", + }, + { + from: "/v2.17/docs/reference-kotlin_sources", + to: "/2.17.x/reference/targets/kotlin_sources.mdx", + }, + { + from: "/v2.17/docs/reference-kotlin-infer", + to: "/2.17.x/reference/subsystems/kotlin-infer.mdx", + }, + { + from: "/v2.17/docs/reference-kotlin", + to: "/2.17.x/reference/subsystems/kotlin.mdx", + }, + { + from: "/v2.17/docs/reference-kotlinc_plugin", + to: "/2.17.x/reference/targets/kotlinc_plugin.mdx", + }, + { + from: "/v2.17/docs/reference-kotlinc", + to: "/2.17.x/reference/subsystems/kotlinc.mdx", + }, + { + from: "/v2.17/docs/reference-ktlint", + to: "/2.17.x/reference/subsystems/ktlint.mdx", + }, + { + from: "/v2.17/docs/reference-lambdex", + to: "/2.17.x/reference/subsystems/lambdex.mdx", + }, + { + from: "/v2.17/docs/reference-lint", + to: "/2.17.x/reference/goals/lint.mdx", + }, + { + from: "/v2.17/docs/reference-list", + to: "/2.17.x/reference/goals/list.mdx", + }, + { + from: "/v2.17/docs/reference-local_environment", + to: "/2.17.x/reference/targets/local_environment.mdx", + }, + { + from: "/v2.17/docs/reference-mypy-protobuf", + to: "/2.17.x/reference/subsystems/mypy-protobuf.mdx", + }, + { + from: "/v2.17/docs/reference-mypy", + to: "/2.17.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.17/docs/reference-nodejs", + to: "/2.17.x/reference/subsystems/nodejs.mdx", + }, + { + from: "/v2.17/docs/reference-openapi_document", + to: "/2.17.x/reference/targets/openapi_document.mdx", + }, + { + from: "/v2.17/docs/reference-openapi_documents", + to: "/2.17.x/reference/targets/openapi_documents.mdx", + }, + { + from: "/v2.17/docs/reference-openapi_source", + to: "/2.17.x/reference/targets/openapi_source.mdx", + }, + { + from: "/v2.17/docs/reference-openapi_sources", + to: "/2.17.x/reference/targets/openapi_sources.mdx", + }, + { + from: "/v2.17/docs/reference-openapi", + to: "/2.17.x/reference/subsystems/openapi.mdx", + }, + { + from: "/v2.17/docs/reference-package", + to: "/2.17.x/reference/goals/package.mdx", + }, + { + from: "/v2.17/docs/reference-pants_requirements", + to: "/2.17.x/reference/targets/pants_requirements.mdx", + }, + { + from: "/v2.17/docs/reference-paths", + to: "/2.17.x/reference/goals/paths.mdx", + }, + { + from: "/v2.17/docs/reference-peek", + to: "/2.17.x/reference/goals/peek.mdx", + }, + { + from: "/v2.17/docs/reference-pex_binaries", + to: "/2.17.x/reference/targets/pex_binaries.mdx", + }, + { + from: "/v2.17/docs/reference-pex_binary", + to: "/2.17.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.17/docs/reference-pex-binary-defaults", + to: "/2.17.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.17/docs/reference-pex-cli", + to: "/2.17.x/reference/subsystems/pex-cli.mdx", + }, + { + from: "/v2.17/docs/reference-pex", + to: "/2.17.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.17/docs/reference-pipenv_requirements", + to: "/2.17.x/reference/targets/pipenv_requirements.mdx", + }, + { + from: "/v2.17/docs/reference-poetry_requirements", + to: "/2.17.x/reference/targets/poetry_requirements.mdx", + }, + { + from: "/v2.17/docs/reference-preamble", + to: "/2.17.x/reference/subsystems/preamble.mdx", + }, + { + from: "/v2.17/docs/reference-protobuf_source", + to: "/2.17.x/reference/targets/protobuf_source.mdx", + }, + { + from: "/v2.17/docs/reference-protobuf_sources", + to: "/2.17.x/reference/targets/protobuf_sources.mdx", + }, + { + from: "/v2.17/docs/reference-protobuf-java-grpc", + to: "/2.17.x/reference/subsystems/protobuf-java-grpc.mdx", + }, + { + from: "/v2.17/docs/reference-protoc", + to: "/2.17.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.17/docs/reference-publish", + to: "/2.17.x/reference/goals/publish.mdx", + }, + { + from: "/v2.17/docs/reference-py-constraints", + to: "/2.17.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.17/docs/reference-pydocstyle", + to: "/2.17.x/reference/subsystems/pydocstyle.mdx", + }, + { + from: "/v2.17/docs/reference-pylint", + to: "/2.17.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.17/docs/reference-pyoxidizer_binary", + to: "/2.17.x/reference/targets/pyoxidizer_binary.mdx", + }, + { + from: "/v2.17/docs/reference-pyoxidizer", + to: "/2.17.x/reference/subsystems/pyoxidizer.mdx", + }, + { + from: "/v2.17/docs/reference-pytest", + to: "/2.17.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.17/docs/reference-python_awslambda", + to: "/2.17.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.17/docs/reference-python_distribution", + to: "/2.17.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.17/docs/reference-python_google_cloud_function", + to: "/2.17.x/reference/targets/python_google_cloud_function.mdx", + }, + { + from: "/v2.17/docs/reference-python_requirement", + to: "/2.17.x/reference/targets/python_requirement.mdx", + }, + { + from: "/v2.17/docs/reference-python_requirements", + to: "/2.17.x/reference/targets/python_requirements.mdx", + }, + { + from: "/v2.17/docs/reference-python_source", + to: "/2.17.x/reference/targets/python_source.mdx", + }, + { + from: "/v2.17/docs/reference-python_sources", + to: "/2.17.x/reference/targets/python_sources.mdx", + }, + { + from: "/v2.17/docs/reference-python_test_utils", + to: "/2.17.x/reference/targets/python_test_utils.mdx", + }, + { + from: "/v2.17/docs/reference-python_test", + to: "/2.17.x/reference/targets/python_test.mdx", + }, + { + from: "/v2.17/docs/reference-python_tests", + to: "/2.17.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.17/docs/reference-python-bootstrap", + to: "/2.17.x/reference/subsystems/python-bootstrap.mdx", + }, + { + from: "/v2.17/docs/reference-python-dump-source-analysis", + to: "/2.17.x/reference/goals/python-dump-source-analysis.mdx", + }, + { + from: "/v2.17/docs/reference-python-infer", + to: "/2.17.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.17/docs/reference-python-native-code", + to: "/2.17.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.17/docs/reference-python-protobuf", + to: "/2.17.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.17/docs/reference-python-repos", + to: "/2.17.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.17/docs/reference-python-thrift", + to: "/2.17.x/reference/subsystems/python-thrift.mdx", + }, + { + from: "/v2.17/docs/reference-python", + to: "/2.17.x/reference/subsystems/python.mdx", + }, + { + from: "/v2.17/docs/reference-pyupgrade", + to: "/2.17.x/reference/subsystems/pyupgrade.mdx", + }, + { + from: "/v2.17/docs/reference-regex-lint", + to: "/2.17.x/reference/subsystems/regex-lint.mdx", + }, + { + from: "/v2.17/docs/reference-relocated_files", + to: "/2.17.x/reference/targets/relocated_files.mdx", + }, + { + from: "/v2.17/docs/reference-remote_environment", + to: "/2.17.x/reference/targets/remote_environment.mdx", + }, + { + from: "/v2.17/docs/reference-repl", + to: "/2.17.x/reference/goals/repl.mdx", + }, + { + from: "/v2.17/docs/reference-resource", + to: "/2.17.x/reference/targets/resource.mdx", + }, + { + from: "/v2.17/docs/reference-resources", + to: "/2.17.x/reference/targets/resources.mdx", + }, + { + from: "/v2.17/docs/reference-roots", + to: "/2.17.x/reference/goals/roots.mdx", + }, + { + from: "/v2.17/docs/reference-ruff", + to: "/2.17.x/reference/subsystems/ruff.mdx", + }, + { + from: "/v2.17/docs/reference-run_shell_command", + to: "/2.17.x/reference/targets/run_shell_command.mdx", + }, + { from: "/v2.17/docs/reference-run", to: "/2.17.x/reference/goals/run.mdx" }, + { + from: "/v2.17/docs/reference-scala_junit_test", + to: "/2.17.x/reference/targets/scala_junit_test.mdx", + }, + { + from: "/v2.17/docs/reference-scala_junit_tests", + to: "/2.17.x/reference/targets/scala_junit_tests.mdx", + }, + { + from: "/v2.17/docs/reference-scala_source", + to: "/2.17.x/reference/targets/scala_source.mdx", + }, + { + from: "/v2.17/docs/reference-scala_sources", + to: "/2.17.x/reference/targets/scala_sources.mdx", + }, + { + from: "/v2.17/docs/reference-scala-infer", + to: "/2.17.x/reference/subsystems/scala-infer.mdx", + }, + { + from: "/v2.17/docs/reference-scala", + to: "/2.17.x/reference/subsystems/scala.mdx", + }, + { + from: "/v2.17/docs/reference-scalac_plugin", + to: "/2.17.x/reference/targets/scalac_plugin.mdx", + }, + { + from: "/v2.17/docs/reference-scalac", + to: "/2.17.x/reference/subsystems/scalac.mdx", + }, + { + from: "/v2.17/docs/reference-scalafmt", + to: "/2.17.x/reference/subsystems/scalafmt.mdx", + }, + { + from: "/v2.17/docs/reference-scalapb", + to: "/2.17.x/reference/subsystems/scalapb.mdx", + }, + { + from: "/v2.17/docs/reference-scalatest_test", + to: "/2.17.x/reference/targets/scalatest_test.mdx", + }, + { + from: "/v2.17/docs/reference-scalatest_tests", + to: "/2.17.x/reference/targets/scalatest_tests.mdx", + }, + { + from: "/v2.17/docs/reference-scalatest", + to: "/2.17.x/reference/subsystems/scalatest.mdx", + }, + { + from: "/v2.17/docs/reference-scc", + to: "/2.17.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.17/docs/reference-setup-py-generation", + to: "/2.17.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.17/docs/reference-setuptools-scm", + to: "/2.17.x/reference/subsystems/setuptools-scm.mdx", + }, + { + from: "/v2.17/docs/reference-setuptools", + to: "/2.17.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.17/docs/reference-shell_command", + to: "/2.17.x/reference/targets/shell_command.mdx", + }, + { + from: "/v2.17/docs/reference-shell_source", + to: "/2.17.x/reference/targets/shell_source.mdx", + }, + { + from: "/v2.17/docs/reference-shell_sources", + to: "/2.17.x/reference/targets/shell_sources.mdx", + }, + { + from: "/v2.17/docs/reference-shell-setup", + to: "/2.17.x/reference/subsystems/shell-setup.mdx", + }, + { + from: "/v2.17/docs/reference-shell-test", + to: "/2.17.x/reference/subsystems/shell-test.mdx", + }, + { + from: "/v2.17/docs/reference-shellcheck", + to: "/2.17.x/reference/subsystems/shellcheck.mdx", + }, + { + from: "/v2.17/docs/reference-shfmt", + to: "/2.17.x/reference/subsystems/shfmt.mdx", + }, + { + from: "/v2.17/docs/reference-shunit2_test", + to: "/2.17.x/reference/targets/shunit2_test.mdx", + }, + { + from: "/v2.17/docs/reference-shunit2_tests", + to: "/2.17.x/reference/targets/shunit2_tests.mdx", + }, + { + from: "/v2.17/docs/reference-shunit2", + to: "/2.17.x/reference/subsystems/shunit2.mdx", + }, + { + from: "/v2.17/docs/reference-source", + to: "/2.17.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.17/docs/reference-spectral", + to: "/2.17.x/reference/subsystems/spectral.mdx", + }, + { + from: "/v2.17/docs/reference-stats", + to: "/2.17.x/reference/subsystems/stats.mdx", + }, + { + from: "/v2.17/docs/reference-subprocess-environment", + to: "/2.17.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.17/docs/reference-system_binary", + to: "/2.17.x/reference/targets/system_binary.mdx", + }, + { + from: "/v2.17/docs/reference-tailor", + to: "/2.17.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.17/docs/reference-target", + to: "/2.17.x/reference/targets/target.mdx", + }, + { + from: "/v2.17/docs/reference-terraform_module", + to: "/2.17.x/reference/targets/terraform_module.mdx", + }, + { + from: "/v2.17/docs/reference-terraform-fmt", + to: "/2.17.x/reference/subsystems/terraform-fmt.mdx", + }, + { + from: "/v2.17/docs/reference-terraform-hcl2-parser", + to: "/2.17.x/reference/subsystems/terraform-hcl2-parser.mdx", + }, + { + from: "/v2.17/docs/reference-terraform-validate", + to: "/2.17.x/reference/subsystems/terraform-validate.mdx", + }, + { + from: "/v2.17/docs/reference-test", + to: "/2.17.x/reference/goals/test.mdx", + }, + { + from: "/v2.17/docs/reference-thrift_source", + to: "/2.17.x/reference/targets/thrift_source.mdx", + }, + { + from: "/v2.17/docs/reference-thrift_sources", + to: "/2.17.x/reference/targets/thrift_sources.mdx", + }, + { + from: "/v2.17/docs/reference-thrift", + to: "/2.17.x/reference/subsystems/thrift.mdx", + }, + { + from: "/v2.17/docs/reference-twine", + to: "/2.17.x/reference/subsystems/twine.mdx", + }, + { + from: "/v2.17/docs/reference-update-build-files", + to: "/2.17.x/reference/goals/update-build-files.mdx", + }, + { + from: "/v2.17/docs/reference-vcs_version", + to: "/2.17.x/reference/targets/vcs_version.mdx", + }, + { + from: "/v2.17/docs/reference-version", + to: "/2.17.x/reference/goals/version.mdx", + }, + { + from: "/v2.17/docs/reference-workunit-logger", + to: "/2.17.x/reference/subsystems/workunit-logger.mdx", + }, + { + from: "/v2.17/docs/reference-yamllint", + to: "/2.17.x/reference/subsystems/yamllint.mdx", + }, + { + from: "/v2.17/docs/reference-yapf", + to: "/2.17.x/reference/subsystems/yapf.mdx", + }, + { from: "/v2.17/docs/reference", to: "/2.17.x/reference/index.mdx" }, + { from: "/v2.17/docs/release-notes", to: "/2.17.x/docs/releases/index.mdx" }, + { + from: "/v2.17/docs/release-process", + to: "/2.17.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.17/docs/release-strategy", + to: "/2.17.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.17/docs/releases", + to: "/2.17.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.17/docs/remote-caching-execution", + to: "/2.17.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.17/docs/remote-caching", + to: "/2.17.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.17/docs/remote-execution", + to: "/2.17.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.17/docs/restricted-internet-access", + to: "/2.17.x/docs/using-pants/restricted-internet-access.mdx", + }, + { + from: "/v2.17/docs/rules-api-and-target-api", + to: "/2.17.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.17/docs/rules-api-concepts", + to: "/2.17.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.17/docs/rules-api-file-system", + to: "/2.17.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.17/docs/rules-api-goal-rules", + to: "/2.17.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.17/docs/rules-api-installing-tools", + to: "/2.17.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.17/docs/rules-api-logging", + to: "/2.17.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.17/docs/rules-api-process", + to: "/2.17.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.17/docs/rules-api-subsystems", + to: "/2.17.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.17/docs/rules-api-testing", + to: "/2.17.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.17/docs/rules-api-tips", + to: "/2.17.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.17/docs/rules-api-unions", + to: "/2.17.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.17/docs/rules-api", + to: "/2.17.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.17/docs/run-shell-commands", + to: "/2.17.x/docs/shell/run-shell-commands.mdx", + }, + { + from: "/v2.17/docs/running-pants-from-sources", + to: "/2.17.x/docs/contributions/development/running-pants-from-sources.mdx", + }, + { + from: "/v2.17/docs/setting-up-an-ide", + to: "/2.17.x/docs/using-pants/setting-up-an-ide.mdx", + }, + { from: "/v2.17/docs/shell", to: "/2.17.x/docs/shell/shell-overview.mdx" }, + { + from: "/v2.17/docs/source-roots", + to: "/2.17.x/docs/using-pants/key-concepts/source-roots.mdx", + }, + { + from: "/v2.17/docs/sponsorship", + to: "/2.17.x/docs/introduction/sponsoring-pants.mdx", + }, + { + from: "/v2.17/docs/style-guide", + to: "/2.17.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.17/docs/tagging-docker-images", + to: "/2.17.x/docs/docker/tagging-docker-images.mdx", + }, + { + from: "/v2.17/docs/target-api-concepts", + to: "/2.17.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.17/docs/target-api-extending-targets", + to: "/2.17.x/docs/writing-plugins/the-target-api/extending-existing-targets.mdx", + }, + { + from: "/v2.17/docs/target-api-new-fields", + to: "/2.17.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.17/docs/target-api-new-targets", + to: "/2.17.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.17/docs/target-api", + to: "/2.17.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.17/docs/targets", + to: "/2.17.x/docs/using-pants/key-concepts/targets-and-build-files.mdx", + }, + { from: "/v2.17/docs/team", to: "/2.17.x/community/meet-the-team" }, + { + from: "/v2.17/docs/test-custom-plugin-goal", + to: "/2.17.x/docs/tutorials-coming-soon/testing-plugins.mdx", + }, + { from: "/v2.17/docs/testimonials", to: "/2.17.x/spotlight/testimonials" }, + { from: "/v2.17/docs/the-pants-community", to: "/2.17.x/community/members" }, + { + from: "/v2.17/docs/thrift-python", + to: "/2.17.x/docs/python/integrations/thrift.mdx", + }, + { + from: "/v2.17/docs/troubleshooting", + to: "/2.17.x/docs/using-pants/troubleshooting-common-issues.mdx", + }, + { + from: "/v2.17/docs/tutorials-coming-soon", + to: "/2.17.x/docs/tutorials-coming-soon/index.mdx", + }, + { + from: "/v2.17/docs/upgrade-tips", + to: "/2.17.x/docs/releases/upgrade-tips.mdx", + }, + { + from: "/v2.17/docs/using-pants-in-ci", + to: "/2.17.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.17/docs/using-pants", to: "/2.17.x/docs/using-pants/index.mdx" }, + { + from: "/v2.17/docs/validating-dependencies", + to: "/2.17.x/docs/using-pants/validating-dependencies.mdx", + }, + { + from: "/v2.17/docs/welcome-to-pants", + to: "/2.17.x/docs/introduction/welcome-to-pants.mdx", + }, + { from: "/v2.17/docs/who-uses-pants", to: "/2.17.x/spotlight/users" }, + { + from: "/v2.17/docs/writing-plugins", + to: "/2.17.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.18/docs/ad-hoc-tools", + to: "/2.18.x/docs/ad-hoc-tools/index.mdx", + }, + { + from: "/v2.18/docs/adhoc-tool", + to: "/2.18.x/docs/ad-hoc-tools/integrating-new-tools-without-plugins.mdx", + }, + { + from: "/v2.18/docs/advanced-plugin-concepts", + to: "/2.18.x/docs/tutorials-coming-soon/advanced-plugin-concepts.mdx", + }, + { + from: "/v2.18/docs/advanced-target-selection", + to: "/2.18.x/docs/using-pants/advanced-target-selection.mdx", + }, + { + from: "/v2.18/docs/anonymous-telemetry", + to: "/2.18.x/docs/using-pants/anonymous-telemetry.mdx", + }, + { + from: "/v2.18/docs/assets", + to: "/2.18.x/docs/using-pants/assets-and-archives.mdx", + }, + { + from: "/v2.18/docs/awslambda-python", + to: "/2.18.x/docs/python/integrations/aws-lambda.mdx", + }, + { from: "/v2.18/docs/changelog", to: "/2.18.x/versions" }, + { + from: "/v2.18/docs/ci-for-macos-on-arm64", + to: "/2.18.x/docs/contributions/releases/github-actions-macos-arm64-runners.mdx", + }, + { + from: "/v2.18/docs/code-of-conduct", + to: "/2.18.x/community/code-of-conduct", + }, + { + from: "/v2.18/docs/command-line-help", + to: "/2.18.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.18/docs/common-plugin-tasks", + to: "/2.18.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.18/docs/community", to: "/2.18.x/community/members" }, + { + from: "/v2.18/docs/concepts", + to: "/2.18.x/docs/using-pants/key-concepts/index.mdx", + }, + { + from: "/v2.18/docs/contentious-decisions", + to: "/2.18.x/community/contentious-decisions", + }, + { + from: "/v2.18/docs/contributing-to-pants", + to: "/2.18.x/docs/contributions/index.mdx", + }, + { + from: "/v2.18/docs/contributions-debugging", + to: "/2.18.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.18/docs/contributions-rust", + to: "/2.18.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.18/docs/contributor-overview", + to: "/2.18.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.18/docs/contributor-setup", + to: "/2.18.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.18/docs/create-a-new-goal", + to: "/2.18.x/docs/tutorials-coming-soon/create-a-new-goal.mdx", + }, + { + from: "/v2.18/docs/deprecation-policy", + to: "/2.18.x/docs/releases/deprecation-policy.mdx", + }, + { + from: "/v2.18/docs/development", + to: "/2.18.x/docs/contributions/development/index.mdx", + }, + { from: "/v2.18/docs/docker", to: "/2.18.x/docs/docker/docker-overview.mdx" }, + { + from: "/v2.18/docs/documentation", + to: "/2.18.x/docs/introduction/index.mdx", + }, + { + from: "/v2.18/docs/enabling-backends", + to: "/2.18.x/docs/using-pants/key-concepts/backends.mdx", + }, + { + from: "/v2.18/docs/environments", + to: "/2.18.x/docs/using-pants/environments:-cross-platform-or-remote-builds.mdx", + }, + { + from: "/v2.18/docs/example-repos", + to: "/2.18.x/docs/getting-started/getting-started/example-projects-and-repositories.mdx", + }, + { + from: "/v2.18/docs/existing-repositories", + to: "/2.18.x/docs/getting-started/getting-started/incremental-adoption.mdx", + }, + { + from: "/v2.18/docs/generating-version-tags", + to: "/2.18.x/docs/using-pants/generating-version-tags-from-git.mdx", + }, + { from: "/v2.18/docs/getting-help", to: "/2.18.x/community/getting-help" }, + { + from: "/v2.18/docs/getting-started", + to: "/2.18.x/docs/getting-started/getting-started/index.mdx", + }, + { + from: "/v2.18/docs/go-integrations", + to: "/2.18.x/docs/go/integrations/index.mdx", + }, + { from: "/v2.18/docs/go", to: "/2.18.x/docs/go/go-overview.mdx" }, + { + from: "/v2.18/docs/goals", + to: "/2.18.x/docs/using-pants/key-concepts/goals.mdx", + }, + { + from: "/v2.18/docs/google-cloud-function-python", + to: "/2.18.x/docs/python/integrations/google-cloud-functions.mdx", + }, + { + from: "/v2.18/docs/helm-deployments", + to: "/2.18.x/docs/helm/deployments.mdx", + }, + { + from: "/v2.18/docs/helm-kubeconform", + to: "/2.18.x/docs/helm/kubeconform.mdx", + }, + { + from: "/v2.18/docs/helm-overview", + to: "/2.18.x/docs/helm/helm-overview.mdx", + }, + { from: "/v2.18/docs/helm", to: "/2.18.x/docs/helm/index.mdx" }, + { + from: "/v2.18/docs/how-does-pants-work", + to: "/2.18.x/docs/introduction/how-does-pants-work.mdx", + }, + { + from: "/v2.18/docs/initial-configuration", + to: "/2.18.x/docs/getting-started/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.18/docs/installation", + to: "/2.18.x/docs/getting-started/getting-started/installing-pants.mdx", + }, + { + from: "/v2.18/docs/internal-rules-architecture", + to: "/2.18.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.18/docs/jupyter", + to: "/2.18.x/docs/python/integrations/jupyter.mdx", + }, + { + from: "/v2.18/docs/jvm-overview", + to: "/2.18.x/docs/java-and-scala/java-and-scala-overview.mdx", + }, + { from: "/v2.18/docs/jvm", to: "/2.18.x/docs/java-and-scala/index.mdx" }, + { from: "/v2.18/docs/kotlin", to: "/2.18.x/docs/java-and-scala/kotlin.mdx" }, + { + from: "/v2.18/docs/language-support", + to: "/2.18.x/spotlight/language-support", + }, + { from: "/v2.18/docs/macros", to: "/2.18.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.18/docs/maintainers", to: "/2.18.x/community/maintainers" }, + { + from: "/v2.18/docs/manual-installation", + to: "/2.18.x/docs/getting-started/getting-started/manual-installation.mdx", + }, + { from: "/v2.18/docs/media", to: "/2.18.x/spotlight/media" }, + { from: "/v2.18/docs/news-room", to: "/2.18.x/spotlight/media" }, + { + from: "/v2.18/docs/options", + to: "/2.18.x/docs/using-pants/key-concepts/options.mdx", + }, + { + from: "/v2.18/docs/pex-files", + to: "/2.18.x/docs/python/python-overview/pex-files.mdx", + }, + { + from: "/v2.18/docs/plugin-helpers", + to: "/2.18.x/docs/writing-plugins/common-plugin-tasks/plugin-helpers.mdx", + }, + { + from: "/v2.18/docs/plugin-upgrade-guide", + to: "/2.18.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.18/docs/plugins-codegen", + to: "/2.18.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.18/docs/plugins-fmt-goal", + to: "/2.18.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.18/docs/plugins-lint-goal", + to: "/2.18.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.18/docs/plugins-overview", + to: "/2.18.x/docs/writing-plugins/plugins-overview.mdx", + }, + { + from: "/v2.18/docs/plugins-repl-goal", + to: "/2.18.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.18/docs/plugins-setup-py", + to: "/2.18.x/docs/writing-plugins/common-plugin-tasks/custom-python-artifact-kwargs.mdx", + }, + { + from: "/v2.18/docs/plugins-test-goal", + to: "/2.18.x/docs/writing-plugins/common-plugin-tasks/run-tests.mdx", + }, + { + from: "/v2.18/docs/plugins-typecheck-goal", + to: "/2.18.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.18/docs/prerequisites", + to: "/2.18.x/docs/getting-started/getting-started/prerequisites.mdx", + }, + { + from: "/v2.18/docs/project-introspection", + to: "/2.18.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.18/docs/protobuf-go", + to: "/2.18.x/docs/go/integrations/protobuf.mdx", + }, + { + from: "/v2.18/docs/protobuf-python", + to: "/2.18.x/docs/python/integrations/protobuf-and-grpc.mdx", + }, + { + from: "/v2.18/docs/pyoxidizer", + to: "/2.18.x/docs/python/integrations/pyoxidizer.mdx", + }, + { + from: "/v2.18/docs/python-backend", + to: "/2.18.x/docs/python/python-overview/enabling-python-support.mdx", + }, + { + from: "/v2.18/docs/python-check-goal", + to: "/2.18.x/docs/python/goals/check.mdx", + }, + { + from: "/v2.18/docs/python-distributions", + to: "/2.18.x/docs/python/python-overview/building-distributions.mdx", + }, + { + from: "/v2.18/docs/python-fmt-goal", + to: "/2.18.x/docs/python/goals/fmt.mdx", + }, + { + from: "/v2.18/docs/python-goals", + to: "/2.18.x/docs/python/goals/index.mdx", + }, + { + from: "/v2.18/docs/python-integrations", + to: "/2.18.x/docs/python/integrations/index.mdx", + }, + { + from: "/v2.18/docs/python-interpreter-compatibility", + to: "/2.18.x/docs/python/python-overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.18/docs/python-lint-goal", + to: "/2.18.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.18/docs/python-linters-and-formatters", + to: "/2.18.x/docs/python/python-overview/linters-and-formatters.mdx", + }, + { + from: "/v2.18/docs/python-lockfiles", + to: "/2.18.x/docs/python/python-overview/lockfiles.mdx", + }, + { + from: "/v2.18/docs/python-package-goal", + to: "/2.18.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.18/docs/python-publish-goal", + to: "/2.18.x/docs/python/goals/publish.mdx", + }, + { + from: "/v2.18/docs/python-repl-goal", + to: "/2.18.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.18/docs/python-run-goal", + to: "/2.18.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.18/docs/python-test-goal", + to: "/2.18.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.18/docs/python-third-party-dependencies", + to: "/2.18.x/docs/python/python-overview/third-party-dependencies.mdx", + }, + { + from: "/v2.18/docs/python", + to: "/2.18.x/docs/python/python-overview/index.mdx", + }, + { + from: "/v2.18/docs/reference-add-trailing-comma", + to: "/2.18.x/reference/subsystems/add-trailing-comma.mdx", + }, + { + from: "/v2.18/docs/reference-adhoc_tool", + to: "/2.18.x/reference/targets/adhoc_tool.mdx", + }, + { from: "/v2.18/docs/reference-all-goals", to: "/2.18.x/reference/goals" }, + { + from: "/v2.18/docs/reference-all-subsystems", + to: "/2.18.x/reference/subsystems", + }, + { + from: "/v2.18/docs/reference-all-targets", + to: "/2.18.x/reference/targets", + }, + { + from: "/v2.18/docs/reference-anonymous-telemetry", + to: "/2.18.x/reference/subsystems/anonymous-telemetry.mdx", + }, + { + from: "/v2.18/docs/reference-apache-thrift", + to: "/2.18.x/reference/subsystems/apache-thrift.mdx", + }, + { + from: "/v2.18/docs/reference-archive", + to: "/2.18.x/reference/targets/archive.mdx", + }, + { + from: "/v2.18/docs/reference-autoflake", + to: "/2.18.x/reference/subsystems/autoflake.mdx", + }, + { + from: "/v2.18/docs/reference-bandit", + to: "/2.18.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.18/docs/reference-black", + to: "/2.18.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.18/docs/reference-buf", + to: "/2.18.x/reference/subsystems/buf.mdx", + }, + { + from: "/v2.18/docs/reference-build-deprecations-fixer", + to: "/2.18.x/reference/subsystems/build-deprecations-fixer.mdx", + }, + { + from: "/v2.18/docs/reference-buildifier", + to: "/2.18.x/reference/subsystems/buildifier.mdx", + }, + { + from: "/v2.18/docs/reference-changed", + to: "/2.18.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.18/docs/reference-check", + to: "/2.18.x/reference/goals/check.mdx", + }, + { + from: "/v2.18/docs/reference-cli", + to: "/2.18.x/reference/subsystems/cli.mdx", + }, + { + from: "/v2.18/docs/reference-count-loc", + to: "/2.18.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.18/docs/reference-coursier", + to: "/2.18.x/reference/subsystems/coursier.mdx", + }, + { + from: "/v2.18/docs/reference-coverage-py", + to: "/2.18.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.18/docs/reference-debug-adapter", + to: "/2.18.x/reference/subsystems/debug-adapter.mdx", + }, + { + from: "/v2.18/docs/reference-debugpy", + to: "/2.18.x/reference/subsystems/debugpy.mdx", + }, + { + from: "/v2.18/docs/reference-dependees", + to: "/2.18.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.18/docs/reference-dependencies", + to: "/2.18.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.18/docs/reference-dependents", + to: "/2.18.x/reference/goals/dependents.mdx", + }, + { + from: "/v2.18/docs/reference-deploy_jar", + to: "/2.18.x/reference/targets/deploy_jar.mdx", + }, + { + from: "/v2.18/docs/reference-docformatter", + to: "/2.18.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.18/docs/reference-docker_environment", + to: "/2.18.x/reference/targets/docker_environment.mdx", + }, + { + from: "/v2.18/docs/reference-docker_image", + to: "/2.18.x/reference/targets/docker_image.mdx", + }, + { + from: "/v2.18/docs/reference-docker", + to: "/2.18.x/reference/subsystems/docker.mdx", + }, + { + from: "/v2.18/docs/reference-dockerfile-parser", + to: "/2.18.x/reference/subsystems/dockerfile-parser.mdx", + }, + { + from: "/v2.18/docs/reference-download-terraform", + to: "/2.18.x/reference/subsystems/download-terraform.mdx", + }, + { + from: "/v2.18/docs/reference-environments-preview", + to: "/2.18.x/reference/subsystems/environments-preview.mdx", + }, + { + from: "/v2.18/docs/reference-experimental_test_shell_command", + to: "/2.18.x/reference/targets/experimental_test_shell_command.mdx", + }, + { + from: "/v2.18/docs/reference-experimental_wrap_as_go_package_sources", + to: "/2.18.x/reference/targets/experimental_wrap_as_go_package_sources.mdx", + }, + { + from: "/v2.18/docs/reference-experimental_wrap_as_java_sources", + to: "/2.18.x/reference/targets/experimental_wrap_as_java_sources.mdx", + }, + { + from: "/v2.18/docs/reference-experimental_wrap_as_kotlin_sources", + to: "/2.18.x/reference/targets/experimental_wrap_as_kotlin_sources.mdx", + }, + { + from: "/v2.18/docs/reference-experimental_wrap_as_python_sources", + to: "/2.18.x/reference/targets/experimental_wrap_as_python_sources.mdx", + }, + { + from: "/v2.18/docs/reference-experimental_wrap_as_resources", + to: "/2.18.x/reference/targets/experimental_wrap_as_resources.mdx", + }, + { + from: "/v2.18/docs/reference-experimental_wrap_as_scala_sources", + to: "/2.18.x/reference/targets/experimental_wrap_as_scala_sources.mdx", + }, + { + from: "/v2.18/docs/reference-experimental-bsp", + to: "/2.18.x/reference/goals/experimental-bsp.mdx", + }, + { + from: "/v2.18/docs/reference-experimental-deploy", + to: "/2.18.x/reference/goals/experimental-deploy.mdx", + }, + { + from: "/v2.18/docs/reference-experimental-explorer", + to: "/2.18.x/reference/goals/experimental-explorer.mdx", + }, + { + from: "/v2.18/docs/reference-export-codegen", + to: "/2.18.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.18/docs/reference-export", + to: "/2.18.x/reference/goals/export.mdx", + }, + { + from: "/v2.18/docs/reference-file", + to: "/2.18.x/reference/targets/file.mdx", + }, + { + from: "/v2.18/docs/reference-filedeps", + to: "/2.18.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.18/docs/reference-files", + to: "/2.18.x/reference/targets/files.mdx", + }, + { + from: "/v2.18/docs/reference-filter", + to: "/2.18.x/reference/subsystems/filter.mdx", + }, + { from: "/v2.18/docs/reference-fix", to: "/2.18.x/reference/goals/fix.mdx" }, + { + from: "/v2.18/docs/reference-flake8", + to: "/2.18.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.18/docs/reference-fmt", to: "/2.18.x/reference/goals/fmt.mdx" }, + { + from: "/v2.18/docs/reference-generate-lockfiles", + to: "/2.18.x/reference/goals/generate-lockfiles.mdx", + }, + { + from: "/v2.18/docs/reference-generate-snapshots", + to: "/2.18.x/reference/goals/generate-snapshots.mdx", + }, + { + from: "/v2.18/docs/reference-global", + to: "/2.18.x/reference/global-options.mdx", + }, + { + from: "/v2.18/docs/reference-go_binary", + to: "/2.18.x/reference/targets/go_binary.mdx", + }, + { + from: "/v2.18/docs/reference-go_mod", + to: "/2.18.x/reference/targets/go_mod.mdx", + }, + { + from: "/v2.18/docs/reference-go_package", + to: "/2.18.x/reference/targets/go_package.mdx", + }, + { + from: "/v2.18/docs/reference-go_third_party_package", + to: "/2.18.x/reference/targets/go_third_party_package.mdx", + }, + { + from: "/v2.18/docs/reference-go-generate", + to: "/2.18.x/reference/goals/go-generate.mdx", + }, + { + from: "/v2.18/docs/reference-go-test", + to: "/2.18.x/reference/subsystems/go-test.mdx", + }, + { + from: "/v2.18/docs/reference-gofmt", + to: "/2.18.x/reference/subsystems/gofmt.mdx", + }, + { + from: "/v2.18/docs/reference-golang", + to: "/2.18.x/reference/subsystems/golang.mdx", + }, + { + from: "/v2.18/docs/reference-google-java-format", + to: "/2.18.x/reference/subsystems/google-java-format.mdx", + }, + { + from: "/v2.18/docs/reference-grpc-python-plugin", + to: "/2.18.x/reference/subsystems/grpc-python-plugin.mdx", + }, + { + from: "/v2.18/docs/reference-hadolint", + to: "/2.18.x/reference/subsystems/hadolint.mdx", + }, + { + from: "/v2.18/docs/reference-helm_artifact", + to: "/2.18.x/reference/targets/helm_artifact.mdx", + }, + { + from: "/v2.18/docs/reference-helm_chart", + to: "/2.18.x/reference/targets/helm_chart.mdx", + }, + { + from: "/v2.18/docs/reference-helm_deployment", + to: "/2.18.x/reference/targets/helm_deployment.mdx", + }, + { + from: "/v2.18/docs/reference-helm_unittest_test", + to: "/2.18.x/reference/targets/helm_unittest_test.mdx", + }, + { + from: "/v2.18/docs/reference-helm_unittest_tests", + to: "/2.18.x/reference/targets/helm_unittest_tests.mdx", + }, + { + from: "/v2.18/docs/reference-helm-k8s-parser", + to: "/2.18.x/reference/subsystems/helm-k8s-parser.mdx", + }, + { + from: "/v2.18/docs/reference-helm-post-renderer", + to: "/2.18.x/reference/subsystems/helm-post-renderer.mdx", + }, + { + from: "/v2.18/docs/reference-helm-unittest", + to: "/2.18.x/reference/subsystems/helm-unittest.mdx", + }, + { + from: "/v2.18/docs/reference-helm", + to: "/2.18.x/reference/subsystems/helm.mdx", + }, + { + from: "/v2.18/docs/reference-help-advanced", + to: "/2.18.x/reference/goals/help-advanced.mdx", + }, + { + from: "/v2.18/docs/reference-help-all", + to: "/2.18.x/reference/goals/help-all.mdx", + }, + { + from: "/v2.18/docs/reference-help", + to: "/2.18.x/reference/goals/help.mdx", + }, + { + from: "/v2.18/docs/reference-ipython", + to: "/2.18.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.18/docs/reference-isort", + to: "/2.18.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.18/docs/reference-jarjar", + to: "/2.18.x/reference/subsystems/jarjar.mdx", + }, + { + from: "/v2.18/docs/reference-java_source", + to: "/2.18.x/reference/targets/java_source.mdx", + }, + { + from: "/v2.18/docs/reference-java_sources", + to: "/2.18.x/reference/targets/java_sources.mdx", + }, + { + from: "/v2.18/docs/reference-java-infer", + to: "/2.18.x/reference/subsystems/java-infer.mdx", + }, + { + from: "/v2.18/docs/reference-javac", + to: "/2.18.x/reference/subsystems/javac.mdx", + }, + { + from: "/v2.18/docs/reference-junit_test", + to: "/2.18.x/reference/targets/junit_test.mdx", + }, + { + from: "/v2.18/docs/reference-junit_tests", + to: "/2.18.x/reference/targets/junit_tests.mdx", + }, + { + from: "/v2.18/docs/reference-junit", + to: "/2.18.x/reference/subsystems/junit.mdx", + }, + { + from: "/v2.18/docs/reference-jvm_artifact", + to: "/2.18.x/reference/targets/jvm_artifact.mdx", + }, + { + from: "/v2.18/docs/reference-jvm_war", + to: "/2.18.x/reference/targets/jvm_war.mdx", + }, + { + from: "/v2.18/docs/reference-jvm", + to: "/2.18.x/reference/subsystems/jvm.mdx", + }, + { + from: "/v2.18/docs/reference-kotlin_junit_test", + to: "/2.18.x/reference/targets/kotlin_junit_test.mdx", + }, + { + from: "/v2.18/docs/reference-kotlin_junit_tests", + to: "/2.18.x/reference/targets/kotlin_junit_tests.mdx", + }, + { + from: "/v2.18/docs/reference-kotlin_source", + to: "/2.18.x/reference/targets/kotlin_source.mdx", + }, + { + from: "/v2.18/docs/reference-kotlin_sources", + to: "/2.18.x/reference/targets/kotlin_sources.mdx", + }, + { + from: "/v2.18/docs/reference-kotlin-infer", + to: "/2.18.x/reference/subsystems/kotlin-infer.mdx", + }, + { + from: "/v2.18/docs/reference-kotlin", + to: "/2.18.x/reference/subsystems/kotlin.mdx", + }, + { + from: "/v2.18/docs/reference-kotlinc_plugin", + to: "/2.18.x/reference/targets/kotlinc_plugin.mdx", + }, + { + from: "/v2.18/docs/reference-kotlinc", + to: "/2.18.x/reference/subsystems/kotlinc.mdx", + }, + { + from: "/v2.18/docs/reference-ktlint", + to: "/2.18.x/reference/subsystems/ktlint.mdx", + }, + { + from: "/v2.18/docs/reference-lambdex", + to: "/2.18.x/reference/subsystems/lambdex.mdx", + }, + { + from: "/v2.18/docs/reference-lint", + to: "/2.18.x/reference/goals/lint.mdx", + }, + { + from: "/v2.18/docs/reference-list", + to: "/2.18.x/reference/goals/list.mdx", + }, + { + from: "/v2.18/docs/reference-local_environment", + to: "/2.18.x/reference/targets/local_environment.mdx", + }, + { + from: "/v2.18/docs/reference-mypy-protobuf", + to: "/2.18.x/reference/subsystems/mypy-protobuf.mdx", + }, + { + from: "/v2.18/docs/reference-mypy", + to: "/2.18.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.18/docs/reference-nodejs-infer", + to: "/2.18.x/reference/subsystems/nodejs-infer.mdx", + }, + { + from: "/v2.18/docs/reference-nodejs", + to: "/2.18.x/reference/subsystems/nodejs.mdx", + }, + { + from: "/v2.18/docs/reference-openapi_document", + to: "/2.18.x/reference/targets/openapi_document.mdx", + }, + { + from: "/v2.18/docs/reference-openapi_documents", + to: "/2.18.x/reference/targets/openapi_documents.mdx", + }, + { + from: "/v2.18/docs/reference-openapi_source", + to: "/2.18.x/reference/targets/openapi_source.mdx", + }, + { + from: "/v2.18/docs/reference-openapi_sources", + to: "/2.18.x/reference/targets/openapi_sources.mdx", + }, + { + from: "/v2.18/docs/reference-openapi", + to: "/2.18.x/reference/subsystems/openapi.mdx", + }, + { + from: "/v2.18/docs/reference-package", + to: "/2.18.x/reference/goals/package.mdx", + }, + { + from: "/v2.18/docs/reference-pants_requirements", + to: "/2.18.x/reference/targets/pants_requirements.mdx", + }, + { + from: "/v2.18/docs/reference-paths", + to: "/2.18.x/reference/goals/paths.mdx", + }, + { + from: "/v2.18/docs/reference-peek", + to: "/2.18.x/reference/goals/peek.mdx", + }, + { + from: "/v2.18/docs/reference-pex_binaries", + to: "/2.18.x/reference/targets/pex_binaries.mdx", + }, + { + from: "/v2.18/docs/reference-pex_binary", + to: "/2.18.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.18/docs/reference-pex-binary-defaults", + to: "/2.18.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.18/docs/reference-pex-cli", + to: "/2.18.x/reference/subsystems/pex-cli.mdx", + }, + { + from: "/v2.18/docs/reference-pex", + to: "/2.18.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.18/docs/reference-pipenv_requirements", + to: "/2.18.x/reference/targets/pipenv_requirements.mdx", + }, + { + from: "/v2.18/docs/reference-poetry_requirements", + to: "/2.18.x/reference/targets/poetry_requirements.mdx", + }, + { + from: "/v2.18/docs/reference-preamble", + to: "/2.18.x/reference/subsystems/preamble.mdx", + }, + { + from: "/v2.18/docs/reference-protobuf_source", + to: "/2.18.x/reference/targets/protobuf_source.mdx", + }, + { + from: "/v2.18/docs/reference-protobuf_sources", + to: "/2.18.x/reference/targets/protobuf_sources.mdx", + }, + { + from: "/v2.18/docs/reference-protobuf-java-grpc", + to: "/2.18.x/reference/subsystems/protobuf-java-grpc.mdx", + }, + { + from: "/v2.18/docs/reference-protoc", + to: "/2.18.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.18/docs/reference-publish", + to: "/2.18.x/reference/goals/publish.mdx", + }, + { + from: "/v2.18/docs/reference-py-constraints", + to: "/2.18.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.18/docs/reference-pydocstyle", + to: "/2.18.x/reference/subsystems/pydocstyle.mdx", + }, + { + from: "/v2.18/docs/reference-pylint", + to: "/2.18.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.18/docs/reference-pyoxidizer_binary", + to: "/2.18.x/reference/targets/pyoxidizer_binary.mdx", + }, + { + from: "/v2.18/docs/reference-pyoxidizer", + to: "/2.18.x/reference/subsystems/pyoxidizer.mdx", + }, + { + from: "/v2.18/docs/reference-pytest", + to: "/2.18.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.18/docs/reference-python_aws_lambda_function", + to: "/2.18.x/reference/targets/python_aws_lambda_function.mdx", + }, + { + from: "/v2.18/docs/reference-python_aws_lambda_layer", + to: "/2.18.x/reference/targets/python_aws_lambda_layer.mdx", + }, + { + from: "/v2.18/docs/reference-python_distribution", + to: "/2.18.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.18/docs/reference-python_google_cloud_function", + to: "/2.18.x/reference/targets/python_google_cloud_function.mdx", + }, + { + from: "/v2.18/docs/reference-python_requirement", + to: "/2.18.x/reference/targets/python_requirement.mdx", + }, + { + from: "/v2.18/docs/reference-python_requirements", + to: "/2.18.x/reference/targets/python_requirements.mdx", + }, + { + from: "/v2.18/docs/reference-python_source", + to: "/2.18.x/reference/targets/python_source.mdx", + }, + { + from: "/v2.18/docs/reference-python_sources", + to: "/2.18.x/reference/targets/python_sources.mdx", + }, + { + from: "/v2.18/docs/reference-python_test_utils", + to: "/2.18.x/reference/targets/python_test_utils.mdx", + }, + { + from: "/v2.18/docs/reference-python_test", + to: "/2.18.x/reference/targets/python_test.mdx", + }, + { + from: "/v2.18/docs/reference-python_tests", + to: "/2.18.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.18/docs/reference-python-bootstrap", + to: "/2.18.x/reference/subsystems/python-bootstrap.mdx", + }, + { + from: "/v2.18/docs/reference-python-dump-source-analysis", + to: "/2.18.x/reference/goals/python-dump-source-analysis.mdx", + }, + { + from: "/v2.18/docs/reference-python-infer", + to: "/2.18.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.18/docs/reference-python-native-code", + to: "/2.18.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.18/docs/reference-python-protobuf", + to: "/2.18.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.18/docs/reference-python-repos", + to: "/2.18.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.18/docs/reference-python-thrift", + to: "/2.18.x/reference/subsystems/python-thrift.mdx", + }, + { + from: "/v2.18/docs/reference-python", + to: "/2.18.x/reference/subsystems/python.mdx", + }, + { + from: "/v2.18/docs/reference-pytype", + to: "/2.18.x/reference/subsystems/pytype.mdx", + }, + { + from: "/v2.18/docs/reference-pyupgrade", + to: "/2.18.x/reference/subsystems/pyupgrade.mdx", + }, + { + from: "/v2.18/docs/reference-regex-lint", + to: "/2.18.x/reference/subsystems/regex-lint.mdx", + }, + { + from: "/v2.18/docs/reference-relocated_files", + to: "/2.18.x/reference/targets/relocated_files.mdx", + }, + { + from: "/v2.18/docs/reference-remote_environment", + to: "/2.18.x/reference/targets/remote_environment.mdx", + }, + { + from: "/v2.18/docs/reference-repl", + to: "/2.18.x/reference/goals/repl.mdx", + }, + { + from: "/v2.18/docs/reference-resource", + to: "/2.18.x/reference/targets/resource.mdx", + }, + { + from: "/v2.18/docs/reference-resources", + to: "/2.18.x/reference/targets/resources.mdx", + }, + { + from: "/v2.18/docs/reference-roots", + to: "/2.18.x/reference/goals/roots.mdx", + }, + { + from: "/v2.18/docs/reference-ruff", + to: "/2.18.x/reference/subsystems/ruff.mdx", + }, + { + from: "/v2.18/docs/reference-run_shell_command", + to: "/2.18.x/reference/targets/run_shell_command.mdx", + }, + { from: "/v2.18/docs/reference-run", to: "/2.18.x/reference/goals/run.mdx" }, + { + from: "/v2.18/docs/reference-scala_artifact", + to: "/2.18.x/reference/targets/scala_artifact.mdx", + }, + { + from: "/v2.18/docs/reference-scala_junit_test", + to: "/2.18.x/reference/targets/scala_junit_test.mdx", + }, + { + from: "/v2.18/docs/reference-scala_junit_tests", + to: "/2.18.x/reference/targets/scala_junit_tests.mdx", + }, + { + from: "/v2.18/docs/reference-scala_source", + to: "/2.18.x/reference/targets/scala_source.mdx", + }, + { + from: "/v2.18/docs/reference-scala_sources", + to: "/2.18.x/reference/targets/scala_sources.mdx", + }, + { + from: "/v2.18/docs/reference-scala-infer", + to: "/2.18.x/reference/subsystems/scala-infer.mdx", + }, + { + from: "/v2.18/docs/reference-scala", + to: "/2.18.x/reference/subsystems/scala.mdx", + }, + { + from: "/v2.18/docs/reference-scalac_plugin", + to: "/2.18.x/reference/targets/scalac_plugin.mdx", + }, + { + from: "/v2.18/docs/reference-scalac", + to: "/2.18.x/reference/subsystems/scalac.mdx", + }, + { + from: "/v2.18/docs/reference-scalafmt", + to: "/2.18.x/reference/subsystems/scalafmt.mdx", + }, + { + from: "/v2.18/docs/reference-scalapb", + to: "/2.18.x/reference/subsystems/scalapb.mdx", + }, + { + from: "/v2.18/docs/reference-scalatest_test", + to: "/2.18.x/reference/targets/scalatest_test.mdx", + }, + { + from: "/v2.18/docs/reference-scalatest_tests", + to: "/2.18.x/reference/targets/scalatest_tests.mdx", + }, + { + from: "/v2.18/docs/reference-scalatest", + to: "/2.18.x/reference/subsystems/scalatest.mdx", + }, + { + from: "/v2.18/docs/reference-scc", + to: "/2.18.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.18/docs/reference-setup-py-generation", + to: "/2.18.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.18/docs/reference-setuptools-scm", + to: "/2.18.x/reference/subsystems/setuptools-scm.mdx", + }, + { + from: "/v2.18/docs/reference-setuptools", + to: "/2.18.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.18/docs/reference-shell_command", + to: "/2.18.x/reference/targets/shell_command.mdx", + }, + { + from: "/v2.18/docs/reference-shell_source", + to: "/2.18.x/reference/targets/shell_source.mdx", + }, + { + from: "/v2.18/docs/reference-shell_sources", + to: "/2.18.x/reference/targets/shell_sources.mdx", + }, + { + from: "/v2.18/docs/reference-shell-setup", + to: "/2.18.x/reference/subsystems/shell-setup.mdx", + }, + { + from: "/v2.18/docs/reference-shell-test", + to: "/2.18.x/reference/subsystems/shell-test.mdx", + }, + { + from: "/v2.18/docs/reference-shellcheck", + to: "/2.18.x/reference/subsystems/shellcheck.mdx", + }, + { + from: "/v2.18/docs/reference-shfmt", + to: "/2.18.x/reference/subsystems/shfmt.mdx", + }, + { + from: "/v2.18/docs/reference-shunit2_test", + to: "/2.18.x/reference/targets/shunit2_test.mdx", + }, + { + from: "/v2.18/docs/reference-shunit2_tests", + to: "/2.18.x/reference/targets/shunit2_tests.mdx", + }, + { + from: "/v2.18/docs/reference-shunit2", + to: "/2.18.x/reference/subsystems/shunit2.mdx", + }, + { + from: "/v2.18/docs/reference-source", + to: "/2.18.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.18/docs/reference-spectral", + to: "/2.18.x/reference/subsystems/spectral.mdx", + }, + { + from: "/v2.18/docs/reference-stats", + to: "/2.18.x/reference/subsystems/stats.mdx", + }, + { + from: "/v2.18/docs/reference-subprocess-environment", + to: "/2.18.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.18/docs/reference-system_binary", + to: "/2.18.x/reference/targets/system_binary.mdx", + }, + { + from: "/v2.18/docs/reference-tailor", + to: "/2.18.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.18/docs/reference-target", + to: "/2.18.x/reference/targets/target.mdx", + }, + { + from: "/v2.18/docs/reference-terraform_deployment", + to: "/2.18.x/reference/targets/terraform_deployment.mdx", + }, + { + from: "/v2.18/docs/reference-terraform_module", + to: "/2.18.x/reference/targets/terraform_module.mdx", + }, + { + from: "/v2.18/docs/reference-terraform-fmt", + to: "/2.18.x/reference/subsystems/terraform-fmt.mdx", + }, + { + from: "/v2.18/docs/reference-terraform-hcl2-parser", + to: "/2.18.x/reference/subsystems/terraform-hcl2-parser.mdx", + }, + { + from: "/v2.18/docs/reference-terraform-validate", + to: "/2.18.x/reference/subsystems/terraform-validate.mdx", + }, + { + from: "/v2.18/docs/reference-test", + to: "/2.18.x/reference/goals/test.mdx", + }, + { + from: "/v2.18/docs/reference-thrift_source", + to: "/2.18.x/reference/targets/thrift_source.mdx", + }, + { + from: "/v2.18/docs/reference-thrift_sources", + to: "/2.18.x/reference/targets/thrift_sources.mdx", + }, + { + from: "/v2.18/docs/reference-thrift", + to: "/2.18.x/reference/subsystems/thrift.mdx", + }, + { + from: "/v2.18/docs/reference-twine", + to: "/2.18.x/reference/subsystems/twine.mdx", + }, + { + from: "/v2.18/docs/reference-update-build-files", + to: "/2.18.x/reference/goals/update-build-files.mdx", + }, + { + from: "/v2.18/docs/reference-vcs_version", + to: "/2.18.x/reference/targets/vcs_version.mdx", + }, + { + from: "/v2.18/docs/reference-version", + to: "/2.18.x/reference/goals/version.mdx", + }, + { + from: "/v2.18/docs/reference-workunit-logger", + to: "/2.18.x/reference/subsystems/workunit-logger.mdx", + }, + { + from: "/v2.18/docs/reference-yamllint", + to: "/2.18.x/reference/subsystems/yamllint.mdx", + }, + { + from: "/v2.18/docs/reference-yapf", + to: "/2.18.x/reference/subsystems/yapf.mdx", + }, + { from: "/v2.18/docs/release-notes", to: "/2.18.x/docs/releases/index.mdx" }, + { + from: "/v2.18/docs/release-process", + to: "/2.18.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.18/docs/release-strategy", + to: "/2.18.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.18/docs/releases", + to: "/2.18.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.18/docs/remote-caching-execution", + to: "/2.18.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.18/docs/remote-caching", + to: "/2.18.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.18/docs/remote-execution", + to: "/2.18.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.18/docs/restricted-internet-access", + to: "/2.18.x/docs/using-pants/restricted-internet-access.mdx", + }, + { + from: "/v2.18/docs/rules-api-and-target-api", + to: "/2.18.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.18/docs/rules-api-concepts", + to: "/2.18.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.18/docs/rules-api-file-system", + to: "/2.18.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.18/docs/rules-api-goal-rules", + to: "/2.18.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.18/docs/rules-api-installing-tools", + to: "/2.18.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.18/docs/rules-api-logging", + to: "/2.18.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.18/docs/rules-api-process", + to: "/2.18.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.18/docs/rules-api-subsystems", + to: "/2.18.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.18/docs/rules-api-testing", + to: "/2.18.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.18/docs/rules-api-tips", + to: "/2.18.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.18/docs/rules-api-unions", + to: "/2.18.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.18/docs/rules-api", + to: "/2.18.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.18/docs/run-shell-commands", + to: "/2.18.x/docs/shell/run-shell-commands.mdx", + }, + { + from: "/v2.18/docs/running-pants-from-sources", + to: "/2.18.x/docs/contributions/development/running-pants-from-sources.mdx", + }, + { + from: "/v2.18/docs/setting-up-an-ide", + to: "/2.18.x/docs/using-pants/setting-up-an-ide.mdx", + }, + { from: "/v2.18/docs/shell", to: "/2.18.x/docs/shell/shell-overview.mdx" }, + { + from: "/v2.18/docs/source-roots", + to: "/2.18.x/docs/using-pants/key-concepts/source-roots.mdx", + }, + { + from: "/v2.18/docs/sponsorship", + to: "/2.18.x/docs/introduction/sponsoring-pants.mdx", + }, + { + from: "/v2.18/docs/style-guide", + to: "/2.18.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.18/docs/tagging-docker-images", + to: "/2.18.x/docs/docker/tagging-docker-images.mdx", + }, + { + from: "/v2.18/docs/target-api-concepts", + to: "/2.18.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.18/docs/target-api-extending-targets", + to: "/2.18.x/docs/writing-plugins/the-target-api/extending-existing-targets.mdx", + }, + { + from: "/v2.18/docs/target-api-new-fields", + to: "/2.18.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.18/docs/target-api-new-targets", + to: "/2.18.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.18/docs/target-api", + to: "/2.18.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.18/docs/targets", + to: "/2.18.x/docs/using-pants/key-concepts/targets-and-build-files.mdx", + }, + { from: "/v2.18/docs/team", to: "/2.18.x/community/meet-the-team" }, + { + from: "/v2.18/docs/test-custom-plugin-goal", + to: "/2.18.x/docs/tutorials-coming-soon/testing-plugins.mdx", + }, + { from: "/v2.18/docs/testimonials", to: "/2.18.x/spotlight/testimonials" }, + { from: "/v2.18/docs/the-pants-community", to: "/2.18.x/community/members" }, + { + from: "/v2.18/docs/thrift-python", + to: "/2.18.x/docs/python/integrations/thrift.mdx", + }, + { + from: "/v2.18/docs/troubleshooting", + to: "/2.18.x/docs/using-pants/troubleshooting-common-issues.mdx", + }, + { + from: "/v2.18/docs/tutorials-coming-soon", + to: "/2.18.x/docs/tutorials-coming-soon/index.mdx", + }, + { + from: "/v2.18/docs/upgrade-tips", + to: "/2.18.x/docs/releases/upgrade-tips.mdx", + }, + { + from: "/v2.18/docs/using-pants-in-ci", + to: "/2.18.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.18/docs/using-pants", to: "/2.18.x/docs/using-pants/index.mdx" }, + { + from: "/v2.18/docs/validating-dependencies", + to: "/2.18.x/docs/using-pants/validating-dependencies.mdx", + }, + { + from: "/v2.18/docs/welcome-to-pants", + to: "/2.18.x/docs/introduction/welcome-to-pants.mdx", + }, + { from: "/v2.18/docs/who-uses-pants", to: "/2.18.x/spotlight/users" }, + { + from: "/v2.18/docs/writing-plugins", + to: "/2.18.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.19/docs/ad-hoc-tools", + to: "/2.19.x/docs/ad-hoc-tools/index.mdx", + }, + { + from: "/v2.19/docs/adhoc-tool", + to: "/2.19.x/docs/ad-hoc-tools/integrating-new-tools-without-plugins.mdx", + }, + { + from: "/v2.19/docs/advanced-plugin-concepts", + to: "/2.19.x/docs/tutorials-coming-soon/advanced-plugin-concepts.mdx", + }, + { + from: "/v2.19/docs/advanced-target-selection", + to: "/2.19.x/docs/using-pants/advanced-target-selection.mdx", + }, + { + from: "/v2.19/docs/anonymous-telemetry", + to: "/2.19.x/docs/using-pants/anonymous-telemetry.mdx", + }, + { + from: "/v2.19/docs/assets", + to: "/2.19.x/docs/using-pants/assets-and-archives.mdx", + }, + { + from: "/v2.19/docs/awslambda-python", + to: "/2.19.x/docs/python/integrations/aws-lambda.mdx", + }, + { from: "/v2.19/docs/changelog", to: "/2.19.x/versions" }, + { + from: "/v2.19/docs/ci-for-macos-on-arm64", + to: "/2.19.x/docs/contributions/releases/github-actions-macos-arm64-runners.mdx", + }, + { + from: "/v2.19/docs/code-of-conduct", + to: "/2.19.x/community/code-of-conduct", + }, + { + from: "/v2.19/docs/command-line-help", + to: "/2.19.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.19/docs/common-plugin-tasks", + to: "/2.19.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.19/docs/community", to: "/2.19.x/community/members" }, + { + from: "/v2.19/docs/concepts", + to: "/2.19.x/docs/using-pants/key-concepts/index.mdx", + }, + { + from: "/v2.19/docs/contentious-decisions", + to: "/2.19.x/community/contentious-decisions", + }, + { + from: "/v2.19/docs/contributing-to-pants", + to: "/2.19.x/docs/contributions/index.mdx", + }, + { + from: "/v2.19/docs/contributions-debugging", + to: "/2.19.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.19/docs/contributions-rust", + to: "/2.19.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.19/docs/contributor-overview", + to: "/2.19.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.19/docs/contributor-setup", + to: "/2.19.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.19/docs/create-a-new-goal", + to: "/2.19.x/docs/tutorials-coming-soon/create-a-new-goal.mdx", + }, + { + from: "/v2.19/docs/deprecation-policy", + to: "/2.19.x/docs/releases/deprecation-policy.mdx", + }, + { + from: "/v2.19/docs/development", + to: "/2.19.x/docs/contributions/development/index.mdx", + }, + { from: "/v2.19/docs/docker", to: "/2.19.x/docs/docker/docker-overview.mdx" }, + { + from: "/v2.19/docs/documentation", + to: "/2.19.x/docs/introduction/index.mdx", + }, + { + from: "/v2.19/docs/enabling-backends", + to: "/2.19.x/docs/using-pants/key-concepts/backends.mdx", + }, + { + from: "/v2.19/docs/environments", + to: "/2.19.x/docs/using-pants/environments:-cross-platform-or-remote-builds.mdx", + }, + { + from: "/v2.19/docs/example-repos", + to: "/2.19.x/docs/getting-started/getting-started/example-projects-and-repositories.mdx", + }, + { + from: "/v2.19/docs/existing-repositories", + to: "/2.19.x/docs/getting-started/getting-started/incremental-adoption.mdx", + }, + { + from: "/v2.19/docs/generating-version-tags", + to: "/2.19.x/docs/using-pants/generating-version-tags-from-git.mdx", + }, + { from: "/v2.19/docs/getting-help", to: "/2.19.x/community/getting-help" }, + { + from: "/v2.19/docs/getting-started", + to: "/2.19.x/docs/getting-started/getting-started/index.mdx", + }, + { + from: "/v2.19/docs/go-integrations", + to: "/2.19.x/docs/go/integrations/index.mdx", + }, + { from: "/v2.19/docs/go", to: "/2.19.x/docs/go/go-overview.mdx" }, + { + from: "/v2.19/docs/goals", + to: "/2.19.x/docs/using-pants/key-concepts/goals.mdx", + }, + { + from: "/v2.19/docs/google-cloud-function-python", + to: "/2.19.x/docs/python/integrations/google-cloud-functions.mdx", + }, + { + from: "/v2.19/docs/helm-deployments", + to: "/2.19.x/docs/helm/deployments.mdx", + }, + { + from: "/v2.19/docs/helm-kubeconform", + to: "/2.19.x/docs/helm/kubeconform.mdx", + }, + { + from: "/v2.19/docs/helm-overview", + to: "/2.19.x/docs/helm/helm-overview.mdx", + }, + { from: "/v2.19/docs/helm", to: "/2.19.x/docs/helm/index.mdx" }, + { + from: "/v2.19/docs/how-does-pants-work", + to: "/2.19.x/docs/introduction/how-does-pants-work.mdx", + }, + { + from: "/v2.19/docs/initial-configuration", + to: "/2.19.x/docs/getting-started/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.19/docs/installation", + to: "/2.19.x/docs/getting-started/getting-started/installing-pants.mdx", + }, + { + from: "/v2.19/docs/internal-rules-architecture", + to: "/2.19.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.19/docs/jupyter", + to: "/2.19.x/docs/python/integrations/jupyter.mdx", + }, + { + from: "/v2.19/docs/jvm-overview", + to: "/2.19.x/docs/java-and-scala/java-and-scala-overview.mdx", + }, + { from: "/v2.19/docs/jvm", to: "/2.19.x/docs/java-and-scala/index.mdx" }, + { from: "/v2.19/docs/kotlin", to: "/2.19.x/docs/java-and-scala/kotlin.mdx" }, + { + from: "/v2.19/docs/language-support", + to: "/2.19.x/spotlight/language-support", + }, + { from: "/v2.19/docs/macros", to: "/2.19.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.19/docs/maintainers", to: "/2.19.x/community/maintainers" }, + { + from: "/v2.19/docs/manual-installation", + to: "/2.19.x/docs/getting-started/getting-started/manual-installation.mdx", + }, + { from: "/v2.19/docs/media", to: "/2.19.x/spotlight/media" }, + { from: "/v2.19/docs/news-room", to: "/2.19.x/spotlight/media" }, + { + from: "/v2.19/docs/options", + to: "/2.19.x/docs/using-pants/key-concepts/options.mdx", + }, + { + from: "/v2.19/docs/pex", + to: "/2.19.x/docs/python/python-overview/pex.mdx", + }, + { + from: "/v2.19/docs/plugin-helpers", + to: "/2.19.x/docs/writing-plugins/common-plugin-tasks/plugin-helpers.mdx", + }, + { + from: "/v2.19/docs/plugin-upgrade-guide", + to: "/2.19.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.19/docs/plugins-codegen", + to: "/2.19.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.19/docs/plugins-fmt-goal", + to: "/2.19.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.19/docs/plugins-lint-goal", + to: "/2.19.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.19/docs/plugins-overview", + to: "/2.19.x/docs/writing-plugins/plugins-overview.mdx", + }, + { + from: "/v2.19/docs/plugins-repl-goal", + to: "/2.19.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.19/docs/plugins-setup-py", + to: "/2.19.x/docs/writing-plugins/common-plugin-tasks/custom-python-artifact-kwargs.mdx", + }, + { + from: "/v2.19/docs/plugins-test-goal", + to: "/2.19.x/docs/writing-plugins/common-plugin-tasks/run-tests.mdx", + }, + { + from: "/v2.19/docs/plugins-typecheck-goal", + to: "/2.19.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.19/docs/prerequisites", + to: "/2.19.x/docs/getting-started/getting-started/prerequisites.mdx", + }, + { + from: "/v2.19/docs/project-introspection", + to: "/2.19.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.19/docs/protobuf-go", + to: "/2.19.x/docs/go/integrations/protobuf.mdx", + }, + { + from: "/v2.19/docs/protobuf-python", + to: "/2.19.x/docs/python/integrations/protobuf-and-grpc.mdx", + }, + { + from: "/v2.19/docs/pyoxidizer", + to: "/2.19.x/docs/python/integrations/pyoxidizer.mdx", + }, + { + from: "/v2.19/docs/python-backend", + to: "/2.19.x/docs/python/python-overview/enabling-python-support.mdx", + }, + { + from: "/v2.19/docs/python-check-goal", + to: "/2.19.x/docs/python/goals/check.mdx", + }, + { + from: "/v2.19/docs/python-distributions", + to: "/2.19.x/docs/python/python-overview/building-distributions.mdx", + }, + { + from: "/v2.19/docs/python-fmt-goal", + to: "/2.19.x/docs/python/goals/fmt.mdx", + }, + { + from: "/v2.19/docs/python-goals", + to: "/2.19.x/docs/python/goals/index.mdx", + }, + { + from: "/v2.19/docs/python-integrations", + to: "/2.19.x/docs/python/integrations/index.mdx", + }, + { + from: "/v2.19/docs/python-interpreter-compatibility", + to: "/2.19.x/docs/python/python-overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.19/docs/python-lint-goal", + to: "/2.19.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.19/docs/python-linters-and-formatters", + to: "/2.19.x/docs/python/python-overview/linters-and-formatters.mdx", + }, + { + from: "/v2.19/docs/python-lockfiles", + to: "/2.19.x/docs/python/python-overview/lockfiles.mdx", + }, + { + from: "/v2.19/docs/python-package-goal", + to: "/2.19.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.19/docs/python-publish-goal", + to: "/2.19.x/docs/python/goals/publish.mdx", + }, + { + from: "/v2.19/docs/python-repl-goal", + to: "/2.19.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.19/docs/python-run-goal", + to: "/2.19.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.19/docs/python-test-goal", + to: "/2.19.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.19/docs/python-third-party-dependencies", + to: "/2.19.x/docs/python/python-overview/third-party-dependencies.mdx", + }, + { + from: "/v2.19/docs/python", + to: "/2.19.x/docs/python/python-overview/index.mdx", + }, + { + from: "/v2.19/docs/reference-add-trailing-comma", + to: "/2.19.x/reference/subsystems/add-trailing-comma.mdx", + }, + { + from: "/v2.19/docs/reference-adhoc_tool", + to: "/2.19.x/reference/targets/adhoc_tool.mdx", + }, + { from: "/v2.19/docs/reference-all-goals", to: "/2.19.x/reference/goals" }, + { + from: "/v2.19/docs/reference-all-subsystems", + to: "/2.19.x/reference/subsystems", + }, + { + from: "/v2.19/docs/reference-all-targets", + to: "/2.19.x/reference/targets", + }, + { + from: "/v2.19/docs/reference-anonymous-telemetry", + to: "/2.19.x/reference/subsystems/anonymous-telemetry.mdx", + }, + { + from: "/v2.19/docs/reference-apache-thrift", + to: "/2.19.x/reference/subsystems/apache-thrift.mdx", + }, + { + from: "/v2.19/docs/reference-archive", + to: "/2.19.x/reference/targets/archive.mdx", + }, + { + from: "/v2.19/docs/reference-autoflake", + to: "/2.19.x/reference/subsystems/autoflake.mdx", + }, + { + from: "/v2.19/docs/reference-bandit", + to: "/2.19.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.19/docs/reference-black", + to: "/2.19.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.19/docs/reference-buf", + to: "/2.19.x/reference/subsystems/buf.mdx", + }, + { + from: "/v2.19/docs/reference-build-deprecations-fixer", + to: "/2.19.x/reference/subsystems/build-deprecations-fixer.mdx", + }, + { + from: "/v2.19/docs/reference-buildifier", + to: "/2.19.x/reference/subsystems/buildifier.mdx", + }, + { + from: "/v2.19/docs/reference-changed", + to: "/2.19.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.19/docs/reference-check", + to: "/2.19.x/reference/goals/check.mdx", + }, + { + from: "/v2.19/docs/reference-cli", + to: "/2.19.x/reference/subsystems/cli.mdx", + }, + { + from: "/v2.19/docs/reference-count-loc", + to: "/2.19.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.19/docs/reference-coursier", + to: "/2.19.x/reference/subsystems/coursier.mdx", + }, + { + from: "/v2.19/docs/reference-coverage-py", + to: "/2.19.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.19/docs/reference-debug-adapter", + to: "/2.19.x/reference/subsystems/debug-adapter.mdx", + }, + { + from: "/v2.19/docs/reference-debugpy", + to: "/2.19.x/reference/subsystems/debugpy.mdx", + }, + { + from: "/v2.19/docs/reference-dependees", + to: "/2.19.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.19/docs/reference-dependencies", + to: "/2.19.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.19/docs/reference-dependents", + to: "/2.19.x/reference/goals/dependents.mdx", + }, + { + from: "/v2.19/docs/reference-deploy_jar", + to: "/2.19.x/reference/targets/deploy_jar.mdx", + }, + { + from: "/v2.19/docs/reference-docformatter", + to: "/2.19.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.19/docs/reference-docker_environment", + to: "/2.19.x/reference/targets/docker_environment.mdx", + }, + { + from: "/v2.19/docs/reference-docker_image", + to: "/2.19.x/reference/targets/docker_image.mdx", + }, + { + from: "/v2.19/docs/reference-docker", + to: "/2.19.x/reference/subsystems/docker.mdx", + }, + { + from: "/v2.19/docs/reference-dockerfile-parser", + to: "/2.19.x/reference/subsystems/dockerfile-parser.mdx", + }, + { + from: "/v2.19/docs/reference-download-terraform", + to: "/2.19.x/reference/subsystems/download-terraform.mdx", + }, + { + from: "/v2.19/docs/reference-environments-preview", + to: "/2.19.x/reference/subsystems/environments-preview.mdx", + }, + { + from: "/v2.19/docs/reference-experimental_test_shell_command", + to: "/2.19.x/reference/targets/experimental_test_shell_command.mdx", + }, + { + from: "/v2.19/docs/reference-experimental_wrap_as_go_package_sources", + to: "/2.19.x/reference/targets/experimental_wrap_as_go_package_sources.mdx", + }, + { + from: "/v2.19/docs/reference-experimental_wrap_as_java_sources", + to: "/2.19.x/reference/targets/experimental_wrap_as_java_sources.mdx", + }, + { + from: "/v2.19/docs/reference-experimental_wrap_as_kotlin_sources", + to: "/2.19.x/reference/targets/experimental_wrap_as_kotlin_sources.mdx", + }, + { + from: "/v2.19/docs/reference-experimental_wrap_as_python_sources", + to: "/2.19.x/reference/targets/experimental_wrap_as_python_sources.mdx", + }, + { + from: "/v2.19/docs/reference-experimental_wrap_as_resources", + to: "/2.19.x/reference/targets/experimental_wrap_as_resources.mdx", + }, + { + from: "/v2.19/docs/reference-experimental_wrap_as_scala_sources", + to: "/2.19.x/reference/targets/experimental_wrap_as_scala_sources.mdx", + }, + { + from: "/v2.19/docs/reference-experimental-bsp", + to: "/2.19.x/reference/goals/experimental-bsp.mdx", + }, + { + from: "/v2.19/docs/reference-experimental-deploy", + to: "/2.19.x/reference/goals/experimental-deploy.mdx", + }, + { + from: "/v2.19/docs/reference-experimental-explorer", + to: "/2.19.x/reference/goals/experimental-explorer.mdx", + }, + { + from: "/v2.19/docs/reference-export-codegen", + to: "/2.19.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.19/docs/reference-export", + to: "/2.19.x/reference/goals/export.mdx", + }, + { + from: "/v2.19/docs/reference-file", + to: "/2.19.x/reference/targets/file.mdx", + }, + { + from: "/v2.19/docs/reference-filedeps", + to: "/2.19.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.19/docs/reference-files", + to: "/2.19.x/reference/targets/files.mdx", + }, + { + from: "/v2.19/docs/reference-filter", + to: "/2.19.x/reference/subsystems/filter.mdx", + }, + { from: "/v2.19/docs/reference-fix", to: "/2.19.x/reference/goals/fix.mdx" }, + { + from: "/v2.19/docs/reference-flake8", + to: "/2.19.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.19/docs/reference-fmt", to: "/2.19.x/reference/goals/fmt.mdx" }, + { + from: "/v2.19/docs/reference-generate-lockfiles", + to: "/2.19.x/reference/goals/generate-lockfiles.mdx", + }, + { + from: "/v2.19/docs/reference-generate-snapshots", + to: "/2.19.x/reference/goals/generate-snapshots.mdx", + }, + { + from: "/v2.19/docs/reference-global", + to: "/2.19.x/reference/global-options.mdx", + }, + { + from: "/v2.19/docs/reference-go_binary", + to: "/2.19.x/reference/targets/go_binary.mdx", + }, + { + from: "/v2.19/docs/reference-go_mod", + to: "/2.19.x/reference/targets/go_mod.mdx", + }, + { + from: "/v2.19/docs/reference-go_package", + to: "/2.19.x/reference/targets/go_package.mdx", + }, + { + from: "/v2.19/docs/reference-go_third_party_package", + to: "/2.19.x/reference/targets/go_third_party_package.mdx", + }, + { + from: "/v2.19/docs/reference-go-generate", + to: "/2.19.x/reference/goals/go-generate.mdx", + }, + { + from: "/v2.19/docs/reference-go-test", + to: "/2.19.x/reference/subsystems/go-test.mdx", + }, + { + from: "/v2.19/docs/reference-gofmt", + to: "/2.19.x/reference/subsystems/gofmt.mdx", + }, + { + from: "/v2.19/docs/reference-golang", + to: "/2.19.x/reference/subsystems/golang.mdx", + }, + { + from: "/v2.19/docs/reference-google-java-format", + to: "/2.19.x/reference/subsystems/google-java-format.mdx", + }, + { + from: "/v2.19/docs/reference-grpc-python-plugin", + to: "/2.19.x/reference/subsystems/grpc-python-plugin.mdx", + }, + { + from: "/v2.19/docs/reference-hadolint", + to: "/2.19.x/reference/subsystems/hadolint.mdx", + }, + { + from: "/v2.19/docs/reference-helm_artifact", + to: "/2.19.x/reference/targets/helm_artifact.mdx", + }, + { + from: "/v2.19/docs/reference-helm_chart", + to: "/2.19.x/reference/targets/helm_chart.mdx", + }, + { + from: "/v2.19/docs/reference-helm_deployment", + to: "/2.19.x/reference/targets/helm_deployment.mdx", + }, + { + from: "/v2.19/docs/reference-helm_unittest_test", + to: "/2.19.x/reference/targets/helm_unittest_test.mdx", + }, + { + from: "/v2.19/docs/reference-helm_unittest_tests", + to: "/2.19.x/reference/targets/helm_unittest_tests.mdx", + }, + { + from: "/v2.19/docs/reference-helm-k8s-parser", + to: "/2.19.x/reference/subsystems/helm-k8s-parser.mdx", + }, + { + from: "/v2.19/docs/reference-helm-post-renderer", + to: "/2.19.x/reference/subsystems/helm-post-renderer.mdx", + }, + { + from: "/v2.19/docs/reference-helm-unittest", + to: "/2.19.x/reference/subsystems/helm-unittest.mdx", + }, + { + from: "/v2.19/docs/reference-helm", + to: "/2.19.x/reference/subsystems/helm.mdx", + }, + { + from: "/v2.19/docs/reference-help-advanced", + to: "/2.19.x/reference/goals/help-advanced.mdx", + }, + { + from: "/v2.19/docs/reference-help-all", + to: "/2.19.x/reference/goals/help-all.mdx", + }, + { + from: "/v2.19/docs/reference-help", + to: "/2.19.x/reference/goals/help.mdx", + }, + { + from: "/v2.19/docs/reference-ipython", + to: "/2.19.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.19/docs/reference-isort", + to: "/2.19.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.19/docs/reference-jarjar", + to: "/2.19.x/reference/subsystems/jarjar.mdx", + }, + { + from: "/v2.19/docs/reference-java_source", + to: "/2.19.x/reference/targets/java_source.mdx", + }, + { + from: "/v2.19/docs/reference-java_sources", + to: "/2.19.x/reference/targets/java_sources.mdx", + }, + { + from: "/v2.19/docs/reference-java-infer", + to: "/2.19.x/reference/subsystems/java-infer.mdx", + }, + { + from: "/v2.19/docs/reference-javac", + to: "/2.19.x/reference/subsystems/javac.mdx", + }, + { + from: "/v2.19/docs/reference-junit_test", + to: "/2.19.x/reference/targets/junit_test.mdx", + }, + { + from: "/v2.19/docs/reference-junit_tests", + to: "/2.19.x/reference/targets/junit_tests.mdx", + }, + { + from: "/v2.19/docs/reference-junit", + to: "/2.19.x/reference/subsystems/junit.mdx", + }, + { + from: "/v2.19/docs/reference-jvm_artifact", + to: "/2.19.x/reference/targets/jvm_artifact.mdx", + }, + { + from: "/v2.19/docs/reference-jvm_war", + to: "/2.19.x/reference/targets/jvm_war.mdx", + }, + { + from: "/v2.19/docs/reference-jvm", + to: "/2.19.x/reference/subsystems/jvm.mdx", + }, + { + from: "/v2.19/docs/reference-kotlin_junit_test", + to: "/2.19.x/reference/targets/kotlin_junit_test.mdx", + }, + { + from: "/v2.19/docs/reference-kotlin_junit_tests", + to: "/2.19.x/reference/targets/kotlin_junit_tests.mdx", + }, + { + from: "/v2.19/docs/reference-kotlin_source", + to: "/2.19.x/reference/targets/kotlin_source.mdx", + }, + { + from: "/v2.19/docs/reference-kotlin_sources", + to: "/2.19.x/reference/targets/kotlin_sources.mdx", + }, + { + from: "/v2.19/docs/reference-kotlin-infer", + to: "/2.19.x/reference/subsystems/kotlin-infer.mdx", + }, + { + from: "/v2.19/docs/reference-kotlin", + to: "/2.19.x/reference/subsystems/kotlin.mdx", + }, + { + from: "/v2.19/docs/reference-kotlinc_plugin", + to: "/2.19.x/reference/targets/kotlinc_plugin.mdx", + }, + { + from: "/v2.19/docs/reference-kotlinc", + to: "/2.19.x/reference/subsystems/kotlinc.mdx", + }, + { + from: "/v2.19/docs/reference-ktlint", + to: "/2.19.x/reference/subsystems/ktlint.mdx", + }, + { + from: "/v2.19/docs/reference-lint", + to: "/2.19.x/reference/goals/lint.mdx", + }, + { + from: "/v2.19/docs/reference-list", + to: "/2.19.x/reference/goals/list.mdx", + }, + { + from: "/v2.19/docs/reference-local_environment", + to: "/2.19.x/reference/targets/local_environment.mdx", + }, + { + from: "/v2.19/docs/reference-mypy-protobuf", + to: "/2.19.x/reference/subsystems/mypy-protobuf.mdx", + }, + { + from: "/v2.19/docs/reference-mypy", + to: "/2.19.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.19/docs/reference-nodejs-infer", + to: "/2.19.x/reference/subsystems/nodejs-infer.mdx", + }, + { + from: "/v2.19/docs/reference-nodejs", + to: "/2.19.x/reference/subsystems/nodejs.mdx", + }, + { + from: "/v2.19/docs/reference-openapi_document", + to: "/2.19.x/reference/targets/openapi_document.mdx", + }, + { + from: "/v2.19/docs/reference-openapi_documents", + to: "/2.19.x/reference/targets/openapi_documents.mdx", + }, + { + from: "/v2.19/docs/reference-openapi_source", + to: "/2.19.x/reference/targets/openapi_source.mdx", + }, + { + from: "/v2.19/docs/reference-openapi_sources", + to: "/2.19.x/reference/targets/openapi_sources.mdx", + }, + { + from: "/v2.19/docs/reference-openapi-format", + to: "/2.19.x/reference/subsystems/openapi-format.mdx", + }, + { + from: "/v2.19/docs/reference-openapi", + to: "/2.19.x/reference/subsystems/openapi.mdx", + }, + { + from: "/v2.19/docs/reference-package", + to: "/2.19.x/reference/goals/package.mdx", + }, + { + from: "/v2.19/docs/reference-pants_requirements", + to: "/2.19.x/reference/targets/pants_requirements.mdx", + }, + { + from: "/v2.19/docs/reference-paths", + to: "/2.19.x/reference/goals/paths.mdx", + }, + { + from: "/v2.19/docs/reference-peek", + to: "/2.19.x/reference/goals/peek.mdx", + }, + { + from: "/v2.19/docs/reference-pex_binaries", + to: "/2.19.x/reference/targets/pex_binaries.mdx", + }, + { + from: "/v2.19/docs/reference-pex_binary", + to: "/2.19.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.19/docs/reference-pex-binary-defaults", + to: "/2.19.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.19/docs/reference-pex-cli", + to: "/2.19.x/reference/subsystems/pex-cli.mdx", + }, + { + from: "/v2.19/docs/reference-pex", + to: "/2.19.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.19/docs/reference-pipenv_requirements", + to: "/2.19.x/reference/targets/pipenv_requirements.mdx", + }, + { + from: "/v2.19/docs/reference-poetry_requirements", + to: "/2.19.x/reference/targets/poetry_requirements.mdx", + }, + { + from: "/v2.19/docs/reference-preamble", + to: "/2.19.x/reference/subsystems/preamble.mdx", + }, + { + from: "/v2.19/docs/reference-protobuf_source", + to: "/2.19.x/reference/targets/protobuf_source.mdx", + }, + { + from: "/v2.19/docs/reference-protobuf_sources", + to: "/2.19.x/reference/targets/protobuf_sources.mdx", + }, + { + from: "/v2.19/docs/reference-protobuf-java-grpc", + to: "/2.19.x/reference/subsystems/protobuf-java-grpc.mdx", + }, + { + from: "/v2.19/docs/reference-protoc", + to: "/2.19.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.19/docs/reference-publish", + to: "/2.19.x/reference/goals/publish.mdx", + }, + { + from: "/v2.19/docs/reference-py-constraints", + to: "/2.19.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.19/docs/reference-pydocstyle", + to: "/2.19.x/reference/subsystems/pydocstyle.mdx", + }, + { + from: "/v2.19/docs/reference-pylint", + to: "/2.19.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.19/docs/reference-pyoxidizer_binary", + to: "/2.19.x/reference/targets/pyoxidizer_binary.mdx", + }, + { + from: "/v2.19/docs/reference-pyoxidizer", + to: "/2.19.x/reference/subsystems/pyoxidizer.mdx", + }, + { + from: "/v2.19/docs/reference-pytest", + to: "/2.19.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.19/docs/reference-python_aws_lambda_function", + to: "/2.19.x/reference/targets/python_aws_lambda_function.mdx", + }, + { + from: "/v2.19/docs/reference-python_aws_lambda_layer", + to: "/2.19.x/reference/targets/python_aws_lambda_layer.mdx", + }, + { + from: "/v2.19/docs/reference-python_distribution", + to: "/2.19.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.19/docs/reference-python_google_cloud_function", + to: "/2.19.x/reference/targets/python_google_cloud_function.mdx", + }, + { + from: "/v2.19/docs/reference-python_requirement", + to: "/2.19.x/reference/targets/python_requirement.mdx", + }, + { + from: "/v2.19/docs/reference-python_requirements", + to: "/2.19.x/reference/targets/python_requirements.mdx", + }, + { + from: "/v2.19/docs/reference-python_source", + to: "/2.19.x/reference/targets/python_source.mdx", + }, + { + from: "/v2.19/docs/reference-python_sources", + to: "/2.19.x/reference/targets/python_sources.mdx", + }, + { + from: "/v2.19/docs/reference-python_test_utils", + to: "/2.19.x/reference/targets/python_test_utils.mdx", + }, + { + from: "/v2.19/docs/reference-python_test", + to: "/2.19.x/reference/targets/python_test.mdx", + }, + { + from: "/v2.19/docs/reference-python_tests", + to: "/2.19.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.19/docs/reference-python-bootstrap", + to: "/2.19.x/reference/subsystems/python-bootstrap.mdx", + }, + { + from: "/v2.19/docs/reference-python-dump-source-analysis", + to: "/2.19.x/reference/goals/python-dump-source-analysis.mdx", + }, + { + from: "/v2.19/docs/reference-python-infer", + to: "/2.19.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.19/docs/reference-python-native-code", + to: "/2.19.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.19/docs/reference-python-protobuf", + to: "/2.19.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.19/docs/reference-python-repos", + to: "/2.19.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.19/docs/reference-python-thrift", + to: "/2.19.x/reference/subsystems/python-thrift.mdx", + }, + { + from: "/v2.19/docs/reference-python", + to: "/2.19.x/reference/subsystems/python.mdx", + }, + { + from: "/v2.19/docs/reference-pytype", + to: "/2.19.x/reference/subsystems/pytype.mdx", + }, + { + from: "/v2.19/docs/reference-pyupgrade", + to: "/2.19.x/reference/subsystems/pyupgrade.mdx", + }, + { + from: "/v2.19/docs/reference-regex-lint", + to: "/2.19.x/reference/subsystems/regex-lint.mdx", + }, + { + from: "/v2.19/docs/reference-relocated_files", + to: "/2.19.x/reference/targets/relocated_files.mdx", + }, + { + from: "/v2.19/docs/reference-remote_environment", + to: "/2.19.x/reference/targets/remote_environment.mdx", + }, + { + from: "/v2.19/docs/reference-repl", + to: "/2.19.x/reference/goals/repl.mdx", + }, + { + from: "/v2.19/docs/reference-resource", + to: "/2.19.x/reference/targets/resource.mdx", + }, + { + from: "/v2.19/docs/reference-resources", + to: "/2.19.x/reference/targets/resources.mdx", + }, + { + from: "/v2.19/docs/reference-roots", + to: "/2.19.x/reference/goals/roots.mdx", + }, + { + from: "/v2.19/docs/reference-ruff", + to: "/2.19.x/reference/subsystems/ruff.mdx", + }, + { + from: "/v2.19/docs/reference-run_shell_command", + to: "/2.19.x/reference/targets/run_shell_command.mdx", + }, + { from: "/v2.19/docs/reference-run", to: "/2.19.x/reference/goals/run.mdx" }, + { + from: "/v2.19/docs/reference-scala_artifact", + to: "/2.19.x/reference/targets/scala_artifact.mdx", + }, + { + from: "/v2.19/docs/reference-scala_junit_test", + to: "/2.19.x/reference/targets/scala_junit_test.mdx", + }, + { + from: "/v2.19/docs/reference-scala_junit_tests", + to: "/2.19.x/reference/targets/scala_junit_tests.mdx", + }, + { + from: "/v2.19/docs/reference-scala_source", + to: "/2.19.x/reference/targets/scala_source.mdx", + }, + { + from: "/v2.19/docs/reference-scala_sources", + to: "/2.19.x/reference/targets/scala_sources.mdx", + }, + { + from: "/v2.19/docs/reference-scala-infer", + to: "/2.19.x/reference/subsystems/scala-infer.mdx", + }, + { + from: "/v2.19/docs/reference-scala", + to: "/2.19.x/reference/subsystems/scala.mdx", + }, + { + from: "/v2.19/docs/reference-scalac_plugin", + to: "/2.19.x/reference/targets/scalac_plugin.mdx", + }, + { + from: "/v2.19/docs/reference-scalac", + to: "/2.19.x/reference/subsystems/scalac.mdx", + }, + { + from: "/v2.19/docs/reference-scalafmt", + to: "/2.19.x/reference/subsystems/scalafmt.mdx", + }, + { + from: "/v2.19/docs/reference-scalapb", + to: "/2.19.x/reference/subsystems/scalapb.mdx", + }, + { + from: "/v2.19/docs/reference-scalatest_test", + to: "/2.19.x/reference/targets/scalatest_test.mdx", + }, + { + from: "/v2.19/docs/reference-scalatest_tests", + to: "/2.19.x/reference/targets/scalatest_tests.mdx", + }, + { + from: "/v2.19/docs/reference-scalatest", + to: "/2.19.x/reference/subsystems/scalatest.mdx", + }, + { + from: "/v2.19/docs/reference-scc", + to: "/2.19.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.19/docs/reference-semgrep", + to: "/2.19.x/reference/subsystems/semgrep.mdx", + }, + { + from: "/v2.19/docs/reference-setup-py-generation", + to: "/2.19.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.19/docs/reference-setuptools-scm", + to: "/2.19.x/reference/subsystems/setuptools-scm.mdx", + }, + { + from: "/v2.19/docs/reference-setuptools", + to: "/2.19.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.19/docs/reference-shell_command", + to: "/2.19.x/reference/targets/shell_command.mdx", + }, + { + from: "/v2.19/docs/reference-shell_source", + to: "/2.19.x/reference/targets/shell_source.mdx", + }, + { + from: "/v2.19/docs/reference-shell_sources", + to: "/2.19.x/reference/targets/shell_sources.mdx", + }, + { + from: "/v2.19/docs/reference-shell-setup", + to: "/2.19.x/reference/subsystems/shell-setup.mdx", + }, + { + from: "/v2.19/docs/reference-shell-test", + to: "/2.19.x/reference/subsystems/shell-test.mdx", + }, + { + from: "/v2.19/docs/reference-shellcheck", + to: "/2.19.x/reference/subsystems/shellcheck.mdx", + }, + { + from: "/v2.19/docs/reference-shfmt", + to: "/2.19.x/reference/subsystems/shfmt.mdx", + }, + { + from: "/v2.19/docs/reference-shunit2_test", + to: "/2.19.x/reference/targets/shunit2_test.mdx", + }, + { + from: "/v2.19/docs/reference-shunit2_tests", + to: "/2.19.x/reference/targets/shunit2_tests.mdx", + }, + { + from: "/v2.19/docs/reference-shunit2", + to: "/2.19.x/reference/subsystems/shunit2.mdx", + }, + { + from: "/v2.19/docs/reference-source", + to: "/2.19.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.19/docs/reference-spectral", + to: "/2.19.x/reference/subsystems/spectral.mdx", + }, + { + from: "/v2.19/docs/reference-stats", + to: "/2.19.x/reference/subsystems/stats.mdx", + }, + { + from: "/v2.19/docs/reference-subprocess-environment", + to: "/2.19.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.19/docs/reference-system_binary", + to: "/2.19.x/reference/targets/system_binary.mdx", + }, + { + from: "/v2.19/docs/reference-system-binaries", + to: "/2.19.x/reference/subsystems/system-binaries.mdx", + }, + { + from: "/v2.19/docs/reference-tailor", + to: "/2.19.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.19/docs/reference-target", + to: "/2.19.x/reference/targets/target.mdx", + }, + { + from: "/v2.19/docs/reference-terraform_deployment", + to: "/2.19.x/reference/targets/terraform_deployment.mdx", + }, + { + from: "/v2.19/docs/reference-terraform_module", + to: "/2.19.x/reference/targets/terraform_module.mdx", + }, + { + from: "/v2.19/docs/reference-terraform-fmt", + to: "/2.19.x/reference/subsystems/terraform-fmt.mdx", + }, + { + from: "/v2.19/docs/reference-terraform-hcl2-parser", + to: "/2.19.x/reference/subsystems/terraform-hcl2-parser.mdx", + }, + { + from: "/v2.19/docs/reference-terraform-validate", + to: "/2.19.x/reference/subsystems/terraform-validate.mdx", + }, + { + from: "/v2.19/docs/reference-test", + to: "/2.19.x/reference/goals/test.mdx", + }, + { + from: "/v2.19/docs/reference-thrift_source", + to: "/2.19.x/reference/targets/thrift_source.mdx", + }, + { + from: "/v2.19/docs/reference-thrift_sources", + to: "/2.19.x/reference/targets/thrift_sources.mdx", + }, + { + from: "/v2.19/docs/reference-thrift", + to: "/2.19.x/reference/subsystems/thrift.mdx", + }, + { + from: "/v2.19/docs/reference-twine", + to: "/2.19.x/reference/subsystems/twine.mdx", + }, + { + from: "/v2.19/docs/reference-update-build-files", + to: "/2.19.x/reference/goals/update-build-files.mdx", + }, + { + from: "/v2.19/docs/reference-vcs_version", + to: "/2.19.x/reference/targets/vcs_version.mdx", + }, + { + from: "/v2.19/docs/reference-version", + to: "/2.19.x/reference/goals/version.mdx", + }, + { + from: "/v2.19/docs/reference-workunit-logger", + to: "/2.19.x/reference/subsystems/workunit-logger.mdx", + }, + { + from: "/v2.19/docs/reference-yamllint", + to: "/2.19.x/reference/subsystems/yamllint.mdx", + }, + { + from: "/v2.19/docs/reference-yapf", + to: "/2.19.x/reference/subsystems/yapf.mdx", + }, + { from: "/v2.19/docs/release-notes", to: "/2.19.x/docs/releases/index.mdx" }, + { + from: "/v2.19/docs/release-process", + to: "/2.19.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.19/docs/release-strategy", + to: "/2.19.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.19/docs/releases", + to: "/2.19.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.19/docs/remote-caching-execution", + to: "/2.19.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.19/docs/remote-caching", + to: "/2.19.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.19/docs/remote-execution", + to: "/2.19.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.19/docs/restricted-internet-access", + to: "/2.19.x/docs/using-pants/restricted-internet-access.mdx", + }, + { + from: "/v2.19/docs/rules-api-and-target-api", + to: "/2.19.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.19/docs/rules-api-concepts", + to: "/2.19.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.19/docs/rules-api-file-system", + to: "/2.19.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.19/docs/rules-api-goal-rules", + to: "/2.19.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.19/docs/rules-api-installing-tools", + to: "/2.19.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.19/docs/rules-api-logging", + to: "/2.19.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.19/docs/rules-api-process", + to: "/2.19.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.19/docs/rules-api-subsystems", + to: "/2.19.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.19/docs/rules-api-testing", + to: "/2.19.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.19/docs/rules-api-tips", + to: "/2.19.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.19/docs/rules-api-unions", + to: "/2.19.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.19/docs/rules-api", + to: "/2.19.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.19/docs/run-shell-commands", + to: "/2.19.x/docs/shell/run-shell-commands.mdx", + }, + { + from: "/v2.19/docs/running-pants-from-sources", + to: "/2.19.x/docs/contributions/development/running-pants-from-sources.mdx", + }, + { + from: "/v2.19/docs/setting-up-an-ide", + to: "/2.19.x/docs/using-pants/setting-up-an-ide.mdx", + }, + { from: "/v2.19/docs/shell", to: "/2.19.x/docs/shell/shell-overview.mdx" }, + { + from: "/v2.19/docs/source-roots", + to: "/2.19.x/docs/using-pants/key-concepts/source-roots.mdx", + }, + { + from: "/v2.19/docs/sponsorship", + to: "/2.19.x/docs/introduction/sponsoring-pants.mdx", + }, + { + from: "/v2.19/docs/style-guide", + to: "/2.19.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.19/docs/tagging-docker-images", + to: "/2.19.x/docs/docker/tagging-docker-images.mdx", + }, + { + from: "/v2.19/docs/target-api-concepts", + to: "/2.19.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.19/docs/target-api-extending-targets", + to: "/2.19.x/docs/writing-plugins/the-target-api/extending-existing-targets.mdx", + }, + { + from: "/v2.19/docs/target-api-new-fields", + to: "/2.19.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.19/docs/target-api-new-targets", + to: "/2.19.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.19/docs/target-api", + to: "/2.19.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.19/docs/targets", + to: "/2.19.x/docs/using-pants/key-concepts/targets-and-build-files.mdx", + }, + { from: "/v2.19/docs/team", to: "/2.19.x/community/meet-the-team" }, + { + from: "/v2.19/docs/test-custom-plugin-goal", + to: "/2.19.x/docs/tutorials-coming-soon/testing-plugins.mdx", + }, + { from: "/v2.19/docs/testimonials", to: "/2.19.x/spotlight/testimonials" }, + { from: "/v2.19/docs/the-pants-community", to: "/2.19.x/community/members" }, + { + from: "/v2.19/docs/thrift-python", + to: "/2.19.x/docs/python/integrations/thrift.mdx", + }, + { + from: "/v2.19/docs/troubleshooting", + to: "/2.19.x/docs/using-pants/troubleshooting-common-issues.mdx", + }, + { + from: "/v2.19/docs/tutorials-coming-soon", + to: "/2.19.x/docs/tutorials-coming-soon/index.mdx", + }, + { + from: "/v2.19/docs/upgrade-tips", + to: "/2.19.x/docs/releases/upgrade-tips.mdx", + }, + { + from: "/v2.19/docs/using-pants-in-ci", + to: "/2.19.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.19/docs/using-pants", to: "/2.19.x/docs/using-pants/index.mdx" }, + { + from: "/v2.19/docs/validating-dependencies", + to: "/2.19.x/docs/using-pants/validating-dependencies.mdx", + }, + { + from: "/v2.19/docs/welcome-to-pants", + to: "/2.19.x/docs/introduction/welcome-to-pants.mdx", + }, + { from: "/v2.19/docs/who-uses-pants", to: "/2.19.x/spotlight/users" }, + { + from: "/v2.19/docs/writing-plugins", + to: "/2.19.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.2/docs/advanced-target-selection", + to: "/2.2.x/docs/using-pants/advanced-target-selection.mdx", + }, + { from: "/v2.2/docs/aws-lambda", to: "/2.2.x/docs/aws-lambda/index.mdx" }, + { + from: "/v2.2/docs/awslambda-python", + to: "/2.2.x/docs/aws-lambda/python-support.mdx", + }, + { + from: "/v2.2/docs/code-of-conduct", + to: "/2.2.x/community/code-of-conduct", + }, + { from: "/v2.2/docs/codegen", to: "/2.2.x/docs/codegen/index.mdx" }, + { + from: "/v2.2/docs/command-line-help", + to: "/2.2.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.2/docs/committers", + to: "/2.2.x/docs/contributions/committers.mdx", + }, + { + from: "/v2.2/docs/common-plugin-tasks", + to: "/2.2.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.2/docs/community", to: "/2.2.x/community/members" }, + { + from: "/v2.2/docs/concepts", + to: "/2.2.x/docs/using-pants/concepts/index.mdx", + }, + { + from: "/v2.2/docs/contentious-decisions", + to: "/2.2.x/community/contentious-decisions", + }, + { + from: "/v2.2/docs/contributing-to-pants", + to: "/2.2.x/docs/contributions/index.mdx", + }, + { + from: "/v2.2/docs/contributions-debugging", + to: "/2.2.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.2/docs/contributions-rust", + to: "/2.2.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.2/docs/contributor-overview", + to: "/2.2.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.2/docs/contributor-setup", + to: "/2.2.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.2/docs/deprecation-policy", + to: "/2.2.x/docs/release-notes/deprecation-policy.mdx", + }, + { + from: "/v2.2/docs/development", + to: "/2.2.x/docs/contributions/development/index.mdx", + }, + { + from: "/v2.2/docs/documentation", + to: "/2.2.x/docs/introduction/index.mdx", + }, + { + from: "/v2.2/docs/enabling-backends", + to: "/2.2.x/docs/using-pants/concepts/backends.mdx", + }, + { + from: "/v2.2/docs/example-repos", + to: "/2.2.x/docs/introduction/getting-started/example-repositories.mdx", + }, + { + from: "/v2.2/docs/existing-repositories", + to: "/2.2.x/docs/using-pants/adopting-pants-in-existing-repos.mdx", + }, + { from: "/v2.2/docs/getting-help", to: "/2.2.x/community/getting-help" }, + { + from: "/v2.2/docs/getting-started", + to: "/2.2.x/docs/introduction/getting-started/index.mdx", + }, + { + from: "/v2.2/docs/gitignore", + to: "/2.2.x/docs/introduction/getting-started/updating-.gitignore.mdx", + }, + { + from: "/v2.2/docs/goals", + to: "/2.2.x/docs/using-pants/concepts/goals.mdx", + }, + { + from: "/v2.2/docs/how-does-pants-work", + to: "/2.2.x/docs/introduction/how-does-pants-work.mdx", + }, + { + from: "/v2.2/docs/how-to-upgrade-pants-2-0", + to: "/2.2.x/docs/introduction/pants-1.x-vs.-2.0/how-to-upgrade.mdx", + }, + { + from: "/v2.2/docs/initial-configuration", + to: "/2.2.x/docs/introduction/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.2/docs/installation", + to: "/2.2.x/docs/introduction/getting-started/installing-pants.mdx", + }, + { + from: "/v2.2/docs/internal-rules-architecture", + to: "/2.2.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.2/docs/language-support", + to: "/2.2.x/spotlight/language-support", + }, + { from: "/v2.2/docs/macros", to: "/2.2.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.2/docs/maintainers", to: "/2.2.x/community/maintainers" }, + { from: "/v2.2/docs/media", to: "/2.2.x/spotlight/media" }, + { from: "/v2.2/docs/news-room", to: "/2.2.x/spotlight/media" }, + { + from: "/v2.2/docs/options", + to: "/2.2.x/docs/using-pants/concepts/options.mdx", + }, + { + from: "/v2.2/docs/pants-1-vs-2", + to: "/2.2.x/docs/introduction/pants-1.x-vs.-2.0/index.mdx", + }, + { + from: "/v2.2/docs/pex-files", + to: "/2.2.x/docs/python/overview/pex-files.mdx", + }, + { + from: "/v2.2/docs/plugin-upgrade-guide", + to: "/2.2.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.2/docs/plugins-codegen", + to: "/2.2.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.2/docs/plugins-fmt-goal", + to: "/2.2.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.2/docs/plugins-lint-goal", + to: "/2.2.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.2/docs/plugins-overview", + to: "/2.2.x/docs/writing-plugins/overview.mdx", + }, + { + from: "/v2.2/docs/plugins-package-goal", + to: "/2.2.x/docs/writing-plugins/common-plugin-tasks/package-code.mdx", + }, + { + from: "/v2.2/docs/plugins-repl-goal", + to: "/2.2.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.2/docs/plugins-run-goal", + to: "/2.2.x/docs/writing-plugins/common-plugin-tasks/run-programs.mdx", + }, + { + from: "/v2.2/docs/plugins-setup-py", + to: "/2.2.x/docs/writing-plugins/common-plugin-tasks/custom-setup-py-kwargs.mdx", + }, + { + from: "/v2.2/docs/plugins-test-goal", + to: "/2.2.x/docs/writing-plugins/common-plugin-tasks/run-tests.mdx", + }, + { + from: "/v2.2/docs/plugins-typecheck-goal", + to: "/2.2.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.2/docs/project-introspection", + to: "/2.2.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.2/docs/protobuf", + to: "/2.2.x/docs/codegen/protobuf-and-grpc.mdx", + }, + { + from: "/v2.2/docs/proxies", + to: "/2.2.x/docs/using-pants/troubleshooting-common-issues/proxies.mdx", + }, + { + from: "/v2.2/docs/python-backend", + to: "/2.2.x/docs/python/overview/enabling-python-support.mdx", + }, + { + from: "/v2.2/docs/python-distributions", + to: "/2.2.x/docs/python/overview/building-distributions.mdx", + }, + { + from: "/v2.2/docs/python-fmt-goal", + to: "/2.2.x/docs/python/goals/fmt.mdx", + }, + { from: "/v2.2/docs/python-goals", to: "/2.2.x/docs/python/goals/index.mdx" }, + { + from: "/v2.2/docs/python-interpreter-compatibility", + to: "/2.2.x/docs/python/overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.2/docs/python-lint-goal", + to: "/2.2.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.2/docs/python-linters-and-formatters", + to: "/2.2.x/docs/python/overview/linters-and-formatters.mdx", + }, + { + from: "/v2.2/docs/python-package-goal", + to: "/2.2.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.2/docs/python-repl-goal", + to: "/2.2.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.2/docs/python-run-goal", + to: "/2.2.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.2/docs/python-target-types", + to: "/2.2.x/docs/python/overview/target-types.mdx", + }, + { + from: "/v2.2/docs/python-test-goal", + to: "/2.2.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.2/docs/python-third-party-dependencies", + to: "/2.2.x/docs/python/overview/third-party-dependencies.mdx", + }, + { + from: "/v2.2/docs/python-typecheck-goal", + to: "/2.2.x/docs/python/goals/typecheck.mdx", + }, + { from: "/v2.2/docs/python", to: "/2.2.x/docs/python/overview/index.mdx" }, + { from: "/v2.2/docs/reference-all-goals", to: "/2.2.x/reference/goals" }, + { + from: "/v2.2/docs/reference-all-subsystems", + to: "/2.2.x/reference/subsystems", + }, + { from: "/v2.2/docs/reference-all-targets", to: "/2.2.x/reference/targets" }, + { + from: "/v2.2/docs/reference-archive", + to: "/2.2.x/reference/targets/archive.mdx", + }, + { + from: "/v2.2/docs/reference-bandit", + to: "/2.2.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.2/docs/reference-black", + to: "/2.2.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.2/docs/reference-changed", + to: "/2.2.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.2/docs/reference-count-loc", + to: "/2.2.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.2/docs/reference-coverage-py", + to: "/2.2.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.2/docs/reference-dependees", + to: "/2.2.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.2/docs/reference-dependencies", + to: "/2.2.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.2/docs/reference-docformatter", + to: "/2.2.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.2/docs/reference-download-pex-bin", + to: "/2.2.x/reference/subsystems/download-pex-bin.mdx", + }, + { + from: "/v2.2/docs/reference-export-codegen", + to: "/2.2.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.2/docs/reference-filedeps", + to: "/2.2.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.2/docs/reference-files", + to: "/2.2.x/reference/targets/files.mdx", + }, + { + from: "/v2.2/docs/reference-filter", + to: "/2.2.x/reference/goals/filter.mdx", + }, + { + from: "/v2.2/docs/reference-flake8", + to: "/2.2.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.2/docs/reference-fmt", to: "/2.2.x/reference/goals/fmt.mdx" }, + { + from: "/v2.2/docs/reference-global", + to: "/2.2.x/reference/global-options.mdx", + }, + { + from: "/v2.2/docs/reference-grpc_python_plugin", + to: "/2.2.x/reference/subsystems/grpc_python_plugin.mdx", + }, + { + from: "/v2.2/docs/reference-ipython", + to: "/2.2.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.2/docs/reference-isort", + to: "/2.2.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.2/docs/reference-lambdex", + to: "/2.2.x/reference/subsystems/lambdex.mdx", + }, + { from: "/v2.2/docs/reference-lint", to: "/2.2.x/reference/goals/lint.mdx" }, + { from: "/v2.2/docs/reference-list", to: "/2.2.x/reference/goals/list.mdx" }, + { + from: "/v2.2/docs/reference-mypy", + to: "/2.2.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.2/docs/reference-package", + to: "/2.2.x/reference/goals/package.mdx", + }, + { + from: "/v2.2/docs/reference-pex_binary", + to: "/2.2.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.2/docs/reference-pex-binary-defaults", + to: "/2.2.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.2/docs/reference-pex", + to: "/2.2.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.2/docs/reference-protobuf_library", + to: "/2.2.x/reference/targets/protobuf_library.mdx", + }, + { + from: "/v2.2/docs/reference-protoc", + to: "/2.2.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.2/docs/reference-py-constraints", + to: "/2.2.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.2/docs/reference-pylint", + to: "/2.2.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.2/docs/reference-pytest", + to: "/2.2.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.2/docs/reference-python_awslambda", + to: "/2.2.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.2/docs/reference-python_distribution", + to: "/2.2.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.2/docs/reference-python_library", + to: "/2.2.x/reference/targets/python_library.mdx", + }, + { + from: "/v2.2/docs/reference-python_requirement_library", + to: "/2.2.x/reference/targets/python_requirement_library.mdx", + }, + { + from: "/v2.2/docs/reference-python_tests", + to: "/2.2.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.2/docs/reference-python-infer", + to: "/2.2.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.2/docs/reference-python-native-code", + to: "/2.2.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.2/docs/reference-python-protobuf", + to: "/2.2.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.2/docs/reference-python-repos", + to: "/2.2.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.2/docs/reference-python-setup", + to: "/2.2.x/reference/subsystems/python-setup.mdx", + }, + { + from: "/v2.2/docs/reference-relocated_files", + to: "/2.2.x/reference/targets/relocated_files.mdx", + }, + { from: "/v2.2/docs/reference-repl", to: "/2.2.x/reference/goals/repl.mdx" }, + { + from: "/v2.2/docs/reference-resources", + to: "/2.2.x/reference/targets/resources.mdx", + }, + { + from: "/v2.2/docs/reference-roots", + to: "/2.2.x/reference/goals/roots.mdx", + }, + { + from: "/v2.2/docs/reference-run-tracker", + to: "/2.2.x/reference/subsystems/run-tracker.mdx", + }, + { from: "/v2.2/docs/reference-run", to: "/2.2.x/reference/goals/run.mdx" }, + { + from: "/v2.2/docs/reference-scc", + to: "/2.2.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.2/docs/reference-setup-py-generation", + to: "/2.2.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.2/docs/reference-setuptools", + to: "/2.2.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.2/docs/reference-source", + to: "/2.2.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.2/docs/reference-sourcefile-validation", + to: "/2.2.x/reference/subsystems/sourcefile-validation.mdx", + }, + { + from: "/v2.2/docs/reference-subprocess-environment", + to: "/2.2.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.2/docs/reference-target", + to: "/2.2.x/reference/targets/target.mdx", + }, + { from: "/v2.2/docs/reference-test", to: "/2.2.x/reference/goals/test.mdx" }, + { + from: "/v2.2/docs/reference-typecheck", + to: "/2.2.x/reference/goals/typecheck.mdx", + }, + { + from: "/v2.2/docs/reference-validate", + to: "/2.2.x/reference/goals/validate.mdx", + }, + { from: "/v2.2/docs/reference", to: "/2.2.x/reference/index.mdx" }, + { + from: "/v2.2/docs/release-notes", + to: "/2.2.x/docs/release-notes/index.mdx", + }, + { + from: "/v2.2/docs/release-process", + to: "/2.2.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.2/docs/release-strategy", + to: "/2.2.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.2/docs/releases", + to: "/2.2.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.2/docs/remote-execution", + to: "/2.2.x/docs/using-pants/remote-execution.mdx", + }, + { + from: "/v2.2/docs/resources", + to: "/2.2.x/docs/using-pants/resources-and-archives.mdx", + }, + { + from: "/v2.2/docs/rules-api-and-target-api", + to: "/2.2.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.2/docs/rules-api-concepts", + to: "/2.2.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.2/docs/rules-api-file-system", + to: "/2.2.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.2/docs/rules-api-goal-rules", + to: "/2.2.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.2/docs/rules-api-installing-tools", + to: "/2.2.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.2/docs/rules-api-logging", + to: "/2.2.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.2/docs/rules-api-process", + to: "/2.2.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.2/docs/rules-api-subsystems", + to: "/2.2.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.2/docs/rules-api-testing", + to: "/2.2.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.2/docs/rules-api-tips", + to: "/2.2.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.2/docs/rules-api-unions", + to: "/2.2.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.2/docs/rules-api", + to: "/2.2.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.2/docs/source-roots", + to: "/2.2.x/docs/using-pants/concepts/source-roots.mdx", + }, + { + from: "/v2.2/docs/style-guide", + to: "/2.2.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.2/docs/target-api-concepts", + to: "/2.2.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.2/docs/target-api-extending-targets", + to: "/2.2.x/docs/writing-plugins/the-target-api/extending-pre-existing-targets.mdx", + }, + { + from: "/v2.2/docs/target-api-new-fields", + to: "/2.2.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.2/docs/target-api-new-targets", + to: "/2.2.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.2/docs/target-api", + to: "/2.2.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.2/docs/targets", + to: "/2.2.x/docs/using-pants/concepts/targets-and-build-files.mdx", + }, + { from: "/v2.2/docs/team", to: "/2.2.x/community/meet-the-team" }, + { from: "/v2.2/docs/testimonials", to: "/2.2.x/spotlight/testimonials" }, + { from: "/v2.2/docs/the-pants-community", to: "/2.2.x/community/members" }, + { + from: "/v2.2/docs/troubleshooting", + to: "/2.2.x/docs/using-pants/troubleshooting-common-issues/index.mdx", + }, + { + from: "/v2.2/docs/upgrade-tips", + to: "/2.2.x/docs/release-notes/upgrade-tips.mdx", + }, + { + from: "/v2.2/docs/using-pants-in-ci", + to: "/2.2.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.2/docs/using-pants", to: "/2.2.x/docs/using-pants/index.mdx" }, + { + from: "/v2.2/docs/welcome-to-pants", + to: "/2.2.x/docs/introduction/welcome-to-pants.mdx", + }, + { from: "/v2.2/docs/who-uses-pants", to: "/2.2.x/spotlight/users" }, + { + from: "/v2.2/docs/writing-plugins", + to: "/2.2.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.3/docs/advanced-target-selection", + to: "/2.3.x/docs/using-pants/advanced-target-selection.mdx", + }, + { from: "/v2.3/docs/aws-lambda", to: "/2.3.x/docs/aws-lambda/index.mdx" }, + { + from: "/v2.3/docs/awslambda-python", + to: "/2.3.x/docs/aws-lambda/python-support.mdx", + }, + { + from: "/v2.3/docs/code-of-conduct", + to: "/2.3.x/community/code-of-conduct", + }, + { from: "/v2.3/docs/codegen", to: "/2.3.x/docs/codegen/index.mdx" }, + { + from: "/v2.3/docs/command-line-help", + to: "/2.3.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.3/docs/common-plugin-tasks", + to: "/2.3.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.3/docs/community", to: "/2.3.x/community/members" }, + { + from: "/v2.3/docs/concepts", + to: "/2.3.x/docs/using-pants/concepts/index.mdx", + }, + { + from: "/v2.3/docs/contentious-decisions", + to: "/2.3.x/community/contentious-decisions", + }, + { + from: "/v2.3/docs/contributing-to-pants", + to: "/2.3.x/docs/contributions/index.mdx", + }, + { + from: "/v2.3/docs/contributions-debugging", + to: "/2.3.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.3/docs/contributions-rust", + to: "/2.3.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.3/docs/contributor-overview", + to: "/2.3.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.3/docs/contributor-setup", + to: "/2.3.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.3/docs/create-initial-build-files", + to: "/2.3.x/docs/introduction/getting-started/create-initial-build-files.mdx", + }, + { + from: "/v2.3/docs/deprecation-policy", + to: "/2.3.x/docs/release-notes/deprecation-policy.mdx", + }, + { + from: "/v2.3/docs/development", + to: "/2.3.x/docs/contributions/development/index.mdx", + }, + { + from: "/v2.3/docs/documentation", + to: "/2.3.x/docs/introduction/index.mdx", + }, + { + from: "/v2.3/docs/enabling-backends", + to: "/2.3.x/docs/using-pants/concepts/backends.mdx", + }, + { + from: "/v2.3/docs/example-repos", + to: "/2.3.x/docs/introduction/getting-started/example-repositories.mdx", + }, + { + from: "/v2.3/docs/existing-repositories", + to: "/2.3.x/docs/using-pants/adopting-pants-in-existing-repos.mdx", + }, + { from: "/v2.3/docs/getting-help", to: "/2.3.x/community/getting-help" }, + { + from: "/v2.3/docs/getting-started", + to: "/2.3.x/docs/introduction/getting-started/index.mdx", + }, + { + from: "/v2.3/docs/gitignore", + to: "/2.3.x/docs/introduction/getting-started/updating-.gitignore.mdx", + }, + { + from: "/v2.3/docs/goals", + to: "/2.3.x/docs/using-pants/concepts/goals.mdx", + }, + { + from: "/v2.3/docs/how-does-pants-work", + to: "/2.3.x/docs/introduction/how-does-pants-work.mdx", + }, + { + from: "/v2.3/docs/how-to-upgrade-pants-2-0", + to: "/2.3.x/docs/introduction/pants-1.x-vs.-2.x/how-to-upgrade.mdx", + }, + { + from: "/v2.3/docs/initial-configuration", + to: "/2.3.x/docs/introduction/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.3/docs/installation", + to: "/2.3.x/docs/introduction/getting-started/installing-pants.mdx", + }, + { + from: "/v2.3/docs/internal-rules-architecture", + to: "/2.3.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.3/docs/language-support", + to: "/2.3.x/spotlight/language-support", + }, + { from: "/v2.3/docs/macros", to: "/2.3.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.3/docs/maintainers", to: "/2.3.x/community/maintainers" }, + { from: "/v2.3/docs/media", to: "/2.3.x/spotlight/media" }, + { from: "/v2.3/docs/news-room", to: "/2.3.x/spotlight/media" }, + { + from: "/v2.3/docs/options", + to: "/2.3.x/docs/using-pants/concepts/options.mdx", + }, + { + from: "/v2.3/docs/pants-1-vs-2", + to: "/2.3.x/docs/introduction/pants-1.x-vs.-2.x/index.mdx", + }, + { + from: "/v2.3/docs/pex-files", + to: "/2.3.x/docs/python/overview/pex-files.mdx", + }, + { + from: "/v2.3/docs/plugin-upgrade-guide", + to: "/2.3.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.3/docs/plugins-codegen", + to: "/2.3.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.3/docs/plugins-fmt-goal", + to: "/2.3.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.3/docs/plugins-lint-goal", + to: "/2.3.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.3/docs/plugins-overview", + to: "/2.3.x/docs/writing-plugins/overview.mdx", + }, + { + from: "/v2.3/docs/plugins-package-goal", + to: "/2.3.x/docs/writing-plugins/common-plugin-tasks/package-code.mdx", + }, + { + from: "/v2.3/docs/plugins-repl-goal", + to: "/2.3.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.3/docs/plugins-run-goal", + to: "/2.3.x/docs/writing-plugins/common-plugin-tasks/run-programs.mdx", + }, + { + from: "/v2.3/docs/plugins-setup-py", + to: "/2.3.x/docs/writing-plugins/common-plugin-tasks/custom-setup-py-kwargs.mdx", + }, + { + from: "/v2.3/docs/plugins-test-goal", + to: "/2.3.x/docs/writing-plugins/common-plugin-tasks/run-tests.mdx", + }, + { + from: "/v2.3/docs/plugins-typecheck-goal", + to: "/2.3.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.3/docs/project-introspection", + to: "/2.3.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.3/docs/protobuf", + to: "/2.3.x/docs/codegen/protobuf-and-grpc.mdx", + }, + { + from: "/v2.3/docs/proxies", + to: "/2.3.x/docs/using-pants/troubleshooting-common-issues/proxies.mdx", + }, + { + from: "/v2.3/docs/python-backend", + to: "/2.3.x/docs/python/overview/enabling-python-support.mdx", + }, + { + from: "/v2.3/docs/python-distributions", + to: "/2.3.x/docs/python/overview/building-distributions.mdx", + }, + { + from: "/v2.3/docs/python-fmt-goal", + to: "/2.3.x/docs/python/goals/fmt.mdx", + }, + { from: "/v2.3/docs/python-goals", to: "/2.3.x/docs/python/goals/index.mdx" }, + { + from: "/v2.3/docs/python-interpreter-compatibility", + to: "/2.3.x/docs/python/overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.3/docs/python-lint-goal", + to: "/2.3.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.3/docs/python-linters-and-formatters", + to: "/2.3.x/docs/python/overview/linters-and-formatters.mdx", + }, + { + from: "/v2.3/docs/python-package-goal", + to: "/2.3.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.3/docs/python-repl-goal", + to: "/2.3.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.3/docs/python-run-goal", + to: "/2.3.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.3/docs/python-tailor-goal", + to: "/2.3.x/docs/python/goals/tailor.mdx", + }, + { + from: "/v2.3/docs/python-target-types", + to: "/2.3.x/docs/python/overview/target-types.mdx", + }, + { + from: "/v2.3/docs/python-test-goal", + to: "/2.3.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.3/docs/python-third-party-dependencies", + to: "/2.3.x/docs/python/overview/third-party-dependencies.mdx", + }, + { + from: "/v2.3/docs/python-typecheck-goal", + to: "/2.3.x/docs/python/goals/typecheck.mdx", + }, + { from: "/v2.3/docs/python", to: "/2.3.x/docs/python/overview/index.mdx" }, + { from: "/v2.3/docs/reference-all-goals", to: "/2.3.x/reference/goals" }, + { + from: "/v2.3/docs/reference-all-subsystems", + to: "/2.3.x/reference/subsystems", + }, + { from: "/v2.3/docs/reference-all-targets", to: "/2.3.x/reference/targets" }, + { + from: "/v2.3/docs/reference-archive", + to: "/2.3.x/reference/targets/archive.mdx", + }, + { + from: "/v2.3/docs/reference-bandit", + to: "/2.3.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.3/docs/reference-black", + to: "/2.3.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.3/docs/reference-changed", + to: "/2.3.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.3/docs/reference-count-loc", + to: "/2.3.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.3/docs/reference-coverage-py", + to: "/2.3.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.3/docs/reference-dependees", + to: "/2.3.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.3/docs/reference-dependencies", + to: "/2.3.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.3/docs/reference-docformatter", + to: "/2.3.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.3/docs/reference-download-pex-bin", + to: "/2.3.x/reference/subsystems/download-pex-bin.mdx", + }, + { + from: "/v2.3/docs/reference-export-codegen", + to: "/2.3.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.3/docs/reference-filedeps", + to: "/2.3.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.3/docs/reference-files", + to: "/2.3.x/reference/targets/files.mdx", + }, + { + from: "/v2.3/docs/reference-filter", + to: "/2.3.x/reference/goals/filter.mdx", + }, + { + from: "/v2.3/docs/reference-flake8", + to: "/2.3.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.3/docs/reference-fmt", to: "/2.3.x/reference/goals/fmt.mdx" }, + { + from: "/v2.3/docs/reference-global", + to: "/2.3.x/reference/global-options.mdx", + }, + { + from: "/v2.3/docs/reference-grpc_python_plugin", + to: "/2.3.x/reference/subsystems/grpc_python_plugin.mdx", + }, + { + from: "/v2.3/docs/reference-ipython", + to: "/2.3.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.3/docs/reference-isort", + to: "/2.3.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.3/docs/reference-lambdex", + to: "/2.3.x/reference/subsystems/lambdex.mdx", + }, + { from: "/v2.3/docs/reference-lint", to: "/2.3.x/reference/goals/lint.mdx" }, + { from: "/v2.3/docs/reference-list", to: "/2.3.x/reference/goals/list.mdx" }, + { + from: "/v2.3/docs/reference-mypy", + to: "/2.3.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.3/docs/reference-package", + to: "/2.3.x/reference/goals/package.mdx", + }, + { + from: "/v2.3/docs/reference-pex_binary", + to: "/2.3.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.3/docs/reference-pex-binary-defaults", + to: "/2.3.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.3/docs/reference-pex", + to: "/2.3.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.3/docs/reference-protobuf_library", + to: "/2.3.x/reference/targets/protobuf_library.mdx", + }, + { + from: "/v2.3/docs/reference-protoc", + to: "/2.3.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.3/docs/reference-py-constraints", + to: "/2.3.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.3/docs/reference-pylint", + to: "/2.3.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.3/docs/reference-pytest", + to: "/2.3.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.3/docs/reference-python_awslambda", + to: "/2.3.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.3/docs/reference-python_distribution", + to: "/2.3.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.3/docs/reference-python_library", + to: "/2.3.x/reference/targets/python_library.mdx", + }, + { + from: "/v2.3/docs/reference-python_requirement_library", + to: "/2.3.x/reference/targets/python_requirement_library.mdx", + }, + { + from: "/v2.3/docs/reference-python_tests", + to: "/2.3.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.3/docs/reference-python-infer", + to: "/2.3.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.3/docs/reference-python-native-code", + to: "/2.3.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.3/docs/reference-python-protobuf", + to: "/2.3.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.3/docs/reference-python-repos", + to: "/2.3.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.3/docs/reference-python-setup", + to: "/2.3.x/reference/subsystems/python-setup.mdx", + }, + { + from: "/v2.3/docs/reference-relocated_files", + to: "/2.3.x/reference/targets/relocated_files.mdx", + }, + { from: "/v2.3/docs/reference-repl", to: "/2.3.x/reference/goals/repl.mdx" }, + { + from: "/v2.3/docs/reference-resources", + to: "/2.3.x/reference/targets/resources.mdx", + }, + { + from: "/v2.3/docs/reference-roots", + to: "/2.3.x/reference/goals/roots.mdx", + }, + { from: "/v2.3/docs/reference-run", to: "/2.3.x/reference/goals/run.mdx" }, + { + from: "/v2.3/docs/reference-scc", + to: "/2.3.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.3/docs/reference-setup-py-generation", + to: "/2.3.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.3/docs/reference-setuptools", + to: "/2.3.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.3/docs/reference-source", + to: "/2.3.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.3/docs/reference-sourcefile-validation", + to: "/2.3.x/reference/subsystems/sourcefile-validation.mdx", + }, + { + from: "/v2.3/docs/reference-subprocess-environment", + to: "/2.3.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.3/docs/reference-tailor", + to: "/2.3.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.3/docs/reference-target", + to: "/2.3.x/reference/targets/target.mdx", + }, + { from: "/v2.3/docs/reference-test", to: "/2.3.x/reference/goals/test.mdx" }, + { + from: "/v2.3/docs/reference-typecheck", + to: "/2.3.x/reference/goals/typecheck.mdx", + }, + { + from: "/v2.3/docs/reference-validate", + to: "/2.3.x/reference/goals/validate.mdx", + }, + { from: "/v2.3/docs/reference", to: "/2.3.x/reference/index.mdx" }, + { + from: "/v2.3/docs/release-notes", + to: "/2.3.x/docs/release-notes/index.mdx", + }, + { + from: "/v2.3/docs/release-process", + to: "/2.3.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.3/docs/release-strategy", + to: "/2.3.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.3/docs/releases", + to: "/2.3.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.3/docs/remote-caching-execution", + to: "/2.3.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.3/docs/remote-caching", + to: "/2.3.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.3/docs/remote-execution", + to: "/2.3.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.3/docs/resources", + to: "/2.3.x/docs/using-pants/resources-and-archives.mdx", + }, + { + from: "/v2.3/docs/rules-api-and-target-api", + to: "/2.3.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.3/docs/rules-api-concepts", + to: "/2.3.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.3/docs/rules-api-file-system", + to: "/2.3.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.3/docs/rules-api-goal-rules", + to: "/2.3.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.3/docs/rules-api-installing-tools", + to: "/2.3.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.3/docs/rules-api-logging", + to: "/2.3.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.3/docs/rules-api-process", + to: "/2.3.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.3/docs/rules-api-subsystems", + to: "/2.3.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.3/docs/rules-api-testing", + to: "/2.3.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.3/docs/rules-api-tips", + to: "/2.3.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.3/docs/rules-api-unions", + to: "/2.3.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.3/docs/rules-api", + to: "/2.3.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.3/docs/source-roots", + to: "/2.3.x/docs/using-pants/concepts/source-roots.mdx", + }, + { + from: "/v2.3/docs/style-guide", + to: "/2.3.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.3/docs/target-api-concepts", + to: "/2.3.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.3/docs/target-api-extending-targets", + to: "/2.3.x/docs/writing-plugins/the-target-api/extending-pre-existing-targets.mdx", + }, + { + from: "/v2.3/docs/target-api-new-fields", + to: "/2.3.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.3/docs/target-api-new-targets", + to: "/2.3.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.3/docs/target-api", + to: "/2.3.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.3/docs/targets", + to: "/2.3.x/docs/using-pants/concepts/targets-and-build-files.mdx", + }, + { from: "/v2.3/docs/team", to: "/2.3.x/community/meet-the-team" }, + { from: "/v2.3/docs/testimonials", to: "/2.3.x/spotlight/testimonials" }, + { from: "/v2.3/docs/the-pants-community", to: "/2.3.x/community/members" }, + { + from: "/v2.3/docs/troubleshooting", + to: "/2.3.x/docs/using-pants/troubleshooting-common-issues/index.mdx", + }, + { + from: "/v2.3/docs/upgrade-tips", + to: "/2.3.x/docs/release-notes/upgrade-tips.mdx", + }, + { + from: "/v2.3/docs/using-pants-in-ci", + to: "/2.3.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.3/docs/using-pants", to: "/2.3.x/docs/using-pants/index.mdx" }, + { + from: "/v2.3/docs/welcome-to-pants", + to: "/2.3.x/docs/introduction/welcome-to-pants.mdx", + }, + { from: "/v2.3/docs/who-uses-pants", to: "/2.3.x/spotlight/users" }, + { + from: "/v2.3/docs/writing-plugins", + to: "/2.3.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.4/docs/advanced-target-selection", + to: "/2.4.x/docs/using-pants/advanced-target-selection.mdx", + }, + { + from: "/v2.4/docs/anonymous-telemetry", + to: "/2.4.x/docs/using-pants/anonymous-telemetry.mdx", + }, + { + from: "/v2.4/docs/awslambda-python", + to: "/2.4.x/docs/python/integrations/aws-lambda.mdx", + }, + { + from: "/v2.4/docs/code-of-conduct", + to: "/2.4.x/community/code-of-conduct", + }, + { + from: "/v2.4/docs/command-line-help", + to: "/2.4.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.4/docs/common-plugin-tasks", + to: "/2.4.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.4/docs/community", to: "/2.4.x/community/members" }, + { + from: "/v2.4/docs/concepts", + to: "/2.4.x/docs/using-pants/concepts/index.mdx", + }, + { + from: "/v2.4/docs/contentious-decisions", + to: "/2.4.x/community/contentious-decisions", + }, + { + from: "/v2.4/docs/contributing-to-pants", + to: "/2.4.x/docs/contributions/index.mdx", + }, + { + from: "/v2.4/docs/contributions-debugging", + to: "/2.4.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.4/docs/contributions-rust", + to: "/2.4.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.4/docs/contributor-overview", + to: "/2.4.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.4/docs/contributor-setup", + to: "/2.4.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.4/docs/create-initial-build-files", + to: "/2.4.x/docs/introduction/getting-started/create-initial-build-files.mdx", + }, + { + from: "/v2.4/docs/deprecation-policy", + to: "/2.4.x/docs/release-notes/deprecation-policy.mdx", + }, + { + from: "/v2.4/docs/development", + to: "/2.4.x/docs/contributions/development/index.mdx", + }, + { + from: "/v2.4/docs/documentation", + to: "/2.4.x/docs/introduction/index.mdx", + }, + { + from: "/v2.4/docs/enabling-backends", + to: "/2.4.x/docs/using-pants/concepts/backends.mdx", + }, + { + from: "/v2.4/docs/example-repos", + to: "/2.4.x/docs/introduction/getting-started/example-repositories.mdx", + }, + { + from: "/v2.4/docs/existing-repositories", + to: "/2.4.x/docs/using-pants/adopting-pants-in-existing-repos.mdx", + }, + { from: "/v2.4/docs/getting-help", to: "/2.4.x/community/getting-help" }, + { + from: "/v2.4/docs/getting-started", + to: "/2.4.x/docs/introduction/getting-started/index.mdx", + }, + { + from: "/v2.4/docs/gitignore", + to: "/2.4.x/docs/introduction/getting-started/updating-.gitignore.mdx", + }, + { + from: "/v2.4/docs/goals", + to: "/2.4.x/docs/using-pants/concepts/goals.mdx", + }, + { + from: "/v2.4/docs/how-does-pants-work", + to: "/2.4.x/docs/introduction/how-does-pants-work.mdx", + }, + { + from: "/v2.4/docs/how-to-upgrade-pants-2-0", + to: "/2.4.x/docs/introduction/pants-1.x-vs.-2.x/how-to-upgrade.mdx", + }, + { + from: "/v2.4/docs/initial-configuration", + to: "/2.4.x/docs/introduction/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.4/docs/installation", + to: "/2.4.x/docs/introduction/getting-started/installing-pants.mdx", + }, + { + from: "/v2.4/docs/integrations", + to: "/2.4.x/docs/python/integrations/index.mdx", + }, + { + from: "/v2.4/docs/internal-rules-architecture", + to: "/2.4.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.4/docs/jupyter", + to: "/2.4.x/docs/python/integrations/jupyter.mdx", + }, + { + from: "/v2.4/docs/language-support", + to: "/2.4.x/spotlight/language-support", + }, + { from: "/v2.4/docs/macros", to: "/2.4.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.4/docs/maintainers", to: "/2.4.x/community/maintainers" }, + { from: "/v2.4/docs/media", to: "/2.4.x/spotlight/media" }, + { from: "/v2.4/docs/news-room", to: "/2.4.x/spotlight/media" }, + { + from: "/v2.4/docs/options", + to: "/2.4.x/docs/using-pants/concepts/options.mdx", + }, + { + from: "/v2.4/docs/pants-1-vs-2", + to: "/2.4.x/docs/introduction/pants-1.x-vs.-2.x/index.mdx", + }, + { + from: "/v2.4/docs/pex-files", + to: "/2.4.x/docs/python/overview/pex-files.mdx", + }, + { + from: "/v2.4/docs/plugin-upgrade-guide", + to: "/2.4.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.4/docs/plugins-codegen", + to: "/2.4.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.4/docs/plugins-fmt-goal", + to: "/2.4.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.4/docs/plugins-lint-goal", + to: "/2.4.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.4/docs/plugins-overview", + to: "/2.4.x/docs/writing-plugins/overview.mdx", + }, + { + from: "/v2.4/docs/plugins-package-goal", + to: "/2.4.x/docs/writing-plugins/common-plugin-tasks/package-code.mdx", + }, + { + from: "/v2.4/docs/plugins-repl-goal", + to: "/2.4.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.4/docs/plugins-run-goal", + to: "/2.4.x/docs/writing-plugins/common-plugin-tasks/run-programs.mdx", + }, + { + from: "/v2.4/docs/plugins-setup-py", + to: "/2.4.x/docs/writing-plugins/common-plugin-tasks/custom-setup-py-kwargs.mdx", + }, + { + from: "/v2.4/docs/plugins-test-goal", + to: "/2.4.x/docs/writing-plugins/common-plugin-tasks/run-tests.mdx", + }, + { + from: "/v2.4/docs/plugins-typecheck-goal", + to: "/2.4.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.4/docs/project-introspection", + to: "/2.4.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.4/docs/protobuf", + to: "/2.4.x/docs/python/integrations/protobuf-and-grpc.mdx", + }, + { + from: "/v2.4/docs/proxies", + to: "/2.4.x/docs/using-pants/troubleshooting-common-issues/proxies.mdx", + }, + { + from: "/v2.4/docs/python-backend", + to: "/2.4.x/docs/python/overview/enabling-python-support.mdx", + }, + { + from: "/v2.4/docs/python-distributions", + to: "/2.4.x/docs/python/overview/building-distributions.mdx", + }, + { + from: "/v2.4/docs/python-fmt-goal", + to: "/2.4.x/docs/python/goals/fmt.mdx", + }, + { from: "/v2.4/docs/python-goals", to: "/2.4.x/docs/python/goals/index.mdx" }, + { + from: "/v2.4/docs/python-interpreter-compatibility", + to: "/2.4.x/docs/python/overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.4/docs/python-lint-goal", + to: "/2.4.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.4/docs/python-linters-and-formatters", + to: "/2.4.x/docs/python/overview/linters-and-formatters.mdx", + }, + { + from: "/v2.4/docs/python-package-goal", + to: "/2.4.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.4/docs/python-repl-goal", + to: "/2.4.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.4/docs/python-run-goal", + to: "/2.4.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.4/docs/python-tailor-goal", + to: "/2.4.x/docs/python/goals/tailor.mdx", + }, + { + from: "/v2.4/docs/python-target-types", + to: "/2.4.x/docs/python/overview/target-types.mdx", + }, + { + from: "/v2.4/docs/python-test-goal", + to: "/2.4.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.4/docs/python-third-party-dependencies", + to: "/2.4.x/docs/python/overview/third-party-dependencies.mdx", + }, + { + from: "/v2.4/docs/python-typecheck-goal", + to: "/2.4.x/docs/python/goals/typecheck.mdx", + }, + { from: "/v2.4/docs/python", to: "/2.4.x/docs/python/overview/index.mdx" }, + { from: "/v2.4/docs/reference-all-goals", to: "/2.4.x/reference/goals" }, + { + from: "/v2.4/docs/reference-all-subsystems", + to: "/2.4.x/reference/subsystems", + }, + { from: "/v2.4/docs/reference-all-targets", to: "/2.4.x/reference/targets" }, + { + from: "/v2.4/docs/reference-anonymous-telemetry", + to: "/2.4.x/reference/subsystems/anonymous-telemetry.mdx", + }, + { + from: "/v2.4/docs/reference-archive", + to: "/2.4.x/reference/targets/archive.mdx", + }, + { + from: "/v2.4/docs/reference-bandit", + to: "/2.4.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.4/docs/reference-black", + to: "/2.4.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.4/docs/reference-changed", + to: "/2.4.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.4/docs/reference-count-loc", + to: "/2.4.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.4/docs/reference-coverage-py", + to: "/2.4.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.4/docs/reference-dependees", + to: "/2.4.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.4/docs/reference-dependencies", + to: "/2.4.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.4/docs/reference-docformatter", + to: "/2.4.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.4/docs/reference-download-pex-bin", + to: "/2.4.x/reference/subsystems/download-pex-bin.mdx", + }, + { + from: "/v2.4/docs/reference-export-codegen", + to: "/2.4.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.4/docs/reference-filedeps", + to: "/2.4.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.4/docs/reference-files", + to: "/2.4.x/reference/targets/files.mdx", + }, + { + from: "/v2.4/docs/reference-filter", + to: "/2.4.x/reference/goals/filter.mdx", + }, + { + from: "/v2.4/docs/reference-flake8", + to: "/2.4.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.4/docs/reference-fmt", to: "/2.4.x/reference/goals/fmt.mdx" }, + { + from: "/v2.4/docs/reference-global", + to: "/2.4.x/reference/global-options.mdx", + }, + { + from: "/v2.4/docs/reference-grpc_python_plugin", + to: "/2.4.x/reference/subsystems/grpc_python_plugin.mdx", + }, + { + from: "/v2.4/docs/reference-ipython", + to: "/2.4.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.4/docs/reference-isort", + to: "/2.4.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.4/docs/reference-lambdex", + to: "/2.4.x/reference/subsystems/lambdex.mdx", + }, + { from: "/v2.4/docs/reference-lint", to: "/2.4.x/reference/goals/lint.mdx" }, + { from: "/v2.4/docs/reference-list", to: "/2.4.x/reference/goals/list.mdx" }, + { + from: "/v2.4/docs/reference-mypy", + to: "/2.4.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.4/docs/reference-package", + to: "/2.4.x/reference/goals/package.mdx", + }, + { + from: "/v2.4/docs/reference-pex_binary", + to: "/2.4.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.4/docs/reference-pex-binary-defaults", + to: "/2.4.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.4/docs/reference-pex", + to: "/2.4.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.4/docs/reference-protobuf_library", + to: "/2.4.x/reference/targets/protobuf_library.mdx", + }, + { + from: "/v2.4/docs/reference-protoc", + to: "/2.4.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.4/docs/reference-py-constraints", + to: "/2.4.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.4/docs/reference-pylint", + to: "/2.4.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.4/docs/reference-pytest", + to: "/2.4.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.4/docs/reference-python_awslambda", + to: "/2.4.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.4/docs/reference-python_distribution", + to: "/2.4.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.4/docs/reference-python_library", + to: "/2.4.x/reference/targets/python_library.mdx", + }, + { + from: "/v2.4/docs/reference-python_requirement_library", + to: "/2.4.x/reference/targets/python_requirement_library.mdx", + }, + { + from: "/v2.4/docs/reference-python_tests", + to: "/2.4.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.4/docs/reference-python-infer", + to: "/2.4.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.4/docs/reference-python-native-code", + to: "/2.4.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.4/docs/reference-python-protobuf.mypy-plugin", + to: "/2.4.x/reference/subsystems/python-protobuf.mypy-plugin.mdx", + }, + { + from: "/v2.4/docs/reference-python-protobuf", + to: "/2.4.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.4/docs/reference-python-repos", + to: "/2.4.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.4/docs/reference-python-setup", + to: "/2.4.x/reference/subsystems/python-setup.mdx", + }, + { + from: "/v2.4/docs/reference-relocated_files", + to: "/2.4.x/reference/targets/relocated_files.mdx", + }, + { from: "/v2.4/docs/reference-repl", to: "/2.4.x/reference/goals/repl.mdx" }, + { + from: "/v2.4/docs/reference-resources", + to: "/2.4.x/reference/targets/resources.mdx", + }, + { + from: "/v2.4/docs/reference-roots", + to: "/2.4.x/reference/goals/roots.mdx", + }, + { from: "/v2.4/docs/reference-run", to: "/2.4.x/reference/goals/run.mdx" }, + { + from: "/v2.4/docs/reference-scc", + to: "/2.4.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.4/docs/reference-setup-py-generation", + to: "/2.4.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.4/docs/reference-setuptools", + to: "/2.4.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.4/docs/reference-source", + to: "/2.4.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.4/docs/reference-sourcefile-validation", + to: "/2.4.x/reference/subsystems/sourcefile-validation.mdx", + }, + { + from: "/v2.4/docs/reference-stats", + to: "/2.4.x/reference/subsystems/stats.mdx", + }, + { + from: "/v2.4/docs/reference-subprocess-environment", + to: "/2.4.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.4/docs/reference-tailor", + to: "/2.4.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.4/docs/reference-target", + to: "/2.4.x/reference/targets/target.mdx", + }, + { from: "/v2.4/docs/reference-test", to: "/2.4.x/reference/goals/test.mdx" }, + { + from: "/v2.4/docs/reference-typecheck", + to: "/2.4.x/reference/goals/typecheck.mdx", + }, + { + from: "/v2.4/docs/reference-validate", + to: "/2.4.x/reference/goals/validate.mdx", + }, + { from: "/v2.4/docs/reference", to: "/2.4.x/reference/index.mdx" }, + { + from: "/v2.4/docs/release-notes", + to: "/2.4.x/docs/release-notes/index.mdx", + }, + { + from: "/v2.4/docs/release-process", + to: "/2.4.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.4/docs/release-strategy", + to: "/2.4.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.4/docs/releases", + to: "/2.4.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.4/docs/remote-caching-execution", + to: "/2.4.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.4/docs/remote-caching", + to: "/2.4.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.4/docs/remote-execution", + to: "/2.4.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.4/docs/resources", + to: "/2.4.x/docs/using-pants/resources-and-archives.mdx", + }, + { + from: "/v2.4/docs/rules-api-and-target-api", + to: "/2.4.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.4/docs/rules-api-concepts", + to: "/2.4.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.4/docs/rules-api-file-system", + to: "/2.4.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.4/docs/rules-api-goal-rules", + to: "/2.4.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.4/docs/rules-api-installing-tools", + to: "/2.4.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.4/docs/rules-api-logging", + to: "/2.4.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.4/docs/rules-api-process", + to: "/2.4.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.4/docs/rules-api-subsystems", + to: "/2.4.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.4/docs/rules-api-testing", + to: "/2.4.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.4/docs/rules-api-tips", + to: "/2.4.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.4/docs/rules-api-unions", + to: "/2.4.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.4/docs/rules-api", + to: "/2.4.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.4/docs/source-roots", + to: "/2.4.x/docs/using-pants/concepts/source-roots.mdx", + }, + { + from: "/v2.4/docs/style-guide", + to: "/2.4.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.4/docs/target-api-concepts", + to: "/2.4.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.4/docs/target-api-extending-targets", + to: "/2.4.x/docs/writing-plugins/the-target-api/extending-pre-existing-targets.mdx", + }, + { + from: "/v2.4/docs/target-api-new-fields", + to: "/2.4.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.4/docs/target-api-new-targets", + to: "/2.4.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.4/docs/target-api", + to: "/2.4.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.4/docs/targets", + to: "/2.4.x/docs/using-pants/concepts/targets-and-build-files.mdx", + }, + { from: "/v2.4/docs/team", to: "/2.4.x/community/meet-the-team" }, + { from: "/v2.4/docs/testimonials", to: "/2.4.x/spotlight/testimonials" }, + { from: "/v2.4/docs/the-pants-community", to: "/2.4.x/community/members" }, + { + from: "/v2.4/docs/troubleshooting", + to: "/2.4.x/docs/using-pants/troubleshooting-common-issues/index.mdx", + }, + { + from: "/v2.4/docs/upgrade-tips", + to: "/2.4.x/docs/release-notes/upgrade-tips.mdx", + }, + { + from: "/v2.4/docs/using-pants-in-ci", + to: "/2.4.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.4/docs/using-pants", to: "/2.4.x/docs/using-pants/index.mdx" }, + { + from: "/v2.4/docs/welcome-to-pants", + to: "/2.4.x/docs/introduction/welcome-to-pants.mdx", + }, + { from: "/v2.4/docs/who-uses-pants", to: "/2.4.x/spotlight/users" }, + { + from: "/v2.4/docs/writing-plugins", + to: "/2.4.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.5/docs/advanced-target-selection", + to: "/2.5.x/docs/using-pants/advanced-target-selection.mdx", + }, + { + from: "/v2.5/docs/anonymous-telemetry", + to: "/2.5.x/docs/using-pants/anonymous-telemetry.mdx", + }, + { + from: "/v2.5/docs/awslambda-python", + to: "/2.5.x/docs/python/integrations/aws-lambda.mdx", + }, + { from: "/v2.5/docs/changelog", to: "/2.5.x/versions" }, + { + from: "/v2.5/docs/code-of-conduct", + to: "/2.5.x/community/code-of-conduct", + }, + { + from: "/v2.5/docs/command-line-help", + to: "/2.5.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.5/docs/common-plugin-tasks", + to: "/2.5.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.5/docs/community", to: "/2.5.x/community/members" }, + { + from: "/v2.5/docs/concepts", + to: "/2.5.x/docs/using-pants/key-concepts/index.mdx", + }, + { + from: "/v2.5/docs/contentious-decisions", + to: "/2.5.x/community/contentious-decisions", + }, + { + from: "/v2.5/docs/contributing-to-pants", + to: "/2.5.x/docs/contributions/index.mdx", + }, + { + from: "/v2.5/docs/contributions-debugging", + to: "/2.5.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.5/docs/contributions-rust", + to: "/2.5.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.5/docs/contributor-overview", + to: "/2.5.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.5/docs/contributor-setup", + to: "/2.5.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.5/docs/create-initial-build-files", + to: "/2.5.x/docs/introduction/getting-started/create-initial-build-files.mdx", + }, + { + from: "/v2.5/docs/deprecation-policy", + to: "/2.5.x/docs/releases/deprecation-policy.mdx", + }, + { + from: "/v2.5/docs/development", + to: "/2.5.x/docs/contributions/development/index.mdx", + }, + { + from: "/v2.5/docs/documentation", + to: "/2.5.x/docs/introduction/index.mdx", + }, + { + from: "/v2.5/docs/enabling-backends", + to: "/2.5.x/docs/using-pants/key-concepts/backends.mdx", + }, + { + from: "/v2.5/docs/example-repos", + to: "/2.5.x/docs/introduction/getting-started/example-repositories.mdx", + }, + { + from: "/v2.5/docs/existing-repositories", + to: "/2.5.x/docs/using-pants/adopting-pants-in-existing-repos.mdx", + }, + { from: "/v2.5/docs/getting-help", to: "/2.5.x/community/getting-help" }, + { + from: "/v2.5/docs/getting-started", + to: "/2.5.x/docs/introduction/getting-started/index.mdx", + }, + { + from: "/v2.5/docs/gitignore", + to: "/2.5.x/docs/introduction/getting-started/updating-.gitignore.mdx", + }, + { + from: "/v2.5/docs/goals", + to: "/2.5.x/docs/using-pants/key-concepts/goals.mdx", + }, + { + from: "/v2.5/docs/how-does-pants-work", + to: "/2.5.x/docs/introduction/how-does-pants-work.mdx", + }, + { + from: "/v2.5/docs/initial-configuration", + to: "/2.5.x/docs/introduction/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.5/docs/installation", + to: "/2.5.x/docs/introduction/getting-started/installing-pants.mdx", + }, + { + from: "/v2.5/docs/integrations", + to: "/2.5.x/docs/python/integrations/index.mdx", + }, + { + from: "/v2.5/docs/internal-rules-architecture", + to: "/2.5.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.5/docs/jupyter", + to: "/2.5.x/docs/python/integrations/jupyter.mdx", + }, + { + from: "/v2.5/docs/language-support", + to: "/2.5.x/spotlight/language-support", + }, + { from: "/v2.5/docs/macros", to: "/2.5.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.5/docs/maintainers", to: "/2.5.x/community/maintainers" }, + { from: "/v2.5/docs/media", to: "/2.5.x/spotlight/media" }, + { from: "/v2.5/docs/news-room", to: "/2.5.x/spotlight/media" }, + { + from: "/v2.5/docs/options", + to: "/2.5.x/docs/using-pants/key-concepts/options.mdx", + }, + { + from: "/v2.5/docs/pex-files", + to: "/2.5.x/docs/python/overview/pex-files.mdx", + }, + { + from: "/v2.5/docs/plugin-upgrade-guide", + to: "/2.5.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.5/docs/plugins-codegen", + to: "/2.5.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.5/docs/plugins-fmt-goal", + to: "/2.5.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.5/docs/plugins-lint-goal", + to: "/2.5.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.5/docs/plugins-overview", + to: "/2.5.x/docs/writing-plugins/overview.mdx", + }, + { + from: "/v2.5/docs/plugins-package-goal", + to: "/2.5.x/docs/writing-plugins/common-plugin-tasks/package-code.mdx", + }, + { + from: "/v2.5/docs/plugins-repl-goal", + to: "/2.5.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.5/docs/plugins-run-goal", + to: "/2.5.x/docs/writing-plugins/common-plugin-tasks/run-programs.mdx", + }, + { + from: "/v2.5/docs/plugins-setup-py", + to: "/2.5.x/docs/writing-plugins/common-plugin-tasks/custom-setup-py-kwargs.mdx", + }, + { + from: "/v2.5/docs/plugins-test-goal", + to: "/2.5.x/docs/writing-plugins/common-plugin-tasks/run-tests.mdx", + }, + { + from: "/v2.5/docs/plugins-typecheck-goal", + to: "/2.5.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.5/docs/project-introspection", + to: "/2.5.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.5/docs/protobuf", + to: "/2.5.x/docs/python/integrations/protobuf-and-grpc.mdx", + }, + { + from: "/v2.5/docs/proxies", + to: "/2.5.x/docs/using-pants/troubleshooting-common-issues/proxies.mdx", + }, + { + from: "/v2.5/docs/python-backend", + to: "/2.5.x/docs/python/overview/enabling-python-support.mdx", + }, + { + from: "/v2.5/docs/python-distributions", + to: "/2.5.x/docs/python/overview/building-distributions.mdx", + }, + { + from: "/v2.5/docs/python-fmt-goal", + to: "/2.5.x/docs/python/goals/fmt.mdx", + }, + { from: "/v2.5/docs/python-goals", to: "/2.5.x/docs/python/goals/index.mdx" }, + { + from: "/v2.5/docs/python-interpreter-compatibility", + to: "/2.5.x/docs/python/overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.5/docs/python-lint-goal", + to: "/2.5.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.5/docs/python-linters-and-formatters", + to: "/2.5.x/docs/python/overview/linters-and-formatters.mdx", + }, + { + from: "/v2.5/docs/python-package-goal", + to: "/2.5.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.5/docs/python-repl-goal", + to: "/2.5.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.5/docs/python-run-goal", + to: "/2.5.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.5/docs/python-tailor-goal", + to: "/2.5.x/docs/python/goals/tailor.mdx", + }, + { + from: "/v2.5/docs/python-target-types", + to: "/2.5.x/docs/python/overview/target-types.mdx", + }, + { + from: "/v2.5/docs/python-test-goal", + to: "/2.5.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.5/docs/python-third-party-dependencies", + to: "/2.5.x/docs/python/overview/third-party-dependencies.mdx", + }, + { + from: "/v2.5/docs/python-typecheck-goal", + to: "/2.5.x/docs/python/goals/typecheck.mdx", + }, + { from: "/v2.5/docs/python", to: "/2.5.x/docs/python/overview/index.mdx" }, + { from: "/v2.5/docs/reference-all-goals", to: "/2.5.x/reference/goals" }, + { + from: "/v2.5/docs/reference-all-subsystems", + to: "/2.5.x/reference/subsystems", + }, + { from: "/v2.5/docs/reference-all-targets", to: "/2.5.x/reference/targets" }, + { + from: "/v2.5/docs/reference-anonymous-telemetry", + to: "/2.5.x/reference/subsystems/anonymous-telemetry.mdx", + }, + { + from: "/v2.5/docs/reference-archive", + to: "/2.5.x/reference/targets/archive.mdx", + }, + { + from: "/v2.5/docs/reference-bandit", + to: "/2.5.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.5/docs/reference-black", + to: "/2.5.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.5/docs/reference-changed", + to: "/2.5.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.5/docs/reference-count-loc", + to: "/2.5.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.5/docs/reference-coverage-py", + to: "/2.5.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.5/docs/reference-dependees", + to: "/2.5.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.5/docs/reference-dependencies", + to: "/2.5.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.5/docs/reference-docformatter", + to: "/2.5.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.5/docs/reference-download-pex-bin", + to: "/2.5.x/reference/subsystems/download-pex-bin.mdx", + }, + { + from: "/v2.5/docs/reference-export-codegen", + to: "/2.5.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.5/docs/reference-filedeps", + to: "/2.5.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.5/docs/reference-files", + to: "/2.5.x/reference/targets/files.mdx", + }, + { + from: "/v2.5/docs/reference-filter", + to: "/2.5.x/reference/goals/filter.mdx", + }, + { + from: "/v2.5/docs/reference-flake8", + to: "/2.5.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.5/docs/reference-fmt", to: "/2.5.x/reference/goals/fmt.mdx" }, + { + from: "/v2.5/docs/reference-global", + to: "/2.5.x/reference/global-options.mdx", + }, + { + from: "/v2.5/docs/reference-grpc_python_plugin", + to: "/2.5.x/reference/subsystems/grpc_python_plugin.mdx", + }, + { + from: "/v2.5/docs/reference-ipython", + to: "/2.5.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.5/docs/reference-isort", + to: "/2.5.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.5/docs/reference-lambdex", + to: "/2.5.x/reference/subsystems/lambdex.mdx", + }, + { from: "/v2.5/docs/reference-lint", to: "/2.5.x/reference/goals/lint.mdx" }, + { from: "/v2.5/docs/reference-list", to: "/2.5.x/reference/goals/list.mdx" }, + { + from: "/v2.5/docs/reference-mypy", + to: "/2.5.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.5/docs/reference-package", + to: "/2.5.x/reference/goals/package.mdx", + }, + { + from: "/v2.5/docs/reference-pex_binary", + to: "/2.5.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.5/docs/reference-pex-binary-defaults", + to: "/2.5.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.5/docs/reference-pex", + to: "/2.5.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.5/docs/reference-protobuf_library", + to: "/2.5.x/reference/targets/protobuf_library.mdx", + }, + { + from: "/v2.5/docs/reference-protoc", + to: "/2.5.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.5/docs/reference-py-constraints", + to: "/2.5.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.5/docs/reference-pylint", + to: "/2.5.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.5/docs/reference-pytest", + to: "/2.5.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.5/docs/reference-python_awslambda", + to: "/2.5.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.5/docs/reference-python_distribution", + to: "/2.5.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.5/docs/reference-python_library", + to: "/2.5.x/reference/targets/python_library.mdx", + }, + { + from: "/v2.5/docs/reference-python_requirement_library", + to: "/2.5.x/reference/targets/python_requirement_library.mdx", + }, + { + from: "/v2.5/docs/reference-python_tests", + to: "/2.5.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.5/docs/reference-python-infer", + to: "/2.5.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.5/docs/reference-python-native-code", + to: "/2.5.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.5/docs/reference-python-protobuf.mypy-plugin", + to: "/2.5.x/reference/subsystems/python-protobuf.mypy-plugin.mdx", + }, + { + from: "/v2.5/docs/reference-python-protobuf", + to: "/2.5.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.5/docs/reference-python-repos", + to: "/2.5.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.5/docs/reference-python-setup", + to: "/2.5.x/reference/subsystems/python-setup.mdx", + }, + { + from: "/v2.5/docs/reference-relocated_files", + to: "/2.5.x/reference/targets/relocated_files.mdx", + }, + { from: "/v2.5/docs/reference-repl", to: "/2.5.x/reference/goals/repl.mdx" }, + { + from: "/v2.5/docs/reference-resources", + to: "/2.5.x/reference/targets/resources.mdx", + }, + { + from: "/v2.5/docs/reference-roots", + to: "/2.5.x/reference/goals/roots.mdx", + }, + { from: "/v2.5/docs/reference-run", to: "/2.5.x/reference/goals/run.mdx" }, + { + from: "/v2.5/docs/reference-scc", + to: "/2.5.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.5/docs/reference-setup-py-generation", + to: "/2.5.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.5/docs/reference-setuptools", + to: "/2.5.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.5/docs/reference-shell_library", + to: "/2.5.x/reference/targets/shell_library.mdx", + }, + { + from: "/v2.5/docs/reference-shell-setup", + to: "/2.5.x/reference/subsystems/shell-setup.mdx", + }, + { + from: "/v2.5/docs/reference-shellcheck", + to: "/2.5.x/reference/subsystems/shellcheck.mdx", + }, + { + from: "/v2.5/docs/reference-shfmt", + to: "/2.5.x/reference/subsystems/shfmt.mdx", + }, + { + from: "/v2.5/docs/reference-shunit2_tests", + to: "/2.5.x/reference/targets/shunit2_tests.mdx", + }, + { + from: "/v2.5/docs/reference-source", + to: "/2.5.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.5/docs/reference-sourcefile-validation", + to: "/2.5.x/reference/subsystems/sourcefile-validation.mdx", + }, + { + from: "/v2.5/docs/reference-stats", + to: "/2.5.x/reference/subsystems/stats.mdx", + }, + { + from: "/v2.5/docs/reference-subprocess-environment", + to: "/2.5.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.5/docs/reference-tailor", + to: "/2.5.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.5/docs/reference-target", + to: "/2.5.x/reference/targets/target.mdx", + }, + { from: "/v2.5/docs/reference-test", to: "/2.5.x/reference/goals/test.mdx" }, + { + from: "/v2.5/docs/reference-typecheck", + to: "/2.5.x/reference/goals/typecheck.mdx", + }, + { + from: "/v2.5/docs/reference-validate", + to: "/2.5.x/reference/goals/validate.mdx", + }, + { from: "/v2.5/docs/reference", to: "/2.5.x/reference/index.mdx" }, + { from: "/v2.5/docs/release-notes", to: "/2.5.x/docs/releases/index.mdx" }, + { + from: "/v2.5/docs/release-process", + to: "/2.5.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.5/docs/release-strategy", + to: "/2.5.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.5/docs/releases", + to: "/2.5.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.5/docs/remote-caching-execution", + to: "/2.5.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.5/docs/remote-caching", + to: "/2.5.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.5/docs/remote-execution", + to: "/2.5.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.5/docs/resources", + to: "/2.5.x/docs/using-pants/resources-and-archives.mdx", + }, + { + from: "/v2.5/docs/rules-api-and-target-api", + to: "/2.5.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.5/docs/rules-api-concepts", + to: "/2.5.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.5/docs/rules-api-file-system", + to: "/2.5.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.5/docs/rules-api-goal-rules", + to: "/2.5.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.5/docs/rules-api-installing-tools", + to: "/2.5.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.5/docs/rules-api-logging", + to: "/2.5.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.5/docs/rules-api-process", + to: "/2.5.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.5/docs/rules-api-subsystems", + to: "/2.5.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.5/docs/rules-api-testing", + to: "/2.5.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.5/docs/rules-api-tips", + to: "/2.5.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.5/docs/rules-api-unions", + to: "/2.5.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.5/docs/rules-api", + to: "/2.5.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.5/docs/setting-up-an-ide", + to: "/2.5.x/docs/using-pants/setting-up-an-ide.mdx", + }, + { from: "/v2.5/docs/shell", to: "/2.5.x/docs/shell/overview.mdx" }, + { + from: "/v2.5/docs/source-roots", + to: "/2.5.x/docs/using-pants/key-concepts/source-roots.mdx", + }, + { + from: "/v2.5/docs/style-guide", + to: "/2.5.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.5/docs/target-api-concepts", + to: "/2.5.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.5/docs/target-api-extending-targets", + to: "/2.5.x/docs/writing-plugins/the-target-api/extending-existing-targets.mdx", + }, + { + from: "/v2.5/docs/target-api-new-fields", + to: "/2.5.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.5/docs/target-api-new-targets", + to: "/2.5.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.5/docs/target-api", + to: "/2.5.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.5/docs/targets", + to: "/2.5.x/docs/using-pants/key-concepts/targets-and-build-files.mdx", + }, + { from: "/v2.5/docs/team", to: "/2.5.x/community/meet-the-team" }, + { from: "/v2.5/docs/testimonials", to: "/2.5.x/spotlight/testimonials" }, + { from: "/v2.5/docs/the-pants-community", to: "/2.5.x/community/members" }, + { + from: "/v2.5/docs/troubleshooting", + to: "/2.5.x/docs/using-pants/troubleshooting-common-issues/index.mdx", + }, + { + from: "/v2.5/docs/upgrade-tips", + to: "/2.5.x/docs/releases/upgrade-tips.mdx", + }, + { + from: "/v2.5/docs/using-pants-in-ci", + to: "/2.5.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.5/docs/using-pants", to: "/2.5.x/docs/using-pants/index.mdx" }, + { + from: "/v2.5/docs/welcome-to-pants", + to: "/2.5.x/docs/introduction/welcome-to-pants.mdx", + }, + { from: "/v2.5/docs/who-uses-pants", to: "/2.5.x/spotlight/users" }, + { + from: "/v2.5/docs/writing-plugins", + to: "/2.5.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.6/docs/advanced-target-selection", + to: "/2.6.x/docs/using-pants/advanced-target-selection.mdx", + }, + { + from: "/v2.6/docs/anonymous-telemetry", + to: "/2.6.x/docs/using-pants/anonymous-telemetry.mdx", + }, + { + from: "/v2.6/docs/awslambda-python", + to: "/2.6.x/docs/python/integrations/aws-lambda.mdx", + }, + { from: "/v2.6/docs/changelog", to: "/2.6.x/versions" }, + { + from: "/v2.6/docs/code-of-conduct", + to: "/2.6.x/community/code-of-conduct", + }, + { + from: "/v2.6/docs/command-line-help", + to: "/2.6.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.6/docs/common-plugin-tasks", + to: "/2.6.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.6/docs/community", to: "/2.6.x/community/members" }, + { + from: "/v2.6/docs/concepts", + to: "/2.6.x/docs/using-pants/key-concepts/index.mdx", + }, + { + from: "/v2.6/docs/contentious-decisions", + to: "/2.6.x/community/contentious-decisions", + }, + { + from: "/v2.6/docs/contributing-to-pants", + to: "/2.6.x/docs/contributions/index.mdx", + }, + { + from: "/v2.6/docs/contributions-debugging", + to: "/2.6.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.6/docs/contributions-rust", + to: "/2.6.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.6/docs/contributor-overview", + to: "/2.6.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.6/docs/contributor-setup", + to: "/2.6.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.6/docs/create-initial-build-files", + to: "/2.6.x/docs/learn-about-pants/getting-started/create-initial-build-files.mdx", + }, + { + from: "/v2.6/docs/deprecation-policy", + to: "/2.6.x/docs/releases/deprecation-policy.mdx", + }, + { + from: "/v2.6/docs/development", + to: "/2.6.x/docs/contributions/development/index.mdx", + }, + { + from: "/v2.6/docs/documentation", + to: "/2.6.x/docs/learn-about-pants/index.mdx", + }, + { + from: "/v2.6/docs/enabling-backends", + to: "/2.6.x/docs/using-pants/key-concepts/backends.mdx", + }, + { + from: "/v2.6/docs/example-repos", + to: "/2.6.x/docs/learn-about-pants/getting-started/example-repositories.mdx", + }, + { + from: "/v2.6/docs/existing-repositories", + to: "/2.6.x/docs/learn-about-pants/getting-started/incremental-adoption.mdx", + }, + { from: "/v2.6/docs/getting-help", to: "/2.6.x/community/getting-help" }, + { + from: "/v2.6/docs/getting-started", + to: "/2.6.x/docs/learn-about-pants/getting-started/index.mdx", + }, + { + from: "/v2.6/docs/gitignore", + to: "/2.6.x/docs/learn-about-pants/getting-started/updating-.gitignore.mdx", + }, + { + from: "/v2.6/docs/goals", + to: "/2.6.x/docs/using-pants/key-concepts/goals.mdx", + }, + { + from: "/v2.6/docs/how-does-pants-work", + to: "/2.6.x/docs/learn-about-pants/how-does-pants-2-work.mdx", + }, + { + from: "/v2.6/docs/initial-configuration", + to: "/2.6.x/docs/learn-about-pants/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.6/docs/installation", + to: "/2.6.x/docs/learn-about-pants/getting-started/installing-pants.mdx", + }, + { + from: "/v2.6/docs/integrations", + to: "/2.6.x/docs/python/integrations/index.mdx", + }, + { + from: "/v2.6/docs/internal-rules-architecture", + to: "/2.6.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.6/docs/jupyter", + to: "/2.6.x/docs/python/integrations/jupyter.mdx", + }, + { + from: "/v2.6/docs/language-support", + to: "/2.6.x/spotlight/language-support", + }, + { from: "/v2.6/docs/macros", to: "/2.6.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.6/docs/maintainers", to: "/2.6.x/community/maintainers" }, + { from: "/v2.6/docs/media", to: "/2.6.x/spotlight/media" }, + { from: "/v2.6/docs/news-room", to: "/2.6.x/spotlight/media" }, + { + from: "/v2.6/docs/options", + to: "/2.6.x/docs/using-pants/key-concepts/options.mdx", + }, + { + from: "/v2.6/docs/pex-files", + to: "/2.6.x/docs/python/overview/pex-files.mdx", + }, + { + from: "/v2.6/docs/plugin-upgrade-guide", + to: "/2.6.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.6/docs/plugins-codegen", + to: "/2.6.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.6/docs/plugins-fmt-goal", + to: "/2.6.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.6/docs/plugins-lint-goal", + to: "/2.6.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.6/docs/plugins-overview", + to: "/2.6.x/docs/writing-plugins/overview.mdx", + }, + { + from: "/v2.6/docs/plugins-package-goal", + to: "/2.6.x/docs/writing-plugins/common-plugin-tasks/package-code.mdx", + }, + { + from: "/v2.6/docs/plugins-repl-goal", + to: "/2.6.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.6/docs/plugins-run-goal", + to: "/2.6.x/docs/writing-plugins/common-plugin-tasks/run-programs.mdx", + }, + { + from: "/v2.6/docs/plugins-setup-py", + to: "/2.6.x/docs/writing-plugins/common-plugin-tasks/custom-setup-py-kwargs.mdx", + }, + { + from: "/v2.6/docs/plugins-test-goal", + to: "/2.6.x/docs/writing-plugins/common-plugin-tasks/run-tests.mdx", + }, + { + from: "/v2.6/docs/plugins-typecheck-goal", + to: "/2.6.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.6/docs/project-introspection", + to: "/2.6.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.6/docs/protobuf", + to: "/2.6.x/docs/python/integrations/protobuf-and-grpc.mdx", + }, + { + from: "/v2.6/docs/proxies", + to: "/2.6.x/docs/using-pants/troubleshooting-common-issues/proxies.mdx", + }, + { + from: "/v2.6/docs/python-backend", + to: "/2.6.x/docs/python/overview/enabling-python-support.mdx", + }, + { + from: "/v2.6/docs/python-distributions", + to: "/2.6.x/docs/python/overview/building-distributions.mdx", + }, + { + from: "/v2.6/docs/python-fmt-goal", + to: "/2.6.x/docs/python/goals/fmt.mdx", + }, + { from: "/v2.6/docs/python-goals", to: "/2.6.x/docs/python/goals/index.mdx" }, + { + from: "/v2.6/docs/python-interpreter-compatibility", + to: "/2.6.x/docs/python/overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.6/docs/python-lint-goal", + to: "/2.6.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.6/docs/python-linters-and-formatters", + to: "/2.6.x/docs/python/overview/linters-and-formatters.mdx", + }, + { + from: "/v2.6/docs/python-package-goal", + to: "/2.6.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.6/docs/python-repl-goal", + to: "/2.6.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.6/docs/python-run-goal", + to: "/2.6.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.6/docs/python-tailor-goal", + to: "/2.6.x/docs/python/goals/tailor.mdx", + }, + { + from: "/v2.6/docs/python-target-types", + to: "/2.6.x/docs/python/overview/target-types.mdx", + }, + { + from: "/v2.6/docs/python-test-goal", + to: "/2.6.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.6/docs/python-third-party-dependencies", + to: "/2.6.x/docs/python/overview/third-party-dependencies.mdx", + }, + { + from: "/v2.6/docs/python-typecheck-goal", + to: "/2.6.x/docs/python/goals/typecheck.mdx", + }, + { from: "/v2.6/docs/python", to: "/2.6.x/docs/python/overview/index.mdx" }, + { from: "/v2.6/docs/reference-all-goals", to: "/2.6.x/reference/goals" }, + { + from: "/v2.6/docs/reference-all-subsystems", + to: "/2.6.x/reference/subsystems", + }, + { from: "/v2.6/docs/reference-all-targets", to: "/2.6.x/reference/targets" }, + { + from: "/v2.6/docs/reference-anonymous-telemetry", + to: "/2.6.x/reference/subsystems/anonymous-telemetry.mdx", + }, + { + from: "/v2.6/docs/reference-archive", + to: "/2.6.x/reference/targets/archive.mdx", + }, + { + from: "/v2.6/docs/reference-bandit", + to: "/2.6.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.6/docs/reference-black", + to: "/2.6.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.6/docs/reference-changed", + to: "/2.6.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.6/docs/reference-count-loc", + to: "/2.6.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.6/docs/reference-coverage-py", + to: "/2.6.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.6/docs/reference-dependees", + to: "/2.6.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.6/docs/reference-dependencies", + to: "/2.6.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.6/docs/reference-docformatter", + to: "/2.6.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.6/docs/reference-download-pex-bin", + to: "/2.6.x/reference/subsystems/download-pex-bin.mdx", + }, + { + from: "/v2.6/docs/reference-export-codegen", + to: "/2.6.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.6/docs/reference-filedeps", + to: "/2.6.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.6/docs/reference-files", + to: "/2.6.x/reference/targets/files.mdx", + }, + { + from: "/v2.6/docs/reference-filter", + to: "/2.6.x/reference/goals/filter.mdx", + }, + { + from: "/v2.6/docs/reference-flake8", + to: "/2.6.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.6/docs/reference-fmt", to: "/2.6.x/reference/goals/fmt.mdx" }, + { + from: "/v2.6/docs/reference-global", + to: "/2.6.x/reference/global-options.mdx", + }, + { + from: "/v2.6/docs/reference-grpc_python_plugin", + to: "/2.6.x/reference/subsystems/grpc_python_plugin.mdx", + }, + { + from: "/v2.6/docs/reference-ipython", + to: "/2.6.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.6/docs/reference-isort", + to: "/2.6.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.6/docs/reference-lambdex", + to: "/2.6.x/reference/subsystems/lambdex.mdx", + }, + { from: "/v2.6/docs/reference-lint", to: "/2.6.x/reference/goals/lint.mdx" }, + { from: "/v2.6/docs/reference-list", to: "/2.6.x/reference/goals/list.mdx" }, + { + from: "/v2.6/docs/reference-mypy", + to: "/2.6.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.6/docs/reference-package", + to: "/2.6.x/reference/goals/package.mdx", + }, + { + from: "/v2.6/docs/reference-pex_binary", + to: "/2.6.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.6/docs/reference-pex-binary-defaults", + to: "/2.6.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.6/docs/reference-pex", + to: "/2.6.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.6/docs/reference-protobuf_library", + to: "/2.6.x/reference/targets/protobuf_library.mdx", + }, + { + from: "/v2.6/docs/reference-protoc", + to: "/2.6.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.6/docs/reference-py-constraints", + to: "/2.6.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.6/docs/reference-pylint", + to: "/2.6.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.6/docs/reference-pytest", + to: "/2.6.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.6/docs/reference-python_awslambda", + to: "/2.6.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.6/docs/reference-python_distribution", + to: "/2.6.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.6/docs/reference-python_library", + to: "/2.6.x/reference/targets/python_library.mdx", + }, + { + from: "/v2.6/docs/reference-python_requirement_library", + to: "/2.6.x/reference/targets/python_requirement_library.mdx", + }, + { + from: "/v2.6/docs/reference-python_tests", + to: "/2.6.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.6/docs/reference-python-infer", + to: "/2.6.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.6/docs/reference-python-native-code", + to: "/2.6.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.6/docs/reference-python-protobuf.mypy-plugin", + to: "/2.6.x/reference/subsystems/python-protobuf.mypy-plugin.mdx", + }, + { + from: "/v2.6/docs/reference-python-protobuf", + to: "/2.6.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.6/docs/reference-python-repos", + to: "/2.6.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.6/docs/reference-python-setup", + to: "/2.6.x/reference/subsystems/python-setup.mdx", + }, + { + from: "/v2.6/docs/reference-relocated_files", + to: "/2.6.x/reference/targets/relocated_files.mdx", + }, + { from: "/v2.6/docs/reference-repl", to: "/2.6.x/reference/goals/repl.mdx" }, + { + from: "/v2.6/docs/reference-resources", + to: "/2.6.x/reference/targets/resources.mdx", + }, + { + from: "/v2.6/docs/reference-roots", + to: "/2.6.x/reference/goals/roots.mdx", + }, + { from: "/v2.6/docs/reference-run", to: "/2.6.x/reference/goals/run.mdx" }, + { + from: "/v2.6/docs/reference-scc", + to: "/2.6.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.6/docs/reference-setup-py-generation", + to: "/2.6.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.6/docs/reference-setuptools", + to: "/2.6.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.6/docs/reference-shell_library", + to: "/2.6.x/reference/targets/shell_library.mdx", + }, + { + from: "/v2.6/docs/reference-shell-setup", + to: "/2.6.x/reference/subsystems/shell-setup.mdx", + }, + { + from: "/v2.6/docs/reference-shellcheck", + to: "/2.6.x/reference/subsystems/shellcheck.mdx", + }, + { + from: "/v2.6/docs/reference-shfmt", + to: "/2.6.x/reference/subsystems/shfmt.mdx", + }, + { + from: "/v2.6/docs/reference-shunit2_tests", + to: "/2.6.x/reference/targets/shunit2_tests.mdx", + }, + { + from: "/v2.6/docs/reference-source", + to: "/2.6.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.6/docs/reference-sourcefile-validation", + to: "/2.6.x/reference/subsystems/sourcefile-validation.mdx", + }, + { + from: "/v2.6/docs/reference-stats", + to: "/2.6.x/reference/subsystems/stats.mdx", + }, + { + from: "/v2.6/docs/reference-subprocess-environment", + to: "/2.6.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.6/docs/reference-tailor", + to: "/2.6.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.6/docs/reference-target", + to: "/2.6.x/reference/targets/target.mdx", + }, + { from: "/v2.6/docs/reference-test", to: "/2.6.x/reference/goals/test.mdx" }, + { + from: "/v2.6/docs/reference-typecheck", + to: "/2.6.x/reference/goals/typecheck.mdx", + }, + { + from: "/v2.6/docs/reference-validate", + to: "/2.6.x/reference/goals/validate.mdx", + }, + { from: "/v2.6/docs/reference", to: "/2.6.x/reference/index.mdx" }, + { from: "/v2.6/docs/release-notes", to: "/2.6.x/docs/releases/index.mdx" }, + { + from: "/v2.6/docs/release-process", + to: "/2.6.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.6/docs/release-strategy", + to: "/2.6.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.6/docs/releases", + to: "/2.6.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.6/docs/remote-caching-execution", + to: "/2.6.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.6/docs/remote-caching", + to: "/2.6.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.6/docs/remote-execution", + to: "/2.6.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.6/docs/resources", + to: "/2.6.x/docs/using-pants/resources-and-archives.mdx", + }, + { + from: "/v2.6/docs/rules-api-and-target-api", + to: "/2.6.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.6/docs/rules-api-concepts", + to: "/2.6.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.6/docs/rules-api-file-system", + to: "/2.6.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.6/docs/rules-api-goal-rules", + to: "/2.6.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.6/docs/rules-api-installing-tools", + to: "/2.6.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.6/docs/rules-api-logging", + to: "/2.6.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.6/docs/rules-api-process", + to: "/2.6.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.6/docs/rules-api-subsystems", + to: "/2.6.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.6/docs/rules-api-testing", + to: "/2.6.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.6/docs/rules-api-tips", + to: "/2.6.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.6/docs/rules-api-unions", + to: "/2.6.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.6/docs/rules-api", + to: "/2.6.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.6/docs/setting-up-an-ide", + to: "/2.6.x/docs/using-pants/setting-up-an-ide.mdx", + }, + { from: "/v2.6/docs/shell", to: "/2.6.x/docs/shell/overview.mdx" }, + { + from: "/v2.6/docs/source-roots", + to: "/2.6.x/docs/using-pants/key-concepts/source-roots.mdx", + }, + { + from: "/v2.6/docs/style-guide", + to: "/2.6.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.6/docs/target-api-concepts", + to: "/2.6.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.6/docs/target-api-extending-targets", + to: "/2.6.x/docs/writing-plugins/the-target-api/extending-existing-targets.mdx", + }, + { + from: "/v2.6/docs/target-api-new-fields", + to: "/2.6.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.6/docs/target-api-new-targets", + to: "/2.6.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.6/docs/target-api", + to: "/2.6.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.6/docs/targets", + to: "/2.6.x/docs/using-pants/key-concepts/targets-and-build-files.mdx", + }, + { from: "/v2.6/docs/team", to: "/2.6.x/community/meet-the-team" }, + { from: "/v2.6/docs/testimonials", to: "/2.6.x/spotlight/testimonials" }, + { from: "/v2.6/docs/the-pants-community", to: "/2.6.x/community/members" }, + { + from: "/v2.6/docs/troubleshooting", + to: "/2.6.x/docs/using-pants/troubleshooting-common-issues/index.mdx", + }, + { + from: "/v2.6/docs/upgrade-tips", + to: "/2.6.x/docs/releases/upgrade-tips.mdx", + }, + { + from: "/v2.6/docs/using-pants-in-ci", + to: "/2.6.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.6/docs/using-pants", to: "/2.6.x/docs/using-pants/index.mdx" }, + { + from: "/v2.6/docs/welcome-to-pants", + to: "/2.6.x/docs/learn-about-pants/welcome-to-pants.mdx", + }, + { from: "/v2.6/docs/who-uses-pants", to: "/2.6.x/spotlight/users" }, + { + from: "/v2.6/docs/writing-plugins", + to: "/2.6.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.7/docs/advanced-target-selection", + to: "/2.7.x/docs/using-pants/advanced-target-selection.mdx", + }, + { + from: "/v2.7/docs/anonymous-telemetry", + to: "/2.7.x/docs/using-pants/anonymous-telemetry.mdx", + }, + { + from: "/v2.7/docs/awslambda-python", + to: "/2.7.x/docs/python/integrations/aws-lambda.mdx", + }, + { from: "/v2.7/docs/changelog", to: "/2.7.x/versions" }, + { + from: "/v2.7/docs/code-of-conduct", + to: "/2.7.x/community/code-of-conduct", + }, + { + from: "/v2.7/docs/command-line-help", + to: "/2.7.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.7/docs/common-plugin-tasks", + to: "/2.7.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.7/docs/community", to: "/2.7.x/community/members" }, + { + from: "/v2.7/docs/concepts", + to: "/2.7.x/docs/using-pants/key-concepts/index.mdx", + }, + { + from: "/v2.7/docs/contentious-decisions", + to: "/2.7.x/community/contentious-decisions", + }, + { + from: "/v2.7/docs/contributing-to-pants", + to: "/2.7.x/docs/contributions/index.mdx", + }, + { + from: "/v2.7/docs/contributions-debugging", + to: "/2.7.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.7/docs/contributions-rust", + to: "/2.7.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.7/docs/contributor-overview", + to: "/2.7.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.7/docs/contributor-setup", + to: "/2.7.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.7/docs/create-initial-build-files", + to: "/2.7.x/docs/learn-about-pants/getting-started/create-initial-build-files.mdx", + }, + { + from: "/v2.7/docs/deprecation-policy", + to: "/2.7.x/docs/releases/deprecation-policy.mdx", + }, + { + from: "/v2.7/docs/development", + to: "/2.7.x/docs/contributions/development/index.mdx", + }, + { from: "/v2.7/docs/docker", to: "/2.7.x/docs/docker/overview.mdx" }, + { + from: "/v2.7/docs/documentation", + to: "/2.7.x/docs/learn-about-pants/index.mdx", + }, + { + from: "/v2.7/docs/enabling-backends", + to: "/2.7.x/docs/using-pants/key-concepts/backends.mdx", + }, + { + from: "/v2.7/docs/example-repos", + to: "/2.7.x/docs/learn-about-pants/getting-started/example-repositories.mdx", + }, + { + from: "/v2.7/docs/existing-repositories", + to: "/2.7.x/docs/learn-about-pants/getting-started/incremental-adoption.mdx", + }, + { from: "/v2.7/docs/getting-help", to: "/2.7.x/community/getting-help" }, + { + from: "/v2.7/docs/getting-started", + to: "/2.7.x/docs/learn-about-pants/getting-started/index.mdx", + }, + { + from: "/v2.7/docs/gitignore", + to: "/2.7.x/docs/learn-about-pants/getting-started/updating-.gitignore.mdx", + }, + { + from: "/v2.7/docs/goals", + to: "/2.7.x/docs/using-pants/key-concepts/goals.mdx", + }, + { + from: "/v2.7/docs/how-does-pants-work", + to: "/2.7.x/docs/learn-about-pants/how-does-pants-2-work.mdx", + }, + { + from: "/v2.7/docs/initial-configuration", + to: "/2.7.x/docs/learn-about-pants/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.7/docs/installation", + to: "/2.7.x/docs/learn-about-pants/getting-started/installing-pants.mdx", + }, + { + from: "/v2.7/docs/integrations", + to: "/2.7.x/docs/python/integrations/index.mdx", + }, + { + from: "/v2.7/docs/internal-rules-architecture", + to: "/2.7.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.7/docs/jupyter", + to: "/2.7.x/docs/python/integrations/jupyter.mdx", + }, + { + from: "/v2.7/docs/language-support", + to: "/2.7.x/spotlight/language-support", + }, + { from: "/v2.7/docs/macros", to: "/2.7.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.7/docs/maintainers", to: "/2.7.x/community/maintainers" }, + { from: "/v2.7/docs/media", to: "/2.7.x/spotlight/media" }, + { from: "/v2.7/docs/news-room", to: "/2.7.x/spotlight/media" }, + { + from: "/v2.7/docs/options", + to: "/2.7.x/docs/using-pants/key-concepts/options.mdx", + }, + { + from: "/v2.7/docs/pex-files", + to: "/2.7.x/docs/python/overview/pex-files.mdx", + }, + { + from: "/v2.7/docs/plugin-upgrade-guide", + to: "/2.7.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.7/docs/plugins-codegen", + to: "/2.7.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.7/docs/plugins-fmt-goal", + to: "/2.7.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.7/docs/plugins-lint-goal", + to: "/2.7.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.7/docs/plugins-overview", + to: "/2.7.x/docs/writing-plugins/overview.mdx", + }, + { + from: "/v2.7/docs/plugins-package-goal", + to: "/2.7.x/docs/writing-plugins/common-plugin-tasks/package-code.mdx", + }, + { + from: "/v2.7/docs/plugins-repl-goal", + to: "/2.7.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.7/docs/plugins-run-goal", + to: "/2.7.x/docs/writing-plugins/common-plugin-tasks/run-programs.mdx", + }, + { + from: "/v2.7/docs/plugins-setup-py", + to: "/2.7.x/docs/writing-plugins/common-plugin-tasks/custom-setup-py-kwargs.mdx", + }, + { + from: "/v2.7/docs/plugins-test-goal", + to: "/2.7.x/docs/writing-plugins/common-plugin-tasks/run-tests.mdx", + }, + { + from: "/v2.7/docs/plugins-typecheck-goal", + to: "/2.7.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.7/docs/project-introspection", + to: "/2.7.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.7/docs/protobuf", + to: "/2.7.x/docs/python/integrations/protobuf-and-grpc.mdx", + }, + { + from: "/v2.7/docs/proxies", + to: "/2.7.x/docs/using-pants/troubleshooting-common-issues/proxies.mdx", + }, + { + from: "/v2.7/docs/python-backend", + to: "/2.7.x/docs/python/overview/enabling-python-support.mdx", + }, + { + from: "/v2.7/docs/python-distributions", + to: "/2.7.x/docs/python/overview/building-distributions.mdx", + }, + { + from: "/v2.7/docs/python-fmt-goal", + to: "/2.7.x/docs/python/goals/fmt.mdx", + }, + { from: "/v2.7/docs/python-goals", to: "/2.7.x/docs/python/goals/index.mdx" }, + { + from: "/v2.7/docs/python-interpreter-compatibility", + to: "/2.7.x/docs/python/overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.7/docs/python-lint-goal", + to: "/2.7.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.7/docs/python-linters-and-formatters", + to: "/2.7.x/docs/python/overview/linters-and-formatters.mdx", + }, + { + from: "/v2.7/docs/python-package-goal", + to: "/2.7.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.7/docs/python-repl-goal", + to: "/2.7.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.7/docs/python-run-goal", + to: "/2.7.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.7/docs/python-tailor-goal", + to: "/2.7.x/docs/python/goals/tailor.mdx", + }, + { + from: "/v2.7/docs/python-target-types", + to: "/2.7.x/docs/python/overview/target-types.mdx", + }, + { + from: "/v2.7/docs/python-test-goal", + to: "/2.7.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.7/docs/python-third-party-dependencies", + to: "/2.7.x/docs/python/overview/third-party-dependencies.mdx", + }, + { + from: "/v2.7/docs/python-typecheck-goal", + to: "/2.7.x/docs/python/goals/typecheck.mdx", + }, + { from: "/v2.7/docs/python", to: "/2.7.x/docs/python/overview/index.mdx" }, + { from: "/v2.7/docs/reference-all-goals", to: "/2.7.x/reference/goals" }, + { + from: "/v2.7/docs/reference-all-subsystems", + to: "/2.7.x/reference/subsystems", + }, + { from: "/v2.7/docs/reference-all-targets", to: "/2.7.x/reference/targets" }, + { + from: "/v2.7/docs/reference-anonymous-telemetry", + to: "/2.7.x/reference/subsystems/anonymous-telemetry.mdx", + }, + { + from: "/v2.7/docs/reference-archive", + to: "/2.7.x/reference/targets/archive.mdx", + }, + { + from: "/v2.7/docs/reference-bandit", + to: "/2.7.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.7/docs/reference-black", + to: "/2.7.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.7/docs/reference-changed", + to: "/2.7.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.7/docs/reference-count-loc", + to: "/2.7.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.7/docs/reference-coverage-py", + to: "/2.7.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.7/docs/reference-dependees", + to: "/2.7.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.7/docs/reference-dependencies", + to: "/2.7.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.7/docs/reference-docformatter", + to: "/2.7.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.7/docs/reference-docker_image", + to: "/2.7.x/reference/targets/docker_image.mdx", + }, + { + from: "/v2.7/docs/reference-download-pex-bin", + to: "/2.7.x/reference/subsystems/download-pex-bin.mdx", + }, + { + from: "/v2.7/docs/reference-export-codegen", + to: "/2.7.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.7/docs/reference-filedeps", + to: "/2.7.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.7/docs/reference-files", + to: "/2.7.x/reference/targets/files.mdx", + }, + { + from: "/v2.7/docs/reference-filter", + to: "/2.7.x/reference/goals/filter.mdx", + }, + { + from: "/v2.7/docs/reference-flake8", + to: "/2.7.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.7/docs/reference-fmt", to: "/2.7.x/reference/goals/fmt.mdx" }, + { + from: "/v2.7/docs/reference-generate-lockfiles", + to: "/2.7.x/reference/goals/generate-lockfiles.mdx", + }, + { + from: "/v2.7/docs/reference-generate-user-lockfile", + to: "/2.7.x/reference/goals/generate-user-lockfile.mdx", + }, + { + from: "/v2.7/docs/reference-global", + to: "/2.7.x/reference/global-options.mdx", + }, + { + from: "/v2.7/docs/reference-grpc_python_plugin", + to: "/2.7.x/reference/subsystems/grpc_python_plugin.mdx", + }, + { + from: "/v2.7/docs/reference-grpc-python-plugin", + to: "/2.7.x/reference/subsystems/grpc-python-plugin.mdx", + }, + { + from: "/v2.7/docs/reference-ipython", + to: "/2.7.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.7/docs/reference-isort", + to: "/2.7.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.7/docs/reference-lambdex", + to: "/2.7.x/reference/subsystems/lambdex.mdx", + }, + { from: "/v2.7/docs/reference-lint", to: "/2.7.x/reference/goals/lint.mdx" }, + { from: "/v2.7/docs/reference-list", to: "/2.7.x/reference/goals/list.mdx" }, + { + from: "/v2.7/docs/reference-mypy-protobuf", + to: "/2.7.x/reference/subsystems/mypy-protobuf.mdx", + }, + { + from: "/v2.7/docs/reference-mypy", + to: "/2.7.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.7/docs/reference-package", + to: "/2.7.x/reference/goals/package.mdx", + }, + { from: "/v2.7/docs/reference-peek", to: "/2.7.x/reference/goals/peek.mdx" }, + { + from: "/v2.7/docs/reference-pex_binary", + to: "/2.7.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.7/docs/reference-pex-binary-defaults", + to: "/2.7.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.7/docs/reference-pex", + to: "/2.7.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.7/docs/reference-poetry", + to: "/2.7.x/reference/subsystems/poetry.mdx", + }, + { + from: "/v2.7/docs/reference-protobuf_library", + to: "/2.7.x/reference/targets/protobuf_library.mdx", + }, + { + from: "/v2.7/docs/reference-protoc", + to: "/2.7.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.7/docs/reference-py-constraints", + to: "/2.7.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.7/docs/reference-pylint", + to: "/2.7.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.7/docs/reference-pytest", + to: "/2.7.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.7/docs/reference-python_awslambda", + to: "/2.7.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.7/docs/reference-python_distribution", + to: "/2.7.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.7/docs/reference-python_library", + to: "/2.7.x/reference/targets/python_library.mdx", + }, + { + from: "/v2.7/docs/reference-python_requirement_library", + to: "/2.7.x/reference/targets/python_requirement_library.mdx", + }, + { + from: "/v2.7/docs/reference-python_tests", + to: "/2.7.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.7/docs/reference-python-infer", + to: "/2.7.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.7/docs/reference-python-native-code", + to: "/2.7.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.7/docs/reference-python-protobuf.mypy-plugin", + to: "/2.7.x/reference/subsystems/python-protobuf.mypy-plugin.mdx", + }, + { + from: "/v2.7/docs/reference-python-protobuf", + to: "/2.7.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.7/docs/reference-python-repos", + to: "/2.7.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.7/docs/reference-python-setup", + to: "/2.7.x/reference/subsystems/python-setup.mdx", + }, + { + from: "/v2.7/docs/reference-relocated_files", + to: "/2.7.x/reference/targets/relocated_files.mdx", + }, + { from: "/v2.7/docs/reference-repl", to: "/2.7.x/reference/goals/repl.mdx" }, + { + from: "/v2.7/docs/reference-resources", + to: "/2.7.x/reference/targets/resources.mdx", + }, + { + from: "/v2.7/docs/reference-roots", + to: "/2.7.x/reference/goals/roots.mdx", + }, + { from: "/v2.7/docs/reference-run", to: "/2.7.x/reference/goals/run.mdx" }, + { + from: "/v2.7/docs/reference-scc", + to: "/2.7.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.7/docs/reference-setup-py-generation", + to: "/2.7.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.7/docs/reference-setuptools", + to: "/2.7.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.7/docs/reference-shell_library", + to: "/2.7.x/reference/targets/shell_library.mdx", + }, + { + from: "/v2.7/docs/reference-shell-setup", + to: "/2.7.x/reference/subsystems/shell-setup.mdx", + }, + { + from: "/v2.7/docs/reference-shellcheck", + to: "/2.7.x/reference/subsystems/shellcheck.mdx", + }, + { + from: "/v2.7/docs/reference-shfmt", + to: "/2.7.x/reference/subsystems/shfmt.mdx", + }, + { + from: "/v2.7/docs/reference-shunit2_tests", + to: "/2.7.x/reference/targets/shunit2_tests.mdx", + }, + { + from: "/v2.7/docs/reference-source", + to: "/2.7.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.7/docs/reference-sourcefile-validation", + to: "/2.7.x/reference/subsystems/sourcefile-validation.mdx", + }, + { + from: "/v2.7/docs/reference-stats", + to: "/2.7.x/reference/subsystems/stats.mdx", + }, + { + from: "/v2.7/docs/reference-subprocess-environment", + to: "/2.7.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.7/docs/reference-tailor", + to: "/2.7.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.7/docs/reference-target", + to: "/2.7.x/reference/targets/target.mdx", + }, + { from: "/v2.7/docs/reference-test", to: "/2.7.x/reference/goals/test.mdx" }, + { + from: "/v2.7/docs/reference-typecheck", + to: "/2.7.x/reference/goals/typecheck.mdx", + }, + { + from: "/v2.7/docs/reference-validate", + to: "/2.7.x/reference/goals/validate.mdx", + }, + { + from: "/v2.7/docs/reference-yapf", + to: "/2.7.x/reference/subsystems/yapf.mdx", + }, + { from: "/v2.7/docs/reference", to: "/2.7.x/reference/index.mdx" }, + { from: "/v2.7/docs/release-notes", to: "/2.7.x/docs/releases/index.mdx" }, + { + from: "/v2.7/docs/release-process", + to: "/2.7.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.7/docs/release-strategy", + to: "/2.7.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.7/docs/releases", + to: "/2.7.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.7/docs/remote-caching-execution", + to: "/2.7.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.7/docs/remote-caching", + to: "/2.7.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.7/docs/remote-execution", + to: "/2.7.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.7/docs/resources", + to: "/2.7.x/docs/using-pants/resources-and-archives.mdx", + }, + { + from: "/v2.7/docs/rules-api-and-target-api", + to: "/2.7.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.7/docs/rules-api-concepts", + to: "/2.7.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.7/docs/rules-api-file-system", + to: "/2.7.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.7/docs/rules-api-goal-rules", + to: "/2.7.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.7/docs/rules-api-installing-tools", + to: "/2.7.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.7/docs/rules-api-logging", + to: "/2.7.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.7/docs/rules-api-process", + to: "/2.7.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.7/docs/rules-api-subsystems", + to: "/2.7.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.7/docs/rules-api-testing", + to: "/2.7.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.7/docs/rules-api-tips", + to: "/2.7.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.7/docs/rules-api-unions", + to: "/2.7.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.7/docs/rules-api", + to: "/2.7.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.7/docs/running-pants-from-sources", + to: "/2.7.x/docs/contributions/development/running-pants-from-sources.mdx", + }, + { + from: "/v2.7/docs/setting-up-an-ide", + to: "/2.7.x/docs/using-pants/setting-up-an-ide.mdx", + }, + { from: "/v2.7/docs/shell", to: "/2.7.x/docs/shell/overview.mdx" }, + { + from: "/v2.7/docs/source-roots", + to: "/2.7.x/docs/using-pants/key-concepts/source-roots.mdx", + }, + { + from: "/v2.7/docs/style-guide", + to: "/2.7.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.7/docs/target-api-concepts", + to: "/2.7.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.7/docs/target-api-extending-targets", + to: "/2.7.x/docs/writing-plugins/the-target-api/extending-existing-targets.mdx", + }, + { + from: "/v2.7/docs/target-api-new-fields", + to: "/2.7.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.7/docs/target-api-new-targets", + to: "/2.7.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.7/docs/target-api", + to: "/2.7.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.7/docs/targets", + to: "/2.7.x/docs/using-pants/key-concepts/targets-and-build-files.mdx", + }, + { from: "/v2.7/docs/team", to: "/2.7.x/community/meet-the-team" }, + { from: "/v2.7/docs/testimonials", to: "/2.7.x/spotlight/testimonials" }, + { from: "/v2.7/docs/the-pants-community", to: "/2.7.x/community/members" }, + { + from: "/v2.7/docs/troubleshooting", + to: "/2.7.x/docs/using-pants/troubleshooting-common-issues/index.mdx", + }, + { + from: "/v2.7/docs/upgrade-tips", + to: "/2.7.x/docs/releases/upgrade-tips.mdx", + }, + { + from: "/v2.7/docs/using-pants-in-ci", + to: "/2.7.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.7/docs/using-pants", to: "/2.7.x/docs/using-pants/index.mdx" }, + { + from: "/v2.7/docs/welcome-to-pants", + to: "/2.7.x/docs/learn-about-pants/welcome-to-pants.mdx", + }, + { from: "/v2.7/docs/who-uses-pants", to: "/2.7.x/spotlight/users" }, + { + from: "/v2.7/docs/writing-plugins", + to: "/2.7.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.8/docs/advanced-target-selection", + to: "/2.8.x/docs/using-pants/advanced-target-selection.mdx", + }, + { + from: "/v2.8/docs/anonymous-telemetry", + to: "/2.8.x/docs/using-pants/anonymous-telemetry.mdx", + }, + { + from: "/v2.8/docs/awslambda-python", + to: "/2.8.x/docs/python/integrations/aws-lambda.mdx", + }, + { from: "/v2.8/docs/changelog", to: "/2.8.x/versions" }, + { + from: "/v2.8/docs/code-of-conduct", + to: "/2.8.x/community/code-of-conduct", + }, + { + from: "/v2.8/docs/command-line-help", + to: "/2.8.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.8/docs/common-plugin-tasks", + to: "/2.8.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.8/docs/community", to: "/2.8.x/community/members" }, + { + from: "/v2.8/docs/concepts", + to: "/2.8.x/docs/using-pants/key-concepts-to-know-about-pants/index.mdx", + }, + { + from: "/v2.8/docs/contentious-decisions", + to: "/2.8.x/community/contentious-decisions", + }, + { + from: "/v2.8/docs/contributing-to-pants", + to: "/2.8.x/docs/contributions/index.mdx", + }, + { + from: "/v2.8/docs/contributions-debugging", + to: "/2.8.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.8/docs/contributions-rust", + to: "/2.8.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.8/docs/contributor-overview", + to: "/2.8.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.8/docs/contributor-setup", + to: "/2.8.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.8/docs/create-initial-build-files", + to: "/2.8.x/docs/getting-started/getting-started/create-initial-build-files.mdx", + }, + { + from: "/v2.8/docs/deprecation-policy", + to: "/2.8.x/docs/releases/deprecation-policy.mdx", + }, + { + from: "/v2.8/docs/development", + to: "/2.8.x/docs/contributions/development/index.mdx", + }, + { from: "/v2.8/docs/docker", to: "/2.8.x/docs/docker/overview.mdx" }, + { + from: "/v2.8/docs/documentation", + to: "/2.8.x/docs/learn-about-pants/index.mdx", + }, + { + from: "/v2.8/docs/enabling-backends", + to: "/2.8.x/docs/using-pants/key-concepts-to-know-about-pants/backends.mdx", + }, + { + from: "/v2.8/docs/example-repos", + to: "/2.8.x/docs/getting-started/getting-started/example-repositories.mdx", + }, + { + from: "/v2.8/docs/existing-repositories", + to: "/2.8.x/docs/getting-started/getting-started/incremental-adoption.mdx", + }, + { from: "/v2.8/docs/getting-help", to: "/2.8.x/community/getting-help" }, + { + from: "/v2.8/docs/getting-started", + to: "/2.8.x/docs/getting-started/getting-started/index.mdx", + }, + { + from: "/v2.8/docs/gitignore", + to: "/2.8.x/docs/getting-started/getting-started/updating-.gitignore.mdx", + }, + { from: "/v2.8/docs/go", to: "/2.8.x/docs/go/overview.mdx" }, + { + from: "/v2.8/docs/goals", + to: "/2.8.x/docs/using-pants/key-concepts-to-know-about-pants/goals.mdx", + }, + { + from: "/v2.8/docs/google-cloud-function-python", + to: "/2.8.x/docs/python/integrations/google-cloud-functions.mdx", + }, + { + from: "/v2.8/docs/how-does-pants-work", + to: "/2.8.x/docs/learn-about-pants/how-does-pants-work.mdx", + }, + { + from: "/v2.8/docs/initial-configuration", + to: "/2.8.x/docs/getting-started/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.8/docs/installation", + to: "/2.8.x/docs/getting-started/getting-started/installing-pants.mdx", + }, + { + from: "/v2.8/docs/integrations", + to: "/2.8.x/docs/python/integrations/index.mdx", + }, + { + from: "/v2.8/docs/internal-rules-architecture", + to: "/2.8.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.8/docs/jupyter", + to: "/2.8.x/docs/python/integrations/jupyter.mdx", + }, + { + from: "/v2.8/docs/language-support", + to: "/2.8.x/spotlight/language-support", + }, + { from: "/v2.8/docs/macros", to: "/2.8.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.8/docs/maintainers", to: "/2.8.x/community/maintainers" }, + { from: "/v2.8/docs/media", to: "/2.8.x/spotlight/media" }, + { from: "/v2.8/docs/news-room", to: "/2.8.x/spotlight/media" }, + { + from: "/v2.8/docs/options", + to: "/2.8.x/docs/using-pants/key-concepts-to-know-about-pants/options.mdx", + }, + { + from: "/v2.8/docs/pex-files", + to: "/2.8.x/docs/python/overview/pex-files.mdx", + }, + { + from: "/v2.8/docs/plugin-upgrade-guide", + to: "/2.8.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.8/docs/plugins-check-goal", + to: "/2.8.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.8/docs/plugins-codegen", + to: "/2.8.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.8/docs/plugins-fmt-goal", + to: "/2.8.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.8/docs/plugins-lint-goal", + to: "/2.8.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.8/docs/plugins-overview", + to: "/2.8.x/docs/writing-plugins/overview.mdx", + }, + { + from: "/v2.8/docs/plugins-repl-goal", + to: "/2.8.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.8/docs/plugins-setup-py", + to: "/2.8.x/docs/writing-plugins/common-plugin-tasks/custom-setup-py-kwargs.mdx", + }, + { + from: "/v2.8/docs/prerequisites", + to: "/2.8.x/docs/getting-started/getting-started/prerequisites.mdx", + }, + { + from: "/v2.8/docs/project-introspection", + to: "/2.8.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.8/docs/protobuf", + to: "/2.8.x/docs/python/integrations/protobuf-and-grpc.mdx", + }, + { + from: "/v2.8/docs/proxies", + to: "/2.8.x/docs/using-pants/troubleshooting-common-issues/proxies.mdx", + }, + { + from: "/v2.8/docs/python-backend", + to: "/2.8.x/docs/python/overview/enabling-python-support.mdx", + }, + { + from: "/v2.8/docs/python-check-goal", + to: "/2.8.x/docs/python/goals/check.mdx", + }, + { + from: "/v2.8/docs/python-distributions", + to: "/2.8.x/docs/python/overview/building-distributions.mdx", + }, + { + from: "/v2.8/docs/python-fmt-goal", + to: "/2.8.x/docs/python/goals/fmt.mdx", + }, + { from: "/v2.8/docs/python-goals", to: "/2.8.x/docs/python/goals/index.mdx" }, + { + from: "/v2.8/docs/python-interpreter-compatibility", + to: "/2.8.x/docs/python/overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.8/docs/python-lint-goal", + to: "/2.8.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.8/docs/python-linters-and-formatters", + to: "/2.8.x/docs/python/overview/linters-and-formatters.mdx", + }, + { + from: "/v2.8/docs/python-package-goal", + to: "/2.8.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.8/docs/python-publish-goal", + to: "/2.8.x/docs/python/goals/publish.mdx", + }, + { + from: "/v2.8/docs/python-repl-goal", + to: "/2.8.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.8/docs/python-run-goal", + to: "/2.8.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.8/docs/python-test-goal", + to: "/2.8.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.8/docs/python-third-party-dependencies", + to: "/2.8.x/docs/python/overview/third-party-dependencies.mdx", + }, + { from: "/v2.8/docs/python", to: "/2.8.x/docs/python/overview/index.mdx" }, + { from: "/v2.8/docs/reference-all-goals", to: "/2.8.x/reference/goals" }, + { + from: "/v2.8/docs/reference-all-subsystems", + to: "/2.8.x/reference/subsystems", + }, + { from: "/v2.8/docs/reference-all-targets", to: "/2.8.x/reference/targets" }, + { + from: "/v2.8/docs/reference-anonymous-telemetry", + to: "/2.8.x/reference/subsystems/anonymous-telemetry.mdx", + }, + { + from: "/v2.8/docs/reference-archive", + to: "/2.8.x/reference/targets/archive.mdx", + }, + { + from: "/v2.8/docs/reference-autoflake", + to: "/2.8.x/reference/subsystems/autoflake.mdx", + }, + { + from: "/v2.8/docs/reference-bandit", + to: "/2.8.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.8/docs/reference-black", + to: "/2.8.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.8/docs/reference-changed", + to: "/2.8.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.8/docs/reference-check", + to: "/2.8.x/reference/goals/check.mdx", + }, + { + from: "/v2.8/docs/reference-cli", + to: "/2.8.x/reference/subsystems/cli.mdx", + }, + { + from: "/v2.8/docs/reference-count-loc", + to: "/2.8.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.8/docs/reference-coursier_lockfile", + to: "/2.8.x/reference/targets/coursier_lockfile.mdx", + }, + { + from: "/v2.8/docs/reference-coursier-resolve", + to: "/2.8.x/reference/goals/coursier-resolve.mdx", + }, + { + from: "/v2.8/docs/reference-coursier", + to: "/2.8.x/reference/subsystems/coursier.mdx", + }, + { + from: "/v2.8/docs/reference-coverage-py", + to: "/2.8.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.8/docs/reference-dependees", + to: "/2.8.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.8/docs/reference-dependencies", + to: "/2.8.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.8/docs/reference-deploy_jar", + to: "/2.8.x/reference/targets/deploy_jar.mdx", + }, + { + from: "/v2.8/docs/reference-docformatter", + to: "/2.8.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.8/docs/reference-docker_image", + to: "/2.8.x/reference/targets/docker_image.mdx", + }, + { + from: "/v2.8/docs/reference-docker", + to: "/2.8.x/reference/subsystems/docker.mdx", + }, + { + from: "/v2.8/docs/reference-dockerfile-parser", + to: "/2.8.x/reference/subsystems/dockerfile-parser.mdx", + }, + { + from: "/v2.8/docs/reference-download-pex-bin", + to: "/2.8.x/reference/subsystems/download-pex-bin.mdx", + }, + { + from: "/v2.8/docs/reference-experimental_run_shell_command", + to: "/2.8.x/reference/targets/experimental_run_shell_command.mdx", + }, + { + from: "/v2.8/docs/reference-experimental_shell_command", + to: "/2.8.x/reference/targets/experimental_shell_command.mdx", + }, + { + from: "/v2.8/docs/reference-export-codegen", + to: "/2.8.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.8/docs/reference-file", + to: "/2.8.x/reference/targets/file.mdx", + }, + { + from: "/v2.8/docs/reference-filedeps", + to: "/2.8.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.8/docs/reference-files", + to: "/2.8.x/reference/targets/files.mdx", + }, + { + from: "/v2.8/docs/reference-filter", + to: "/2.8.x/reference/goals/filter.mdx", + }, + { + from: "/v2.8/docs/reference-flake8", + to: "/2.8.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.8/docs/reference-fmt", to: "/2.8.x/reference/goals/fmt.mdx" }, + { + from: "/v2.8/docs/reference-generate-lockfiles", + to: "/2.8.x/reference/goals/generate-lockfiles.mdx", + }, + { + from: "/v2.8/docs/reference-generate-user-lockfile", + to: "/2.8.x/reference/goals/generate-user-lockfile.mdx", + }, + { + from: "/v2.8/docs/reference-global", + to: "/2.8.x/reference/global-options.mdx", + }, + { + from: "/v2.8/docs/reference-go_binary", + to: "/2.8.x/reference/targets/go_binary.mdx", + }, + { + from: "/v2.8/docs/reference-go_first_party_package", + to: "/2.8.x/reference/targets/go_first_party_package.mdx", + }, + { + from: "/v2.8/docs/reference-go_mod", + to: "/2.8.x/reference/targets/go_mod.mdx", + }, + { + from: "/v2.8/docs/reference-go_third_party_package", + to: "/2.8.x/reference/targets/go_third_party_package.mdx", + }, + { + from: "/v2.8/docs/reference-go-test", + to: "/2.8.x/reference/subsystems/go-test.mdx", + }, + { + from: "/v2.8/docs/reference-gofmt", + to: "/2.8.x/reference/subsystems/gofmt.mdx", + }, + { + from: "/v2.8/docs/reference-golang", + to: "/2.8.x/reference/subsystems/golang.mdx", + }, + { + from: "/v2.8/docs/reference-grpc-python-plugin", + to: "/2.8.x/reference/subsystems/grpc-python-plugin.mdx", + }, + { + from: "/v2.8/docs/reference-ipython", + to: "/2.8.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.8/docs/reference-isort", + to: "/2.8.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.8/docs/reference-java_source", + to: "/2.8.x/reference/targets/java_source.mdx", + }, + { + from: "/v2.8/docs/reference-java_sources", + to: "/2.8.x/reference/targets/java_sources.mdx", + }, + { + from: "/v2.8/docs/reference-java-dump-first-party-dep-map", + to: "/2.8.x/reference/goals/java-dump-first-party-dep-map.mdx", + }, + { + from: "/v2.8/docs/reference-java-infer", + to: "/2.8.x/reference/subsystems/java-infer.mdx", + }, + { + from: "/v2.8/docs/reference-javac", + to: "/2.8.x/reference/subsystems/javac.mdx", + }, + { + from: "/v2.8/docs/reference-junit_test", + to: "/2.8.x/reference/targets/junit_test.mdx", + }, + { + from: "/v2.8/docs/reference-junit_tests", + to: "/2.8.x/reference/targets/junit_tests.mdx", + }, + { + from: "/v2.8/docs/reference-junit", + to: "/2.8.x/reference/subsystems/junit.mdx", + }, + { + from: "/v2.8/docs/reference-jvm_artifact", + to: "/2.8.x/reference/targets/jvm_artifact.mdx", + }, + { + from: "/v2.8/docs/reference-lambdex", + to: "/2.8.x/reference/subsystems/lambdex.mdx", + }, + { from: "/v2.8/docs/reference-lint", to: "/2.8.x/reference/goals/lint.mdx" }, + { from: "/v2.8/docs/reference-list", to: "/2.8.x/reference/goals/list.mdx" }, + { + from: "/v2.8/docs/reference-mypy-protobuf", + to: "/2.8.x/reference/subsystems/mypy-protobuf.mdx", + }, + { + from: "/v2.8/docs/reference-mypy", + to: "/2.8.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.8/docs/reference-package", + to: "/2.8.x/reference/goals/package.mdx", + }, + { from: "/v2.8/docs/reference-peek", to: "/2.8.x/reference/goals/peek.mdx" }, + { + from: "/v2.8/docs/reference-pex_binary", + to: "/2.8.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.8/docs/reference-pex-binary-defaults", + to: "/2.8.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.8/docs/reference-pex", + to: "/2.8.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.8/docs/reference-poetry", + to: "/2.8.x/reference/subsystems/poetry.mdx", + }, + { + from: "/v2.8/docs/reference-protobuf_source", + to: "/2.8.x/reference/targets/protobuf_source.mdx", + }, + { + from: "/v2.8/docs/reference-protobuf_sources", + to: "/2.8.x/reference/targets/protobuf_sources.mdx", + }, + { + from: "/v2.8/docs/reference-protoc", + to: "/2.8.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.8/docs/reference-publish", + to: "/2.8.x/reference/goals/publish.mdx", + }, + { + from: "/v2.8/docs/reference-py-constraints", + to: "/2.8.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.8/docs/reference-pylint", + to: "/2.8.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.8/docs/reference-pytest", + to: "/2.8.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.8/docs/reference-python_awslambda", + to: "/2.8.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.8/docs/reference-python_distribution", + to: "/2.8.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.8/docs/reference-python_requirement", + to: "/2.8.x/reference/targets/python_requirement.mdx", + }, + { + from: "/v2.8/docs/reference-python_source", + to: "/2.8.x/reference/targets/python_source.mdx", + }, + { + from: "/v2.8/docs/reference-python_sources", + to: "/2.8.x/reference/targets/python_sources.mdx", + }, + { + from: "/v2.8/docs/reference-python_test_utils", + to: "/2.8.x/reference/targets/python_test_utils.mdx", + }, + { + from: "/v2.8/docs/reference-python_test", + to: "/2.8.x/reference/targets/python_test.mdx", + }, + { + from: "/v2.8/docs/reference-python_tests", + to: "/2.8.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.8/docs/reference-python-infer", + to: "/2.8.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.8/docs/reference-python-native-code", + to: "/2.8.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.8/docs/reference-python-protobuf", + to: "/2.8.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.8/docs/reference-python-repos", + to: "/2.8.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.8/docs/reference-python-setup", + to: "/2.8.x/reference/subsystems/python-setup.mdx", + }, + { + from: "/v2.8/docs/reference-python", + to: "/2.8.x/reference/subsystems/python.mdx", + }, + { + from: "/v2.8/docs/reference-pyupgrade", + to: "/2.8.x/reference/subsystems/pyupgrade.mdx", + }, + { + from: "/v2.8/docs/reference-relocated_files", + to: "/2.8.x/reference/targets/relocated_files.mdx", + }, + { from: "/v2.8/docs/reference-repl", to: "/2.8.x/reference/goals/repl.mdx" }, + { + from: "/v2.8/docs/reference-resource", + to: "/2.8.x/reference/targets/resource.mdx", + }, + { + from: "/v2.8/docs/reference-resources", + to: "/2.8.x/reference/targets/resources.mdx", + }, + { + from: "/v2.8/docs/reference-roots", + to: "/2.8.x/reference/goals/roots.mdx", + }, + { from: "/v2.8/docs/reference-run", to: "/2.8.x/reference/goals/run.mdx" }, + { + from: "/v2.8/docs/reference-scc", + to: "/2.8.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.8/docs/reference-setup-py-generation", + to: "/2.8.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.8/docs/reference-setuptools", + to: "/2.8.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.8/docs/reference-shell_source", + to: "/2.8.x/reference/targets/shell_source.mdx", + }, + { + from: "/v2.8/docs/reference-shell_sources", + to: "/2.8.x/reference/targets/shell_sources.mdx", + }, + { + from: "/v2.8/docs/reference-shell-setup", + to: "/2.8.x/reference/subsystems/shell-setup.mdx", + }, + { + from: "/v2.8/docs/reference-shellcheck", + to: "/2.8.x/reference/subsystems/shellcheck.mdx", + }, + { + from: "/v2.8/docs/reference-shfmt", + to: "/2.8.x/reference/subsystems/shfmt.mdx", + }, + { + from: "/v2.8/docs/reference-shunit2_test", + to: "/2.8.x/reference/targets/shunit2_test.mdx", + }, + { + from: "/v2.8/docs/reference-shunit2_tests", + to: "/2.8.x/reference/targets/shunit2_tests.mdx", + }, + { + from: "/v2.8/docs/reference-source", + to: "/2.8.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.8/docs/reference-sourcefile-validation", + to: "/2.8.x/reference/subsystems/sourcefile-validation.mdx", + }, + { + from: "/v2.8/docs/reference-stats", + to: "/2.8.x/reference/subsystems/stats.mdx", + }, + { + from: "/v2.8/docs/reference-subprocess-environment", + to: "/2.8.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.8/docs/reference-tailor", + to: "/2.8.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.8/docs/reference-target", + to: "/2.8.x/reference/targets/target.mdx", + }, + { from: "/v2.8/docs/reference-test", to: "/2.8.x/reference/goals/test.mdx" }, + { + from: "/v2.8/docs/reference-twine", + to: "/2.8.x/reference/subsystems/twine.mdx", + }, + { + from: "/v2.8/docs/reference-typecheck", + to: "/2.8.x/reference/goals/typecheck.mdx", + }, + { + from: "/v2.8/docs/reference-update-build-files", + to: "/2.8.x/reference/goals/update-build-files.mdx", + }, + { + from: "/v2.8/docs/reference-validate", + to: "/2.8.x/reference/goals/validate.mdx", + }, + { + from: "/v2.8/docs/reference-yapf", + to: "/2.8.x/reference/subsystems/yapf.mdx", + }, + { from: "/v2.8/docs/reference", to: "/2.8.x/reference/index.mdx" }, + { from: "/v2.8/docs/release-notes", to: "/2.8.x/docs/releases/index.mdx" }, + { + from: "/v2.8/docs/release-process", + to: "/2.8.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.8/docs/release-strategy", + to: "/2.8.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.8/docs/releases", + to: "/2.8.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.8/docs/remote-caching-execution", + to: "/2.8.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.8/docs/remote-caching", + to: "/2.8.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.8/docs/remote-execution", + to: "/2.8.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.8/docs/resources", + to: "/2.8.x/docs/using-pants/resources-and-archives.mdx", + }, + { + from: "/v2.8/docs/rules-api-and-target-api", + to: "/2.8.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.8/docs/rules-api-concepts", + to: "/2.8.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.8/docs/rules-api-file-system", + to: "/2.8.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.8/docs/rules-api-goal-rules", + to: "/2.8.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.8/docs/rules-api-installing-tools", + to: "/2.8.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.8/docs/rules-api-logging", + to: "/2.8.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.8/docs/rules-api-process", + to: "/2.8.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.8/docs/rules-api-subsystems", + to: "/2.8.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.8/docs/rules-api-testing", + to: "/2.8.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.8/docs/rules-api-tips", + to: "/2.8.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.8/docs/rules-api-unions", + to: "/2.8.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.8/docs/rules-api", + to: "/2.8.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.8/docs/running-pants-from-sources", + to: "/2.8.x/docs/contributions/development/running-pants-from-sources.mdx", + }, + { + from: "/v2.8/docs/setting-up-an-ide", + to: "/2.8.x/docs/using-pants/setting-up-an-ide.mdx", + }, + { from: "/v2.8/docs/shell", to: "/2.8.x/docs/shell/overview.mdx" }, + { + from: "/v2.8/docs/source-roots", + to: "/2.8.x/docs/using-pants/key-concepts-to-know-about-pants/source-roots.mdx", + }, + { + from: "/v2.8/docs/style-guide", + to: "/2.8.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.8/docs/tagging-docker-images", + to: "/2.8.x/docs/docker/tagging-docker-images.mdx", + }, + { + from: "/v2.8/docs/target-api-concepts", + to: "/2.8.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.8/docs/target-api-extending-targets", + to: "/2.8.x/docs/writing-plugins/the-target-api/extending-existing-targets.mdx", + }, + { + from: "/v2.8/docs/target-api-new-fields", + to: "/2.8.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.8/docs/target-api-new-targets", + to: "/2.8.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.8/docs/target-api", + to: "/2.8.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.8/docs/targets", + to: "/2.8.x/docs/using-pants/key-concepts-to-know-about-pants/targets-and-build-files.mdx", + }, + { from: "/v2.8/docs/team", to: "/2.8.x/community/meet-the-team" }, + { from: "/v2.8/docs/testimonials", to: "/2.8.x/spotlight/testimonials" }, + { from: "/v2.8/docs/the-pants-community", to: "/2.8.x/community/members" }, + { + from: "/v2.8/docs/troubleshooting", + to: "/2.8.x/docs/using-pants/troubleshooting-common-issues/index.mdx", + }, + { + from: "/v2.8/docs/upgrade-tips", + to: "/2.8.x/docs/releases/upgrade-tips.mdx", + }, + { + from: "/v2.8/docs/using-pants-in-ci", + to: "/2.8.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.8/docs/using-pants", to: "/2.8.x/docs/using-pants/index.mdx" }, + { + from: "/v2.8/docs/welcome-to-pants", + to: "/2.8.x/docs/learn-about-pants/welcome-to-pants.mdx", + }, + { from: "/v2.8/docs/who-uses-pants", to: "/2.8.x/spotlight/users" }, + { + from: "/v2.8/docs/writing-plugins", + to: "/2.8.x/docs/writing-plugins/index.mdx", + }, + { + from: "/v2.9/docs/advanced-target-selection", + to: "/2.9.x/docs/using-pants/advanced-target-selection.mdx", + }, + { + from: "/v2.9/docs/anonymous-telemetry", + to: "/2.9.x/docs/using-pants/anonymous-telemetry.mdx", + }, + { + from: "/v2.9/docs/awslambda-python", + to: "/2.9.x/docs/python/integrations/aws-lambda.mdx", + }, + { from: "/v2.9/docs/changelog", to: "/2.9.x/versions" }, + { + from: "/v2.9/docs/code-of-conduct", + to: "/2.9.x/community/code-of-conduct", + }, + { + from: "/v2.9/docs/command-line-help", + to: "/2.9.x/docs/using-pants/command-line-help.mdx", + }, + { + from: "/v2.9/docs/common-plugin-tasks", + to: "/2.9.x/docs/writing-plugins/common-plugin-tasks/index.mdx", + }, + { from: "/v2.9/docs/community", to: "/2.9.x/community/members" }, + { + from: "/v2.9/docs/concepts", + to: "/2.9.x/docs/using-pants/key-concepts/index.mdx", + }, + { + from: "/v2.9/docs/contentious-decisions", + to: "/2.9.x/community/contentious-decisions", + }, + { + from: "/v2.9/docs/contributing-to-pants", + to: "/2.9.x/docs/contributions/index.mdx", + }, + { + from: "/v2.9/docs/contributions-debugging", + to: "/2.9.x/docs/contributions/development/debugging-and-benchmarking.mdx", + }, + { + from: "/v2.9/docs/contributions-rust", + to: "/2.9.x/docs/contributions/development/developing-rust.mdx", + }, + { + from: "/v2.9/docs/contributor-overview", + to: "/2.9.x/docs/contributions/contribution-overview.mdx", + }, + { + from: "/v2.9/docs/contributor-setup", + to: "/2.9.x/docs/contributions/development/setting-up-pants.mdx", + }, + { + from: "/v2.9/docs/create-initial-build-files", + to: "/2.9.x/docs/getting-started/getting-started/create-initial-build-files.mdx", + }, + { + from: "/v2.9/docs/deprecation-policy", + to: "/2.9.x/docs/releases/deprecation-policy.mdx", + }, + { + from: "/v2.9/docs/development", + to: "/2.9.x/docs/contributions/development/index.mdx", + }, + { from: "/v2.9/docs/docker", to: "/2.9.x/docs/docker/overview.mdx" }, + { + from: "/v2.9/docs/documentation", + to: "/2.9.x/docs/learn-about-pants/index.mdx", + }, + { + from: "/v2.9/docs/enabling-backends", + to: "/2.9.x/docs/using-pants/key-concepts/backends.mdx", + }, + { + from: "/v2.9/docs/example-repos", + to: "/2.9.x/docs/getting-started/getting-started/example-repositories.mdx", + }, + { + from: "/v2.9/docs/existing-repositories", + to: "/2.9.x/docs/getting-started/getting-started/incremental-adoption.mdx", + }, + { from: "/v2.9/docs/getting-help", to: "/2.9.x/community/getting-help" }, + { + from: "/v2.9/docs/getting-started", + to: "/2.9.x/docs/getting-started/getting-started/index.mdx", + }, + { + from: "/v2.9/docs/gitignore", + to: "/2.9.x/docs/getting-started/getting-started/updating-.gitignore.mdx", + }, + { from: "/v2.9/docs/go", to: "/2.9.x/docs/go/overview.mdx" }, + { + from: "/v2.9/docs/goals", + to: "/2.9.x/docs/using-pants/key-concepts/goals.mdx", + }, + { + from: "/v2.9/docs/google-cloud-function-python", + to: "/2.9.x/docs/python/integrations/google-cloud-functions.mdx", + }, + { + from: "/v2.9/docs/how-does-pants-work", + to: "/2.9.x/docs/learn-about-pants/how-does-pants-work.mdx", + }, + { + from: "/v2.9/docs/initial-configuration", + to: "/2.9.x/docs/getting-started/getting-started/initial-configuration.mdx", + }, + { + from: "/v2.9/docs/installation", + to: "/2.9.x/docs/getting-started/getting-started/installing-pants.mdx", + }, + { + from: "/v2.9/docs/integrations", + to: "/2.9.x/docs/python/integrations/index.mdx", + }, + { + from: "/v2.9/docs/internal-rules-architecture", + to: "/2.9.x/docs/contributions/development/internal-architecture.mdx", + }, + { + from: "/v2.9/docs/jupyter", + to: "/2.9.x/docs/python/integrations/jupyter.mdx", + }, + { + from: "/v2.9/docs/jvm-overview", + to: "/2.9.x/docs/java-and-scala/overview.mdx", + }, + { from: "/v2.9/docs/jvm", to: "/2.9.x/docs/java-and-scala/index.mdx" }, + { + from: "/v2.9/docs/language-support", + to: "/2.9.x/spotlight/language-support", + }, + { from: "/v2.9/docs/macros", to: "/2.9.x/docs/writing-plugins/macros.mdx" }, + { from: "/v2.9/docs/maintainers", to: "/2.9.x/community/maintainers" }, + { from: "/v2.9/docs/media", to: "/2.9.x/spotlight/media" }, + { from: "/v2.9/docs/news-room", to: "/2.9.x/spotlight/media" }, + { + from: "/v2.9/docs/options", + to: "/2.9.x/docs/using-pants/key-concepts/options.mdx", + }, + { + from: "/v2.9/docs/pex-files", + to: "/2.9.x/docs/python/overview/pex-files.mdx", + }, + { + from: "/v2.9/docs/plugin-upgrade-guide", + to: "/2.9.x/docs/writing-plugins/common-plugin-tasks/plugin-upgrade-guide.mdx", + }, + { + from: "/v2.9/docs/plugins-codegen", + to: "/2.9.x/docs/writing-plugins/common-plugin-tasks/add-codegen.mdx", + }, + { + from: "/v2.9/docs/plugins-fmt-goal", + to: "/2.9.x/docs/writing-plugins/common-plugin-tasks/add-a-formatter.mdx", + }, + { + from: "/v2.9/docs/plugins-lint-goal", + to: "/2.9.x/docs/writing-plugins/common-plugin-tasks/add-a-linter.mdx", + }, + { + from: "/v2.9/docs/plugins-overview", + to: "/2.9.x/docs/writing-plugins/overview.mdx", + }, + { + from: "/v2.9/docs/plugins-repl-goal", + to: "/2.9.x/docs/writing-plugins/common-plugin-tasks/add-a-repl.mdx", + }, + { + from: "/v2.9/docs/plugins-setup-py", + to: "/2.9.x/docs/writing-plugins/common-plugin-tasks/custom-setup-py-kwargs.mdx", + }, + { + from: "/v2.9/docs/plugins-typecheck-goal", + to: "/2.9.x/docs/writing-plugins/common-plugin-tasks/add-a-typechecker.mdx", + }, + { + from: "/v2.9/docs/prerequisites", + to: "/2.9.x/docs/getting-started/getting-started/prerequisites.mdx", + }, + { + from: "/v2.9/docs/project-introspection", + to: "/2.9.x/docs/using-pants/project-introspection.mdx", + }, + { + from: "/v2.9/docs/protobuf", + to: "/2.9.x/docs/python/integrations/protobuf-and-grpc.mdx", + }, + { + from: "/v2.9/docs/proxies", + to: "/2.9.x/docs/using-pants/troubleshooting-common-issues/proxies.mdx", + }, + { + from: "/v2.9/docs/python-backend", + to: "/2.9.x/docs/python/overview/enabling-python-support.mdx", + }, + { + from: "/v2.9/docs/python-check-goal", + to: "/2.9.x/docs/python/goals/check.mdx", + }, + { + from: "/v2.9/docs/python-distributions", + to: "/2.9.x/docs/python/overview/building-distributions.mdx", + }, + { + from: "/v2.9/docs/python-fmt-goal", + to: "/2.9.x/docs/python/goals/fmt.mdx", + }, + { from: "/v2.9/docs/python-goals", to: "/2.9.x/docs/python/goals/index.mdx" }, + { + from: "/v2.9/docs/python-interpreter-compatibility", + to: "/2.9.x/docs/python/overview/interpreter-compatibility.mdx", + }, + { + from: "/v2.9/docs/python-lint-goal", + to: "/2.9.x/docs/python/goals/lint.mdx", + }, + { + from: "/v2.9/docs/python-linters-and-formatters", + to: "/2.9.x/docs/python/overview/linters-and-formatters.mdx", + }, + { + from: "/v2.9/docs/python-package-goal", + to: "/2.9.x/docs/python/goals/package.mdx", + }, + { + from: "/v2.9/docs/python-publish-goal", + to: "/2.9.x/docs/python/goals/publish.mdx", + }, + { + from: "/v2.9/docs/python-repl-goal", + to: "/2.9.x/docs/python/goals/repl.mdx", + }, + { + from: "/v2.9/docs/python-run-goal", + to: "/2.9.x/docs/python/goals/run.mdx", + }, + { + from: "/v2.9/docs/python-test-goal", + to: "/2.9.x/docs/python/goals/test.mdx", + }, + { + from: "/v2.9/docs/python-third-party-dependencies", + to: "/2.9.x/docs/python/overview/third-party-dependencies.mdx", + }, + { from: "/v2.9/docs/python", to: "/2.9.x/docs/python/overview/index.mdx" }, + { from: "/v2.9/docs/reference-all-goals", to: "/2.9.x/reference/goals" }, + { + from: "/v2.9/docs/reference-all-subsystems", + to: "/2.9.x/reference/subsystems", + }, + { from: "/v2.9/docs/reference-all-targets", to: "/2.9.x/reference/targets" }, + { + from: "/v2.9/docs/reference-anonymous-telemetry", + to: "/2.9.x/reference/subsystems/anonymous-telemetry.mdx", + }, + { + from: "/v2.9/docs/reference-archive", + to: "/2.9.x/reference/targets/archive.mdx", + }, + { + from: "/v2.9/docs/reference-autoflake", + to: "/2.9.x/reference/subsystems/autoflake.mdx", + }, + { + from: "/v2.9/docs/reference-bandit", + to: "/2.9.x/reference/subsystems/bandit.mdx", + }, + { + from: "/v2.9/docs/reference-black", + to: "/2.9.x/reference/subsystems/black.mdx", + }, + { + from: "/v2.9/docs/reference-changed", + to: "/2.9.x/reference/subsystems/changed.mdx", + }, + { + from: "/v2.9/docs/reference-check", + to: "/2.9.x/reference/goals/check.mdx", + }, + { + from: "/v2.9/docs/reference-cli", + to: "/2.9.x/reference/subsystems/cli.mdx", + }, + { + from: "/v2.9/docs/reference-count-loc", + to: "/2.9.x/reference/goals/count-loc.mdx", + }, + { + from: "/v2.9/docs/reference-coursier-resolve", + to: "/2.9.x/reference/goals/coursier-resolve.mdx", + }, + { + from: "/v2.9/docs/reference-coursier", + to: "/2.9.x/reference/subsystems/coursier.mdx", + }, + { + from: "/v2.9/docs/reference-coverage-py", + to: "/2.9.x/reference/subsystems/coverage-py.mdx", + }, + { + from: "/v2.9/docs/reference-dependees", + to: "/2.9.x/reference/goals/dependees.mdx", + }, + { + from: "/v2.9/docs/reference-dependencies", + to: "/2.9.x/reference/goals/dependencies.mdx", + }, + { + from: "/v2.9/docs/reference-deploy_jar", + to: "/2.9.x/reference/targets/deploy_jar.mdx", + }, + { + from: "/v2.9/docs/reference-docformatter", + to: "/2.9.x/reference/subsystems/docformatter.mdx", + }, + { + from: "/v2.9/docs/reference-docker_image", + to: "/2.9.x/reference/targets/docker_image.mdx", + }, + { + from: "/v2.9/docs/reference-docker", + to: "/2.9.x/reference/subsystems/docker.mdx", + }, + { + from: "/v2.9/docs/reference-dockerfile-parser", + to: "/2.9.x/reference/subsystems/dockerfile-parser.mdx", + }, + { + from: "/v2.9/docs/reference-download-pex-bin", + to: "/2.9.x/reference/subsystems/download-pex-bin.mdx", + }, + { + from: "/v2.9/docs/reference-experimental_run_shell_command", + to: "/2.9.x/reference/targets/experimental_run_shell_command.mdx", + }, + { + from: "/v2.9/docs/reference-experimental_shell_command", + to: "/2.9.x/reference/targets/experimental_shell_command.mdx", + }, + { + from: "/v2.9/docs/reference-export-codegen", + to: "/2.9.x/reference/goals/export-codegen.mdx", + }, + { + from: "/v2.9/docs/reference-export", + to: "/2.9.x/reference/goals/export.mdx", + }, + { + from: "/v2.9/docs/reference-file", + to: "/2.9.x/reference/targets/file.mdx", + }, + { + from: "/v2.9/docs/reference-filedeps", + to: "/2.9.x/reference/goals/filedeps.mdx", + }, + { + from: "/v2.9/docs/reference-files", + to: "/2.9.x/reference/targets/files.mdx", + }, + { + from: "/v2.9/docs/reference-filter", + to: "/2.9.x/reference/goals/filter.mdx", + }, + { + from: "/v2.9/docs/reference-flake8", + to: "/2.9.x/reference/subsystems/flake8.mdx", + }, + { from: "/v2.9/docs/reference-fmt", to: "/2.9.x/reference/goals/fmt.mdx" }, + { + from: "/v2.9/docs/reference-generate-lockfiles", + to: "/2.9.x/reference/goals/generate-lockfiles.mdx", + }, + { + from: "/v2.9/docs/reference-generate-user-lockfile", + to: "/2.9.x/reference/goals/generate-user-lockfile.mdx", + }, + { + from: "/v2.9/docs/reference-global", + to: "/2.9.x/reference/global-options.mdx", + }, + { + from: "/v2.9/docs/reference-go_binary", + to: "/2.9.x/reference/targets/go_binary.mdx", + }, + { + from: "/v2.9/docs/reference-go_mod", + to: "/2.9.x/reference/targets/go_mod.mdx", + }, + { + from: "/v2.9/docs/reference-go_package", + to: "/2.9.x/reference/targets/go_package.mdx", + }, + { + from: "/v2.9/docs/reference-go_third_party_package", + to: "/2.9.x/reference/targets/go_third_party_package.mdx", + }, + { + from: "/v2.9/docs/reference-go-test", + to: "/2.9.x/reference/subsystems/go-test.mdx", + }, + { + from: "/v2.9/docs/reference-gofmt", + to: "/2.9.x/reference/subsystems/gofmt.mdx", + }, + { + from: "/v2.9/docs/reference-golang", + to: "/2.9.x/reference/subsystems/golang.mdx", + }, + { + from: "/v2.9/docs/reference-google-java-format", + to: "/2.9.x/reference/subsystems/google-java-format.mdx", + }, + { + from: "/v2.9/docs/reference-grpc-python-plugin", + to: "/2.9.x/reference/subsystems/grpc-python-plugin.mdx", + }, + { + from: "/v2.9/docs/reference-hadolint", + to: "/2.9.x/reference/subsystems/hadolint.mdx", + }, + { + from: "/v2.9/docs/reference-ipython", + to: "/2.9.x/reference/subsystems/ipython.mdx", + }, + { + from: "/v2.9/docs/reference-isort", + to: "/2.9.x/reference/subsystems/isort.mdx", + }, + { + from: "/v2.9/docs/reference-java_source", + to: "/2.9.x/reference/targets/java_source.mdx", + }, + { + from: "/v2.9/docs/reference-java_sources", + to: "/2.9.x/reference/targets/java_sources.mdx", + }, + { + from: "/v2.9/docs/reference-java-infer", + to: "/2.9.x/reference/subsystems/java-infer.mdx", + }, + { + from: "/v2.9/docs/reference-javac", + to: "/2.9.x/reference/subsystems/javac.mdx", + }, + { + from: "/v2.9/docs/reference-junit_test", + to: "/2.9.x/reference/targets/junit_test.mdx", + }, + { + from: "/v2.9/docs/reference-junit_tests", + to: "/2.9.x/reference/targets/junit_tests.mdx", + }, + { + from: "/v2.9/docs/reference-junit", + to: "/2.9.x/reference/subsystems/junit.mdx", + }, + { + from: "/v2.9/docs/reference-jvm_artifact", + to: "/2.9.x/reference/targets/jvm_artifact.mdx", + }, + { + from: "/v2.9/docs/reference-jvm-generate-lockfiles", + to: "/2.9.x/reference/goals/jvm-generate-lockfiles.mdx", + }, + { + from: "/v2.9/docs/reference-jvm", + to: "/2.9.x/reference/subsystems/jvm.mdx", + }, + { + from: "/v2.9/docs/reference-lambdex", + to: "/2.9.x/reference/subsystems/lambdex.mdx", + }, + { from: "/v2.9/docs/reference-lint", to: "/2.9.x/reference/goals/lint.mdx" }, + { from: "/v2.9/docs/reference-list", to: "/2.9.x/reference/goals/list.mdx" }, + { + from: "/v2.9/docs/reference-mypy-protobuf", + to: "/2.9.x/reference/subsystems/mypy-protobuf.mdx", + }, + { + from: "/v2.9/docs/reference-mypy", + to: "/2.9.x/reference/subsystems/mypy.mdx", + }, + { + from: "/v2.9/docs/reference-package", + to: "/2.9.x/reference/goals/package.mdx", + }, + { + from: "/v2.9/docs/reference-pants_requirements", + to: "/2.9.x/reference/targets/pants_requirements.mdx", + }, + { + from: "/v2.9/docs/reference-paths", + to: "/2.9.x/reference/goals/paths.mdx", + }, + { from: "/v2.9/docs/reference-peek", to: "/2.9.x/reference/goals/peek.mdx" }, + { + from: "/v2.9/docs/reference-pex_binary", + to: "/2.9.x/reference/targets/pex_binary.mdx", + }, + { + from: "/v2.9/docs/reference-pex-binary-defaults", + to: "/2.9.x/reference/subsystems/pex-binary-defaults.mdx", + }, + { + from: "/v2.9/docs/reference-pex", + to: "/2.9.x/reference/subsystems/pex.mdx", + }, + { + from: "/v2.9/docs/reference-poetry", + to: "/2.9.x/reference/subsystems/poetry.mdx", + }, + { + from: "/v2.9/docs/reference-protobuf_source", + to: "/2.9.x/reference/targets/protobuf_source.mdx", + }, + { + from: "/v2.9/docs/reference-protobuf_sources", + to: "/2.9.x/reference/targets/protobuf_sources.mdx", + }, + { + from: "/v2.9/docs/reference-protoc", + to: "/2.9.x/reference/subsystems/protoc.mdx", + }, + { + from: "/v2.9/docs/reference-publish", + to: "/2.9.x/reference/goals/publish.mdx", + }, + { + from: "/v2.9/docs/reference-py-constraints", + to: "/2.9.x/reference/goals/py-constraints.mdx", + }, + { + from: "/v2.9/docs/reference-pylint", + to: "/2.9.x/reference/subsystems/pylint.mdx", + }, + { + from: "/v2.9/docs/reference-pytest", + to: "/2.9.x/reference/subsystems/pytest.mdx", + }, + { + from: "/v2.9/docs/reference-python_awslambda", + to: "/2.9.x/reference/targets/python_awslambda.mdx", + }, + { + from: "/v2.9/docs/reference-python_distribution", + to: "/2.9.x/reference/targets/python_distribution.mdx", + }, + { + from: "/v2.9/docs/reference-python_google_cloud_function", + to: "/2.9.x/reference/targets/python_google_cloud_function.mdx", + }, + { + from: "/v2.9/docs/reference-python_requirement", + to: "/2.9.x/reference/targets/python_requirement.mdx", + }, + { + from: "/v2.9/docs/reference-python_source", + to: "/2.9.x/reference/targets/python_source.mdx", + }, + { + from: "/v2.9/docs/reference-python_sources", + to: "/2.9.x/reference/targets/python_sources.mdx", + }, + { + from: "/v2.9/docs/reference-python_test_utils", + to: "/2.9.x/reference/targets/python_test_utils.mdx", + }, + { + from: "/v2.9/docs/reference-python_test", + to: "/2.9.x/reference/targets/python_test.mdx", + }, + { + from: "/v2.9/docs/reference-python_tests", + to: "/2.9.x/reference/targets/python_tests.mdx", + }, + { + from: "/v2.9/docs/reference-python-bootstrap", + to: "/2.9.x/reference/subsystems/python-bootstrap.mdx", + }, + { + from: "/v2.9/docs/reference-python-infer", + to: "/2.9.x/reference/subsystems/python-infer.mdx", + }, + { + from: "/v2.9/docs/reference-python-native-code", + to: "/2.9.x/reference/subsystems/python-native-code.mdx", + }, + { + from: "/v2.9/docs/reference-python-protobuf", + to: "/2.9.x/reference/subsystems/python-protobuf.mdx", + }, + { + from: "/v2.9/docs/reference-python-repos", + to: "/2.9.x/reference/subsystems/python-repos.mdx", + }, + { + from: "/v2.9/docs/reference-python-setup", + to: "/2.9.x/reference/subsystems/python-setup.mdx", + }, + { + from: "/v2.9/docs/reference-python", + to: "/2.9.x/reference/subsystems/python.mdx", + }, + { + from: "/v2.9/docs/reference-pyupgrade", + to: "/2.9.x/reference/subsystems/pyupgrade.mdx", + }, + { + from: "/v2.9/docs/reference-relocated_files", + to: "/2.9.x/reference/targets/relocated_files.mdx", + }, + { from: "/v2.9/docs/reference-repl", to: "/2.9.x/reference/goals/repl.mdx" }, + { + from: "/v2.9/docs/reference-resource", + to: "/2.9.x/reference/targets/resource.mdx", + }, + { + from: "/v2.9/docs/reference-resources", + to: "/2.9.x/reference/targets/resources.mdx", + }, + { + from: "/v2.9/docs/reference-roots", + to: "/2.9.x/reference/goals/roots.mdx", + }, + { from: "/v2.9/docs/reference-run", to: "/2.9.x/reference/goals/run.mdx" }, + { + from: "/v2.9/docs/reference-scala_junit_test", + to: "/2.9.x/reference/targets/scala_junit_test.mdx", + }, + { + from: "/v2.9/docs/reference-scala_junit_tests", + to: "/2.9.x/reference/targets/scala_junit_tests.mdx", + }, + { + from: "/v2.9/docs/reference-scala_source", + to: "/2.9.x/reference/targets/scala_source.mdx", + }, + { + from: "/v2.9/docs/reference-scala_sources", + to: "/2.9.x/reference/targets/scala_sources.mdx", + }, + { + from: "/v2.9/docs/reference-scala-infer", + to: "/2.9.x/reference/subsystems/scala-infer.mdx", + }, + { + from: "/v2.9/docs/reference-scala", + to: "/2.9.x/reference/subsystems/scala.mdx", + }, + { + from: "/v2.9/docs/reference-scalac_plugin", + to: "/2.9.x/reference/targets/scalac_plugin.mdx", + }, + { + from: "/v2.9/docs/reference-scalac", + to: "/2.9.x/reference/subsystems/scalac.mdx", + }, + { + from: "/v2.9/docs/reference-scalafmt", + to: "/2.9.x/reference/subsystems/scalafmt.mdx", + }, + { + from: "/v2.9/docs/reference-scalatest_test", + to: "/2.9.x/reference/targets/scalatest_test.mdx", + }, + { + from: "/v2.9/docs/reference-scalatest_tests", + to: "/2.9.x/reference/targets/scalatest_tests.mdx", + }, + { + from: "/v2.9/docs/reference-scalatest", + to: "/2.9.x/reference/subsystems/scalatest.mdx", + }, + { + from: "/v2.9/docs/reference-scc", + to: "/2.9.x/reference/subsystems/scc.mdx", + }, + { + from: "/v2.9/docs/reference-setup-py-generation", + to: "/2.9.x/reference/subsystems/setup-py-generation.mdx", + }, + { + from: "/v2.9/docs/reference-setuptools", + to: "/2.9.x/reference/subsystems/setuptools.mdx", + }, + { + from: "/v2.9/docs/reference-shell_source", + to: "/2.9.x/reference/targets/shell_source.mdx", + }, + { + from: "/v2.9/docs/reference-shell_sources", + to: "/2.9.x/reference/targets/shell_sources.mdx", + }, + { + from: "/v2.9/docs/reference-shell-setup", + to: "/2.9.x/reference/subsystems/shell-setup.mdx", + }, + { + from: "/v2.9/docs/reference-shellcheck", + to: "/2.9.x/reference/subsystems/shellcheck.mdx", + }, + { + from: "/v2.9/docs/reference-shfmt", + to: "/2.9.x/reference/subsystems/shfmt.mdx", + }, + { + from: "/v2.9/docs/reference-shunit2_test", + to: "/2.9.x/reference/targets/shunit2_test.mdx", + }, + { + from: "/v2.9/docs/reference-shunit2_tests", + to: "/2.9.x/reference/targets/shunit2_tests.mdx", + }, + { + from: "/v2.9/docs/reference-source", + to: "/2.9.x/reference/subsystems/source.mdx", + }, + { + from: "/v2.9/docs/reference-sourcefile-validation", + to: "/2.9.x/reference/subsystems/sourcefile-validation.mdx", + }, + { + from: "/v2.9/docs/reference-stats", + to: "/2.9.x/reference/subsystems/stats.mdx", + }, + { + from: "/v2.9/docs/reference-subprocess-environment", + to: "/2.9.x/reference/subsystems/subprocess-environment.mdx", + }, + { + from: "/v2.9/docs/reference-tailor", + to: "/2.9.x/reference/goals/tailor.mdx", + }, + { + from: "/v2.9/docs/reference-target", + to: "/2.9.x/reference/targets/target.mdx", + }, + { from: "/v2.9/docs/reference-test", to: "/2.9.x/reference/goals/test.mdx" }, + { + from: "/v2.9/docs/reference-twine", + to: "/2.9.x/reference/subsystems/twine.mdx", + }, + { + from: "/v2.9/docs/reference-typecheck", + to: "/2.9.x/reference/goals/typecheck.mdx", + }, + { + from: "/v2.9/docs/reference-update-build-files", + to: "/2.9.x/reference/goals/update-build-files.mdx", + }, + { + from: "/v2.9/docs/reference-validate", + to: "/2.9.x/reference/goals/validate.mdx", + }, + { + from: "/v2.9/docs/reference-yapf", + to: "/2.9.x/reference/subsystems/yapf.mdx", + }, + { from: "/v2.9/docs/reference", to: "/2.9.x/reference/index.mdx" }, + { from: "/v2.9/docs/release-notes", to: "/2.9.x/docs/releases/index.mdx" }, + { + from: "/v2.9/docs/release-process", + to: "/2.9.x/docs/contributions/releases/release-process.mdx", + }, + { + from: "/v2.9/docs/release-strategy", + to: "/2.9.x/docs/contributions/releases/release-strategy.mdx", + }, + { + from: "/v2.9/docs/releases", + to: "/2.9.x/docs/contributions/releases/index.mdx", + }, + { + from: "/v2.9/docs/remote-caching-execution", + to: "/2.9.x/docs/using-pants/remote-caching-&-execution/index.mdx", + }, + { + from: "/v2.9/docs/remote-caching", + to: "/2.9.x/docs/using-pants/remote-caching-&-execution/remote-caching.mdx", + }, + { + from: "/v2.9/docs/remote-execution", + to: "/2.9.x/docs/using-pants/remote-caching-&-execution/remote-execution.mdx", + }, + { + from: "/v2.9/docs/resources", + to: "/2.9.x/docs/using-pants/assets-and-archives.mdx", + }, + { + from: "/v2.9/docs/rules-api-and-target-api", + to: "/2.9.x/docs/writing-plugins/the-rules-api/rules-and-the-target-api.mdx", + }, + { + from: "/v2.9/docs/rules-api-concepts", + to: "/2.9.x/docs/writing-plugins/the-rules-api/concepts.mdx", + }, + { + from: "/v2.9/docs/rules-api-file-system", + to: "/2.9.x/docs/writing-plugins/the-rules-api/file-system.mdx", + }, + { + from: "/v2.9/docs/rules-api-goal-rules", + to: "/2.9.x/docs/writing-plugins/the-rules-api/goal-rules.mdx", + }, + { + from: "/v2.9/docs/rules-api-installing-tools", + to: "/2.9.x/docs/writing-plugins/the-rules-api/installing-tools.mdx", + }, + { + from: "/v2.9/docs/rules-api-logging", + to: "/2.9.x/docs/writing-plugins/the-rules-api/logging-and-dynamic-output.mdx", + }, + { + from: "/v2.9/docs/rules-api-process", + to: "/2.9.x/docs/writing-plugins/the-rules-api/processes.mdx", + }, + { + from: "/v2.9/docs/rules-api-subsystems", + to: "/2.9.x/docs/writing-plugins/the-rules-api/options-and-subsystems.mdx", + }, + { + from: "/v2.9/docs/rules-api-testing", + to: "/2.9.x/docs/writing-plugins/the-rules-api/testing-plugins.mdx", + }, + { + from: "/v2.9/docs/rules-api-tips", + to: "/2.9.x/docs/writing-plugins/the-rules-api/tips-and-debugging.mdx", + }, + { + from: "/v2.9/docs/rules-api-unions", + to: "/2.9.x/docs/writing-plugins/the-rules-api/union-rules-advanced.mdx", + }, + { + from: "/v2.9/docs/rules-api", + to: "/2.9.x/docs/writing-plugins/the-rules-api/index.mdx", + }, + { + from: "/v2.9/docs/run-shell-commands", + to: "/2.9.x/docs/shell/run-shell-commands.mdx", + }, + { + from: "/v2.9/docs/running-pants-from-sources", + to: "/2.9.x/docs/contributions/development/running-pants-from-sources.mdx", + }, + { + from: "/v2.9/docs/setting-up-an-ide", + to: "/2.9.x/docs/using-pants/setting-up-an-ide.mdx", + }, + { from: "/v2.9/docs/shell", to: "/2.9.x/docs/shell/overview.mdx" }, + { + from: "/v2.9/docs/source-roots", + to: "/2.9.x/docs/using-pants/key-concepts/source-roots.mdx", + }, + { + from: "/v2.9/docs/style-guide", + to: "/2.9.x/docs/contributions/development/style-guide.mdx", + }, + { + from: "/v2.9/docs/tagging-docker-images", + to: "/2.9.x/docs/docker/tagging-docker-images.mdx", + }, + { + from: "/v2.9/docs/target-api-concepts", + to: "/2.9.x/docs/writing-plugins/the-target-api/concepts.mdx", + }, + { + from: "/v2.9/docs/target-api-extending-targets", + to: "/2.9.x/docs/writing-plugins/the-target-api/extending-existing-targets.mdx", + }, + { + from: "/v2.9/docs/target-api-new-fields", + to: "/2.9.x/docs/writing-plugins/the-target-api/creating-new-fields.mdx", + }, + { + from: "/v2.9/docs/target-api-new-targets", + to: "/2.9.x/docs/writing-plugins/the-target-api/creating-new-targets.mdx", + }, + { + from: "/v2.9/docs/target-api", + to: "/2.9.x/docs/writing-plugins/the-target-api/index.mdx", + }, + { + from: "/v2.9/docs/targets", + to: "/2.9.x/docs/using-pants/key-concepts/targets-and-build-files.mdx", + }, + { from: "/v2.9/docs/team", to: "/2.9.x/community/meet-the-team" }, + { from: "/v2.9/docs/testimonials", to: "/2.9.x/spotlight/testimonials" }, + { from: "/v2.9/docs/the-pants-community", to: "/2.9.x/community/members" }, + { + from: "/v2.9/docs/troubleshooting", + to: "/2.9.x/docs/using-pants/troubleshooting-common-issues/index.mdx", + }, + { + from: "/v2.9/docs/upgrade-tips", + to: "/2.9.x/docs/releases/upgrade-tips.mdx", + }, + { + from: "/v2.9/docs/using-pants-in-ci", + to: "/2.9.x/docs/using-pants/using-pants-in-ci.mdx", + }, + { from: "/v2.9/docs/using-pants", to: "/2.9.x/docs/using-pants/index.mdx" }, + { + from: "/v2.9/docs/welcome-to-pants", + to: "/2.9.x/docs/learn-about-pants/welcome-to-pants.mdx", + }, + { from: "/v2.9/docs/who-uses-pants", to: "/2.9.x/spotlight/users" }, + { + from: "/v2.9/docs/writing-plugins", + to: "/2.9.x/docs/writing-plugins/index.mdx", + }, +]; diff --git a/versioned_docs/version-2.0.x/slugmap.json b/versioned_docs/version-2.0.x/slugmap.json index 3ef73e2d6..0ecd0a123 100644 --- a/versioned_docs/version-2.0.x/slugmap.json +++ b/versioned_docs/version-2.0.x/slugmap.json @@ -91,14 +91,6 @@ "release-notes": "docs/release-notes/index.mdx", "deprecation-policy": "docs/release-notes/deprecation-policy.mdx", "upgrade-tips": "docs/release-notes/upgrade-tips.mdx", - "versions": "docs/release-notes/versions/index.mdx", - "release-notes-2-0": "docs/release-notes/versions/2.0.x.mdx", - "release-notes-1-30": "docs/release-notes/versions/1.30.x.mdx", - "release-notes-1-29": "docs/release-notes/versions/1.29.x.mdx", - "release-notes-1-28": "docs/release-notes/versions/1.28.x.mdx", - "release-notes-1-27": "docs/release-notes/versions/1.27.x.mdx", - "release-notes-1-26": "docs/release-notes/versions/1.26.x.mdx", - "release-notes-1-25": "docs/release-notes/versions/1.25.x.mdx", "contributing-to-pants": "docs/contributions/index.mdx", "contributor-overview": "docs/contributions/contribution-overview.mdx", "development": "docs/contributions/development/index.mdx", diff --git a/versioned_docs/version-2.1.x/slugmap.json b/versioned_docs/version-2.1.x/slugmap.json index a1e986ad3..b4c833e4d 100644 --- a/versioned_docs/version-2.1.x/slugmap.json +++ b/versioned_docs/version-2.1.x/slugmap.json @@ -91,15 +91,6 @@ "release-notes": "docs/release-notes/index.mdx", "deprecation-policy": "docs/release-notes/deprecation-policy.mdx", "upgrade-tips": "docs/release-notes/upgrade-tips.mdx", - "versions": "docs/release-notes/versions/index.mdx", - "release-notes-2-1": "docs/release-notes/versions/2.1.x.mdx", - "release-notes-2-0": "docs/release-notes/versions/2.0.x.mdx", - "release-notes-1-30": "docs/release-notes/versions/1.30.x.mdx", - "release-notes-1-29": "docs/release-notes/versions/1.29.x.mdx", - "release-notes-1-28": "docs/release-notes/versions/1.28.x.mdx", - "release-notes-1-27": "docs/release-notes/versions/1.27.x.mdx", - "release-notes-1-26": "docs/release-notes/versions/1.26.x.mdx", - "release-notes-1-25": "docs/release-notes/versions/1.25.x.mdx", "contributing-to-pants": "docs/contributions/index.mdx", "contributor-overview": "docs/contributions/contribution-overview.mdx", "development": "docs/contributions/development/index.mdx", diff --git a/versioned_docs/version-2.2.x/slugmap.json b/versioned_docs/version-2.2.x/slugmap.json index 890bbcda9..e786576c6 100644 --- a/versioned_docs/version-2.2.x/slugmap.json +++ b/versioned_docs/version-2.2.x/slugmap.json @@ -91,16 +91,6 @@ "release-notes": "docs/release-notes/index.mdx", "deprecation-policy": "docs/release-notes/deprecation-policy.mdx", "upgrade-tips": "docs/release-notes/upgrade-tips.mdx", - "versions": "docs/release-notes/versions/index.mdx", - "release-notes-2-2": "docs/release-notes/versions/2.2.x.mdx", - "release-notes-2-1": "docs/release-notes/versions/2.1.x.mdx", - "release-notes-2-0": "docs/release-notes/versions/2.0.x.mdx", - "release-notes-1-30": "docs/release-notes/versions/1.30.x.mdx", - "release-notes-1-29": "docs/release-notes/versions/1.29.x.mdx", - "release-notes-1-28": "docs/release-notes/versions/1.28.x.mdx", - "release-notes-1-27": "docs/release-notes/versions/1.27.x.mdx", - "release-notes-1-26": "docs/release-notes/versions/1.26.x.mdx", - "release-notes-1-25": "docs/release-notes/versions/1.25.x.mdx", "contributing-to-pants": "docs/contributions/index.mdx", "contributor-overview": "docs/contributions/contribution-overview.mdx", "development": "docs/contributions/development/index.mdx", diff --git a/versioned_docs/version-2.3.x/slugmap.json b/versioned_docs/version-2.3.x/slugmap.json index 4a24bf720..3bd34238f 100644 --- a/versioned_docs/version-2.3.x/slugmap.json +++ b/versioned_docs/version-2.3.x/slugmap.json @@ -95,17 +95,6 @@ "release-notes": "docs/release-notes/index.mdx", "deprecation-policy": "docs/release-notes/deprecation-policy.mdx", "upgrade-tips": "docs/release-notes/upgrade-tips.mdx", - "versions": "docs/release-notes/versions/index.mdx", - "release-notes-2-3": "docs/release-notes/versions/2.3.x.mdx", - "release-notes-2-2": "docs/release-notes/versions/2.2.x.mdx", - "release-notes-2-1": "docs/release-notes/versions/2.1.x.mdx", - "release-notes-2-0": "docs/release-notes/versions/2.0.x.mdx", - "release-notes-1-30": "docs/release-notes/versions/1.30.x.mdx", - "release-notes-1-29": "docs/release-notes/versions/1.29.x.mdx", - "release-notes-1-28": "docs/release-notes/versions/1.28.x.mdx", - "release-notes-1-27": "docs/release-notes/versions/1.27.x.mdx", - "release-notes-1-26": "docs/release-notes/versions/1.26.x.mdx", - "release-notes-1-25": "docs/release-notes/versions/1.25.x.mdx", "contributing-to-pants": "docs/contributions/index.mdx", "contributor-overview": "docs/contributions/contribution-overview.mdx", "development": "docs/contributions/development/index.mdx", diff --git a/versioned_docs/version-2.4.x/slugmap.json b/versioned_docs/version-2.4.x/slugmap.json index 2f24e2152..fd56b312c 100644 --- a/versioned_docs/version-2.4.x/slugmap.json +++ b/versioned_docs/version-2.4.x/slugmap.json @@ -96,18 +96,6 @@ "release-notes": "docs/release-notes/index.mdx", "deprecation-policy": "docs/release-notes/deprecation-policy.mdx", "upgrade-tips": "docs/release-notes/upgrade-tips.mdx", - "versions": "docs/release-notes/versions/index.mdx", - "release-notes-2-4": "docs/release-notes/versions/2.4.x.mdx", - "release-notes-2-3": "docs/release-notes/versions/2.3.x.mdx", - "release-notes-2-2": "docs/release-notes/versions/2.2.x.mdx", - "release-notes-2-1": "docs/release-notes/versions/2.1.x.mdx", - "release-notes-2-0": "docs/release-notes/versions/2.0.x.mdx", - "release-notes-1-30": "docs/release-notes/versions/1.30.x.mdx", - "release-notes-1-29": "docs/release-notes/versions/1.29.x.mdx", - "release-notes-1-28": "docs/release-notes/versions/1.28.x.mdx", - "release-notes-1-27": "docs/release-notes/versions/1.27.x.mdx", - "release-notes-1-26": "docs/release-notes/versions/1.26.x.mdx", - "release-notes-1-25": "docs/release-notes/versions/1.25.x.mdx", "contributing-to-pants": "docs/contributions/index.mdx", "contributor-overview": "docs/contributions/contribution-overview.mdx", "development": "docs/contributions/development/index.mdx", diff --git a/yarn.lock b/yarn.lock index 0c8fac6fa..1bf97eca0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1372,6 +1372,21 @@ react-helmet-async "*" react-loadable "npm:@docusaurus/react-loadable@5.5.2" +"@docusaurus/plugin-client-redirects@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.0.1.tgz#9a54479e1276c49903bf6c765c801fa810f4bd18" + integrity sha512-CoZapnHbV3j5jsHCa/zmKaa8+H+oagHBgg91dN5I8/3kFit/xtZPfRaznvDX49cHg2nSoV74B3VMAT+bvCmzFQ== + dependencies: + "@docusaurus/core" "3.0.1" + "@docusaurus/logger" "3.0.1" + "@docusaurus/utils" "3.0.1" + "@docusaurus/utils-common" "3.0.1" + "@docusaurus/utils-validation" "3.0.1" + eta "^2.2.0" + fs-extra "^11.1.1" + lodash "^4.17.21" + tslib "^2.6.0" + "@docusaurus/plugin-content-blog@3.0.1": version "3.0.1" resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.0.1.tgz#dee6147187c2d8b634252444d60312d12c9571a6"