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 5ef886e976 Remove "--for-production" flag from docs building (#32564)
5ef886e976 is described below
commit 5ef886e97608ab8c97fa70c3fcd067b2748be4f6
Author: Jarek Potiuk <[email protected]>
AuthorDate: Wed Jul 12 21:41:19 2023 +0200
Remove "--for-production" flag from docs building (#32564)
We had two types of documentation building:
* latest
* for production
But in fact they never overlapped and we were never mixing the two
We used the latest for all development work and for production for
releasing to "airflow.apache.org".
However as we saw in #32562 (triggered by #32495 changing the build
in main to run with `--for-production` flag - we actually do not
need the "latest" builds at all. Everything can be build with
"for production" by default.
This change removes the `--for-production` flag entirely, leaving
the "for production" build mode as the only one available.
---
.github/workflows/ci.yml | 1 -
dev/README_RELEASE_AIRFLOW.md | 2 +-
dev/README_RELEASE_HELM_CHART.md | 2 +-
dev/README_RELEASE_PROVIDER_PACKAGES.md | 9 +-
.../airflow_breeze/commands/developer_commands.py | 13 +-
.../commands/developer_commands_config.py | 1 -
.../commands/release_management_commands.py | 2 +-
.../src/airflow_breeze/params/doc_build_params.py | 3 -
.../airflow_breeze/utils/publish_docs_builder.py | 9 +-
.../build_provider_documentation.sh | 1 -
docs/build_docs.py | 40 +-----
docs/conf.py | 26 ++--
docs/exts/airflow_intersphinx.py | 5 +-
.../exts/docs_build/dev_index_template.html.jinja2 | 8 +-
docs/exts/docs_build/docs_builder.py | 9 +-
images/breeze/output-commands-hash.txt | 2 +-
images/breeze/output-commands.svg | 2 +-
images/breeze/output_build-docs.svg | 134 +++++++++------------
18 files changed, 91 insertions(+), 178 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d62660e536..bc0c183825 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -633,7 +633,6 @@ jobs:
run: >
breeze build-docs
${{ needs.build-info.outputs.docs-filter-list-as-string }}
- --for-production
- name: "Clone airflow-site"
run: >
git clone https://github.com/apache/airflow-site.git
${GITHUB_WORKSPACE}/airflow-site &&
diff --git a/dev/README_RELEASE_AIRFLOW.md b/dev/README_RELEASE_AIRFLOW.md
index ccce45a2da..b24c2feff1 100644
--- a/dev/README_RELEASE_AIRFLOW.md
+++ b/dev/README_RELEASE_AIRFLOW.md
@@ -792,7 +792,7 @@ Documentation for providers can be found in the
``/docs/apache-airflow`` directo
```shell script
cd "${AIRFLOW_REPO_ROOT}"
- breeze build-docs --package-filter apache-airflow --package-filter
docker-stack --clean-build --for-production
+ breeze build-docs --package-filter apache-airflow --package-filter
docker-stack --clean-build
```
- Now you can preview the documentation.
diff --git a/dev/README_RELEASE_HELM_CHART.md b/dev/README_RELEASE_HELM_CHART.md
index 727170ecb3..cf664c3d84 100644
--- a/dev/README_RELEASE_HELM_CHART.md
+++ b/dev/README_RELEASE_HELM_CHART.md
@@ -613,7 +613,7 @@ between the two repositories to be able to build the
documentation.
```shell
cd "${AIRFLOW_REPO_ROOT}"
git checkout helm-chart/${VERSION}
- breeze build-docs --package-filter helm-chart --clean-build
--for-production
+ breeze build-docs --package-filter helm-chart --clean-build
```
- Now you can preview the documentation.
diff --git a/dev/README_RELEASE_PROVIDER_PACKAGES.md
b/dev/README_RELEASE_PROVIDER_PACKAGES.md
index 6157221307..65bf935586 100644
--- a/dev/README_RELEASE_PROVIDER_PACKAGES.md
+++ b/dev/README_RELEASE_PROVIDER_PACKAGES.md
@@ -347,7 +347,7 @@ git pull --rebase
```shell script
cd "${AIRFLOW_REPO_ROOT}"
-breeze build-docs --clean-build --for-production --package-filter
apache-airflow-providers \
+breeze build-docs --clean-build --package-filter apache-airflow-providers \
--package-filter 'apache-airflow-providers-*'
```
@@ -359,7 +359,7 @@ If we want to just release some providers you can release
them in this way:
```shell script
cd "${AIRFLOW_REPO_ROOT}"
-breeze build-docs --clean-build --for-production \
+breeze build-docs --clean-build \
--package-filter apache-airflow-providers \
--package-filter 'apache-airflow-providers-PACKAGE1' \
--package-filter 'apache-airflow-providers-PACKAGE2' \
@@ -380,11 +380,6 @@ If you have providers as list of provider ids because you
just released them, yo
./docs/start_doc_server.sh
```
-You should navigate the providers and make sure the docs render properly.
-Note: if you used ``--for-production`` then default of url paths goes to
``latest``
-thus viewing the pages will result in 404 file not found error.
-You will need to change it manually to see the docs
-
- Copy the documentation to the ``airflow-site`` repository
All providers (including overriding documentation for doc-only changes):
diff --git a/dev/breeze/src/airflow_breeze/commands/developer_commands.py
b/dev/breeze/src/airflow_breeze/commands/developer_commands.py
index cc81cd5b48..59d95e5f88 100644
--- a/dev/breeze/src/airflow_breeze/commands/developer_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/developer_commands.py
@@ -340,12 +340,6 @@ def start_airflow(
"before the build - useful for a clean build.",
is_flag=True,
)
[email protected](
- "--for-production",
- help="Builds documentation for official release i.e. all links point to
stable version. "
- "Implies --clean-build",
- is_flag=True,
-)
@click.option(
"--one-pass-only",
help="Builds documentation in one pass only. This is useful for debugging
sphinx errors.",
@@ -357,17 +351,12 @@ def start_airflow(
def build_docs(
docs_only: bool,
spellcheck_only: bool,
- for_production: bool,
builder: str,
clean_build: bool,
one_pass_only: bool,
package_filter: tuple[str],
github_repository: str,
):
- """Build documentation in the container."""
- if for_production and not clean_build:
- get_console().print("\n[warning]When building docs for production,
clean-build is forced\n")
- clean_build = True
perform_environment_checks()
cleanup_python_generated_files()
params = BuildCiParams(
@@ -385,7 +374,7 @@ def build_docs(
package_filter=package_filter,
docs_only=docs_only,
spellcheck_only=spellcheck_only,
- for_production=for_production,
+ one_pass_only=one_pass_only,
skip_environment_initialization=True,
)
extra_docker_flags = get_extra_docker_flags(MOUNT_SELECTED)
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 cbc9e4348b..81c99e793f 100644
--- a/dev/breeze/src/airflow_breeze/commands/developer_commands_config.py
+++ b/dev/breeze/src/airflow_breeze/commands/developer_commands_config.py
@@ -185,7 +185,6 @@ DEVELOPER_PARAMETERS: dict[str, list[dict[str, str |
list[str]]]] = {
"--docs-only",
"--spellcheck-only",
"--clean-build",
- "--for-production",
"--one-pass-only",
"--package-filter",
"--github-repository",
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 eec7e1d0ea..565e323c4d 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -816,7 +816,7 @@ def publish_docs(
print(f" - {pkg}")
print()
for package_name in current_packages:
- builder = PublishDocsBuilder(package_name=package_name,
for_production=True)
+ builder = PublishDocsBuilder(package_name=package_name)
builder.publish(override_versioned=override_versioned,
airflow_site_dir=airflow_site_directory)
diff --git a/dev/breeze/src/airflow_breeze/params/doc_build_params.py
b/dev/breeze/src/airflow_breeze/params/doc_build_params.py
index 4f6998813d..158e939645 100644
--- a/dev/breeze/src/airflow_breeze/params/doc_build_params.py
+++ b/dev/breeze/src/airflow_breeze/params/doc_build_params.py
@@ -27,7 +27,6 @@ class DocBuildParams:
package_filter: tuple[str]
docs_only: bool
spellcheck_only: bool
- for_production: bool
skip_environment_initialization: bool = False
one_pass_only: bool = False
github_actions = os.environ.get("GITHUB_ACTIONS", "false")
@@ -39,8 +38,6 @@ class DocBuildParams:
doc_args.append("--docs-only")
if self.spellcheck_only:
doc_args.append("--spellcheck-only")
- if self.for_production:
- doc_args.append("--for-production")
if self.one_pass_only:
doc_args.append("--one-pass-only")
if AIRFLOW_BRANCH != "main":
diff --git a/dev/breeze/src/airflow_breeze/utils/publish_docs_builder.py
b/dev/breeze/src/airflow_breeze/utils/publish_docs_builder.py
index 24b5505f28..5a64cbd997 100644
--- a/dev/breeze/src/airflow_breeze/utils/publish_docs_builder.py
+++ b/dev/breeze/src/airflow_breeze/utils/publish_docs_builder.py
@@ -44,9 +44,8 @@ console = Console(force_terminal=True,
color_system="standard", width=CONSOLE_WI
class PublishDocsBuilder:
"""Documentation builder for Airflow Docs Publishing."""
- def __init__(self, package_name: str, for_production: bool):
+ def __init__(self, package_name: str):
self.package_name = package_name
- self.for_production = for_production
@property
def _doctree_dir(self) -> str:
@@ -66,7 +65,7 @@ class PublishDocsBuilder:
@property
def _build_dir(self) -> str:
if self.is_versioned:
- version = "stable" if self.for_production else "latest"
+ version = "stable"
return f"{DOCS_DIR}/_build/docs/{self.package_name}/{version}"
else:
return f"{DOCS_DIR}/_build/docs/{self.package_name}"
@@ -154,8 +153,6 @@ class PublishDocsBuilder:
env = os.environ.copy()
env["AIRFLOW_PACKAGE_NAME"] = self.package_name
- if self.for_production:
- env["AIRFLOW_FOR_PRODUCTION"] = "true"
if verbose:
console.print(
f"[info]{self.package_name:60}:[/] Executing cmd: ",
@@ -229,8 +226,6 @@ class PublishDocsBuilder:
]
env = os.environ.copy()
env["AIRFLOW_PACKAGE_NAME"] = self.package_name
- if self.for_production:
- env["AIRFLOW_FOR_PRODUCTION"] = "true"
if verbose:
console.print(
f"[info]{self.package_name:60}:[/] Executing cmd: ",
diff --git a/dev/provider_packages/build_provider_documentation.sh
b/dev/provider_packages/build_provider_documentation.sh
index e59cf87e69..7d8a55b8a5 100755
--- a/dev/provider_packages/build_provider_documentation.sh
+++ b/dev/provider_packages/build_provider_documentation.sh
@@ -29,7 +29,6 @@ do
done
.breeze build-docs \
- --for-production \
--clean-build \
"${provider_filters[@]}"
cd "${AIRFLOW_SITE_DIRECTORY}"
diff --git a/docs/build_docs.py b/docs/build_docs.py
index bc66fc793f..84ddb4d22c 100755
--- a/docs/build_docs.py
+++ b/docs/build_docs.py
@@ -135,12 +135,6 @@ def _get_parser():
parser.add_argument(
"--spellcheck-only", dest="spellcheck_only", action="store_true",
help="Only perform spellchecking"
)
- parser.add_argument(
- "--for-production",
- dest="for_production",
- action="store_true",
- help="Builds documentation for official release i.e. all links point
to stable version",
- )
parser.add_argument(
"-j",
"--jobs",
@@ -173,7 +167,6 @@ class BuildSpecification(NamedTuple):
"""Specification of single build."""
package_name: str
- for_production: bool
verbose: bool
@@ -195,9 +188,7 @@ class SpellCheckResult(NamedTuple):
def perform_docs_build_for_single_package(build_specification:
BuildSpecification) -> BuildDocsResult:
"""Performs single package docs build."""
- builder = AirflowDocsBuilder(
- package_name=build_specification.package_name,
for_production=build_specification.for_production
- )
+ builder = AirflowDocsBuilder(package_name=build_specification.package_name)
console.print(f"[info]{build_specification.package_name:60}:[/] Building
documentation")
result = BuildDocsResult(
package_name=build_specification.package_name,
@@ -211,9 +202,7 @@ def
perform_docs_build_for_single_package(build_specification: BuildSpecificatio
def perform_spell_check_for_single_package(build_specification:
BuildSpecification) -> SpellCheckResult:
"""Performs single package spell check."""
- builder = AirflowDocsBuilder(
- package_name=build_specification.package_name,
for_production=build_specification.for_production
- )
+ builder = AirflowDocsBuilder(package_name=build_specification.package_name)
console.print(f"[info]{build_specification.package_name:60}:[/] Checking
spelling started")
result = SpellCheckResult(
package_name=build_specification.package_name,
@@ -230,7 +219,6 @@ def build_docs_for_packages(
current_packages: list[str],
docs_only: bool,
spellcheck_only: bool,
- for_production: bool,
jobs: int,
verbose: bool,
) -> tuple[dict[str, list[DocBuildError]], dict[str, list[SpellingError]]]:
@@ -240,7 +228,7 @@ def build_docs_for_packages(
with with_group("Cleaning documentation files"):
for package_name in current_packages:
console.print(f"[info]{package_name:60}:[/] Cleaning files")
- builder = AirflowDocsBuilder(package_name=package_name,
for_production=for_production)
+ builder = AirflowDocsBuilder(package_name=package_name)
builder.clean_files()
if jobs > 1:
run_in_parallel(
@@ -248,7 +236,6 @@ def build_docs_for_packages(
all_spelling_errors,
current_packages,
docs_only,
- for_production,
jobs,
spellcheck_only,
verbose,
@@ -259,7 +246,6 @@ def build_docs_for_packages(
all_spelling_errors,
current_packages,
docs_only,
- for_production,
spellcheck_only,
verbose,
)
@@ -271,7 +257,6 @@ def run_sequentially(
all_spelling_errors,
current_packages,
docs_only,
- for_production,
spellcheck_only,
verbose,
):
@@ -281,7 +266,6 @@ def run_sequentially(
build_result = perform_docs_build_for_single_package(
build_specification=BuildSpecification(
package_name=package_name,
- for_production=for_production,
verbose=verbose,
)
)
@@ -293,7 +277,6 @@ def run_sequentially(
spellcheck_result = perform_spell_check_for_single_package(
build_specification=BuildSpecification(
package_name=package_name,
- for_production=for_production,
verbose=verbose,
)
)
@@ -307,7 +290,6 @@ def run_in_parallel(
all_spelling_errors,
current_packages,
docs_only,
- for_production,
jobs,
spellcheck_only,
verbose,
@@ -317,7 +299,6 @@ def run_in_parallel(
if not spellcheck_only:
run_docs_build_in_parallel(
all_build_errors=all_build_errors,
- for_production=for_production,
current_packages=current_packages,
verbose=verbose,
pool=pool,
@@ -325,7 +306,6 @@ def run_in_parallel(
if not docs_only:
run_spell_check_in_parallel(
all_spelling_errors=all_spelling_errors,
- for_production=for_production,
current_packages=current_packages,
verbose=verbose,
pool=pool,
@@ -345,7 +325,6 @@ def print_build_output(result: BuildDocsResult):
def run_docs_build_in_parallel(
all_build_errors: dict[str, list[DocBuildError]],
- for_production: bool,
current_packages: list[str],
verbose: bool,
pool,
@@ -358,7 +337,6 @@ def run_docs_build_in_parallel(
doc_build_specifications.append(
BuildSpecification(
package_name=package_name,
- for_production=for_production,
verbose=verbose,
)
)
@@ -385,7 +363,6 @@ def print_spelling_output(result: SpellCheckResult):
def run_spell_check_in_parallel(
all_spelling_errors: dict[str, list[SpellingError]],
- for_production: bool,
current_packages: list[str],
verbose: bool,
pool,
@@ -395,9 +372,7 @@ def run_spell_check_in_parallel(
with with_group("Scheduling spell checking of documentation"):
for package_name in current_packages:
console.print(f"[info]{package_name:60}:[/] Scheduling
spellchecking")
- spell_check_specifications.append(
- BuildSpecification(package_name=package_name,
for_production=for_production, verbose=verbose)
- )
+
spell_check_specifications.append(BuildSpecification(package_name=package_name,
verbose=verbose))
with with_group("Running spell checking of documentation"):
console.print()
result_list = pool.map(perform_spell_check_for_single_package,
spell_check_specifications)
@@ -455,7 +430,6 @@ def main():
disable_provider_checks = args.disable_provider_checks
disable_checks = args.disable_checks
package_filters = args.package_filter
- for_production = args.for_production
with with_group("Available packages"):
for pkg in sorted(available_packages):
@@ -489,7 +463,6 @@ def main():
current_packages=priority_packages,
docs_only=docs_only,
spellcheck_only=spellcheck_only,
- for_production=for_production,
jobs=jobs,
verbose=args.verbose,
)
@@ -506,7 +479,6 @@ def main():
current_packages=current_packages if len(priority_packages) > 1 else
normal_packages,
docs_only=docs_only,
spellcheck_only=spellcheck_only,
- for_production=for_production,
jobs=jobs,
verbose=args.verbose,
)
@@ -522,7 +494,6 @@ def main():
all_spelling_errors,
args,
docs_only,
- for_production,
jobs,
package_build_errors,
package_spelling_errors,
@@ -535,7 +506,6 @@ def main():
all_spelling_errors,
args,
docs_only,
- for_production,
jobs,
package_build_errors,
package_spelling_errors,
@@ -566,7 +536,6 @@ def retry_building_docs_if_needed(
all_spelling_errors,
args,
docs_only,
- for_production,
jobs,
package_build_errors,
package_spelling_errors,
@@ -588,7 +557,6 @@ def retry_building_docs_if_needed(
current_packages=to_retry_packages,
docs_only=docs_only,
spellcheck_only=spellcheck_only,
- for_production=for_production,
jobs=jobs,
verbose=args.verbose,
)
diff --git a/docs/conf.py b/docs/conf.py
index 5029f4c0dc..9f1645e425 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -52,7 +52,6 @@ from docs_build.third_party_inventories import
THIRD_PARTY_INDEXES # noqa: E402
CONF_DIR = pathlib.Path(__file__).parent.absolute()
INVENTORY_CACHE_DIR = CONF_DIR / "_inventory_cache"
ROOT_DIR = CONF_DIR.parent
-FOR_PRODUCTION = os.environ.get("AIRFLOW_FOR_PRODUCTION", "false") == "true"
# By default (e.g. on RTD), build docs for `airflow` package
PACKAGE_NAME = os.environ.get("AIRFLOW_PACKAGE_NAME", "apache-airflow")
@@ -343,7 +342,7 @@ html_sidebars = {
"searchbox.html",
"globaltoc.html",
]
- if FOR_PRODUCTION and PACKAGE_VERSION != "devel"
+ if PACKAGE_VERSION != "devel"
else [
"searchbox.html",
"globaltoc.html",
@@ -358,16 +357,15 @@ html_show_copyright = False
html_theme_options: dict[str, Any] = {"hide_website_buttons": True,
"sidebar_includehidden": True}
-if FOR_PRODUCTION:
- html_theme_options["navbar_links"] = [
- {"href": "/community/", "text": "Community"},
- {"href": "/meetups/", "text": "Meetups"},
- {"href": "/docs/", "text": "Documentation"},
- {"href": "/use-cases/", "text": "Use-cases"},
- {"href": "/announcements/", "text": "Announcements"},
- {"href": "/blog/", "text": "Blog"},
- {"href": "/ecosystem/", "text": "Ecosystem"},
- ]
+html_theme_options["navbar_links"] = [
+ {"href": "/community/", "text": "Community"},
+ {"href": "/meetups/", "text": "Meetups"},
+ {"href": "/docs/", "text": "Documentation"},
+ {"href": "/use-cases/", "text": "Use-cases"},
+ {"href": "/announcements/", "text": "Announcements"},
+ {"href": "/blog/", "text": "Blog"},
+ {"href": "/ecosystem/", "text": "Ecosystem"},
+]
# A dictionary of values to pass into the template engine's context for all
pages.
html_context = {
@@ -447,10 +445,6 @@ if PACKAGE_NAME == "apache-airflow":
"config_ctx": {"configs": configs, "deprecated_options":
deprecated_options},
"quick_start_ctx": {
"doc_root_url":
f"https://airflow.apache.org/docs/apache-airflow/{PACKAGE_VERSION}/"
- if FOR_PRODUCTION
- else (
-
"http://apache-airflow-docs.s3-website.eu-central-1.amazonaws.com/docs/apache-airflow/latest/"
- )
},
"official_download_page": {
"base_url":
f"https://downloads.apache.org/airflow/{PACKAGE_VERSION}",
diff --git a/docs/exts/airflow_intersphinx.py b/docs/exts/airflow_intersphinx.py
index b9255d2e95..129d037e7a 100644
--- a/docs/exts/airflow_intersphinx.py
+++ b/docs/exts/airflow_intersphinx.py
@@ -42,8 +42,7 @@ def _create_init_py(app, config):
def _generate_provider_intersphinx_mapping():
airflow_mapping = {}
- for_production = os.environ.get("AIRFLOW_FOR_PRODUCTION", "false") ==
"true"
- current_version = "stable" if for_production else "latest"
+ current_version = "stable"
for provider in load_package_data():
package_name = provider["package-name"]
@@ -71,7 +70,7 @@ def _generate_provider_intersphinx_mapping():
airflow_mapping[pkg_name] = (
# base URI
- f'/docs/{pkg_name}/{"stable" if for_production else "latest"}/',
+ f"/docs/{pkg_name}/stable/",
(doc_inventory if os.path.exists(doc_inventory) else
cache_inventory,),
)
for pkg_name in ["apache-airflow-providers", "docker-stack"]:
diff --git a/docs/exts/docs_build/dev_index_template.html.jinja2
b/docs/exts/docs_build/dev_index_template.html.jinja2
index 6a52742951..63f1bb9130 100644
--- a/docs/exts/docs_build/dev_index_template.html.jinja2
+++ b/docs/exts/docs_build/dev_index_template.html.jinja2
@@ -49,7 +49,7 @@
</div>
<div class="col-md">
- <h2><a
href="/docs/apache-airflow/latest/index.html"><code>apache-airflow</code></a></h2>
+ <h2><a
href="/docs/apache-airflow/stable/index.html"><code>apache-airflow</code></a></h2>
<p>
Apache Airflow Core, which includes webserver, scheduler, CLI and
other components that are needed for minimal Airflow installation.
</p>
@@ -63,7 +63,7 @@
</p>
<ul class="list-providers">
{% for provider in providers %}
- <li><a href="/docs/{{ provider['package-name']
}}/latest/index.html"><code>{{ provider['name'] }}</code></a></li>
+ <li><a href="/docs/{{ provider['package-name']
}}/stable/index.html"><code>{{ provider['name'] }}</code></a></li>
{% endfor %}
</ul>
</div>
@@ -81,10 +81,10 @@
</div>
<div class="row">
<div class="col-md order-md-1">
- <img src="/docs/helm-chart/latest/_images/helm-logo.svg" alt="Helm Chart
- logo" width="100" height="115">
+ <img src="/docs/helm-chart/stable/_images/helm-logo.svg" alt="Helm Chart
- logo" width="100" height="115">
</div>
<div class="col-md">
- <h2><a href="/docs/helm-chart/latest/index.html">Helm Chart</a></h2>
+ <h2><a href="/docs/helm-chart/stable/index.html">Helm Chart</a></h2>
<p>
It will help you set up your own Airflow on a cloud/on-prem k8s
environment and leverage its scalable nature to support a large group of users.
Thanks to Kubernetes, we are not tied to a specific cloud provider.
</p>
diff --git a/docs/exts/docs_build/docs_builder.py
b/docs/exts/docs_build/docs_builder.py
index f03f432a01..375e9db8c5 100644
--- a/docs/exts/docs_build/docs_builder.py
+++ b/docs/exts/docs_build/docs_builder.py
@@ -43,9 +43,8 @@ console = Console(force_terminal=True,
color_system="standard", width=CONSOLE_WI
class AirflowDocsBuilder:
"""Documentation builder for Airflow."""
- def __init__(self, package_name: str, for_production: bool):
+ def __init__(self, package_name: str):
self.package_name = package_name
- self.for_production = for_production
@property
def _doctree_dir(self) -> str:
@@ -65,7 +64,7 @@ class AirflowDocsBuilder:
@property
def _build_dir(self) -> str:
if self.is_versioned:
- version = "stable" if self.for_production else "latest"
+ version = "stable"
return f"{DOCS_DIR}/_build/docs/{self.package_name}/{version}"
else:
return f"{DOCS_DIR}/_build/docs/{self.package_name}"
@@ -154,8 +153,6 @@ class AirflowDocsBuilder:
env = os.environ.copy()
env["AIRFLOW_PACKAGE_NAME"] = self.package_name
- if self.for_production:
- env["AIRFLOW_FOR_PRODUCTION"] = "true"
if verbose:
console.print(
f"[info]{self.package_name:60}:[/] Executing cmd: ",
@@ -229,8 +226,6 @@ class AirflowDocsBuilder:
]
env = os.environ.copy()
env["AIRFLOW_PACKAGE_NAME"] = self.package_name
- if self.for_production:
- env["AIRFLOW_FOR_PRODUCTION"] = "true"
if verbose:
console.print(
f"[info]{self.package_name:60}:[/] Executing cmd: ",
diff --git a/images/breeze/output-commands-hash.txt
b/images/breeze/output-commands-hash.txt
index 784550612a..a1cd835a9a 100644
--- a/images/breeze/output-commands-hash.txt
+++ b/images/breeze/output-commands-hash.txt
@@ -2,7 +2,7 @@
# Please do not solve it but run `breeze setup regenerate-command-images`.
# This command should fix the conflict and regenerate help images that you
have conflict with.
main:344261ca3aa7ff31e098b1d88280566a
-build-docs:891c3f3a4e5558e96083204ed3512c44
+build-docs:b45888f44f40dfd47bd918ea4ffedbe1
ci:fix-ownership:3e5a73533cc96045e72cb258783cfc96
ci:free-space:49af17b032039c05c41a7a8283f365cc
ci:get-workflow-info:8246038093359b9c3c110043419473e2
diff --git a/images/breeze/output-commands.svg
b/images/breeze/output-commands.svg
index 708e4d6758..ea72db0674 100644
--- a/images/breeze/output-commands.svg
+++ b/images/breeze/output-commands.svg
@@ -247,7 +247,7 @@
</text><text class="breeze-help-r5" x="0" y="703.2" textLength="12.2"
clip-path="url(#breeze-help-line-28)">│</text><text class="breeze-help-r4"
x="24.4" y="703.2" textLength="219.6"
clip-path="url(#breeze-help-line-28)">start-airflow     </text><text
class="breeze-help-r2" x="268.4" y="703.2" textLength="1171.2"
clip-path="url(#breeze-help-line-28)">Enter breeze environment and starts all Airflow components in the
[...]
</text><text class="breeze-help-r5" x="0" y="727.6" textLength="12.2"
clip-path="url(#breeze-help-line-29)">│</text><text class="breeze-help-r2"
x="268.4" y="727.6" textLength="1171.2"
clip-path="url(#breeze-help-line-29)">if contents of www directory changed.                                  
[...]
</text><text class="breeze-help-r5" x="0" y="752" textLength="12.2"
clip-path="url(#breeze-help-line-30)">│</text><text class="breeze-help-r4"
x="24.4" y="752" textLength="219.6"
clip-path="url(#breeze-help-line-30)">static-checks     </text><text
class="breeze-help-r2" x="268.4" y="752" textLength="1171.2"
clip-path="url(#breeze-help-line-30)">Run static checks.               &#
[...]
-</text><text class="breeze-help-r5" x="0" y="776.4" textLength="12.2"
clip-path="url(#breeze-help-line-31)">│</text><text class="breeze-help-r4"
x="24.4" y="776.4" textLength="219.6"
clip-path="url(#breeze-help-line-31)">build-docs        </text><text
class="breeze-help-r2" x="268.4" y="776.4" textLength="1171.2"
clip-path="url(#breeze-help-line-31)">Build documentation in the container.       
[...]
+</text><text class="breeze-help-r5" x="0" y="776.4" textLength="12.2"
clip-path="url(#breeze-help-line-31)">│</text><text class="breeze-help-r4"
x="24.4" y="776.4" textLength="219.6"
clip-path="url(#breeze-help-line-31)">build-docs        </text><text
class="breeze-help-r5" x="1451.8" y="776.4" textLength="12.2"
clip-path="url(#breeze-help-line-31)">│</text><text class="breeze-help-r2"
x="1464" y="776.4" textLength="12.2" clip-path="url(#breeze-hel [...]
</text><text class="breeze-help-r5" x="0" y="800.8" textLength="12.2"
clip-path="url(#breeze-help-line-32)">│</text><text class="breeze-help-r4"
x="24.4" y="800.8" textLength="219.6"
clip-path="url(#breeze-help-line-32)">down              </text><text
class="breeze-help-r2" x="268.4" y="800.8" textLength="1171.2"
clip-path="url(#breeze-help-line-32)">Stop running breeze environment.   
[...]
</text><text class="breeze-help-r5" x="0" y="825.2" textLength="12.2"
clip-path="url(#breeze-help-line-33)">│</text><text class="breeze-help-r4"
x="24.4" y="825.2" textLength="219.6"
clip-path="url(#breeze-help-line-33)">shell             </text><text
class="breeze-help-r2" x="268.4" y="825.2" textLength="1171.2"
clip-path="url(#breeze-help-line-33)">Enter breeze environment. this is the defaul
[...]
</text><text class="breeze-help-r5" x="0" y="849.6" textLength="12.2"
clip-path="url(#breeze-help-line-34)">│</text><text class="breeze-help-r4"
x="24.4" y="849.6" textLength="219.6"
clip-path="url(#breeze-help-line-34)">exec              </text><text
class="breeze-help-r2" x="268.4" y="849.6" textLength="1171.2"
clip-path="url(#breeze-help-line-34)">Joins the interactive shell of running 
[...]
diff --git a/images/breeze/output_build-docs.svg
b/images/breeze/output_build-docs.svg
index cc5f824d72..f0475ed9c4 100644
--- a/images/breeze/output_build-docs.svg
+++ b/images/breeze/output_build-docs.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1587.1999999999998"
xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 1489.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="1536.1999999999998" />
+ <rect x="0" y="0" width="1463.0" height="1438.6" />
</clipPath>
<clipPath id="breeze-build-docs-line-0">
<rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -219,21 +219,9 @@
<clipPath id="breeze-build-docs-line-57">
<rect x="0" y="1392.3" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="breeze-build-docs-line-58">
- <rect x="0" y="1416.7" width="1464" height="24.65"/>
- </clipPath>
-<clipPath id="breeze-build-docs-line-59">
- <rect x="0" y="1441.1" width="1464" height="24.65"/>
- </clipPath>
-<clipPath id="breeze-build-docs-line-60">
- <rect x="0" y="1465.5" width="1464" height="24.65"/>
- </clipPath>
-<clipPath id="breeze-build-docs-line-61">
- <rect x="0" y="1489.9" 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="1585.2" rx="8"/><text
class="breeze-build-docs-title" fill="#c5c8c6" text-anchor="middle" x="740"
y="27">Command: build-docs</text>
+ <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1"
x="1" y="1" width="1480" height="1487.6" rx="8"/><text
class="breeze-build-docs-title" fill="#c5c8c6" text-anchor="middle" x="740"
y="27">Command: 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"/>
@@ -246,66 +234,62 @@
<text class="breeze-build-docs-r2" x="1464" y="20" textLength="12.2"
clip-path="url(#breeze-build-docs-line-0)">
</text><text class="breeze-build-docs-r3" x="12.2" y="44.4" textLength="85.4"
clip-path="url(#breeze-build-docs-line-1)">Usage: </text><text
class="breeze-build-docs-r1" x="97.6" y="44.4" textLength="231.8"
clip-path="url(#breeze-build-docs-line-1)">breeze build-docs [</text><text
class="breeze-build-docs-r4" x="329.4" y="44.4" textLength="85.4"
clip-path="url(#breeze-build-docs-line-1)">OPTIONS</text><text
class="breeze-build-docs-r1" x="414.8" y="44.4" textLength="12.2" [...]
</text><text class="breeze-build-docs-r2" x="1464" y="68.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-2)">
-</text><text class="breeze-build-docs-r2" x="12.2" y="93.2" textLength="451.4"
clip-path="url(#breeze-build-docs-line-3)">Build documentation in the container.</text><text
class="breeze-build-docs-r2" x="1464" y="93.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-3)">
-</text><text class="breeze-build-docs-r2" x="1464" y="117.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-4)">
-</text><text class="breeze-build-docs-r5" x="0" y="142" textLength="24.4"
clip-path="url(#breeze-build-docs-line-5)">╭─</text><text
class="breeze-build-docs-r5" x="24.4" y="142" textLength="134.2"
clip-path="url(#breeze-build-docs-line-5)"> Doc flags </text><text
class="breeze-build-docs-r5" x="158.6" y="142" textLength="1281"
clip-path="url(#breeze-build-docs-line-5)">─────────────────────────────────────────────────────────────────────────────────────────────────────────
[...]
-</text><text class="breeze-build-docs-r5" x="0" y="166.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-6)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="166.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-6)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="166.4" textLength="61"
clip-path="url(#breeze-build-docs-line-6)">-docs</text><text
class="breeze-build-docs-r4" x="97.6" y="166.4" textLength="61"
clip-path="url(#breeze-build-docs-line-6)">-onl [...]
-</text><text class="breeze-build-docs-r5" x="0" y="190.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-7)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="190.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-7)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="190.8" textLength="134.2"
clip-path="url(#breeze-build-docs-line-7)">-spellcheck</text><text
class="breeze-build-docs-r4" x="170.8" y="190.8" textLength="61"
clip-path="url(#breeze-build-docs-lin [...]
-</text><text class="breeze-build-docs-r5" x="0" y="215.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-8)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="215.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-8)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="215.2" textLength="73.2"
clip-path="url(#breeze-build-docs-line-8)">-clean</text><text
class="breeze-build-docs-r4" x="109.8" y="215.2" textLength="73.2"
clip-path="url(#breeze-build-docs-line-8) [...]
-</text><text class="breeze-build-docs-r5" x="0" y="239.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-9)">│</text><text
class="breeze-build-docs-r2" x="329.4" y="239.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-9)">before the build - useful for a clean build.                           &
[...]
-</text><text class="breeze-build-docs-r5" x="0" y="264" textLength="12.2"
clip-path="url(#breeze-build-docs-line-10)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="264" textLength="12.2"
clip-path="url(#breeze-build-docs-line-10)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="264" textLength="48.8"
clip-path="url(#breeze-build-docs-line-10)">-for</text><text
class="breeze-build-docs-r4" x="85.4" y="264" textLength="134.2"
clip-path="url(#breeze-build-docs-line-10)">-pro [...]
-</text><text class="breeze-build-docs-r5" x="0" y="288.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-11)">│</text><text
class="breeze-build-docs-r4" x="329.4" y="288.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-11)">-</text><text
class="breeze-build-docs-r4" x="341.6" y="288.4" textLength="73.2"
clip-path="url(#breeze-build-docs-line-11)">-clean</text><text
class="breeze-build-docs-r4" x="414.8" y="288.4" textLength="73.2"
clip-path="url(#breeze-build-docs-li [...]
-</text><text class="breeze-build-docs-r5" x="0" y="312.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-12)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="312.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-12)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="312.8" textLength="48.8"
clip-path="url(#breeze-build-docs-line-12)">-one</text><text
class="breeze-build-docs-r4" x="85.4" y="312.8" textLength="122"
clip-path="url(#breeze-build-docs-line-12) [...]
-</text><text class="breeze-build-docs-r5" x="0" y="337.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-13)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="337.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-13)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="337.2" textLength="97.6"
clip-path="url(#breeze-build-docs-line-13)">-package</text><text
class="breeze-build-docs-r4" x="134.2" y="337.2" textLength="85.4"
clip-path="url(#breeze-build-docs-li [...]
-</text><text class="breeze-build-docs-r5" x="0" y="361.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-14)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="361.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-14)">(apache-airflow | apache-airflow-providers-airbyte | apache-airflow-providers-alibaba |    </text><text
class="breeze-build-docs-r5" x="1451.8" y="361.6" textLength="12.2"
clip-path="url(#breeze-build [...]
-</text><text class="breeze-build-docs-r5" x="0" y="386" textLength="12.2"
clip-path="url(#breeze-build-docs-line-15)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="386" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-15)">apache-airflow-providers-amazon | apache-airflow-providers-apache-beam |                   </text><text
class="breeze-build-docs-r5" x="145 [...]
-</text><text class="breeze-build-docs-r5" x="0" y="410.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-16)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="410.4" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-16)">apache-airflow-providers-apache-cassandra | apache-airflow-providers-apache-drill |        </text><text
class="breeze-build-docs-r5" x="1451.8" y="410.4" textLength="12.2"
clip-path="url(#br [...]
-</text><text class="breeze-build-docs-r5" x="0" y="434.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-17)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="434.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-17)">apache-airflow-providers-apache-druid | apache-airflow-providers-apache-flink |            </text><text
class="breeze-build-docs-r5" x="1451.8" y="434.8" textLength="12.2 [...]
-</text><text class="breeze-build-docs-r5" x="0" y="459.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-18)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="459.2" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-18)">apache-airflow-providers-apache-hdfs | apache-airflow-providers-apache-hive |              </text><text
class="breeze-build-docs-r5" x="1451.8" y="459.2" textLe [...]
-</text><text class="breeze-build-docs-r5" x="0" y="483.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-19)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="483.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-19)">apache-airflow-providers-apache-impala | apache-airflow-providers-apache-kafka |           </text><text
class="breeze-build-docs-r5" x="1451.8" y="483.6" textLength="12.2" cli [...]
-</text><text class="breeze-build-docs-r5" x="0" y="508" textLength="12.2"
clip-path="url(#breeze-build-docs-line-20)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="508" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-20)">apache-airflow-providers-apache-kylin | apache-airflow-providers-apache-livy |             </text><text
class="breeze-build-docs-r5" x="1451.8" y="508" textLength="12.2" [...]
-</text><text class="breeze-build-docs-r5" x="0" y="532.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-21)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="532.4" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-21)">apache-airflow-providers-apache-pig | apache-airflow-providers-apache-pinot |              </text><text
class="breeze-build-docs-r5" x="1451.8" y="532.4" textLe [...]
-</text><text class="breeze-build-docs-r5" x="0" y="556.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-22)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="556.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-22)">apache-airflow-providers-apache-spark | apache-airflow-providers-apache-sqoop |            </text><text
class="breeze-build-docs-r5" x="1451.8" y="556.8" textLength="12.2 [...]
-</text><text class="breeze-build-docs-r5" x="0" y="581.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-23)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="581.2" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-23)">apache-airflow-providers-apprise | apache-airflow-providers-arangodb |                     </text><text
class="breeze-build-d [...]
-</text><text class="breeze-build-docs-r5" x="0" y="605.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-24)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="605.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-24)">apache-airflow-providers-asana | apache-airflow-providers-atlassian-jira |                 </text><text
class="breeze-build-docs-r5" x="1451.8" y [...]
-</text><text class="breeze-build-docs-r5" x="0" y="630" textLength="12.2"
clip-path="url(#breeze-build-docs-line-25)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="630" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-25)">apache-airflow-providers-celery | apache-airflow-providers-cloudant |                      </text><text
class="breeze-build- [...]
-</text><text class="breeze-build-docs-r5" x="0" y="654.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-26)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="654.4" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-26)">apache-airflow-providers-cncf-kubernetes | apache-airflow-providers-common-sql |           </text><text
class="breeze-build-docs-r5" x="1451.8" y="654.4" textLength="12.2" cli [...]
-</text><text class="breeze-build-docs-r5" x="0" y="678.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-27)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="678.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-27)">apache-airflow-providers-databricks | apache-airflow-providers-datadog |                   </text><text
class="breeze-build-docs-r5" x= [...]
-</text><text class="breeze-build-docs-r5" x="0" y="703.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-28)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="703.2" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-28)">apache-airflow-providers-dbt-cloud | apache-airflow-providers-dingding |                   </text><text
class="breeze-build-docs-r5" x= [...]
-</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-r7" x="329.4" y="727.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-29)">apache-airflow-providers-discord | apache-airflow-providers-docker |                       </text><text
class="bree [...]
-</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-r7" x="329.4" y="752" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-30)">apache-airflow-providers-elasticsearch | apache-airflow-providers-exasol |                 </text><text
class="breeze-build-docs-r5" x="1451.8" y="75 [...]
-</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-r7" x="329.4" y="776.4" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-31)">apache-airflow-providers-facebook | apache-airflow-providers-ftp |                         </text><text
c [...]
-</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-r7" x="329.4" y="800.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-32)">apache-airflow-providers-github | apache-airflow-providers-google |                        </text><text
class= [...]
-</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-r7" x="329.4" y="825.2" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-33)">apache-airflow-providers-grpc | apache-airflow-providers-hashicorp |                       </text><text
class="bree [...]
-</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-r7" x="329.4" y="849.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-34)">apache-airflow-providers-http | apache-airflow-providers-imap |                            
[...]
-</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-r7" x="329.4" y="874" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-35)">apache-airflow-providers-influxdb | apache-airflow-providers-jdbc |                        </text><text
class="bre [...]
-</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="329.4" y="898.4" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-36)">apache-airflow-providers-jenkins | apache-airflow-providers-microsoft-azure |              </text><text
class="breeze-build-docs-r5" x="1451.8" y="898.4" textLe [...]
-</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-r7" x="329.4" y="922.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-37)">apache-airflow-providers-microsoft-mssql | apache-airflow-providers-microsoft-psrp |       </text><text
class="breeze-build-docs-r5" x="1451.8" y="922.8" textLength="12.2"
clip-path="url(#breeze- [...]
-</text><text class="breeze-build-docs-r5" x="0" y="947.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-38)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="947.2" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-38)">apache-airflow-providers-microsoft-winrm | apache-airflow-providers-mongo |                </text><text
class="breeze-build-docs-r5" x="1451.8" y="947 [...]
-</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-r7" x="329.4" y="971.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-39)">apache-airflow-providers-mysql | apache-airflow-providers-neo4j |                          </text><t
[...]
-</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-r7" x="329.4" y="996" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-40)">apache-airflow-providers-odbc | apache-airflow-providers-openfaas |                        </text><text
class="bre [...]
-</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-r7" x="329.4" y="1020.4" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-41)">apache-airflow-providers-openlineage | apache-airflow-providers-opsgenie |                 </text><text
class="breeze-build-docs-r5" x="1451.8" [...]
-</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-r7" x="329.4" y="1044.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-42)">apache-airflow-providers-oracle | apache-airflow-providers-pagerduty |                     </text><text
class="breeze-build [...]
-</text><text class="breeze-build-docs-r5" x="0" y="1069.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-43)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1069.2" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-43)">apache-airflow-providers-papermill | apache-airflow-providers-plexus |                     </text><text
class="breeze-build [...]
-</text><text class="breeze-build-docs-r5" x="0" y="1093.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-44)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1093.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-44)">apache-airflow-providers-postgres | apache-airflow-providers-presto |                      </text><text
class="breeze- [...]
-</text><text class="breeze-build-docs-r5" x="0" y="1118" textLength="12.2"
clip-path="url(#breeze-build-docs-line-45)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1118" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-45)">apache-airflow-providers-qubole | apache-airflow-providers-redis |                         </text><text
cla [...]
-</text><text class="breeze-build-docs-r5" x="0" y="1142.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-46)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1142.4" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-46)">apache-airflow-providers-salesforce | apache-airflow-providers-samba |                     </text><text
class="breeze-build [...]
-</text><text class="breeze-build-docs-r5" x="0" y="1166.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-47)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1166.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-47)">apache-airflow-providers-segment | apache-airflow-providers-sendgrid |                     </text><text
class="breeze-build [...]
-</text><text class="breeze-build-docs-r5" x="0" y="1191.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-48)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1191.2" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-48)">apache-airflow-providers-sftp | apache-airflow-providers-singularity |                     </text><text
class="breeze-build [...]
-</text><text class="breeze-build-docs-r5" x="0" y="1215.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-49)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1215.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-49)">apache-airflow-providers-slack | apache-airflow-providers-smtp |                           </
[...]
-</text><text class="breeze-build-docs-r5" x="0" y="1240" textLength="12.2"
clip-path="url(#breeze-build-docs-line-50)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1240" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-50)">apache-airflow-providers-snowflake | apache-airflow-providers-sqlite |                     </text><text
class="breeze-build-doc [...]
-</text><text class="breeze-build-docs-r5" x="0" y="1264.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-51)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1264.4" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-51)">apache-airflow-providers-ssh | apache-airflow-providers-tableau |                          </text>
[...]
-</text><text class="breeze-build-docs-r5" x="0" y="1288.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-52)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1288.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-52)">apache-airflow-providers-tabular | apache-airflow-providers-telegram |                     </text><text
class="breeze-build [...]
-</text><text class="breeze-build-docs-r5" x="0" y="1313.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-53)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1313.2" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-53)">apache-airflow-providers-trino | apache-airflow-providers-vertica |                        </text><text
clas [...]
-</text><text class="breeze-build-docs-r5" x="0" y="1337.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-54)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1337.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-54)">apache-airflow-providers-zendesk | docker-stack | helm-chart)                           
[...]
-</text><text class="breeze-build-docs-r5" x="0" y="1362" textLength="12.2"
clip-path="url(#breeze-build-docs-line-55)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="1362" textLength="12.2"
clip-path="url(#breeze-build-docs-line-55)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="1362" textLength="85.4"
clip-path="url(#breeze-build-docs-line-55)">-github</text><text
class="breeze-build-docs-r4" x="122" y="1362" textLength="134.2"
clip-path="url(#breeze-build-docs-line-55) [...]
-</text><text class="breeze-build-docs-r5" x="0" y="1386.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-56)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="1386.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-56)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="1386.4" textLength="97.6"
clip-path="url(#breeze-build-docs-line-56)">-builder</text><text
class="breeze-build-docs-r2" x="329.4" y="1386.4" textLength="756.4"
clip-path="url(#breeze-build-do [...]
-</text><text class="breeze-build-docs-r5" x="0" y="1410.8" textLength="1464"
clip-path="url(#breeze-build-docs-line-57)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-build-docs-r2" x="1464" y="1410.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-57)">
-</text><text class="breeze-build-docs-r5" x="0" y="1435.2" textLength="24.4"
clip-path="url(#breeze-build-docs-line-58)">╭─</text><text
class="breeze-build-docs-r5" x="24.4" y="1435.2" textLength="195.2"
clip-path="url(#breeze-build-docs-line-58)"> Common options </text><text
class="breeze-build-docs-r5" x="219.6" y="1435.2" textLength="1220"
clip-path="url(#breeze-build-docs-line-58)">────────────────────────────────────────────────────────────────────────────────────────
[...]
-</text><text class="breeze-build-docs-r5" x="0" y="1459.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-59)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="1459.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-59)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="1459.6" textLength="97.6"
clip-path="url(#breeze-build-docs-line-59)">-verbose</text><text
class="breeze-build-docs-r6" x="158.6" y="1459.6" textLength="24.4"
clip-path="url(#breeze-build-doc [...]
-</text><text class="breeze-build-docs-r5" x="0" y="1484" textLength="12.2"
clip-path="url(#breeze-build-docs-line-60)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="1484" textLength="12.2"
clip-path="url(#breeze-build-docs-line-60)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="1484" textLength="48.8"
clip-path="url(#breeze-build-docs-line-60)">-dry</text><text
class="breeze-build-docs-r4" x="85.4" y="1484" textLength="48.8"
clip-path="url(#breeze-build-docs-line-60)">- [...]
-</text><text class="breeze-build-docs-r5" x="0" y="1508.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-61)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="1508.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-61)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="1508.4" textLength="61"
clip-path="url(#breeze-build-docs-line-61)">-help</text><text
class="breeze-build-docs-r6" x="158.6" y="1508.4" textLength="24.4"
clip-path="url(#breeze-build-docs-lin [...]
-</text><text class="breeze-build-docs-r5" x="0" y="1532.8" textLength="1464"
clip-path="url(#breeze-build-docs-line-62)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-build-docs-r2" x="1464" y="1532.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-62)">
+</text><text class="breeze-build-docs-r5" x="0" y="93.2" textLength="24.4"
clip-path="url(#breeze-build-docs-line-3)">╭─</text><text
class="breeze-build-docs-r5" x="24.4" y="93.2" textLength="134.2"
clip-path="url(#breeze-build-docs-line-3)"> Doc flags </text><text
class="breeze-build-docs-r5" x="158.6" y="93.2" textLength="1281"
clip-path="url(#breeze-build-docs-line-3)">──────────────────────────────────────────────────────────────────────────────────────────────────────
[...]
+</text><text class="breeze-build-docs-r5" x="0" y="117.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-4)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="117.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-4)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="117.6" textLength="61"
clip-path="url(#breeze-build-docs-line-4)">-docs</text><text
class="breeze-build-docs-r4" x="97.6" y="117.6" textLength="61"
clip-path="url(#breeze-build-docs-line-4)">-onl [...]
+</text><text class="breeze-build-docs-r5" x="0" y="142" textLength="12.2"
clip-path="url(#breeze-build-docs-line-5)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="142" textLength="12.2"
clip-path="url(#breeze-build-docs-line-5)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="142" textLength="134.2"
clip-path="url(#breeze-build-docs-line-5)">-spellcheck</text><text
class="breeze-build-docs-r4" x="170.8" y="142" textLength="61"
clip-path="url(#breeze-build-docs-line-5)">-o [...]
+</text><text class="breeze-build-docs-r5" x="0" y="166.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-6)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="166.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-6)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="166.4" textLength="73.2"
clip-path="url(#breeze-build-docs-line-6)">-clean</text><text
class="breeze-build-docs-r4" x="109.8" y="166.4" textLength="73.2"
clip-path="url(#breeze-build-docs-line-6) [...]
+</text><text class="breeze-build-docs-r5" x="0" y="190.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-7)">│</text><text
class="breeze-build-docs-r2" x="329.4" y="190.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-7)">before the build - useful for a clean build.                           &
[...]
+</text><text class="breeze-build-docs-r5" x="0" y="215.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-8)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="215.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-8)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="215.2" textLength="48.8"
clip-path="url(#breeze-build-docs-line-8)">-one</text><text
class="breeze-build-docs-r4" x="85.4" y="215.2" textLength="122"
clip-path="url(#breeze-build-docs-line-8)">-p [...]
+</text><text class="breeze-build-docs-r5" x="0" y="239.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-9)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="239.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-9)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="239.6" textLength="97.6"
clip-path="url(#breeze-build-docs-line-9)">-package</text><text
class="breeze-build-docs-r4" x="134.2" y="239.6" textLength="85.4"
clip-path="url(#breeze-build-docs-line- [...]
+</text><text class="breeze-build-docs-r5" x="0" y="264" textLength="12.2"
clip-path="url(#breeze-build-docs-line-10)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="264" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-10)">(apache-airflow | apache-airflow-providers-airbyte | apache-airflow-providers-alibaba |    </text><text
class="breeze-build-docs-r5" x="1451.8" y="264" textLength="12.2"
clip-path="url(#breeze-build-docs- [...]
+</text><text class="breeze-build-docs-r5" x="0" y="288.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-11)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="288.4" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-11)">apache-airflow-providers-amazon | apache-airflow-providers-apache-beam |                   </text><text
class="breeze-build-docs-r5" x= [...]
+</text><text class="breeze-build-docs-r5" x="0" y="312.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-12)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="312.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-12)">apache-airflow-providers-apache-cassandra | apache-airflow-providers-apache-drill |        </text><text
class="breeze-build-docs-r5" x="1451.8" y="312.8" textLength="12.2"
clip-path="url(#br [...]
+</text><text class="breeze-build-docs-r5" x="0" y="337.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-13)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="337.2" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-13)">apache-airflow-providers-apache-druid | apache-airflow-providers-apache-flink |            </text><text
class="breeze-build-docs-r5" x="1451.8" y="337.2" textLength="12.2 [...]
+</text><text class="breeze-build-docs-r5" x="0" y="361.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-14)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="361.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-14)">apache-airflow-providers-apache-hdfs | apache-airflow-providers-apache-hive |              </text><text
class="breeze-build-docs-r5" x="1451.8" y="361.6" textLe [...]
+</text><text class="breeze-build-docs-r5" x="0" y="386" textLength="12.2"
clip-path="url(#breeze-build-docs-line-15)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="386" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-15)">apache-airflow-providers-apache-impala | apache-airflow-providers-apache-kafka |           </text><text
class="breeze-build-docs-r5" x="1451.8" y="386" textLength="12.2" clip-path
[...]
+</text><text class="breeze-build-docs-r5" x="0" y="410.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-16)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="410.4" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-16)">apache-airflow-providers-apache-kylin | apache-airflow-providers-apache-livy |             </text><text
class="breeze-build-docs-r5" x="1451.8" y="410.4" textLength= [...]
+</text><text class="breeze-build-docs-r5" x="0" y="434.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-17)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="434.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-17)">apache-airflow-providers-apache-pig | apache-airflow-providers-apache-pinot |              </text><text
class="breeze-build-docs-r5" x="1451.8" y="434.8" textLe [...]
+</text><text class="breeze-build-docs-r5" x="0" y="459.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-18)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="459.2" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-18)">apache-airflow-providers-apache-spark | apache-airflow-providers-apache-sqoop |            </text><text
class="breeze-build-docs-r5" x="1451.8" y="459.2" textLength="12.2 [...]
+</text><text class="breeze-build-docs-r5" x="0" y="483.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-19)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="483.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-19)">apache-airflow-providers-apprise | apache-airflow-providers-arangodb |                     </text><text
class="breeze-build-d [...]
+</text><text class="breeze-build-docs-r5" x="0" y="508" textLength="12.2"
clip-path="url(#breeze-build-docs-line-20)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="508" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-20)">apache-airflow-providers-asana | apache-airflow-providers-atlassian-jira |                 </text><text
class="breeze-build-docs-r5" x="1451.8" y="50 [...]
+</text><text class="breeze-build-docs-r5" x="0" y="532.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-21)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="532.4" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-21)">apache-airflow-providers-celery | apache-airflow-providers-cloudant |                      </text><text
class="breeze-bu [...]
+</text><text class="breeze-build-docs-r5" x="0" y="556.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-22)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="556.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-22)">apache-airflow-providers-cncf-kubernetes | apache-airflow-providers-common-sql |           </text><text
class="breeze-build-docs-r5" x="1451.8" y="556.8" textLength="12.2" cli [...]
+</text><text class="breeze-build-docs-r5" x="0" y="581.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-23)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="581.2" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-23)">apache-airflow-providers-databricks | apache-airflow-providers-datadog |                   </text><text
class="breeze-build-docs-r5" x= [...]
+</text><text class="breeze-build-docs-r5" x="0" y="605.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-24)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="605.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-24)">apache-airflow-providers-dbt-cloud | apache-airflow-providers-dingding |                   </text><text
class="breeze-build-docs-r5" x= [...]
+</text><text class="breeze-build-docs-r5" x="0" y="630" textLength="12.2"
clip-path="url(#breeze-build-docs-line-25)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="630" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-25)">apache-airflow-providers-discord | apache-airflow-providers-docker |                       </text><text
class="breeze-b [...]
+</text><text class="breeze-build-docs-r5" x="0" y="654.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-26)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="654.4" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-26)">apache-airflow-providers-elasticsearch | apache-airflow-providers-exasol |                 </text><text
class="breeze-build-docs-r5" x="1451.8" y [...]
+</text><text class="breeze-build-docs-r5" x="0" y="678.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-27)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="678.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-27)">apache-airflow-providers-facebook | apache-airflow-providers-ftp |                         </text><text
c [...]
+</text><text class="breeze-build-docs-r5" x="0" y="703.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-28)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="703.2" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-28)">apache-airflow-providers-github | apache-airflow-providers-google |                        </text><text
class= [...]
+</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-r7" x="329.4" y="727.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-29)">apache-airflow-providers-grpc | apache-airflow-providers-hashicorp |                       </text><text
class="bree [...]
+</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-r7" x="329.4" y="752" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-30)">apache-airflow-providers-http | apache-airflow-providers-imap |                            </t
[...]
+</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-r7" x="329.4" y="776.4" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-31)">apache-airflow-providers-influxdb | apache-airflow-providers-jdbc |                        </text><text
class= [...]
+</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-r7" x="329.4" y="800.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-32)">apache-airflow-providers-jenkins | apache-airflow-providers-microsoft-azure |              </text><text
class="breeze-build-docs-r5" x="1451.8" y="800.8" textLe [...]
+</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-r7" x="329.4" y="825.2" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-33)">apache-airflow-providers-microsoft-mssql | apache-airflow-providers-microsoft-psrp |       </text><text
class="breeze-build-docs-r5" x="1451.8" y="825.2" textLength="12.2"
clip-path="url(#breeze- [...]
+</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-r7" x="329.4" y="849.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-34)">apache-airflow-providers-microsoft-winrm | apache-airflow-providers-mongo |                </text><text
class="breeze-build-docs-r5" x="1451.8" y="849 [...]
+</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-r7" x="329.4" y="874" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-35)">apache-airflow-providers-mysql | apache-airflow-providers-neo4j |                          </text><text
[...]
+</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="329.4" y="898.4" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-36)">apache-airflow-providers-odbc | apache-airflow-providers-openfaas |                        </text><text
class= [...]
+</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-r7" x="329.4" y="922.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-37)">apache-airflow-providers-openlineage | apache-airflow-providers-opsgenie |                 </text><text
class="breeze-build-docs-r5" x="1451.8" y [...]
+</text><text class="breeze-build-docs-r5" x="0" y="947.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-38)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="947.2" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-38)">apache-airflow-providers-oracle | apache-airflow-providers-pagerduty |                     </text><text
class="breeze-build-d [...]
+</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-r7" x="329.4" y="971.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-39)">apache-airflow-providers-papermill | apache-airflow-providers-plexus |                     </text><text
class="breeze-build-d [...]
+</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-r7" x="329.4" y="996" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-40)">apache-airflow-providers-postgres | apache-airflow-providers-presto |                      </text><text
class="breeze-build- [...]
+</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-r7" x="329.4" y="1020.4" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-41)">apache-airflow-providers-qubole | apache-airflow-providers-redis |                         </text><text
[...]
+</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-r7" x="329.4" y="1044.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-42)">apache-airflow-providers-salesforce | apache-airflow-providers-samba |                     </text><text
class="breeze-build [...]
+</text><text class="breeze-build-docs-r5" x="0" y="1069.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-43)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1069.2" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-43)">apache-airflow-providers-segment | apache-airflow-providers-sendgrid |                     </text><text
class="breeze-build [...]
+</text><text class="breeze-build-docs-r5" x="0" y="1093.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-44)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1093.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-44)">apache-airflow-providers-sftp | apache-airflow-providers-singularity |                     </text><text
class="breeze-build [...]
+</text><text class="breeze-build-docs-r5" x="0" y="1118" textLength="12.2"
clip-path="url(#breeze-build-docs-line-45)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1118" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-45)">apache-airflow-providers-slack | apache-airflow-providers-smtp |                           </text
[...]
+</text><text class="breeze-build-docs-r5" x="0" y="1142.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-46)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1142.4" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-46)">apache-airflow-providers-snowflake | apache-airflow-providers-sqlite |                     </text><text
class="breeze-build [...]
+</text><text class="breeze-build-docs-r5" x="0" y="1166.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-47)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1166.8" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-47)">apache-airflow-providers-ssh | apache-airflow-providers-tableau |                          </text>
[...]
+</text><text class="breeze-build-docs-r5" x="0" y="1191.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-48)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1191.2" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-48)">apache-airflow-providers-tabular | apache-airflow-providers-telegram |                     </text><text
class="breeze-build [...]
+</text><text class="breeze-build-docs-r5" x="0" y="1215.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-49)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1215.6" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-49)">apache-airflow-providers-trino | apache-airflow-providers-vertica |                        </text><text
clas [...]
+</text><text class="breeze-build-docs-r5" x="0" y="1240" textLength="12.2"
clip-path="url(#breeze-build-docs-line-50)">│</text><text
class="breeze-build-docs-r7" x="329.4" y="1240" textLength="1110.2"
clip-path="url(#breeze-build-docs-line-50)">apache-airflow-providers-zendesk | docker-stack | helm-chart)                           
[...]
+</text><text class="breeze-build-docs-r5" x="0" y="1264.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-51)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="1264.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-51)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="1264.4" textLength="85.4"
clip-path="url(#breeze-build-docs-line-51)">-github</text><text
class="breeze-build-docs-r4" x="122" y="1264.4" textLength="134.2"
clip-path="url(#breeze-build-docs- [...]
+</text><text class="breeze-build-docs-r5" x="0" y="1288.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-52)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="1288.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-52)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="1288.8" textLength="97.6"
clip-path="url(#breeze-build-docs-line-52)">-builder</text><text
class="breeze-build-docs-r2" x="329.4" y="1288.8" textLength="756.4"
clip-path="url(#breeze-build-do [...]
+</text><text class="breeze-build-docs-r5" x="0" y="1313.2" textLength="1464"
clip-path="url(#breeze-build-docs-line-53)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-build-docs-r2" x="1464" y="1313.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-53)">
+</text><text class="breeze-build-docs-r5" x="0" y="1337.6" textLength="24.4"
clip-path="url(#breeze-build-docs-line-54)">╭─</text><text
class="breeze-build-docs-r5" x="24.4" y="1337.6" textLength="195.2"
clip-path="url(#breeze-build-docs-line-54)"> Common options </text><text
class="breeze-build-docs-r5" x="219.6" y="1337.6" textLength="1220"
clip-path="url(#breeze-build-docs-line-54)">────────────────────────────────────────────────────────────────────────────────────────
[...]
+</text><text class="breeze-build-docs-r5" x="0" y="1362" textLength="12.2"
clip-path="url(#breeze-build-docs-line-55)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="1362" textLength="12.2"
clip-path="url(#breeze-build-docs-line-55)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="1362" textLength="97.6"
clip-path="url(#breeze-build-docs-line-55)">-verbose</text><text
class="breeze-build-docs-r6" x="158.6" y="1362" textLength="24.4"
clip-path="url(#breeze-build-docs-line-5 [...]
+</text><text class="breeze-build-docs-r5" x="0" y="1386.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-56)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="1386.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-56)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="1386.4" textLength="48.8"
clip-path="url(#breeze-build-docs-line-56)">-dry</text><text
class="breeze-build-docs-r4" x="85.4" y="1386.4" textLength="48.8"
clip-path="url(#breeze-build-docs-lin [...]
+</text><text class="breeze-build-docs-r5" x="0" y="1410.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-57)">│</text><text
class="breeze-build-docs-r4" x="24.4" y="1410.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-57)">-</text><text
class="breeze-build-docs-r4" x="36.6" y="1410.8" textLength="61"
clip-path="url(#breeze-build-docs-line-57)">-help</text><text
class="breeze-build-docs-r6" x="158.6" y="1410.8" textLength="24.4"
clip-path="url(#breeze-build-docs-lin [...]
+</text><text class="breeze-build-docs-r5" x="0" y="1435.2" textLength="1464"
clip-path="url(#breeze-build-docs-line-58)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-build-docs-r2" x="1464" y="1435.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-58)">
</text>
</g>
</g>