This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new f9317611d7 Enhancing breeze commands with PACKAGE_LIST env variable 
(#37502)
f9317611d7 is described below

commit f9317611d7f3faad918efa47090be11a4096dfbf
Author: Amogh Desai <[email protected]>
AuthorDate: Thu Feb 22 16:27:19 2024 +0530

    Enhancing breeze commands with PACKAGE_LIST env variable (#37502)
    
    * Enhancing breeze commands with PACKAGE_LIST env variable
    
    * removing from add-back-references as it is idempotent
    
    * review comments from potiuk
    
    * fixing doc building
    
    * fixing static checks
---
 dev/README_RELEASE_PROVIDER_PACKAGES.md            | 52 +++++++++++++++++++++
 dev/breeze/doc/images/output_build-docs.svg        | 40 ++++++++++++----
 dev/breeze/doc/images/output_build-docs.txt        |  2 +-
 ...elease-management_prepare-provider-packages.svg | 36 +++++++++++----
 ...elease-management_prepare-provider-packages.txt |  2 +-
 .../output_release-management_publish-docs.svg     | 54 +++++++++++++++-------
 .../output_release-management_publish-docs.txt     |  2 +-
 .../airflow_breeze/commands/developer_commands.py  | 20 ++++++++
 .../commands/developer_commands_config.py          |  1 +
 .../commands/release_management_commands.py        | 41 ++++++++++++++++
 .../commands/release_management_commands_config.py |  2 +
 11 files changed, 214 insertions(+), 38 deletions(-)

diff --git a/dev/README_RELEASE_PROVIDER_PACKAGES.md 
b/dev/README_RELEASE_PROVIDER_PACKAGES.md
index 4b5229dadd..113be45bcd 100644
--- a/dev/README_RELEASE_PROVIDER_PACKAGES.md
+++ b/dev/README_RELEASE_PROVIDER_PACKAGES.md
@@ -93,6 +93,18 @@ in `src/airflow_breeze/utils/packages.py` and run the 
`prepare-provider-document
 command with the `--only-min-version-update` flag. This will only update the 
min version in
 the `__init__.py` files and package documentation without bumping the provider 
versions.
 
+
+Note: Sometimes we are releasing a subset of providers and would not want to 
add the
+list of these providers to every breeze command we run, specifically:
+`prepare-provider-packages`, `build-docs` , `publish-docs`, and, 
`add-back-references`. In this
+case, we can instead export an environment variable: `PACKAGE_LIST`, and it 
will work for every breeze
+command involved in the release process. The value can also be passed as the 
`--package-list` argument.
+Follow the steps below to set the environment variable:
+
+```shell script
+ export PACKAGE_LIST=PACKAGE1,PACKAGE2
+```
+
 ```shell script
 branch="update-min-airflow-version"
 git checkout -b "${branch}"
@@ -413,6 +425,18 @@ breeze release-management prepare-provider-packages \
 --version-suffix-for-pypi rc1 --package-format both PACKAGE PACKAGE ....
 ```
 
+Alternatively, if you have set the environment variable: `PACKAGE_LIST` above, 
just run the command:
+
+```shell script
+breeze release-management prepare-provider-packages
+```
+
+Or using `--package-list` argument:
+
+```shell script
+breeze release-management prepare-provider-packages --package-list 
PACKAGE1,PACKAGE2
+```
+
 In case some packages already had rc1 suffix prepared and released, and they 
still need to be released, they
 will have automatically appropriate rcN suffix added to them. The suffix will 
be increased for each release
 candidate and checked if tag has been already created for that release 
candidate. If yes, the suffix will be
@@ -493,6 +517,19 @@ cd "${AIRFLOW_REPO_ROOT}"
 breeze build-docs apache-airflow-providers cncf.kubernetes sftp --clean-build
 ```
 
+Alternatively, if you have set the environment variable: `PACKAGE_LIST` above, 
just run the command:
+
+```shell script
+cd "${AIRFLOW_REPO_ROOT}"
+breeze build-docs --clean-build
+```
+
+Or using `--package-list` argument:
+
+```shell script
+breeze build-docs --package-list PACKAGE1,PACKAGE2
+```
+
 - Now you can preview the documentation.
 
 ```shell script
@@ -533,6 +570,21 @@ breeze release-management publish-docs amazon apache.beam 
google ....
 breeze release-management add-back-references all-providers
 ```
 
+Alternatively, if you have set the environment variable: `PACKAGE_LIST` above, 
just run the command:
+
+```shell script
+breeze release-management publish-docs
+breeze release-management add-back-references all-providers
+```
+
+Or using `--package-list` argument:
+
+```shell script
+breeze release-management publish-docs --package-list PACKAGE1,PACKAGE2
+breeze release-management add-back-references all-providers
+```
+
+
 Review the state of removed, suspended, new packages in
 [the docs 
index](https://github.com/apache/airflow-site/blob/master/landing-pages/site/content/en/docs/_index.md):
 
diff --git a/dev/breeze/doc/images/output_build-docs.svg 
b/dev/breeze/doc/images/output_build-docs.svg
index 125608df8f..1769101730 100644
--- a/dev/breeze/doc/images/output_build-docs.svg
+++ b/dev/breeze/doc/images/output_build-docs.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1001.5999999999999" 
xmlns="http://www.w3.org/2000/svg";>
+<svg class="rich-terminal" viewBox="0 0 1482 1123.6" 
xmlns="http://www.w3.org/2000/svg";>
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-build-docs-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="950.5999999999999" />
+      <rect x="0" y="0" width="1463.0" height="1072.6" />
     </clipPath>
     <clipPath id="breeze-build-docs-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -159,9 +159,24 @@
 <clipPath id="breeze-build-docs-line-37">
     <rect x="0" y="904.3" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-build-docs-line-38">
+    <rect x="0" y="928.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-build-docs-line-39">
+    <rect x="0" y="953.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-build-docs-line-40">
+    <rect x="0" y="977.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-build-docs-line-41">
+    <rect x="0" y="1001.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-build-docs-line-42">
+    <rect x="0" y="1026.3" width="1464" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="999.6" rx="8"/><text 
class="breeze-build-docs-title" fill="#c5c8c6" text-anchor="middle" x="740" 
y="27">Command:&#160;build-docs</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="1121.6" rx="8"/><text 
class="breeze-build-docs-title" fill="#c5c8c6" text-anchor="middle" x="740" 
y="27">Command:&#160;build-docs</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -203,13 +218,18 @@
 </text><text class="breeze-build-docs-r5" x="0" y="727.6" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-29)">│</text><text 
class="breeze-build-docs-r4" x="24.4" y="727.6" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-29)">-</text><text 
class="breeze-build-docs-r4" x="36.6" y="727.6" textLength="85.4" 
clip-path="url(#breeze-build-docs-line-29)">-github</text><text 
class="breeze-build-docs-r4" x="122" y="727.6" textLength="134.2" 
clip-path="url(#breeze-build-docs-line [...]
 </text><text class="breeze-build-docs-r5" x="0" y="752" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-30)">│</text><text 
class="breeze-build-docs-r4" x="24.4" y="752" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-30)">-</text><text 
class="breeze-build-docs-r4" x="36.6" y="752" textLength="97.6" 
clip-path="url(#breeze-build-docs-line-30)">-builder</text><text 
class="breeze-build-docs-r1" x="451.4" y="752" textLength="756.4" 
clip-path="url(#breeze-build-docs-line-30)" [...]
 </text><text class="breeze-build-docs-r5" x="0" y="776.4" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-31)">│</text><text 
class="breeze-build-docs-r5" x="451.4" y="776.4" textLength="756.4" 
clip-path="url(#breeze-build-docs-line-31)">[default:&#160;autodetect]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-build-docs-r5" x="0" y="800.8" textLength="1464" 
clip-path="url(#breeze-build-docs-line-32)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-build-docs-r1" x="1464" y="800.8" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-32)">
-</text><text class="breeze-build-docs-r5" x="0" y="825.2" textLength="24.4" 
clip-path="url(#breeze-build-docs-line-33)">╭─</text><text 
class="breeze-build-docs-r5" x="24.4" y="825.2" textLength="195.2" 
clip-path="url(#breeze-build-docs-line-33)">&#160;Common&#160;options&#160;</text><text
 class="breeze-build-docs-r5" x="219.6" y="825.2" textLength="1220" 
clip-path="url(#breeze-build-docs-line-33)">───────────────────────────────────────────────────────────────────────────────────────────
 [...]
-</text><text class="breeze-build-docs-r5" x="0" y="849.6" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-34)">│</text><text 
class="breeze-build-docs-r4" x="24.4" y="849.6" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-34)">-</text><text 
class="breeze-build-docs-r4" x="36.6" y="849.6" textLength="48.8" 
clip-path="url(#breeze-build-docs-line-34)">-dry</text><text 
class="breeze-build-docs-r4" x="85.4" y="849.6" textLength="48.8" 
clip-path="url(#breeze-build-docs-line-34 [...]
-</text><text class="breeze-build-docs-r5" x="0" y="874" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-35)">│</text><text 
class="breeze-build-docs-r4" x="24.4" y="874" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-35)">-</text><text 
class="breeze-build-docs-r4" x="36.6" y="874" textLength="97.6" 
clip-path="url(#breeze-build-docs-line-35)">-verbose</text><text 
class="breeze-build-docs-r6" x="158.6" y="874" textLength="24.4" 
clip-path="url(#breeze-build-docs-line-35)"> [...]
-</text><text class="breeze-build-docs-r5" x="0" y="898.4" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-36)">│</text><text 
class="breeze-build-docs-r4" x="24.4" y="898.4" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-36)">-</text><text 
class="breeze-build-docs-r4" x="36.6" y="898.4" textLength="85.4" 
clip-path="url(#breeze-build-docs-line-36)">-answer</text><text 
class="breeze-build-docs-r6" x="158.6" y="898.4" textLength="24.4" 
clip-path="url(#breeze-build-docs-lin [...]
-</text><text class="breeze-build-docs-r5" x="0" y="922.8" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-37)">│</text><text 
class="breeze-build-docs-r4" x="24.4" y="922.8" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-37)">-</text><text 
class="breeze-build-docs-r4" x="36.6" y="922.8" textLength="61" 
clip-path="url(#breeze-build-docs-line-37)">-help</text><text 
class="breeze-build-docs-r6" x="158.6" y="922.8" textLength="24.4" 
clip-path="url(#breeze-build-docs-line-37 [...]
-</text><text class="breeze-build-docs-r5" x="0" y="947.2" textLength="1464" 
clip-path="url(#breeze-build-docs-line-38)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-build-docs-r1" x="1464" y="947.2" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-38)">
+</text><text class="breeze-build-docs-r5" x="0" y="800.8" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-32)">│</text><text 
class="breeze-build-docs-r4" x="24.4" y="800.8" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-32)">-</text><text 
class="breeze-build-docs-r4" x="36.6" y="800.8" textLength="97.6" 
clip-path="url(#breeze-build-docs-line-32)">-package</text><text 
class="breeze-build-docs-r4" x="134.2" y="800.8" textLength="61" 
clip-path="url(#breeze-build-docs-line [...]
+</text><text class="breeze-build-docs-r5" x="0" y="825.2" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-33)">│</text><text 
class="breeze-build-docs-r1" x="451.4" y="825.2" textLength="988.2" 
clip-path="url(#breeze-build-docs-line-33)">documentation&#160;building,&#160;and&#160;document&#160;publishing.&#160;It&#160;is&#160;an&#160;easier&#160;alternative&#160;to&#160;&#160;</text><text
 class="breeze-build-docs-r5" x="1451.8" y="825.2" textLength="12.2" 
clip-path="url(#breeze-b [...]
+</text><text class="breeze-build-docs-r5" x="0" y="849.6" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-34)">│</text><text 
class="breeze-build-docs-r1" x="451.4" y="849.6" textLength="988.2" 
clip-path="url(#breeze-build-docs-line-34)">adding&#160;individual&#160;packages&#160;as&#160;arguments&#160;to&#160;every&#160;command.&#160;This&#160;overrides&#160;the&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-build-docs-r5" x="1451.8" y="849.6" textLength="12.2" clip-path 
[...]
+</text><text class="breeze-build-docs-r5" x="0" y="874" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-35)">│</text><text 
class="breeze-build-docs-r1" x="451.4" y="874" textLength="988.2" 
clip-path="url(#breeze-build-docs-line-35)">packages&#160;passed&#160;as&#160;arguments.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-build-docs-r5" x="0" y="898.4" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-36)">│</text><text 
class="breeze-build-docs-r7" x="451.4" y="898.4" textLength="988.2" 
clip-path="url(#breeze-build-docs-line-36)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
+</text><text class="breeze-build-docs-r5" x="0" y="922.8" textLength="1464" 
clip-path="url(#breeze-build-docs-line-37)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-build-docs-r1" x="1464" y="922.8" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-37)">
+</text><text class="breeze-build-docs-r5" x="0" y="947.2" textLength="24.4" 
clip-path="url(#breeze-build-docs-line-38)">╭─</text><text 
class="breeze-build-docs-r5" x="24.4" y="947.2" textLength="195.2" 
clip-path="url(#breeze-build-docs-line-38)">&#160;Common&#160;options&#160;</text><text
 class="breeze-build-docs-r5" x="219.6" y="947.2" textLength="1220" 
clip-path="url(#breeze-build-docs-line-38)">───────────────────────────────────────────────────────────────────────────────────────────
 [...]
+</text><text class="breeze-build-docs-r5" x="0" y="971.6" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-39)">│</text><text 
class="breeze-build-docs-r4" x="24.4" y="971.6" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-39)">-</text><text 
class="breeze-build-docs-r4" x="36.6" y="971.6" textLength="48.8" 
clip-path="url(#breeze-build-docs-line-39)">-dry</text><text 
class="breeze-build-docs-r4" x="85.4" y="971.6" textLength="48.8" 
clip-path="url(#breeze-build-docs-line-39 [...]
+</text><text class="breeze-build-docs-r5" x="0" y="996" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-40)">│</text><text 
class="breeze-build-docs-r4" x="24.4" y="996" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-40)">-</text><text 
class="breeze-build-docs-r4" x="36.6" y="996" textLength="97.6" 
clip-path="url(#breeze-build-docs-line-40)">-verbose</text><text 
class="breeze-build-docs-r6" x="158.6" y="996" textLength="24.4" 
clip-path="url(#breeze-build-docs-line-40)"> [...]
+</text><text class="breeze-build-docs-r5" x="0" y="1020.4" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-41)">│</text><text 
class="breeze-build-docs-r4" x="24.4" y="1020.4" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-41)">-</text><text 
class="breeze-build-docs-r4" x="36.6" y="1020.4" textLength="85.4" 
clip-path="url(#breeze-build-docs-line-41)">-answer</text><text 
class="breeze-build-docs-r6" x="158.6" y="1020.4" textLength="24.4" 
clip-path="url(#breeze-build-docs [...]
+</text><text class="breeze-build-docs-r5" x="0" y="1044.8" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-42)">│</text><text 
class="breeze-build-docs-r4" x="24.4" y="1044.8" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-42)">-</text><text 
class="breeze-build-docs-r4" x="36.6" y="1044.8" textLength="61" 
clip-path="url(#breeze-build-docs-line-42)">-help</text><text 
class="breeze-build-docs-r6" x="158.6" y="1044.8" textLength="24.4" 
clip-path="url(#breeze-build-docs-lin [...]
+</text><text class="breeze-build-docs-r5" x="0" y="1069.2" textLength="1464" 
clip-path="url(#breeze-build-docs-line-43)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-build-docs-r1" x="1464" y="1069.2" textLength="12.2" 
clip-path="url(#breeze-build-docs-line-43)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_build-docs.txt 
b/dev/breeze/doc/images/output_build-docs.txt
index 6d09c03daf..a9ecb4c194 100644
--- a/dev/breeze/doc/images/output_build-docs.txt
+++ b/dev/breeze/doc/images/output_build-docs.txt
@@ -1 +1 @@
-b933a55a5768095039aa28b1c4860f9d
+7391d7b5a523f63bb02bea9ca23216dd
diff --git 
a/dev/breeze/doc/images/output_release-management_prepare-provider-packages.svg 
b/dev/breeze/doc/images/output_release-management_prepare-provider-packages.svg
index 8d8415a2b8..f034848cf5 100644
--- 
a/dev/breeze/doc/images/output_release-management_prepare-provider-packages.svg
+++ 
b/dev/breeze/doc/images/output_release-management_prepare-provider-packages.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 879.5999999999999" 
xmlns="http://www.w3.org/2000/svg";>
+<svg class="rich-terminal" viewBox="0 0 1482 1001.5999999999999" 
xmlns="http://www.w3.org/2000/svg";>
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath 
id="breeze-release-management-prepare-provider-packages-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="828.5999999999999" />
+      <rect x="0" y="0" width="1463.0" height="950.5999999999999" />
     </clipPath>
     <clipPath id="breeze-release-management-prepare-provider-packages-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -144,9 +144,24 @@
 <clipPath id="breeze-release-management-prepare-provider-packages-line-32">
     <rect x="0" y="782.3" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-release-management-prepare-provider-packages-line-33">
+    <rect x="0" y="806.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-prepare-provider-packages-line-34">
+    <rect x="0" y="831.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-prepare-provider-packages-line-35">
+    <rect x="0" y="855.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-prepare-provider-packages-line-36">
+    <rect x="0" y="879.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-prepare-provider-packages-line-37">
+    <rect x="0" y="904.3" width="1464" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="877.6" rx="8"/><text 
class="breeze-release-management-prepare-provider-packages-title" 
fill="#c5c8c6" text-anchor="middle" x="740" 
y="27">Command:&#160;release-management&#160;prepare-provider-packages</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="999.6" rx="8"/><text 
class="breeze-release-management-prepare-provider-packages-title" 
fill="#c5c8c6" text-anchor="middle" x="740" 
y="27">Command:&#160;release-management&#160;prepare-provider-packages</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -184,12 +199,17 @@
 </text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="630" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-25)">│</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="475.8" 
y="630" textLength="963.8" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-25)">debugging&#160;and&#160;developing&#160;changes&#160;to&#160;the&#160;build&#160;process.&#160;&#160;&#160;&#160;&
 [...]
 </text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="654.4" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-26)">│</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="24.4" 
y="654.4" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-26)">-</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="36.6" 
y="654.4" textLength="61"  [...]
 </text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="678.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-27)">│</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="24.4" 
y="678.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-27)">-</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="36.6" 
y="678.8" textLength="97.6 [...]
-</text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="703.2" textLength="1464" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-28)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="1464" 
y="703.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-28)">
-</text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="727.6" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-29)">╭─</text><text
 class="breeze-release-management-prepare-provider-packages-r5" x="24.4" 
y="727.6" textLength="195.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-29)">&#160;Common&#160;options&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r5" x=" [...]
-</text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="752" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-30)">│</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="24.4" 
y="752" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-30)">-</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="36.6" 
y="752" textLength="48.8" clip [...]
-</text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="776.4" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-31)">│</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="24.4" 
y="776.4" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-31)">-</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="36.6" 
y="776.4" textLength="97.6 [...]
-</text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="800.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-32)">│</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="24.4" 
y="800.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-32)">-</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="36.6" 
y="800.8" textLength="61"  [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="703.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-28)">│</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="24.4" 
y="703.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-28)">-</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="36.6" 
y="703.2" textLength="97.6 [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="727.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-29)">│</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="475.8" 
y="727.6" textLength="963.8" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-29)">documentation&#160;building,&#160;and&#160;document&#160;publishing.&#160;It&#160;is&#160;an&#160;easier&#160;
 [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="752" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-30)">│</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="475.8" 
y="752" textLength="963.8" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-30)">adding&#160;individual&#160;packages&#160;as&#160;arguments&#160;to&#160;every&#160;command.&#160;This&#160;overri
 [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="776.4" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-31)">│</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="475.8" 
y="776.4" textLength="963.8" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-31)">packages&#160;passed&#160;as&#160;arguments.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="800.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-32)">│</text><text
 class="breeze-release-management-prepare-provider-packages-r7" x="475.8" 
y="800.8" textLength="963.8" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-32)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
 </text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="825.2" textLength="1464" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-33)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="1464" 
y="825.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-33)">
+</text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="849.6" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-34)">╭─</text><text
 class="breeze-release-management-prepare-provider-packages-r5" x="24.4" 
y="849.6" textLength="195.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-34)">&#160;Common&#160;options&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r5" x=" [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="874" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-35)">│</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="24.4" 
y="874" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-35)">-</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="36.6" 
y="874" textLength="48.8" clip [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="898.4" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-36)">│</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="24.4" 
y="898.4" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-36)">-</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="36.6" 
y="898.4" textLength="97.6 [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="922.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-37)">│</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="24.4" 
y="922.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-37)">-</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="36.6" 
y="922.8" textLength="61"  [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r5" 
x="0" y="947.2" textLength="1464" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-38)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="1464" 
y="947.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-38)">
 </text>
     </g>
     </g>
diff --git 
a/dev/breeze/doc/images/output_release-management_prepare-provider-packages.txt 
b/dev/breeze/doc/images/output_release-management_prepare-provider-packages.txt
index 54a07c4018..b31b6cbfa2 100644
--- 
a/dev/breeze/doc/images/output_release-management_prepare-provider-packages.txt
+++ 
b/dev/breeze/doc/images/output_release-management_prepare-provider-packages.txt
@@ -1 +1 @@
-c275700c380ceda02285216e708d6798
+0511f7776390562cef3934433b84e495
diff --git a/dev/breeze/doc/images/output_release-management_publish-docs.svg 
b/dev/breeze/doc/images/output_release-management_publish-docs.svg
index 8351949136..115fbb2d5a 100644
--- a/dev/breeze/doc/images/output_release-management_publish-docs.svg
+++ b/dev/breeze/doc/images/output_release-management_publish-docs.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1026.0" 
xmlns="http://www.w3.org/2000/svg";>
+<svg class="rich-terminal" viewBox="0 0 1482 1148.0" 
xmlns="http://www.w3.org/2000/svg";>
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -45,7 +45,7 @@
 
     <defs>
     <clipPath id="breeze-release-management-publish-docs-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="975.0" />
+      <rect x="0" y="0" width="1463.0" height="1097.0" />
     </clipPath>
     <clipPath id="breeze-release-management-publish-docs-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -164,9 +164,24 @@
 <clipPath id="breeze-release-management-publish-docs-line-38">
     <rect x="0" y="928.7" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-release-management-publish-docs-line-39">
+    <rect x="0" y="953.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-publish-docs-line-40">
+    <rect x="0" y="977.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-publish-docs-line-41">
+    <rect x="0" y="1001.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-publish-docs-line-42">
+    <rect x="0" y="1026.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-publish-docs-line-43">
+    <rect x="0" y="1050.7" width="1464" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="1024" rx="8"/><text 
class="breeze-release-management-publish-docs-title" fill="#c5c8c6" 
text-anchor="middle" x="740" 
y="27">Command:&#160;release-management&#160;publish-docs</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="1146" rx="8"/><text 
class="breeze-release-management-publish-docs-title" fill="#c5c8c6" 
text-anchor="middle" x="740" 
y="27">Command:&#160;release-management&#160;publish-docs</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -201,21 +216,26 @@
 </text><text class="breeze-release-management-publish-docs-r5" x="0" y="556.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-22)">│</text><text 
class="breeze-release-management-publish-docs-r1" x="488" y="556.8" 
textLength="951.6" 
clip-path="url(#breeze-release-management-publish-docs-line-22)">matching&#160;the&#160;full&#160;package&#160;name,&#160;for&#160;example&#160;`apache-airflow-providers-*`.&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze [...]
 </text><text class="breeze-release-management-publish-docs-r5" x="0" y="581.2" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-23)">│</text><text 
class="breeze-release-management-publish-docs-r1" x="488" y="581.2" 
textLength="951.6" 
clip-path="url(#breeze-release-management-publish-docs-line-23)">Useful&#160;when&#160;you&#160;want&#160;to&#160;selectseveral&#160;similarly&#160;named&#160;packages&#160;together.&#160;&#160;&#160;&#160;&#160;&#160;</text><tex
 [...]
 </text><text class="breeze-release-management-publish-docs-r5" x="0" y="605.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-24)">│</text><text 
class="breeze-release-management-publish-docs-r8" x="488" y="605.6" 
textLength="951.6" 
clip-path="url(#breeze-release-management-publish-docs-line-24)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
-</text><text class="breeze-release-management-publish-docs-r5" x="0" y="630" 
textLength="1464" 
clip-path="url(#breeze-release-management-publish-docs-line-25)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-publish-docs-r1" x="1464" y="630" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-25)">
-</text><text class="breeze-release-management-publish-docs-r5" x="0" y="654.4" 
textLength="24.4" 
clip-path="url(#breeze-release-management-publish-docs-line-26)">╭─</text><text 
class="breeze-release-management-publish-docs-r5" x="24.4" y="654.4" 
textLength="219.6" 
clip-path="url(#breeze-release-management-publish-docs-line-26)">&#160;Parallel&#160;running&#160;</text><text
 class="breeze-release-management-publish-docs-r5" x="244" y="654.4" 
textLength="1195.6" clip-path="url(#breeze-relea [...]
-</text><text class="breeze-release-management-publish-docs-r5" x="0" y="678.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-27)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="678.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-27)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="36.6" y="678.8" 
textLength="48.8" 
clip-path="url(#breeze-release-management-publish-docs-line-27) [...]
-</text><text class="breeze-release-management-publish-docs-r5" x="0" y="703.2" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-28)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="703.2" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-28)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="36.6" y="703.2" 
textLength="146.4" 
clip-path="url(#breeze-release-management-publish-docs-line-28 [...]
-</text><text class="breeze-release-management-publish-docs-r5" x="0" y="727.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-29)">│</text><text 
class="breeze-release-management-publish-docs-r8" x="378.2" y="727.6" 
textLength="915" 
clip-path="url(#breeze-release-management-publish-docs-line-29)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
-</text><text class="breeze-release-management-publish-docs-r5" x="0" y="752" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-30)">│</text><text 
class="breeze-release-management-publish-docs-r5" x="378.2" y="752" 
textLength="915" 
clip-path="url(#breeze-release-management-publish-docs-line-30)">[default:&#160;4;&#160;1&lt;=x&lt;=8]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160
 [...]
-</text><text class="breeze-release-management-publish-docs-r5" x="0" y="776.4" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-31)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="776.4" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-31)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="36.6" y="776.4" 
textLength="61" 
clip-path="url(#breeze-release-management-publish-docs-line-31)"> [...]
-</text><text class="breeze-release-management-publish-docs-r5" x="0" y="800.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-32)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="800.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-32)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="36.6" y="800.8" 
textLength="73.2" 
clip-path="url(#breeze-release-management-publish-docs-line-32) [...]
-</text><text class="breeze-release-management-publish-docs-r5" x="0" y="825.2" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-33)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="825.2" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-33)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="36.6" y="825.2" 
textLength="97.6" 
clip-path="url(#breeze-release-management-publish-docs-line-33) [...]
-</text><text class="breeze-release-management-publish-docs-r5" x="0" y="849.6" 
textLength="1464" 
clip-path="url(#breeze-release-management-publish-docs-line-34)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-publish-docs-r1" x="1464" y="849.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-34)">
-</text><text class="breeze-release-management-publish-docs-r5" x="0" y="874" 
textLength="24.4" 
clip-path="url(#breeze-release-management-publish-docs-line-35)">╭─</text><text 
class="breeze-release-management-publish-docs-r5" x="24.4" y="874" 
textLength="195.2" 
clip-path="url(#breeze-release-management-publish-docs-line-35)">&#160;Common&#160;options&#160;</text><text
 class="breeze-release-management-publish-docs-r5" x="219.6" y="874" 
textLength="1220" clip-path="url(#breeze-release-manag [...]
-</text><text class="breeze-release-management-publish-docs-r5" x="0" y="898.4" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-36)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="898.4" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-36)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="36.6" y="898.4" 
textLength="48.8" 
clip-path="url(#breeze-release-management-publish-docs-line-36) [...]
-</text><text class="breeze-release-management-publish-docs-r5" x="0" y="922.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-37)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="922.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-37)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="36.6" y="922.8" 
textLength="97.6" 
clip-path="url(#breeze-release-management-publish-docs-line-37) [...]
-</text><text class="breeze-release-management-publish-docs-r5" x="0" y="947.2" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-38)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="947.2" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-38)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="36.6" y="947.2" 
textLength="61" 
clip-path="url(#breeze-release-management-publish-docs-line-38)"> [...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" y="630" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-25)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="61" y="630" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-25)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="73.2" y="630" 
textLength="97.6" 
clip-path="url(#breeze-release-management-publish-docs-line-25)">-packa [...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" y="654.4" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-26)">│</text><text 
class="breeze-release-management-publish-docs-r1" x="488" y="654.4" 
textLength="951.6" 
clip-path="url(#breeze-release-management-publish-docs-line-26)">documentation&#160;building,&#160;and&#160;document&#160;publishing.&#160;It&#160;is&#160;an&#160;easier&#160;alternative&#160;&#160;</text><text
 class="breeze-rele [...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" y="678.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-27)">│</text><text 
class="breeze-release-management-publish-docs-r1" x="488" y="678.8" 
textLength="951.6" 
clip-path="url(#breeze-release-management-publish-docs-line-27)">to&#160;adding&#160;individual&#160;packages&#160;as&#160;arguments&#160;to&#160;every&#160;command.&#160;This&#160;overrides&#160;&#160;&#160;</text><text
 class="b [...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" y="703.2" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-28)">│</text><text 
class="breeze-release-management-publish-docs-r1" x="488" y="703.2" 
textLength="951.6" 
clip-path="url(#breeze-release-management-publish-docs-line-28)">the&#160;packages&#160;passed&#160;as&#160;arguments.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" y="727.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-29)">│</text><text 
class="breeze-release-management-publish-docs-r8" x="488" y="727.6" 
textLength="951.6" 
clip-path="url(#breeze-release-management-publish-docs-line-29)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" y="752" 
textLength="1464" 
clip-path="url(#breeze-release-management-publish-docs-line-30)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-publish-docs-r1" x="1464" y="752" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-30)">
+</text><text class="breeze-release-management-publish-docs-r5" x="0" y="776.4" 
textLength="24.4" 
clip-path="url(#breeze-release-management-publish-docs-line-31)">╭─</text><text 
class="breeze-release-management-publish-docs-r5" x="24.4" y="776.4" 
textLength="219.6" 
clip-path="url(#breeze-release-management-publish-docs-line-31)">&#160;Parallel&#160;running&#160;</text><text
 class="breeze-release-management-publish-docs-r5" x="244" y="776.4" 
textLength="1195.6" clip-path="url(#breeze-relea [...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" y="800.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-32)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="800.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-32)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="36.6" y="800.8" 
textLength="48.8" 
clip-path="url(#breeze-release-management-publish-docs-line-32) [...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" y="825.2" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-33)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="825.2" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-33)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="36.6" y="825.2" 
textLength="146.4" 
clip-path="url(#breeze-release-management-publish-docs-line-33 [...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" y="849.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-34)">│</text><text 
class="breeze-release-management-publish-docs-r8" x="378.2" y="849.6" 
textLength="915" 
clip-path="url(#breeze-release-management-publish-docs-line-34)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" y="874" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-35)">│</text><text 
class="breeze-release-management-publish-docs-r5" x="378.2" y="874" 
textLength="915" 
clip-path="url(#breeze-release-management-publish-docs-line-35)">[default:&#160;4;&#160;1&lt;=x&lt;=8]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160
 [...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" y="898.4" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-36)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="898.4" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-36)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="36.6" y="898.4" 
textLength="61" 
clip-path="url(#breeze-release-management-publish-docs-line-36)"> [...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" y="922.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-37)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="922.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-37)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="36.6" y="922.8" 
textLength="73.2" 
clip-path="url(#breeze-release-management-publish-docs-line-37) [...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" y="947.2" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-38)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="947.2" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-38)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="36.6" y="947.2" 
textLength="97.6" 
clip-path="url(#breeze-release-management-publish-docs-line-38) [...]
 </text><text class="breeze-release-management-publish-docs-r5" x="0" y="971.6" 
textLength="1464" 
clip-path="url(#breeze-release-management-publish-docs-line-39)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-publish-docs-r1" x="1464" y="971.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-39)">
+</text><text class="breeze-release-management-publish-docs-r5" x="0" y="996" 
textLength="24.4" 
clip-path="url(#breeze-release-management-publish-docs-line-40)">╭─</text><text 
class="breeze-release-management-publish-docs-r5" x="24.4" y="996" 
textLength="195.2" 
clip-path="url(#breeze-release-management-publish-docs-line-40)">&#160;Common&#160;options&#160;</text><text
 class="breeze-release-management-publish-docs-r5" x="219.6" y="996" 
textLength="1220" clip-path="url(#breeze-release-manag [...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" 
y="1020.4" textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-41)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="1020.4" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-41)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="36.6" y="1020.4" 
textLength="48.8" clip-path="url(#breeze-release-management-publish-docs-line- 
[...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" 
y="1044.8" textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-42)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="1044.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-42)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="36.6" y="1044.8" 
textLength="97.6" clip-path="url(#breeze-release-management-publish-docs-line- 
[...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" 
y="1069.2" textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-43)">│</text><text 
class="breeze-release-management-publish-docs-r4" x="24.4" y="1069.2" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-43)">-</text><text 
class="breeze-release-management-publish-docs-r4" x="36.6" y="1069.2" 
textLength="61" clip-path="url(#breeze-release-management-publish-docs-line-43 
[...]
+</text><text class="breeze-release-management-publish-docs-r5" x="0" 
y="1093.6" textLength="1464" 
clip-path="url(#breeze-release-management-publish-docs-line-44)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-publish-docs-r1" x="1464" y="1093.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-publish-docs-line-44)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_release-management_publish-docs.txt 
b/dev/breeze/doc/images/output_release-management_publish-docs.txt
index 776b7f7fca..69a8235801 100644
--- a/dev/breeze/doc/images/output_release-management_publish-docs.txt
+++ b/dev/breeze/doc/images/output_release-management_publish-docs.txt
@@ -1 +1 @@
-c5ec5274613346fcc37d187485028ca7
+13ec64b7164df160ed21b6395cdd67ee
diff --git a/dev/breeze/src/airflow_breeze/commands/developer_commands.py 
b/dev/breeze/src/airflow_breeze/commands/developer_commands.py
index fa1bded690..a781cacd07 100644
--- a/dev/breeze/src/airflow_breeze/commands/developer_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/developer_commands.py
@@ -609,6 +609,14 @@ def start_airflow(
     type=str,
     multiple=True,
 )
[email protected](
+    "--package-list",
+    envvar="PACKAGE_LIST",
+    type=str,
+    help="Optional, contains comma-seperated list of package ids that are 
processed for documentation "
+    "building, and document publishing. It is an easier alternative to adding 
individual packages as"
+    " arguments to every command. This overrides the packages passed as 
arguments.",
+)
 @click.option("-s", "--spellcheck-only", help="Only run spell checking.", 
is_flag=True)
 @option_verbose
 @option_answer
@@ -622,6 +630,7 @@ def build_docs(
     include_removed_providers: bool,
     one_pass_only: bool,
     package_filter: tuple[str, ...],
+    package_list: str,
     spellcheck_only: bool,
     doc_packages: tuple[str, ...],
 ):
@@ -641,6 +650,17 @@ def build_docs(
             for directory in docs_dir.rglob(dir_name):
                 get_console().print(f"[info]Removing {directory}")
                 shutil.rmtree(directory, ignore_errors=True)
+    temp_doc_packages = None
+    if package_list and len(package_list):
+        get_console().print(f"\n[info]Populating provider list from 
PACKAGE_LIST env as {package_list}")
+        # Override doc_packages with values from PACKAGE_LIST
+        temp_doc_packages = tuple(package_list.split(","))
+    if doc_packages and package_list:
+        get_console().print(
+            f"[warning]Both package arguments and --package-list / 
PACKAGE_LIST passed. "
+            f"Overriding to {temp_doc_packages}"
+        )
+    doc_packages = temp_doc_packages or ()
     doc_builder = DocBuildParams(
         package_filter=package_filter,
         docs_only=docs_only,
diff --git 
a/dev/breeze/src/airflow_breeze/commands/developer_commands_config.py 
b/dev/breeze/src/airflow_breeze/commands/developer_commands_config.py
index f7f00f0b84..fd4ca652c9 100644
--- a/dev/breeze/src/airflow_breeze/commands/developer_commands_config.py
+++ b/dev/breeze/src/airflow_breeze/commands/developer_commands_config.py
@@ -297,6 +297,7 @@ DEVELOPER_PARAMETERS: dict[str, list[dict[str, str | 
list[str]]]] = {
                 "--include-removed-providers",
                 "--github-repository",
                 "--builder",
+                "--package-list",
             ],
         },
     ],
diff --git 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
index 656a1c6e02..cf71af915f 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -742,6 +742,14 @@ def basic_provider_checks(provider_package_id: str) -> 
dict[str, Any]:
     help="Clean dist directory before building packages. Useful when you want 
to build multiple packages "
     " in a clean environment",
 )
[email protected](
+    "--package-list",
+    envvar="PACKAGE_LIST",
+    type=str,
+    help="Optional, contains comma-seperated list of package ids that are 
processed for documentation "
+    "building, and document publishing. It is an easier alternative to adding 
individual packages as"
+    " arguments to every command. This overrides the packages passed as 
arguments.",
+)
 @option_dry_run
 @option_github_repository
 @option_include_not_ready_providers
@@ -750,6 +758,7 @@ def basic_provider_checks(provider_package_id: str) -> 
dict[str, Any]:
 @option_verbose
 def prepare_provider_packages(
     clean_dist: bool,
+    package_list: str,
     github_repository: str,
     include_not_ready_providers: bool,
     include_removed_providers: bool,
@@ -764,6 +773,18 @@ def prepare_provider_packages(
     perform_environment_checks()
     fix_ownership_using_docker()
     cleanup_python_generated_files()
+    temp_provider_packages = None
+    if package_list and len(package_list):
+        get_console().print(f"\n[info]Populating provider list from 
PACKAGE_LIST env as {package_list}")
+        # Override provider_packages with values from PACKAGE_LIST
+        temp_provider_packages = tuple(package_list.split(","))
+    if provider_packages and package_list:
+        get_console().print(
+            f"[warning]Both package arguments and --package-list / 
PACKAGE_LIST passed. "
+            f"Overriding to {temp_provider_packages}"
+        )
+    provider_packages = temp_provider_packages or ()
+
     packages_list = get_packages_list_to_act_on(
         package_list_file=package_list_file,
         provider_packages=provider_packages,
@@ -1410,6 +1431,14 @@ def run_publish_docs_in_parallel(
     type=str,
     multiple=True,
 )
[email protected](
+    "--package-list",
+    envvar="PACKAGE_LIST",
+    type=str,
+    help="Optional, contains comma-seperated list of package ids that are 
processed for documentation "
+    "building, and document publishing. It is an easier alternative to adding 
individual packages as"
+    " arguments to every command. This overrides the packages passed as 
arguments.",
+)
 @option_parallelism
 @option_run_in_parallel
 @option_skip_cleanup
@@ -1423,6 +1452,7 @@ def publish_docs(
     include_removed_providers: bool,
     override_versioned: bool,
     package_filter: tuple[str, ...],
+    package_list: str,
     parallelism: int,
     run_in_parallel: bool,
     skip_cleanup: bool,
@@ -1433,6 +1463,17 @@ def publish_docs(
             "\n[error]location pointed by airflow_site_dir is not valid. "
             "Provide the path of cloned airflow-site repo\n"
         )
+    temp_doc_packages = None
+    if package_list and len(package_list):
+        get_console().print(f"\n[info]Populating provider list from 
PACKAGE_LIST env as {package_list}")
+        # Override doc_packages with values from PACKAGE_LIST
+        temp_doc_packages = tuple(package_list.split(","))
+    if doc_packages and package_list:
+        get_console().print(
+            f"[warning]Both package arguments and --package-list / 
PACKAGE_LIST passed. "
+            f"Overriding to {temp_doc_packages}"
+        )
+    doc_packages = temp_doc_packages or ()
 
     current_packages = find_matching_long_package_names(
         short_packages=expand_all_provider_packages(
diff --git 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
index 7afbda1242..9300a7d642 100644
--- 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
+++ 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
@@ -181,6 +181,7 @@ RELEASE_MANAGEMENT_PARAMETERS: dict[str, list[dict[str, str 
| list[str]]]] = {
                 "--skip-deleting-generated-files",
                 "--skip-tag-check",
                 "--version-suffix-for-pypi",
+                "--package-list",
             ],
         }
     ],
@@ -258,6 +259,7 @@ RELEASE_MANAGEMENT_PARAMETERS: dict[str, list[dict[str, str 
| list[str]]]] = {
                 "--include-removed-providers",
                 "--override-versioned",
                 "--package-filter",
+                "--package-list",
             ],
         },
         {

Reply via email to