From f59c48b6d78c3549bb4679c968ba85ec93b9984e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=B8ydahl?= Date: Sat, 30 May 2026 11:33:24 +0200 Subject: [PATCH 01/11] Add Apache RAT for release-time license audit (#8) - Add .rat-excludes with exclusion patterns for config files, binaries, docs, caches, empty __init__.py namespace markers, and IDE files - Add `make rat` target that auto-downloads the RAT 0.18 JAR to ~/.cache/apache-rat/ on first use (requires curl + java) - Add scripts/release-checks.sh (was missing despite being referenced in the Makefile); currently runs the RAT audit - Update `make release-checks` to invoke scripts/release-checks.sh - Add license headers to 62 Python source files that were missing them: - Files with first commit before fork point get the OSB-lineage header (SPDX + "Modifications by Apache Solr" + OpenSearch Contributors) - Empty __init__.py namespace markers are excluded from RAT instead - Document `make rat` and `make release-checks` in DEVELOPER_GUIDE.md --- .rat-excludes | 102 +++++++++++++++ DEVELOPER_GUIDE.md | 27 ++++ Makefile | 16 ++- THIRD_PARTY.md | 119 ++++++++++++++++++ scripts/release-checks.sh | 35 ++++++ solrorbit/aggregator.py | 8 ++ solrorbit/builder/cluster_builder.py | 8 ++ .../listers/plugin_config_instance_lister.py | 8 ++ .../configs/utils/config_path_resolver.py | 8 ++ .../downloaders/builders/binary_builder.py | 8 ++ .../builders/source_binary_builder.py | 8 ++ ...plugin_distribution_repository_provider.py | 8 ++ .../repositories/repository_url_provider.py | 8 ++ .../source_repository_provider.py | 8 ++ .../exception_handling_shell_executor.py | 8 ++ .../builder/executors/local_shell_executor.py | 8 ++ solrorbit/builder/executors/shell_executor.py | 8 ++ .../exception_handling_installer.py | 8 ++ .../builder/installers/preparers/preparer.py | 8 ++ .../builder/launchers/docker_launcher.py | 8 ++ .../launchers/exception_handling_launcher.py | 8 ++ solrorbit/builder/launchers/no_op_launcher.py | 8 ++ .../builder/models/architecture_types.py | 8 ++ solrorbit/builder/models/bootstrap_phase.py | 8 ++ solrorbit/builder/models/cluster.py | 8 ++ .../models/cluster_config_descriptor.py | 8 ++ .../builder/models/cluster_config_instance.py | 8 ++ .../builder/models/cluster_config_types.py | 8 ++ solrorbit/builder/models/cluster_flavors.py | 8 ++ .../builder/models/cluster_infra_providers.py | 8 ++ .../builder/models/config_instance_types.py | 8 ++ solrorbit/builder/models/host.py | 8 ++ solrorbit/builder/models/node.py | 8 ++ .../builder/models/plugin_config_instance.py | 8 ++ solrorbit/builder/provisioners/provisioner.py | 8 ++ .../utils/artifact_variables_provider.py | 8 ++ solrorbit/builder/utils/git_manager.py | 8 ++ solrorbit/builder/utils/host_cleaner.py | 8 ++ solrorbit/builder/utils/jdk_resolver.py | 8 ++ solrorbit/builder/utils/path_manager.py | 8 ++ solrorbit/builder/utils/template_renderer.py | 8 ++ solrorbit/utils/periodic_waiter.py | 8 ++ tests/aggregator_test.py | 8 ++ .../plugin_config_instance_lister_test.py | 8 ++ .../utils/config_path_resolver_test.py | 8 ++ .../builders/source_binary_builder_test.py | 8 ++ .../distribution_downloader_test.py | 8 ++ .../distribution_repository_provider_test.py | 8 ++ ...n_distribution_repository_provider_test.py | 8 ++ .../repository_url_provider_test.py | 8 ++ .../source_repository_provider_test.py | 8 ++ .../downloaders/source_downloader_test.py | 8 ++ .../exception_handling_executor_test.py | 8 ++ .../builder/executors/shell_executor_test.py | 8 ++ .../builder/installers/bare_installer_test.py | 8 ++ .../installers/docker_installer_test.py | 8 ++ .../preparers/solr_preparer_test.py | 8 ++ .../builder/launchers/docker_launcher_test.py | 8 ++ .../launchers/local_process_launcher_test.py | 8 ++ .../utils/artifact_variables_provider_test.py | 8 ++ tests/builder/utils/config_applier_test.py | 8 ++ tests/builder/utils/host_cleaner_test.py | 8 ++ .../builder/utils/java_home_resolver_test.py | 8 ++ tests/builder/utils/jdk_resolver_test.py | 8 ++ tests/builder/utils/path_manager_test.py | 8 ++ tests/builder/utils/template_renderer_test.py | 8 ++ tests/utils/periodic_waiter_test.py | 8 ++ 67 files changed, 793 insertions(+), 2 deletions(-) create mode 100644 .rat-excludes create mode 100644 THIRD_PARTY.md create mode 100755 scripts/release-checks.sh diff --git a/.rat-excludes b/.rat-excludes new file mode 100644 index 00000000..afed9109 --- /dev/null +++ b/.rat-excludes @@ -0,0 +1,102 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# --------------------------------------------------------------------------- +# Apache RAT exclusion list +# Patterns are Ant-style globs; one per line. +# Files listed here legitimately carry no Apache license header. +# --------------------------------------------------------------------------- + +# Python bytecode and tool caches +**/__pycache__/** +**/*.pyc +**/*.pyo +.pytest_cache/** +.ruff_cache/** +*.egg-info/** + +# Empty __init__.py namespace markers (no content to annotate) +**/__init__.py + +# Version / lock / pin files (no meaningful content to annotate) +version.txt +.python-version +docs/Gemfile.lock +docs/.ruby-version + +# Configuration and data resource files shipped with the package +# (ASF policy does not require headers in pure config/data files) +**/*.ini +**/*.json +**/*.yml +**/*.yaml +**/*.j2 +**/*.properties +**/*.options +**/*.xml + +# Test fixtures and binary test data +tests/builder/data/** +tests/utils/resources/** +it/resources/** + +# Binary and image files +**/*.svg +**/*.png +**/*.tar +**/*.tar.gz +**/*.tar.bz2 +**/*.tgz +**/*.bz2 +**/*.gz +**/*.zip +**/*.zst +**/*.crt +**/*.key + +# Documentation (Markdown source and Jekyll-generated output) +**/*.md +docs/_site/** +docs/_includes/** +docs/_layouts/** +docs/_sass/** +docs/assets/** +docs/Gemfile + +# GitHub and CI metadata files +.github/** +.ci/variables.json + +# IDE project files +.idea/** + +# Root-level project metadata +# (LICENSE and NOTICE are already excluded by RAT by default) +Makefile +pyproject.toml +MANIFEST.in + +# Tool and infrastructure config files (no license header required) +.coveragerc +**/.gitignore +.asf.yaml +.fossa.yml +docker/Dockerfile +docker/.dockerignore + +# Version files +solrorbit/min-version.txt diff --git a/DEVELOPER_GUIDE.md b/DEVELOPER_GUIDE.md index 9860fd69..543f24d2 100644 --- a/DEVELOPER_GUIDE.md +++ b/DEVELOPER_GUIDE.md @@ -11,6 +11,7 @@ Apache Solr Orbit. - [Running Tests](#running-tests) - [Submitting a Pull Request](#submitting-a-pull-request) - [Developing Breaking Changes](#developing-breaking-changes) +- [Release](#release) - [Miscellaneous](#miscellaneous) ## Prerequisites @@ -122,6 +123,32 @@ make it Develop breaking changes in a dedicated feature branch. Rebase onto `main` before the next release and merge at that point. +## Release + +### License audit (Apache RAT) + +[Apache RAT](https://creadur.apache.org/rat/) is required by ASF release policy to verify +that every file in a source release carries an approved license header. Run it before +cutting a release: + +```bash +make rat +``` + +RAT downloads its runner JAR to `~/.cache/apache-rat/` on first use (requires `curl` and +`java`). Exclusions for files that legitimately carry no header (test fixtures, config +files, generated output, binaries) are listed in `.rat-excludes`. + +If RAT reports unexpected unapproved files, either: +- Add the Apache license header to the file, or +- Add an exclusion pattern to `.rat-excludes` with a comment explaining why the file is exempt + +The full release pre-flight is run via: + +```bash +make release-checks release_version=X.Y.Z next_version=X.Y.Z+1 +``` + ## Miscellaneous ### Avoiding secrets in commits diff --git a/Makefile b/Makefile index 6f927f82..7c72de22 100644 --- a/Makefile +++ b/Makefile @@ -22,6 +22,11 @@ VERSIONS = $(shell jq -r '.python_versions | .[]' .ci/variables.json | sed '$$d' VERSION312 = $(shell jq -r '.python_versions | .[]' .ci/variables.json | sed '$$d' | grep 3\.12) PYENV_ERROR = "\033[0;31mIMPORTANT\033[0m: Please install pyenv and run \033[0;31meval \"\$$(pyenv init -)\"\033[0m.\n" +RAT_VERSION = 0.18 +RAT_JAR_DIR = $(HOME)/.cache/apache-rat +RAT_JAR = $(RAT_JAR_DIR)/apache-rat-$(RAT_VERSION).jar +RAT_URL = https://downloads.apache.org/creadur/apache-rat-$(RAT_VERSION)/apache-rat-$(RAT_VERSION)-bin.tar.gz + all: develop pyinst: @@ -98,11 +103,18 @@ coverage: coverage run -m pytest tests/ coverage html +$(RAT_JAR): + mkdir -p $(RAT_JAR_DIR) + curl -fsSL $(RAT_URL) | tar -xz -C $(RAT_JAR_DIR) --strip-components=1 "apache-rat-$(RAT_VERSION)/apache-rat-$(RAT_VERSION).jar" + +rat: $(RAT_JAR) + java -jar $(RAT_JAR) -E .rat-excludes -d . + release-checks: - ./release-checks.sh $(release_version) $(next_version) + ./scripts/release-checks.sh $(release_version) $(next_version) # usage: e.g. make release release_version=0.9.2 next_version=0.9.3 release: release-checks clean it ./release.sh $(release_version) $(next_version) -.PHONY: install clean python-caches-clean tox-env-clean test it it312 benchmark coverage release release-checks pyinst +.PHONY: install clean python-caches-clean tox-env-clean lint format test it it312 benchmark coverage rat release release-checks pyinst diff --git a/THIRD_PARTY.md b/THIRD_PARTY.md new file mode 100644 index 00000000..9cbfc51c --- /dev/null +++ b/THIRD_PARTY.md @@ -0,0 +1,119 @@ +| Name | Version | License | Author | URL | +|---------------------------|-------------|--------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------| +| Faker | 40.19.1 | MIT License | joke2k | https://github.com/joke2k/faker | +| Jinja2 | 3.1.6 | BSD License | UNKNOWN | https://github.com/pallets/jinja/ | +| MarkupSafe | 3.0.3 | BSD-3-Clause | UNKNOWN | https://github.com/pallets/markupsafe/ | +| PyJWT | 2.13.0 | MIT | Jose Padilla | https://github.com/jpadilla/pyjwt | +| PyYAML | 6.0.3 | MIT License | Kirill Simonov | https://pyyaml.org/ | +| Pygments | 2.20.0 | BSD-2-Clause | Georg Brandl | https://pygments.org | +| annotated-types | 0.7.0 | MIT License | Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>, Samuel Colvin , Zac Hatfield-Dodds | https://github.com/annotated-types/annotated-types | +| astroid | 4.0.4 | LGPL-2.1-or-later | UNKNOWN | https://github.com/pylint-dev/astroid/issues | +| attrs | 26.1.0 | MIT | Hynek Schlawack | https://www.attrs.org/en/stable/changelog.html | +| bokeh | 3.9.0 | BSD-3-Clause | Bokeh Team | https://bokeh.org | +| boto3 | 1.43.14 | Apache-2.0 | Amazon Web Services | https://github.com/boto/boto3 | +| botocore | 1.43.14 | Apache-2.0 | Amazon Web Services | https://github.com/boto/botocore | +| cachetools | 7.1.4 | MIT | Thomas Kemmer | https://github.com/tkem/cachetools/ | +| certifi | 2026.5.20 | Mozilla Public License 2.0 (MPL 2.0) | Kenneth Reitz | https://github.com/certifi/python-certifi | +| cffi | 2.0.0 | MIT | Armin Rigo, Maciej Fijalkowski | https://cffi.readthedocs.io/en/latest/whatsnew.html | +| charset-normalizer | 3.4.7 | MIT | "Ahmed R. TAHRI" | https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md | +| click | 8.4.1 | BSD-3-Clause | UNKNOWN | https://github.com/pallets/click/ | +| cloudpickle | 3.1.2 | BSD License | The cloudpickle developer team | https://github.com/cloudpipe/cloudpickle | +| colorama | 0.4.6 | BSD License | Jonathan Hartley | https://github.com/tartley/colorama | +| contourpy | 1.3.3 | BSD License | Ian Thomas | https://github.com/contourpy/contourpy | +| coverage | 7.14.1 | Apache-2.0 | Ned Batchelder and 255 others | https://github.com/coveragepy/coveragepy | +| cryptography | 48.0.0 | Apache-2.0 OR BSD-3-Clause | The Python Cryptographic Authority and individual contributors | https://github.com/pyca/cryptography | +| dask | 2026.3.0 | BSD-3-Clause | UNKNOWN | https://github.com/dask/dask/ | +| dill | 0.4.1 | BSD License | Mike McKerns | https://github.com/uqfoundation/dill | +| distlib | 0.4.0 | Python Software Foundation License | Vinay Sajip | https://github.com/pypa/distlib | +| distributed | 2026.3.0 | BSD-3-Clause | UNKNOWN | https://distributed.dask.org | +| docutils | 0.22.4 | BSD License; GNU General Public License (GPL); Public Domain | David Goodger | https://docutils.sourceforge.io | +| filelock | 3.29.0 | MIT | UNKNOWN | https://github.com/tox-dev/py-filelock | +| fsspec | 2026.4.0 | BSD-3-Clause | UNKNOWN | https://github.com/fsspec/filesystem_spec | +| github3.py | 4.0.1 | BSD-3-Clause | Ian Stapleton Cordasco | https://github.com/sigmavirus24/github3.py | +| google-auth | 2.53.0 | Apache Software License | Google Cloud Platform | https://github.com/googleapis/google-auth-library-python | +| google-crc32c | 1.8.0 | UNKNOWN | Google LLC | https://github.com/googleapis/python-crc32c | +| google-resumable-media | 2.9.0 | Apache Software License | Google Cloud Platform | https://github.com/googleapis/google-resumable-media-python | +| h5py | 3.16.0 | BSD-3-Clause | Andrew Collette | https://www.h5py.org/ | +| id | 1.6.1 | Apache Software License | UNKNOWN | https://pypi.org/project/id/ | +| idna | 3.16 | BSD-3-Clause | Kim Davies | https://github.com/kjd/idna | +| ijson | 3.5.0 | BSD-3-Clause AND ISC | Rodrigo Tobar , Ivan Sagalaev | https://github.com/ICRAR/ijson | +| iniconfig | 2.3.0 | MIT | Ronny Pfannschmidt , Holger Krekel | https://github.com/pytest-dev/iniconfig | +| isort | 5.13.2 | MIT License | Timothy Crosley | https://pycqa.github.io/isort/ | +| jaraco.classes | 3.4.0 | MIT License | Jason R. Coombs | https://github.com/jaraco/jaraco.classes | +| jaraco.context | 6.1.2 | MIT | "Jason R. Coombs" | https://github.com/jaraco/jaraco.context | +| jaraco.functools | 4.5.0 | MIT | "Jason R. Coombs" | https://github.com/jaraco/jaraco.functools | +| jmespath | 1.1.0 | MIT License | James Saryerwinnie | https://github.com/jmespath/jmespath.py | +| jsonschema | 4.26.0 | MIT | Julian Berman | https://github.com/python-jsonschema/jsonschema | +| jsonschema-specifications | 2025.9.1 | MIT | Julian Berman | https://github.com/python-jsonschema/jsonschema-specifications | +| jwcrypto | 1.5.7 | LGPL-3.0-or-later | UNKNOWN | https://github.com/latchset/jwcrypto | +| keyring | 25.7.0 | MIT | Kang Zhang | https://github.com/jaraco/keyring | +| lazy-object-proxy | 1.12.0 | BSD-2-Clause | Ionel Cristian Mărieș | https://python-lazy-object-proxy.readthedocs.io/en/latest/changelog.html | +| locket | 1.0.0 | BSD License | Michael Williamson | http://github.com/mwilliamson/locket.py | +| markdown-it-py | 4.2.0 | MIT License | Chris Sewell | https://github.com/executablebooks/markdown-it-py | +| mccabe | 0.6.1 | MIT License | Ian Cordasco | https://github.com/pycqa/mccabe | +| mdurl | 0.1.2 | MIT License | Taneli Hukkinen | https://github.com/executablebooks/mdurl | +| mimesis | 19.1.0 | MIT | Isaak Uchakaev | https://github.com/lk-geimfari/mimesis | +| more-itertools | 11.1.0 | MIT | Erik Rose | https://github.com/more-itertools/more-itertools | +| msgpack | 1.1.2 | Apache-2.0 | Inada Naoki | https://msgpack.org/ | +| narwhals | 2.21.2 | MIT License | Marco Gorelli | https://github.com/narwhals-dev/narwhals | +| nh3 | 0.3.5 | MIT | messense | UNKNOWN | +| numpy | 1.26.4 | BSD License | Travis E. Oliphant et al. | https://numpy.org | +| packaging | 26.2 | Apache-2.0 OR BSD-2-Clause | Donald Stufft | https://github.com/pypa/packaging | +| pandas | 3.0.3 | BSD License | The Pandas Development Team | https://pandas.pydata.org | +| partd | 1.4.2 | BSD | UNKNOWN | http://github.com/dask/partd/ | +| pillow | 12.2.0 | MIT-CMU | Jeffrey 'Alex' Clark | https://python-pillow.github.io | +| pkginfo | 1.12.1.2 | MIT License | Tres Seaver, Agendaless Consulting | https://code.launchpad.net/~tseaver/pkginfo/trunk | +| platformdirs | 4.9.6 | MIT | UNKNOWN | https://github.com/tox-dev/platformdirs | +| pluggy | 1.6.0 | MIT License | Holger Krekel | UNKNOWN | +| psutil | 7.2.2 | BSD-3-Clause | Giampaolo Rodola | https://github.com/giampaolo/psutil | +| py | 1.11.0 | MIT License | holger krekel, Ronny Pfannschmidt, Benjamin Peterson and others | https://py.readthedocs.io/ | +| py-cpuinfo | 9.0.0 | MIT License | Matthew Brennan Jones | https://github.com/workhorsy/py-cpuinfo | +| pyasn1 | 0.6.3 | BSD-2-Clause | Ilya Etingof | https://github.com/pyasn1/pyasn1 | +| pyasn1_modules | 0.4.2 | BSD License | Ilya Etingof | https://github.com/pyasn1/pyasn1-modules | +| pycparser | 3.0 | BSD-3-Clause | Eli Bendersky | https://github.com/eliben/pycparser | +| pydantic | 2.13.4 | MIT | Samuel Colvin , Eric Jolibois , Hasan Ramezani , Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>, Terrence Dorsey , David Montague , Serge Matveenko , Marcelo Trylesinski , Sydney Runkle , David Hewitt , Alex Hall , Victorien Plot | https://github.com/pydantic/pydantic | +| pydantic_core | 2.46.4 | MIT | Samuel Colvin , Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>, David Montague , David Hewitt , Sydney Runkle , Victorien Plot | https://github.com/pydantic | +| pylint | 4.0.5 | GPL-2.0-or-later | Python Code Quality Authority | https://github.com/pylint-dev/pylint | +| pylint-quotes | 0.2.3 | MIT License | Erick Daniszewski | https://github.com/edaniszewski/pylint-quotes | +| pyproject-api | 1.10.0 | MIT | Bernát Gábor | https://pyproject-api.readthedocs.io | +| pysolr | 3.11.0 | BSD License | Daniel Lindsley | https://github.com/django-haystack/pysolr/ | +| pytest | 9.0.3 | MIT | Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Freya Bruhin, Others (See AUTHORS) | https://docs.pytest.org/en/latest/ | +| pytest-asyncio | 1.4.0 | Apache-2.0 | Tin Tvrtković | https://github.com/pytest-dev/pytest-asyncio | +| pytest-benchmark | 5.0.1 | BSD License | Ionel Cristian Mărieș | https://github.com/ionelmc/pytest-benchmark | +| python-dateutil | 2.9.0.post0 | Apache Software License; BSD License | Gustavo Niemeyer | https://github.com/dateutil/dateutil | +| python-discovery | 1.3.1 | MIT License | UNKNOWN | https://github.com/tox-dev/python-discovery | +| readme_renderer | 44.0 | Apache Software License | The Python Packaging Authority | UNKNOWN | +| referencing | 0.37.0 | MIT | Julian Berman | https://github.com/python-jsonschema/referencing | +| requests | 2.34.2 | Apache Software License | Kenneth Reitz | https://github.com/psf/requests | +| requests-toolbelt | 1.0.0 | Apache Software License | Ian Cordasco, Cory Benfield | https://toolbelt.readthedocs.io/ | +| rfc3986 | 2.0.0 | Apache Software License | Ian Stapleton Cordasco | http://rfc3986.readthedocs.io | +| rich | 15.0.0 | MIT License | Will McGugan | https://github.com/Textualize/rich | +| rpds-py | 0.30.0 | MIT | Julian Berman | https://github.com/crate-py/rpds | +| ruff | 0.15.15 | MIT | "Astral Software Inc." | https://docs.astral.sh/ruff | +| s3transfer | 0.17.0 | Apache Software License | Amazon Web Services | https://github.com/boto/s3transfer | +| six | 1.17.0 | MIT License | Benjamin Peterson | https://github.com/benjaminp/six | +| solr-orbit | 0.1.0 | Apache Software License | UNKNOWN | https://github.com/apache/solr-orbit | +| solr-orbit | 0.1.0 | Apache Software License | UNKNOWN | https://github.com/apache/solr-orbit | +| sortedcontainers | 2.4.0 | Apache Software License | Grant Jenks | http://www.grantjenks.com/docs/sortedcontainers/ | +| tabulate | 0.10.0 | MIT | Sergey Astanin | https://github.com/astanin/python-tabulate | +| tblib | 3.2.2 | BSD-2-Clause | Ionel Cristian Mărieș | https://python-tblib.readthedocs.io/en/latest/changelog.html | +| thespian | 3.10.6 | MIT License | Kevin Quick | http://thespianpy.com | +| toml | 0.10.2 | MIT License | William Pearson | https://github.com/uiri/toml | +| tomli_w | 1.2.0 | MIT License | Taneli Hukkinen | https://github.com/hukkin/tomli-w | +| tomlkit | 0.15.0 | MIT License | Sébastien Eustace | https://github.com/python-poetry/tomlkit | +| toolz | 1.1.0 | BSD-3-Clause | PyToolz Contributors | https://github.com/pytoolz/toolz | +| tornado | 6.5.5 | Apache Software License | Facebook | http://www.tornadoweb.org/ | +| tox | 4.54.0 | MIT | Bernát Gábor | http://tox.readthedocs.org | +| tqdm | 4.67.3 | MPL-2.0 AND MIT | UNKNOWN | https://tqdm.github.io | +| twine | 6.2.0 | Apache-2.0 | Donald Stufft and individual contributors | https://twine.readthedocs.io/ | +| typing-inspection | 0.4.2 | MIT | Victorien Plot | https://github.com/pydantic/typing-inspection | +| typing_extensions | 4.15.0 | PSF-2.0 | "Guido van Rossum, Jukka Lehtosalo, Łukasz Langa, Michael Lee" | https://github.com/python/typing_extensions | +| ujson | 5.12.1 | BSD-3-Clause AND TCL | Jonas Tarnstrom | https://github.com/ultrajson/ultrajson | +| uritemplate | 4.2.0 | BSD 3-Clause OR Apache-2.0 | Ian Stapleton Cordasco | https://uritemplate.readthedocs.org | +| urllib3 | 2.7.0 | MIT | Andrey Petrov | https://github.com/urllib3/urllib3/blob/main/CHANGES.rst | +| virtualenv | 21.3.3 | MIT | UNKNOWN | https://github.com/pypa/virtualenv | +| wrapt | 1.17.3 | BSD License | Graham Dumpleton | https://github.com/GrahamDumpleton/wrapt | +| xyzservices | 2026.3.0 | BSD-3-Clause | Dani Arribas-Bel , Martin Fleischmann | https://github.com/geopandas/xyzservices | +| yappi | 1.7.6 | MIT License | Sümer Cip | https://github.com/sumerc/yappi | +| zict | 3.0.0 | BSD License | UNKNOWN | http://zict.readthedocs.io/en/latest/ | +| zstandard | 0.25.0 | BSD-3-Clause | Gregory Szorc | https://github.com/indygreg/python-zstandard | diff --git a/scripts/release-checks.sh b/scripts/release-checks.sh new file mode 100755 index 00000000..b77dc976 --- /dev/null +++ b/scripts/release-checks.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +set -e + +release_version=$1 +next_version=$2 + +if [ -z "$release_version" ] || [ -z "$next_version" ]; then + echo "Usage: $0 " + echo " e.g. $0 0.9.2 0.9.3" + exit 1 +fi + +echo "Running release checks for version ${release_version} (next: ${next_version})" + +echo "--- Apache RAT license audit ---" +make rat + +echo "All release checks passed for version ${release_version}." diff --git a/solrorbit/aggregator.py b/solrorbit/aggregator.py index 7f099314..1fbf653b 100644 --- a/solrorbit/aggregator.py +++ b/solrorbit/aggregator.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. import os import statistics from typing import Any, Dict, List, Union diff --git a/solrorbit/builder/cluster_builder.py b/solrorbit/builder/cluster_builder.py index abdfdb09..9db7afa4 100644 --- a/solrorbit/builder/cluster_builder.py +++ b/solrorbit/builder/cluster_builder.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. """ The ClusterBuilder is the interface into the builder system from the Dispatcher. This class orchestrates all of the builder subcomponents used to create and delete a cluster. diff --git a/solrorbit/builder/configs/listers/plugin_config_instance_lister.py b/solrorbit/builder/configs/listers/plugin_config_instance_lister.py index b11a50d6..b3a03528 100644 --- a/solrorbit/builder/configs/listers/plugin_config_instance_lister.py +++ b/solrorbit/builder/configs/listers/plugin_config_instance_lister.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. import logging import os diff --git a/solrorbit/builder/configs/utils/config_path_resolver.py b/solrorbit/builder/configs/utils/config_path_resolver.py index 608c9bd6..ae55873b 100644 --- a/solrorbit/builder/configs/utils/config_path_resolver.py +++ b/solrorbit/builder/configs/utils/config_path_resolver.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. import os from solrorbit.exceptions import SystemSetupError diff --git a/solrorbit/builder/downloaders/builders/binary_builder.py b/solrorbit/builder/downloaders/builders/binary_builder.py index 82a6934a..32477f81 100644 --- a/solrorbit/builder/downloaders/builders/binary_builder.py +++ b/solrorbit/builder/downloaders/builders/binary_builder.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from abc import ABC, abstractmethod diff --git a/solrorbit/builder/downloaders/builders/source_binary_builder.py b/solrorbit/builder/downloaders/builders/source_binary_builder.py index 0322e8c2..9e7f3538 100644 --- a/solrorbit/builder/downloaders/builders/source_binary_builder.py +++ b/solrorbit/builder/downloaders/builders/source_binary_builder.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. import logging import os diff --git a/solrorbit/builder/downloaders/repositories/plugin_distribution_repository_provider.py b/solrorbit/builder/downloaders/repositories/plugin_distribution_repository_provider.py index 38a30264..3f4ca85c 100644 --- a/solrorbit/builder/downloaders/repositories/plugin_distribution_repository_provider.py +++ b/solrorbit/builder/downloaders/repositories/plugin_distribution_repository_provider.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. class PluginDistributionRepositoryProvider: def __init__(self, plugin, repository_url_provider): self.plugin = plugin diff --git a/solrorbit/builder/downloaders/repositories/repository_url_provider.py b/solrorbit/builder/downloaders/repositories/repository_url_provider.py index 2ad32508..4ef7142a 100644 --- a/solrorbit/builder/downloaders/repositories/repository_url_provider.py +++ b/solrorbit/builder/downloaders/repositories/repository_url_provider.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from functools import reduce from solrorbit.exceptions import SystemSetupError diff --git a/solrorbit/builder/downloaders/repositories/source_repository_provider.py b/solrorbit/builder/downloaders/repositories/source_repository_provider.py index 72a1fd9a..6478690f 100644 --- a/solrorbit/builder/downloaders/repositories/source_repository_provider.py +++ b/solrorbit/builder/downloaders/repositories/source_repository_provider.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. import logging import os from collections import OrderedDict diff --git a/solrorbit/builder/executors/exception_handling_shell_executor.py b/solrorbit/builder/executors/exception_handling_shell_executor.py index 6a9135e6..70c571e9 100644 --- a/solrorbit/builder/executors/exception_handling_shell_executor.py +++ b/solrorbit/builder/executors/exception_handling_shell_executor.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from solrorbit.builder.executors.shell_executor import ShellExecutor from solrorbit.exceptions import ExecutorError diff --git a/solrorbit/builder/executors/local_shell_executor.py b/solrorbit/builder/executors/local_shell_executor.py index c5fa3585..b685c80c 100644 --- a/solrorbit/builder/executors/local_shell_executor.py +++ b/solrorbit/builder/executors/local_shell_executor.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. import subprocess from solrorbit.builder.executors.shell_executor import ShellExecutor diff --git a/solrorbit/builder/executors/shell_executor.py b/solrorbit/builder/executors/shell_executor.py index 4a3ff9bc..bdad4173 100644 --- a/solrorbit/builder/executors/shell_executor.py +++ b/solrorbit/builder/executors/shell_executor.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from abc import ABC, abstractmethod diff --git a/solrorbit/builder/installers/exception_handling_installer.py b/solrorbit/builder/installers/exception_handling_installer.py index e2960d40..bf4da069 100644 --- a/solrorbit/builder/installers/exception_handling_installer.py +++ b/solrorbit/builder/installers/exception_handling_installer.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from solrorbit.builder.installers.installer import Installer from solrorbit.exceptions import InstallError diff --git a/solrorbit/builder/installers/preparers/preparer.py b/solrorbit/builder/installers/preparers/preparer.py index e1dc7059..929eee3c 100644 --- a/solrorbit/builder/installers/preparers/preparer.py +++ b/solrorbit/builder/installers/preparers/preparer.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from abc import ABC, abstractmethod diff --git a/solrorbit/builder/launchers/docker_launcher.py b/solrorbit/builder/launchers/docker_launcher.py index 77306dfa..87cf4500 100644 --- a/solrorbit/builder/launchers/docker_launcher.py +++ b/solrorbit/builder/launchers/docker_launcher.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. import logging import os diff --git a/solrorbit/builder/launchers/exception_handling_launcher.py b/solrorbit/builder/launchers/exception_handling_launcher.py index c1056a7d..41f5bfc0 100644 --- a/solrorbit/builder/launchers/exception_handling_launcher.py +++ b/solrorbit/builder/launchers/exception_handling_launcher.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from solrorbit.builder.launchers.launcher import Launcher from solrorbit.exceptions import LaunchError diff --git a/solrorbit/builder/launchers/no_op_launcher.py b/solrorbit/builder/launchers/no_op_launcher.py index a804c26e..d28b3738 100644 --- a/solrorbit/builder/launchers/no_op_launcher.py +++ b/solrorbit/builder/launchers/no_op_launcher.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from solrorbit.builder.launchers.launcher import Launcher diff --git a/solrorbit/builder/models/architecture_types.py b/solrorbit/builder/models/architecture_types.py index 14854d92..48733c43 100644 --- a/solrorbit/builder/models/architecture_types.py +++ b/solrorbit/builder/models/architecture_types.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from enum import Enum diff --git a/solrorbit/builder/models/bootstrap_phase.py b/solrorbit/builder/models/bootstrap_phase.py index a5eea397..7f5eda73 100644 --- a/solrorbit/builder/models/bootstrap_phase.py +++ b/solrorbit/builder/models/bootstrap_phase.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from enum import Enum diff --git a/solrorbit/builder/models/cluster.py b/solrorbit/builder/models/cluster.py index 2dfbd7f2..c8252191 100644 --- a/solrorbit/builder/models/cluster.py +++ b/solrorbit/builder/models/cluster.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from dataclasses import dataclass from typing import List diff --git a/solrorbit/builder/models/cluster_config_descriptor.py b/solrorbit/builder/models/cluster_config_descriptor.py index 1aaec117..a9118ba6 100644 --- a/solrorbit/builder/models/cluster_config_descriptor.py +++ b/solrorbit/builder/models/cluster_config_descriptor.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from dataclasses import dataclass, field from typing import List diff --git a/solrorbit/builder/models/cluster_config_instance.py b/solrorbit/builder/models/cluster_config_instance.py index 3ade3996..e158e8ad 100644 --- a/solrorbit/builder/models/cluster_config_instance.py +++ b/solrorbit/builder/models/cluster_config_instance.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from dataclasses import dataclass, field from typing import List diff --git a/solrorbit/builder/models/cluster_config_types.py b/solrorbit/builder/models/cluster_config_types.py index bd570115..d95cbc15 100644 --- a/solrorbit/builder/models/cluster_config_types.py +++ b/solrorbit/builder/models/cluster_config_types.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from enum import Enum diff --git a/solrorbit/builder/models/cluster_flavors.py b/solrorbit/builder/models/cluster_flavors.py index a26fc44e..8ed2d296 100644 --- a/solrorbit/builder/models/cluster_flavors.py +++ b/solrorbit/builder/models/cluster_flavors.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from enum import Enum diff --git a/solrorbit/builder/models/cluster_infra_providers.py b/solrorbit/builder/models/cluster_infra_providers.py index 3a6b9cd7..8e0f9a8f 100644 --- a/solrorbit/builder/models/cluster_infra_providers.py +++ b/solrorbit/builder/models/cluster_infra_providers.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from enum import Enum diff --git a/solrorbit/builder/models/config_instance_types.py b/solrorbit/builder/models/config_instance_types.py index b75a01e9..a53cda1e 100644 --- a/solrorbit/builder/models/config_instance_types.py +++ b/solrorbit/builder/models/config_instance_types.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from enum import Enum diff --git a/solrorbit/builder/models/host.py b/solrorbit/builder/models/host.py index 5ab00945..f1de0e94 100644 --- a/solrorbit/builder/models/host.py +++ b/solrorbit/builder/models/host.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from dataclasses import dataclass from solrorbit.builder.models.node import Node diff --git a/solrorbit/builder/models/node.py b/solrorbit/builder/models/node.py index 21de8405..6cbe1b00 100644 --- a/solrorbit/builder/models/node.py +++ b/solrorbit/builder/models/node.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from dataclasses import dataclass from typing import List diff --git a/solrorbit/builder/models/plugin_config_instance.py b/solrorbit/builder/models/plugin_config_instance.py index 58590f2f..a00d4a4e 100644 --- a/solrorbit/builder/models/plugin_config_instance.py +++ b/solrorbit/builder/models/plugin_config_instance.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from dataclasses import dataclass, field from typing import List diff --git a/solrorbit/builder/provisioners/provisioner.py b/solrorbit/builder/provisioners/provisioner.py index 572c0cd0..32d63ed9 100644 --- a/solrorbit/builder/provisioners/provisioner.py +++ b/solrorbit/builder/provisioners/provisioner.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from abc import ABC, abstractmethod diff --git a/solrorbit/builder/utils/artifact_variables_provider.py b/solrorbit/builder/utils/artifact_variables_provider.py index a463e02a..b52b5d6f 100644 --- a/solrorbit/builder/utils/artifact_variables_provider.py +++ b/solrorbit/builder/utils/artifact_variables_provider.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from solrorbit.builder.models.architecture_types import ArchitectureTypes diff --git a/solrorbit/builder/utils/git_manager.py b/solrorbit/builder/utils/git_manager.py index f7a938fa..ef3e0329 100644 --- a/solrorbit/builder/utils/git_manager.py +++ b/solrorbit/builder/utils/git_manager.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. class GitManager: def __init__(self, executor): self.executor = executor diff --git a/solrorbit/builder/utils/host_cleaner.py b/solrorbit/builder/utils/host_cleaner.py index 52d679df..105bd1f4 100644 --- a/solrorbit/builder/utils/host_cleaner.py +++ b/solrorbit/builder/utils/host_cleaner.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. import logging from solrorbit.utils import console diff --git a/solrorbit/builder/utils/jdk_resolver.py b/solrorbit/builder/utils/jdk_resolver.py index 2a4759e6..3436dbde 100644 --- a/solrorbit/builder/utils/jdk_resolver.py +++ b/solrorbit/builder/utils/jdk_resolver.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. import os import re diff --git a/solrorbit/builder/utils/path_manager.py b/solrorbit/builder/utils/path_manager.py index 89211547..e7472d5b 100644 --- a/solrorbit/builder/utils/path_manager.py +++ b/solrorbit/builder/utils/path_manager.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from solrorbit.exceptions import ExecutorError from solrorbit.utils import io diff --git a/solrorbit/builder/utils/template_renderer.py b/solrorbit/builder/utils/template_renderer.py index 8f00af30..03b3c000 100644 --- a/solrorbit/builder/utils/template_renderer.py +++ b/solrorbit/builder/utils/template_renderer.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. import jinja2 from jinja2 import select_autoescape diff --git a/solrorbit/utils/periodic_waiter.py b/solrorbit/utils/periodic_waiter.py index 78478cd9..5aa37616 100644 --- a/solrorbit/utils/periodic_waiter.py +++ b/solrorbit/utils/periodic_waiter.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from solrorbit import time diff --git a/tests/aggregator_test.py b/tests/aggregator_test.py index 7bc046ad..6bd22f41 100644 --- a/tests/aggregator_test.py +++ b/tests/aggregator_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest.mock import Mock import pytest from solrorbit import config diff --git a/tests/builder/configs/listers/plugin_config_instance_lister_test.py b/tests/builder/configs/listers/plugin_config_instance_lister_test.py index 9ac48922..6ec7abc5 100644 --- a/tests/builder/configs/listers/plugin_config_instance_lister_test.py +++ b/tests/builder/configs/listers/plugin_config_instance_lister_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. import os from unittest import TestCase from unittest.mock import Mock diff --git a/tests/builder/configs/utils/config_path_resolver_test.py b/tests/builder/configs/utils/config_path_resolver_test.py index 2a73ad24..8dbd5298 100644 --- a/tests/builder/configs/utils/config_path_resolver_test.py +++ b/tests/builder/configs/utils/config_path_resolver_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/downloaders/builders/source_binary_builder_test.py b/tests/builder/downloaders/builders/source_binary_builder_test.py index c8011ef1..a55b2abf 100644 --- a/tests/builder/downloaders/builders/source_binary_builder_test.py +++ b/tests/builder/downloaders/builders/source_binary_builder_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/downloaders/distribution_downloader_test.py b/tests/builder/downloaders/distribution_downloader_test.py index 8364e1d5..178bee0c 100644 --- a/tests/builder/downloaders/distribution_downloader_test.py +++ b/tests/builder/downloaders/distribution_downloader_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/downloaders/repositories/distribution_repository_provider_test.py b/tests/builder/downloaders/repositories/distribution_repository_provider_test.py index 1b16db33..a6c09093 100644 --- a/tests/builder/downloaders/repositories/distribution_repository_provider_test.py +++ b/tests/builder/downloaders/repositories/distribution_repository_provider_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/downloaders/repositories/plugin_distribution_repository_provider_test.py b/tests/builder/downloaders/repositories/plugin_distribution_repository_provider_test.py index 7c753fd0..56bdc723 100644 --- a/tests/builder/downloaders/repositories/plugin_distribution_repository_provider_test.py +++ b/tests/builder/downloaders/repositories/plugin_distribution_repository_provider_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/downloaders/repositories/repository_url_provider_test.py b/tests/builder/downloaders/repositories/repository_url_provider_test.py index 77a48699..57b5b245 100644 --- a/tests/builder/downloaders/repositories/repository_url_provider_test.py +++ b/tests/builder/downloaders/repositories/repository_url_provider_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/downloaders/repositories/source_repository_provider_test.py b/tests/builder/downloaders/repositories/source_repository_provider_test.py index 734a30d9..f63644bb 100644 --- a/tests/builder/downloaders/repositories/source_repository_provider_test.py +++ b/tests/builder/downloaders/repositories/source_repository_provider_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/downloaders/source_downloader_test.py b/tests/builder/downloaders/source_downloader_test.py index 42180b7c..e55bd56d 100644 --- a/tests/builder/downloaders/source_downloader_test.py +++ b/tests/builder/downloaders/source_downloader_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/executors/exception_handling_executor_test.py b/tests/builder/executors/exception_handling_executor_test.py index c078584e..4d744810 100644 --- a/tests/builder/executors/exception_handling_executor_test.py +++ b/tests/builder/executors/exception_handling_executor_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. import unittest.mock as mock from unittest import TestCase diff --git a/tests/builder/executors/shell_executor_test.py b/tests/builder/executors/shell_executor_test.py index e5eee723..a980c57b 100644 --- a/tests/builder/executors/shell_executor_test.py +++ b/tests/builder/executors/shell_executor_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. import unittest.mock as mock from unittest import TestCase diff --git a/tests/builder/installers/bare_installer_test.py b/tests/builder/installers/bare_installer_test.py index 7b86d690..0281ee49 100644 --- a/tests/builder/installers/bare_installer_test.py +++ b/tests/builder/installers/bare_installer_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/installers/docker_installer_test.py b/tests/builder/installers/docker_installer_test.py index 52c3cf74..e25ef594 100644 --- a/tests/builder/installers/docker_installer_test.py +++ b/tests/builder/installers/docker_installer_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. # pylint: disable=protected-access import os diff --git a/tests/builder/installers/preparers/solr_preparer_test.py b/tests/builder/installers/preparers/solr_preparer_test.py index cc1ed7d3..4633ff46 100644 --- a/tests/builder/installers/preparers/solr_preparer_test.py +++ b/tests/builder/installers/preparers/solr_preparer_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. import os from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/launchers/docker_launcher_test.py b/tests/builder/launchers/docker_launcher_test.py index 02fd2386..c054932c 100644 --- a/tests/builder/launchers/docker_launcher_test.py +++ b/tests/builder/launchers/docker_launcher_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. # pylint: disable=protected-access from unittest import TestCase, mock diff --git a/tests/builder/launchers/local_process_launcher_test.py b/tests/builder/launchers/local_process_launcher_test.py index 61c76faa..d9c3abc4 100644 --- a/tests/builder/launchers/local_process_launcher_test.py +++ b/tests/builder/launchers/local_process_launcher_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. # pylint: disable=protected-access import os diff --git a/tests/builder/utils/artifact_variables_provider_test.py b/tests/builder/utils/artifact_variables_provider_test.py index 2dd8fb76..6bf1a3eb 100644 --- a/tests/builder/utils/artifact_variables_provider_test.py +++ b/tests/builder/utils/artifact_variables_provider_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest import TestCase from unittest.mock import Mock diff --git a/tests/builder/utils/config_applier_test.py b/tests/builder/utils/config_applier_test.py index 48f05e82..0e7ea6c3 100644 --- a/tests/builder/utils/config_applier_test.py +++ b/tests/builder/utils/config_applier_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest import TestCase, mock from unittest.mock import Mock, patch, mock_open diff --git a/tests/builder/utils/host_cleaner_test.py b/tests/builder/utils/host_cleaner_test.py index be5cea6d..1c9d95c7 100644 --- a/tests/builder/utils/host_cleaner_test.py +++ b/tests/builder/utils/host_cleaner_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/utils/java_home_resolver_test.py b/tests/builder/utils/java_home_resolver_test.py index b9045882..23c51125 100644 --- a/tests/builder/utils/java_home_resolver_test.py +++ b/tests/builder/utils/java_home_resolver_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest import TestCase from unittest.mock import Mock diff --git a/tests/builder/utils/jdk_resolver_test.py b/tests/builder/utils/jdk_resolver_test.py index e9845887..6f51863a 100644 --- a/tests/builder/utils/jdk_resolver_test.py +++ b/tests/builder/utils/jdk_resolver_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest import TestCase from unittest.mock import Mock diff --git a/tests/builder/utils/path_manager_test.py b/tests/builder/utils/path_manager_test.py index a305bba1..7a265cc6 100644 --- a/tests/builder/utils/path_manager_test.py +++ b/tests/builder/utils/path_manager_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/utils/template_renderer_test.py b/tests/builder/utils/template_renderer_test.py index bf825888..ce6c33f4 100644 --- a/tests/builder/utils/template_renderer_test.py +++ b/tests/builder/utils/template_renderer_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/utils/periodic_waiter_test.py b/tests/utils/periodic_waiter_test.py index a7712cc8..7314b746 100644 --- a/tests/utils/periodic_waiter_test.py +++ b/tests/utils/periodic_waiter_test.py @@ -1,3 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# Modifications by Apache Solr contributors; see git log for details. +# Licensed under the Apache License, Version 2.0. +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. import sys from unittest import TestCase from unittest.mock import Mock From ad38f0c6ff3104681872a8e181f0a9bea77a6cd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=B8ydahl?= Date: Sat, 30 May 2026 18:43:53 +0200 Subject: [PATCH 02/11] fix: address code-review findings on RAT setup - Makefile: replace deprecated RAT flags -E/-d with --input-exclude-file/-- (deprecated since RAT 0.17) - Makefile: verify SHA-512 checksum of downloaded RAT JAR - scripts/release-checks.sh: harden with set -euo pipefail and cd to project root via dirname guard - DEVELOPER_GUIDE.md: replace X.Y.Z+1 placeholder with concrete version example (0.9.2 / 0.9.3) --- DEVELOPER_GUIDE.md | 2 +- Makefile | 4 +++- scripts/release-checks.sh | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/DEVELOPER_GUIDE.md b/DEVELOPER_GUIDE.md index 543f24d2..fb58791d 100644 --- a/DEVELOPER_GUIDE.md +++ b/DEVELOPER_GUIDE.md @@ -146,7 +146,7 @@ If RAT reports unexpected unapproved files, either: The full release pre-flight is run via: ```bash -make release-checks release_version=X.Y.Z next_version=X.Y.Z+1 +make release-checks release_version=0.9.2 next_version=0.9.3 ``` ## Miscellaneous diff --git a/Makefile b/Makefile index 7c72de22..c575649d 100644 --- a/Makefile +++ b/Makefile @@ -106,9 +106,11 @@ coverage: $(RAT_JAR): mkdir -p $(RAT_JAR_DIR) curl -fsSL $(RAT_URL) | tar -xz -C $(RAT_JAR_DIR) --strip-components=1 "apache-rat-$(RAT_VERSION)/apache-rat-$(RAT_VERSION).jar" + curl -fsSL "$(RAT_URL).sha512" -o "$(RAT_JAR).sha512" + cd $(RAT_JAR_DIR) && shasum -a 512 -c "apache-rat-$(RAT_VERSION).jar.sha512" rat: $(RAT_JAR) - java -jar $(RAT_JAR) -E .rat-excludes -d . + java -jar $(RAT_JAR) --input-exclude-file .rat-excludes -- . release-checks: ./scripts/release-checks.sh $(release_version) $(next_version) diff --git a/scripts/release-checks.sh b/scripts/release-checks.sh index b77dc976..91f1bd09 100755 --- a/scripts/release-checks.sh +++ b/scripts/release-checks.sh @@ -16,7 +16,8 @@ # specific language governing permissions and limitations # under the License. -set -e +set -euo pipefail +cd "$(dirname "$0")/.." release_version=$1 next_version=$2 From 647053c42949dd78140a881433311d377de25f68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=B8ydahl?= Date: Sat, 30 May 2026 21:03:57 +0200 Subject: [PATCH 03/11] fix: correct SHA-512 verification for RAT JAR download Apache's .sha512 file contains a bare hex hash with no filename, not the ` ` format shasum -c expects. Fix by: - Downloading the tarball to a temp file first - Constructing the shasum -c input inline via echo - Extracting the JAR from the verified tarball - Cleaning up the temp tarball and .sha512 file --- Makefile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index c575649d..67a07c20 100644 --- a/Makefile +++ b/Makefile @@ -105,9 +105,11 @@ coverage: $(RAT_JAR): mkdir -p $(RAT_JAR_DIR) - curl -fsSL $(RAT_URL) | tar -xz -C $(RAT_JAR_DIR) --strip-components=1 "apache-rat-$(RAT_VERSION)/apache-rat-$(RAT_VERSION).jar" - curl -fsSL "$(RAT_URL).sha512" -o "$(RAT_JAR).sha512" - cd $(RAT_JAR_DIR) && shasum -a 512 -c "apache-rat-$(RAT_VERSION).jar.sha512" + curl -fsSL $(RAT_URL) -o $(RAT_JAR_DIR)/apache-rat-$(RAT_VERSION)-bin.tar.gz + curl -fsSL "$(RAT_URL).sha512" -o $(RAT_JAR_DIR)/apache-rat-$(RAT_VERSION)-bin.tar.gz.sha512 + cd $(RAT_JAR_DIR) && echo "$$(cat apache-rat-$(RAT_VERSION)-bin.tar.gz.sha512) apache-rat-$(RAT_VERSION)-bin.tar.gz" | shasum -a 512 -c + tar -xz -C $(RAT_JAR_DIR) --strip-components=1 -f $(RAT_JAR_DIR)/apache-rat-$(RAT_VERSION)-bin.tar.gz "apache-rat-$(RAT_VERSION)/apache-rat-$(RAT_VERSION).jar" + rm $(RAT_JAR_DIR)/apache-rat-$(RAT_VERSION)-bin.tar.gz $(RAT_JAR_DIR)/apache-rat-$(RAT_VERSION)-bin.tar.gz.sha512 rat: $(RAT_JAR) java -jar $(RAT_JAR) --input-exclude-file .rat-excludes -- . From 3e4d72a7e2dd775071ef402882811f4c73387956 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=B8ydahl?= Date: Sat, 30 May 2026 21:58:22 +0200 Subject: [PATCH 04/11] fix: replace OSB-only headers with proper attribution + ASF boilerplate The 62 pre-fork files added in the RAT commit had only the short OSB snippet as a placeholder. Replace with a header that: - Credits original OpenSearch Contributors authorship - Notes the license header was absent in the original source - Includes the full ASF Apache-2.0 boilerplate Files that already carried the full Elasticsearch/ASF header are untouched. --- solrorbit/aggregator.py | 24 +++++++++++++++---- solrorbit/builder/cluster_builder.py | 24 +++++++++++++++---- .../listers/plugin_config_instance_lister.py | 24 +++++++++++++++---- .../configs/utils/config_path_resolver.py | 24 +++++++++++++++---- .../downloaders/builders/binary_builder.py | 24 +++++++++++++++---- .../builders/source_binary_builder.py | 24 +++++++++++++++---- ...plugin_distribution_repository_provider.py | 24 +++++++++++++++---- .../repositories/repository_url_provider.py | 24 +++++++++++++++---- .../source_repository_provider.py | 24 +++++++++++++++---- .../exception_handling_shell_executor.py | 24 +++++++++++++++---- .../builder/executors/local_shell_executor.py | 24 +++++++++++++++---- solrorbit/builder/executors/shell_executor.py | 24 +++++++++++++++---- .../exception_handling_installer.py | 24 +++++++++++++++---- .../builder/installers/preparers/preparer.py | 24 +++++++++++++++---- .../builder/launchers/docker_launcher.py | 24 +++++++++++++++---- .../launchers/exception_handling_launcher.py | 24 +++++++++++++++---- solrorbit/builder/launchers/no_op_launcher.py | 24 +++++++++++++++---- .../builder/models/architecture_types.py | 24 +++++++++++++++---- solrorbit/builder/models/bootstrap_phase.py | 24 +++++++++++++++---- solrorbit/builder/models/cluster.py | 24 +++++++++++++++---- .../models/cluster_config_descriptor.py | 24 +++++++++++++++---- .../builder/models/cluster_config_instance.py | 24 +++++++++++++++---- .../builder/models/cluster_config_types.py | 24 +++++++++++++++---- solrorbit/builder/models/cluster_flavors.py | 24 +++++++++++++++---- .../builder/models/cluster_infra_providers.py | 24 +++++++++++++++---- .../builder/models/config_instance_types.py | 24 +++++++++++++++---- solrorbit/builder/models/host.py | 24 +++++++++++++++---- solrorbit/builder/models/node.py | 24 +++++++++++++++---- .../builder/models/plugin_config_instance.py | 24 +++++++++++++++---- solrorbit/builder/provisioners/provisioner.py | 24 +++++++++++++++---- .../utils/artifact_variables_provider.py | 24 +++++++++++++++---- solrorbit/builder/utils/git_manager.py | 24 +++++++++++++++---- solrorbit/builder/utils/host_cleaner.py | 24 +++++++++++++++---- solrorbit/builder/utils/jdk_resolver.py | 24 +++++++++++++++---- solrorbit/builder/utils/path_manager.py | 24 +++++++++++++++---- solrorbit/builder/utils/template_renderer.py | 24 +++++++++++++++---- solrorbit/utils/periodic_waiter.py | 24 +++++++++++++++---- tests/aggregator_test.py | 24 +++++++++++++++---- .../plugin_config_instance_lister_test.py | 24 +++++++++++++++---- .../utils/config_path_resolver_test.py | 24 +++++++++++++++---- .../builders/source_binary_builder_test.py | 24 +++++++++++++++---- .../distribution_downloader_test.py | 24 +++++++++++++++---- .../distribution_repository_provider_test.py | 24 +++++++++++++++---- ...n_distribution_repository_provider_test.py | 24 +++++++++++++++---- .../repository_url_provider_test.py | 24 +++++++++++++++---- .../source_repository_provider_test.py | 24 +++++++++++++++---- .../downloaders/source_downloader_test.py | 24 +++++++++++++++---- .../exception_handling_executor_test.py | 24 +++++++++++++++---- .../builder/executors/shell_executor_test.py | 24 +++++++++++++++---- .../builder/installers/bare_installer_test.py | 24 +++++++++++++++---- .../installers/docker_installer_test.py | 24 +++++++++++++++---- .../preparers/solr_preparer_test.py | 24 +++++++++++++++---- .../builder/launchers/docker_launcher_test.py | 24 +++++++++++++++---- .../launchers/local_process_launcher_test.py | 24 +++++++++++++++---- .../utils/artifact_variables_provider_test.py | 24 +++++++++++++++---- tests/builder/utils/config_applier_test.py | 24 +++++++++++++++---- tests/builder/utils/host_cleaner_test.py | 24 +++++++++++++++---- .../builder/utils/java_home_resolver_test.py | 24 +++++++++++++++---- tests/builder/utils/jdk_resolver_test.py | 24 +++++++++++++++---- tests/builder/utils/path_manager_test.py | 24 +++++++++++++++---- tests/builder/utils/template_renderer_test.py | 24 +++++++++++++++---- tests/utils/periodic_waiter_test.py | 24 +++++++++++++++---- 62 files changed, 1178 insertions(+), 310 deletions(-) diff --git a/solrorbit/aggregator.py b/solrorbit/aggregator.py index 1fbf653b..a8d5eaba 100644 --- a/solrorbit/aggregator.py +++ b/solrorbit/aggregator.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. import os import statistics from typing import Any, Dict, List, Union diff --git a/solrorbit/builder/cluster_builder.py b/solrorbit/builder/cluster_builder.py index 9db7afa4..2b219a69 100644 --- a/solrorbit/builder/cluster_builder.py +++ b/solrorbit/builder/cluster_builder.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. """ The ClusterBuilder is the interface into the builder system from the Dispatcher. This class orchestrates all of the builder subcomponents used to create and delete a cluster. diff --git a/solrorbit/builder/configs/listers/plugin_config_instance_lister.py b/solrorbit/builder/configs/listers/plugin_config_instance_lister.py index b3a03528..a85c4559 100644 --- a/solrorbit/builder/configs/listers/plugin_config_instance_lister.py +++ b/solrorbit/builder/configs/listers/plugin_config_instance_lister.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. import logging import os diff --git a/solrorbit/builder/configs/utils/config_path_resolver.py b/solrorbit/builder/configs/utils/config_path_resolver.py index ae55873b..49c5236b 100644 --- a/solrorbit/builder/configs/utils/config_path_resolver.py +++ b/solrorbit/builder/configs/utils/config_path_resolver.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. import os from solrorbit.exceptions import SystemSetupError diff --git a/solrorbit/builder/downloaders/builders/binary_builder.py b/solrorbit/builder/downloaders/builders/binary_builder.py index 32477f81..af5fda4c 100644 --- a/solrorbit/builder/downloaders/builders/binary_builder.py +++ b/solrorbit/builder/downloaders/builders/binary_builder.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from abc import ABC, abstractmethod diff --git a/solrorbit/builder/downloaders/builders/source_binary_builder.py b/solrorbit/builder/downloaders/builders/source_binary_builder.py index 9e7f3538..34b9aee8 100644 --- a/solrorbit/builder/downloaders/builders/source_binary_builder.py +++ b/solrorbit/builder/downloaders/builders/source_binary_builder.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. import logging import os diff --git a/solrorbit/builder/downloaders/repositories/plugin_distribution_repository_provider.py b/solrorbit/builder/downloaders/repositories/plugin_distribution_repository_provider.py index 3f4ca85c..e3fa64aa 100644 --- a/solrorbit/builder/downloaders/repositories/plugin_distribution_repository_provider.py +++ b/solrorbit/builder/downloaders/repositories/plugin_distribution_repository_provider.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. class PluginDistributionRepositoryProvider: def __init__(self, plugin, repository_url_provider): self.plugin = plugin diff --git a/solrorbit/builder/downloaders/repositories/repository_url_provider.py b/solrorbit/builder/downloaders/repositories/repository_url_provider.py index 4ef7142a..6f64755b 100644 --- a/solrorbit/builder/downloaders/repositories/repository_url_provider.py +++ b/solrorbit/builder/downloaders/repositories/repository_url_provider.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from functools import reduce from solrorbit.exceptions import SystemSetupError diff --git a/solrorbit/builder/downloaders/repositories/source_repository_provider.py b/solrorbit/builder/downloaders/repositories/source_repository_provider.py index 6478690f..227a0de2 100644 --- a/solrorbit/builder/downloaders/repositories/source_repository_provider.py +++ b/solrorbit/builder/downloaders/repositories/source_repository_provider.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. import logging import os from collections import OrderedDict diff --git a/solrorbit/builder/executors/exception_handling_shell_executor.py b/solrorbit/builder/executors/exception_handling_shell_executor.py index 70c571e9..5824712a 100644 --- a/solrorbit/builder/executors/exception_handling_shell_executor.py +++ b/solrorbit/builder/executors/exception_handling_shell_executor.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from solrorbit.builder.executors.shell_executor import ShellExecutor from solrorbit.exceptions import ExecutorError diff --git a/solrorbit/builder/executors/local_shell_executor.py b/solrorbit/builder/executors/local_shell_executor.py index b685c80c..a9b6f440 100644 --- a/solrorbit/builder/executors/local_shell_executor.py +++ b/solrorbit/builder/executors/local_shell_executor.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. import subprocess from solrorbit.builder.executors.shell_executor import ShellExecutor diff --git a/solrorbit/builder/executors/shell_executor.py b/solrorbit/builder/executors/shell_executor.py index bdad4173..9d926979 100644 --- a/solrorbit/builder/executors/shell_executor.py +++ b/solrorbit/builder/executors/shell_executor.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from abc import ABC, abstractmethod diff --git a/solrorbit/builder/installers/exception_handling_installer.py b/solrorbit/builder/installers/exception_handling_installer.py index bf4da069..fd97916e 100644 --- a/solrorbit/builder/installers/exception_handling_installer.py +++ b/solrorbit/builder/installers/exception_handling_installer.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from solrorbit.builder.installers.installer import Installer from solrorbit.exceptions import InstallError diff --git a/solrorbit/builder/installers/preparers/preparer.py b/solrorbit/builder/installers/preparers/preparer.py index 929eee3c..099fa1be 100644 --- a/solrorbit/builder/installers/preparers/preparer.py +++ b/solrorbit/builder/installers/preparers/preparer.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from abc import ABC, abstractmethod diff --git a/solrorbit/builder/launchers/docker_launcher.py b/solrorbit/builder/launchers/docker_launcher.py index 87cf4500..3fe9cffa 100644 --- a/solrorbit/builder/launchers/docker_launcher.py +++ b/solrorbit/builder/launchers/docker_launcher.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. import logging import os diff --git a/solrorbit/builder/launchers/exception_handling_launcher.py b/solrorbit/builder/launchers/exception_handling_launcher.py index 41f5bfc0..fb316a23 100644 --- a/solrorbit/builder/launchers/exception_handling_launcher.py +++ b/solrorbit/builder/launchers/exception_handling_launcher.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from solrorbit.builder.launchers.launcher import Launcher from solrorbit.exceptions import LaunchError diff --git a/solrorbit/builder/launchers/no_op_launcher.py b/solrorbit/builder/launchers/no_op_launcher.py index d28b3738..2e8536f9 100644 --- a/solrorbit/builder/launchers/no_op_launcher.py +++ b/solrorbit/builder/launchers/no_op_launcher.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from solrorbit.builder.launchers.launcher import Launcher diff --git a/solrorbit/builder/models/architecture_types.py b/solrorbit/builder/models/architecture_types.py index 48733c43..3fb46447 100644 --- a/solrorbit/builder/models/architecture_types.py +++ b/solrorbit/builder/models/architecture_types.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from enum import Enum diff --git a/solrorbit/builder/models/bootstrap_phase.py b/solrorbit/builder/models/bootstrap_phase.py index 7f5eda73..f931e8cf 100644 --- a/solrorbit/builder/models/bootstrap_phase.py +++ b/solrorbit/builder/models/bootstrap_phase.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from enum import Enum diff --git a/solrorbit/builder/models/cluster.py b/solrorbit/builder/models/cluster.py index c8252191..37bb3c52 100644 --- a/solrorbit/builder/models/cluster.py +++ b/solrorbit/builder/models/cluster.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from dataclasses import dataclass from typing import List diff --git a/solrorbit/builder/models/cluster_config_descriptor.py b/solrorbit/builder/models/cluster_config_descriptor.py index a9118ba6..b8e765cd 100644 --- a/solrorbit/builder/models/cluster_config_descriptor.py +++ b/solrorbit/builder/models/cluster_config_descriptor.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from dataclasses import dataclass, field from typing import List diff --git a/solrorbit/builder/models/cluster_config_instance.py b/solrorbit/builder/models/cluster_config_instance.py index e158e8ad..2f8aeb28 100644 --- a/solrorbit/builder/models/cluster_config_instance.py +++ b/solrorbit/builder/models/cluster_config_instance.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from dataclasses import dataclass, field from typing import List diff --git a/solrorbit/builder/models/cluster_config_types.py b/solrorbit/builder/models/cluster_config_types.py index d95cbc15..93ec5d87 100644 --- a/solrorbit/builder/models/cluster_config_types.py +++ b/solrorbit/builder/models/cluster_config_types.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from enum import Enum diff --git a/solrorbit/builder/models/cluster_flavors.py b/solrorbit/builder/models/cluster_flavors.py index 8ed2d296..270223ea 100644 --- a/solrorbit/builder/models/cluster_flavors.py +++ b/solrorbit/builder/models/cluster_flavors.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from enum import Enum diff --git a/solrorbit/builder/models/cluster_infra_providers.py b/solrorbit/builder/models/cluster_infra_providers.py index 8e0f9a8f..5e4cb129 100644 --- a/solrorbit/builder/models/cluster_infra_providers.py +++ b/solrorbit/builder/models/cluster_infra_providers.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from enum import Enum diff --git a/solrorbit/builder/models/config_instance_types.py b/solrorbit/builder/models/config_instance_types.py index a53cda1e..84da3663 100644 --- a/solrorbit/builder/models/config_instance_types.py +++ b/solrorbit/builder/models/config_instance_types.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from enum import Enum diff --git a/solrorbit/builder/models/host.py b/solrorbit/builder/models/host.py index f1de0e94..2d148c18 100644 --- a/solrorbit/builder/models/host.py +++ b/solrorbit/builder/models/host.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from dataclasses import dataclass from solrorbit.builder.models.node import Node diff --git a/solrorbit/builder/models/node.py b/solrorbit/builder/models/node.py index 6cbe1b00..267449d3 100644 --- a/solrorbit/builder/models/node.py +++ b/solrorbit/builder/models/node.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from dataclasses import dataclass from typing import List diff --git a/solrorbit/builder/models/plugin_config_instance.py b/solrorbit/builder/models/plugin_config_instance.py index a00d4a4e..1544fbb4 100644 --- a/solrorbit/builder/models/plugin_config_instance.py +++ b/solrorbit/builder/models/plugin_config_instance.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from dataclasses import dataclass, field from typing import List diff --git a/solrorbit/builder/provisioners/provisioner.py b/solrorbit/builder/provisioners/provisioner.py index 32d63ed9..84fcd28b 100644 --- a/solrorbit/builder/provisioners/provisioner.py +++ b/solrorbit/builder/provisioners/provisioner.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from abc import ABC, abstractmethod diff --git a/solrorbit/builder/utils/artifact_variables_provider.py b/solrorbit/builder/utils/artifact_variables_provider.py index b52b5d6f..37e87a3d 100644 --- a/solrorbit/builder/utils/artifact_variables_provider.py +++ b/solrorbit/builder/utils/artifact_variables_provider.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from solrorbit.builder.models.architecture_types import ArchitectureTypes diff --git a/solrorbit/builder/utils/git_manager.py b/solrorbit/builder/utils/git_manager.py index ef3e0329..73cfee52 100644 --- a/solrorbit/builder/utils/git_manager.py +++ b/solrorbit/builder/utils/git_manager.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. class GitManager: def __init__(self, executor): self.executor = executor diff --git a/solrorbit/builder/utils/host_cleaner.py b/solrorbit/builder/utils/host_cleaner.py index 105bd1f4..3dc8bd5d 100644 --- a/solrorbit/builder/utils/host_cleaner.py +++ b/solrorbit/builder/utils/host_cleaner.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. import logging from solrorbit.utils import console diff --git a/solrorbit/builder/utils/jdk_resolver.py b/solrorbit/builder/utils/jdk_resolver.py index 3436dbde..f4709586 100644 --- a/solrorbit/builder/utils/jdk_resolver.py +++ b/solrorbit/builder/utils/jdk_resolver.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. import os import re diff --git a/solrorbit/builder/utils/path_manager.py b/solrorbit/builder/utils/path_manager.py index e7472d5b..22e45d1c 100644 --- a/solrorbit/builder/utils/path_manager.py +++ b/solrorbit/builder/utils/path_manager.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from solrorbit.exceptions import ExecutorError from solrorbit.utils import io diff --git a/solrorbit/builder/utils/template_renderer.py b/solrorbit/builder/utils/template_renderer.py index 03b3c000..4994c6c9 100644 --- a/solrorbit/builder/utils/template_renderer.py +++ b/solrorbit/builder/utils/template_renderer.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. import jinja2 from jinja2 import select_autoescape diff --git a/solrorbit/utils/periodic_waiter.py b/solrorbit/utils/periodic_waiter.py index 5aa37616..641703ee 100644 --- a/solrorbit/utils/periodic_waiter.py +++ b/solrorbit/utils/periodic_waiter.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from solrorbit import time diff --git a/tests/aggregator_test.py b/tests/aggregator_test.py index 6bd22f41..d73df28d 100644 --- a/tests/aggregator_test.py +++ b/tests/aggregator_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest.mock import Mock import pytest from solrorbit import config diff --git a/tests/builder/configs/listers/plugin_config_instance_lister_test.py b/tests/builder/configs/listers/plugin_config_instance_lister_test.py index 6ec7abc5..87e81326 100644 --- a/tests/builder/configs/listers/plugin_config_instance_lister_test.py +++ b/tests/builder/configs/listers/plugin_config_instance_lister_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. import os from unittest import TestCase from unittest.mock import Mock diff --git a/tests/builder/configs/utils/config_path_resolver_test.py b/tests/builder/configs/utils/config_path_resolver_test.py index 8dbd5298..3d35bf98 100644 --- a/tests/builder/configs/utils/config_path_resolver_test.py +++ b/tests/builder/configs/utils/config_path_resolver_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/downloaders/builders/source_binary_builder_test.py b/tests/builder/downloaders/builders/source_binary_builder_test.py index a55b2abf..44511fc0 100644 --- a/tests/builder/downloaders/builders/source_binary_builder_test.py +++ b/tests/builder/downloaders/builders/source_binary_builder_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/downloaders/distribution_downloader_test.py b/tests/builder/downloaders/distribution_downloader_test.py index 178bee0c..2fce2c4e 100644 --- a/tests/builder/downloaders/distribution_downloader_test.py +++ b/tests/builder/downloaders/distribution_downloader_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/downloaders/repositories/distribution_repository_provider_test.py b/tests/builder/downloaders/repositories/distribution_repository_provider_test.py index a6c09093..7f71a93e 100644 --- a/tests/builder/downloaders/repositories/distribution_repository_provider_test.py +++ b/tests/builder/downloaders/repositories/distribution_repository_provider_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/downloaders/repositories/plugin_distribution_repository_provider_test.py b/tests/builder/downloaders/repositories/plugin_distribution_repository_provider_test.py index 56bdc723..fbba816c 100644 --- a/tests/builder/downloaders/repositories/plugin_distribution_repository_provider_test.py +++ b/tests/builder/downloaders/repositories/plugin_distribution_repository_provider_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/downloaders/repositories/repository_url_provider_test.py b/tests/builder/downloaders/repositories/repository_url_provider_test.py index 57b5b245..b5a17bbc 100644 --- a/tests/builder/downloaders/repositories/repository_url_provider_test.py +++ b/tests/builder/downloaders/repositories/repository_url_provider_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/downloaders/repositories/source_repository_provider_test.py b/tests/builder/downloaders/repositories/source_repository_provider_test.py index f63644bb..9f0f92e8 100644 --- a/tests/builder/downloaders/repositories/source_repository_provider_test.py +++ b/tests/builder/downloaders/repositories/source_repository_provider_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/downloaders/source_downloader_test.py b/tests/builder/downloaders/source_downloader_test.py index e55bd56d..53fb0d09 100644 --- a/tests/builder/downloaders/source_downloader_test.py +++ b/tests/builder/downloaders/source_downloader_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/executors/exception_handling_executor_test.py b/tests/builder/executors/exception_handling_executor_test.py index 4d744810..d87a2c60 100644 --- a/tests/builder/executors/exception_handling_executor_test.py +++ b/tests/builder/executors/exception_handling_executor_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. import unittest.mock as mock from unittest import TestCase diff --git a/tests/builder/executors/shell_executor_test.py b/tests/builder/executors/shell_executor_test.py index a980c57b..bf4234f2 100644 --- a/tests/builder/executors/shell_executor_test.py +++ b/tests/builder/executors/shell_executor_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. import unittest.mock as mock from unittest import TestCase diff --git a/tests/builder/installers/bare_installer_test.py b/tests/builder/installers/bare_installer_test.py index 0281ee49..dd8f84dc 100644 --- a/tests/builder/installers/bare_installer_test.py +++ b/tests/builder/installers/bare_installer_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/installers/docker_installer_test.py b/tests/builder/installers/docker_installer_test.py index e25ef594..68c1dd02 100644 --- a/tests/builder/installers/docker_installer_test.py +++ b/tests/builder/installers/docker_installer_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. # pylint: disable=protected-access import os diff --git a/tests/builder/installers/preparers/solr_preparer_test.py b/tests/builder/installers/preparers/solr_preparer_test.py index 4633ff46..a8882b20 100644 --- a/tests/builder/installers/preparers/solr_preparer_test.py +++ b/tests/builder/installers/preparers/solr_preparer_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. import os from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/launchers/docker_launcher_test.py b/tests/builder/launchers/docker_launcher_test.py index c054932c..c72f65de 100644 --- a/tests/builder/launchers/docker_launcher_test.py +++ b/tests/builder/launchers/docker_launcher_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. # pylint: disable=protected-access from unittest import TestCase, mock diff --git a/tests/builder/launchers/local_process_launcher_test.py b/tests/builder/launchers/local_process_launcher_test.py index d9c3abc4..9ec48c23 100644 --- a/tests/builder/launchers/local_process_launcher_test.py +++ b/tests/builder/launchers/local_process_launcher_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. # pylint: disable=protected-access import os diff --git a/tests/builder/utils/artifact_variables_provider_test.py b/tests/builder/utils/artifact_variables_provider_test.py index 6bf1a3eb..be97f59c 100644 --- a/tests/builder/utils/artifact_variables_provider_test.py +++ b/tests/builder/utils/artifact_variables_provider_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest import TestCase from unittest.mock import Mock diff --git a/tests/builder/utils/config_applier_test.py b/tests/builder/utils/config_applier_test.py index 0e7ea6c3..ce4b575f 100644 --- a/tests/builder/utils/config_applier_test.py +++ b/tests/builder/utils/config_applier_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest import TestCase, mock from unittest.mock import Mock, patch, mock_open diff --git a/tests/builder/utils/host_cleaner_test.py b/tests/builder/utils/host_cleaner_test.py index 1c9d95c7..d1397c1e 100644 --- a/tests/builder/utils/host_cleaner_test.py +++ b/tests/builder/utils/host_cleaner_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/utils/java_home_resolver_test.py b/tests/builder/utils/java_home_resolver_test.py index 23c51125..c51fb56c 100644 --- a/tests/builder/utils/java_home_resolver_test.py +++ b/tests/builder/utils/java_home_resolver_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest import TestCase from unittest.mock import Mock diff --git a/tests/builder/utils/jdk_resolver_test.py b/tests/builder/utils/jdk_resolver_test.py index 6f51863a..679ba0f5 100644 --- a/tests/builder/utils/jdk_resolver_test.py +++ b/tests/builder/utils/jdk_resolver_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest import TestCase from unittest.mock import Mock diff --git a/tests/builder/utils/path_manager_test.py b/tests/builder/utils/path_manager_test.py index 7a265cc6..8ff0a170 100644 --- a/tests/builder/utils/path_manager_test.py +++ b/tests/builder/utils/path_manager_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/builder/utils/template_renderer_test.py b/tests/builder/utils/template_renderer_test.py index ce6c33f4..e048f348 100644 --- a/tests/builder/utils/template_renderer_test.py +++ b/tests/builder/utils/template_renderer_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. from unittest import TestCase, mock from unittest.mock import Mock diff --git a/tests/utils/periodic_waiter_test.py b/tests/utils/periodic_waiter_test.py index 7314b746..2705d5d5 100644 --- a/tests/utils/periodic_waiter_test.py +++ b/tests/utils/periodic_waiter_test.py @@ -1,11 +1,25 @@ # SPDX-License-Identifier: Apache-2.0 # -# Modifications by Apache Solr contributors; see git log for details. -# Licensed under the Apache License, Version 2.0. +# Originally developed by OpenSearch Contributors; licensed under the Apache License, Version 2.0. +# License header was absent in the original source; added when adopted into Apache Solr Orbit. +# Modified by Apache Solr contributors; see git log for details. # -# The OpenSearch Contributors require contributions made to -# this file be licensed under the Apache-2.0 license or a -# compatible open source license. +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. import sys from unittest import TestCase from unittest.mock import Mock From 7973693f181018a06977d155d4c926677fb6292e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=B8ydahl?= Date: Sat, 30 May 2026 22:11:25 +0200 Subject: [PATCH 05/11] refactor: use Python to download RAT JAR, move cache to ~/.solr-orbit/ - Replace curl+shasum shell gymnastics with scripts/download-rat.py: uses urllib.request + hashlib.sha512 + tarfile, no curl dependency - Move JAR cache from ~/.cache/apache-rat/ to ~/.solr-orbit/cache/apache-rat/ to keep all project runtime state under one directory - Add java availability check in the rat target with a clear error message - Update DEVELOPER_GUIDE.md to reflect the new cache path and Python requirement --- DEVELOPER_GUIDE.md | 6 ++-- Makefile | 11 ++---- scripts/download-rat.py | 75 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 81 insertions(+), 11 deletions(-) create mode 100644 scripts/download-rat.py diff --git a/DEVELOPER_GUIDE.md b/DEVELOPER_GUIDE.md index fb58791d..67481db3 100644 --- a/DEVELOPER_GUIDE.md +++ b/DEVELOPER_GUIDE.md @@ -135,9 +135,9 @@ cutting a release: make rat ``` -RAT downloads its runner JAR to `~/.cache/apache-rat/` on first use (requires `curl` and -`java`). Exclusions for files that legitimately carry no header (test fixtures, config -files, generated output, binaries) are listed in `.rat-excludes`. +RAT downloads its runner JAR to `~/.solr-orbit/cache/apache-rat/` on first use (requires +Python 3 and `java`). Exclusions for files that legitimately carry no header (test fixtures, +config files, generated output, binaries) are listed in `.rat-excludes`. If RAT reports unexpected unapproved files, either: - Add the Apache license header to the file, or diff --git a/Makefile b/Makefile index 67a07c20..6d9a15eb 100644 --- a/Makefile +++ b/Makefile @@ -23,9 +23,8 @@ VERSION312 = $(shell jq -r '.python_versions | .[]' .ci/variables.json | sed '$$ PYENV_ERROR = "\033[0;31mIMPORTANT\033[0m: Please install pyenv and run \033[0;31meval \"\$$(pyenv init -)\"\033[0m.\n" RAT_VERSION = 0.18 -RAT_JAR_DIR = $(HOME)/.cache/apache-rat +RAT_JAR_DIR = $(HOME)/.solr-orbit/cache/apache-rat RAT_JAR = $(RAT_JAR_DIR)/apache-rat-$(RAT_VERSION).jar -RAT_URL = https://downloads.apache.org/creadur/apache-rat-$(RAT_VERSION)/apache-rat-$(RAT_VERSION)-bin.tar.gz all: develop @@ -104,14 +103,10 @@ coverage: coverage html $(RAT_JAR): - mkdir -p $(RAT_JAR_DIR) - curl -fsSL $(RAT_URL) -o $(RAT_JAR_DIR)/apache-rat-$(RAT_VERSION)-bin.tar.gz - curl -fsSL "$(RAT_URL).sha512" -o $(RAT_JAR_DIR)/apache-rat-$(RAT_VERSION)-bin.tar.gz.sha512 - cd $(RAT_JAR_DIR) && echo "$$(cat apache-rat-$(RAT_VERSION)-bin.tar.gz.sha512) apache-rat-$(RAT_VERSION)-bin.tar.gz" | shasum -a 512 -c - tar -xz -C $(RAT_JAR_DIR) --strip-components=1 -f $(RAT_JAR_DIR)/apache-rat-$(RAT_VERSION)-bin.tar.gz "apache-rat-$(RAT_VERSION)/apache-rat-$(RAT_VERSION).jar" - rm $(RAT_JAR_DIR)/apache-rat-$(RAT_VERSION)-bin.tar.gz $(RAT_JAR_DIR)/apache-rat-$(RAT_VERSION)-bin.tar.gz.sha512 + $(PYTHON) scripts/download-rat.py $(RAT_VERSION) $(RAT_JAR) rat: $(RAT_JAR) + @java -version > /dev/null 2>&1 || { echo "ERROR: java not found on PATH; install a JDK to run Apache RAT"; exit 1; } java -jar $(RAT_JAR) --input-exclude-file .rat-excludes -- . release-checks: diff --git a/scripts/download-rat.py b/scripts/download-rat.py new file mode 100644 index 00000000..dc47b98e --- /dev/null +++ b/scripts/download-rat.py @@ -0,0 +1,75 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +"""Download and verify the Apache RAT JAR. + +Usage: python3 scripts/download-rat.py + +Downloads apache-rat--bin.tar.gz from the Apache mirror, +verifies its SHA-512 checksum, extracts the JAR, and writes it to +. +""" + +import hashlib +import io +import sys +import tarfile +import urllib.request +from pathlib import Path + +BASE_URL = "https://downloads.apache.org/creadur" + + +def download(url: str) -> bytes: + print(f"Downloading {url}", flush=True) + with urllib.request.urlopen(url) as resp: + return resp.read() + + +def main() -> None: + if len(sys.argv) != 3: + print(f"Usage: {sys.argv[0]} ", file=sys.stderr) + sys.exit(1) + + version, target = sys.argv[1], Path(sys.argv[2]) + tarball_name = f"apache-rat-{version}-bin.tar.gz" + tar_url = f"{BASE_URL}/apache-rat-{version}/{tarball_name}" + sha_url = f"{tar_url}.sha512" + + tarball = download(tar_url) + expected_hex = download(sha_url).decode().strip() + + actual_hex = hashlib.sha512(tarball).hexdigest() + if actual_hex != expected_hex: + print(f"SHA-512 mismatch for {tarball_name}!", file=sys.stderr) + print(f" expected: {expected_hex}", file=sys.stderr) + print(f" actual: {actual_hex}", file=sys.stderr) + sys.exit(1) + print(f"SHA-512 verified: {tarball_name}", flush=True) + + jar_member = f"apache-rat-{version}/apache-rat-{version}.jar" + with tarfile.open(fileobj=io.BytesIO(tarball), mode="r:gz") as tf: + member = tf.getmember(jar_member) + jar_data = tf.extractfile(member).read() + + target.parent.mkdir(parents=True, exist_ok=True) + target.write_bytes(jar_data) + print(f"JAR written to {target}", flush=True) + + +if __name__ == "__main__": + main() From ed6f02111443a66a50512c06ffb33246d633d9b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=B8ydahl?= Date: Sun, 31 May 2026 00:11:02 +0200 Subject: [PATCH 06/11] fix: narrow __init__.py RAT exclusion to truly empty namespace markers Replace the overly broad **/__init__.py glob with specific patterns covering only the 0-byte package markers. Non-empty __init__.py files carry a full license header and will now be checked by RAT as intended. --- .rat-excludes | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.rat-excludes b/.rat-excludes index afed9109..8d586fa3 100644 --- a/.rat-excludes +++ b/.rat-excludes @@ -29,8 +29,13 @@ .ruff_cache/** *.egg-info/** -# Empty __init__.py namespace markers (no content to annotate) -**/__init__.py +# Truly empty __init__.py namespace markers (0 bytes, no content to annotate). +# Non-empty __init__.py files carry a full license header and are checked by RAT. +solrorbit/builder/**/__init__.py +solrorbit/tools/__init__.py +solrorbit/visualizations/__init__.py +tests/builder/**/__init__.py +tests/unit/__init__.py # Version / lock / pin files (no meaningful content to annotate) version.txt From 4c974bfabc070b720a3f98b3c0a3c90b24fa6dca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=B8ydahl?= Date: Sun, 31 May 2026 00:11:39 +0200 Subject: [PATCH 07/11] fix: fall back to archive.apache.org when downloads.apache.org returns 404 downloads.apache.org only hosts the current release; older pinned versions move to archive.apache.org. Add download_with_fallback() that retries on the archive mirror so 'make rat' keeps working after a new RAT release. --- scripts/download-rat.py | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/scripts/download-rat.py b/scripts/download-rat.py index dc47b98e..8785fc66 100644 --- a/scripts/download-rat.py +++ b/scripts/download-rat.py @@ -28,10 +28,12 @@ import io import sys import tarfile +import urllib.error import urllib.request from pathlib import Path -BASE_URL = "https://downloads.apache.org/creadur" +PRIMARY_URL = "https://downloads.apache.org/creadur" +ARCHIVE_URL = "https://archive.apache.org/dist/creadur" def download(url: str) -> bytes: @@ -40,6 +42,17 @@ def download(url: str) -> bytes: return resp.read() +def download_with_fallback(primary: str, archive: str) -> bytes: + """Try the primary mirror; fall back to the archive mirror on 404.""" + try: + return download(primary) + except urllib.error.HTTPError as exc: + if exc.code != 404: + raise + print(f"Primary URL returned 404; trying archive mirror …", flush=True) + return download(archive) + + def main() -> None: if len(sys.argv) != 3: print(f"Usage: {sys.argv[0]} ", file=sys.stderr) @@ -47,11 +60,14 @@ def main() -> None: version, target = sys.argv[1], Path(sys.argv[2]) tarball_name = f"apache-rat-{version}-bin.tar.gz" - tar_url = f"{BASE_URL}/apache-rat-{version}/{tarball_name}" + subpath = f"apache-rat-{version}/{tarball_name}" + tar_url = f"{PRIMARY_URL}/{subpath}" sha_url = f"{tar_url}.sha512" + tar_archive_url = f"{ARCHIVE_URL}/{subpath}" + sha_archive_url = f"{tar_archive_url}.sha512" - tarball = download(tar_url) - expected_hex = download(sha_url).decode().strip() + tarball = download_with_fallback(tar_url, tar_archive_url) + expected_hex = download_with_fallback(sha_url, sha_archive_url).decode().strip() actual_hex = hashlib.sha512(tarball).hexdigest() if actual_hex != expected_hex: From 81c3c9e8e353a6cff6914365c35e5e5206349684 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=B8ydahl?= Date: Sun, 31 May 2026 00:13:32 +0200 Subject: [PATCH 08/11] fix: parse hex digest from Apache .sha512 checksum file Apache .sha512 files are not bare hex strings; they use either GNU coreutils format (" ") or BSD format ("SHA512 () = "). Extract the hex token before comparing so SHA-512 verification does not always fail on a fresh machine. --- scripts/download-rat.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scripts/download-rat.py b/scripts/download-rat.py index 8785fc66..ea665628 100644 --- a/scripts/download-rat.py +++ b/scripts/download-rat.py @@ -67,7 +67,15 @@ def main() -> None: sha_archive_url = f"{tar_archive_url}.sha512" tarball = download_with_fallback(tar_url, tar_archive_url) - expected_hex = download_with_fallback(sha_url, sha_archive_url).decode().strip() + # Apache .sha512 files use coreutils format: " " or BSD + # format: "SHA512 () = ". Extract the bare hex token. + sha_content = download_with_fallback(sha_url, sha_archive_url).decode().strip() + if "=" in sha_content: + # BSD format + expected_hex = sha_content.split("=", 1)[1].strip() + else: + # GNU coreutils format: first whitespace-delimited token is the hash + expected_hex = sha_content.split()[0] actual_hex = hashlib.sha512(tarball).hexdigest() if actual_hex != expected_hex: From a7f95c7c46c00713898e343f54ba23f341d46350 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=B8ydahl?= Date: Sun, 31 May 2026 00:13:46 +0200 Subject: [PATCH 09/11] fix: guard positional params with default-empty to avoid unbound variable With set -euo pipefail, assigning \$1 / \$2 when the script is called without arguments aborts before the -z guard can print the usage message. Use \${1:-} / \${2:-} so the shell treats missing args as empty strings and lets the existing -z check handle the error path. --- scripts/release-checks.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/release-checks.sh b/scripts/release-checks.sh index 91f1bd09..fd4e5bd0 100755 --- a/scripts/release-checks.sh +++ b/scripts/release-checks.sh @@ -19,8 +19,8 @@ set -euo pipefail cd "$(dirname "$0")/.." -release_version=$1 -next_version=$2 +release_version=${1:-} +next_version=${2:-} if [ -z "$release_version" ] || [ -z "$next_version" ]; then echo "Usage: $0 " From 5466ea410b3cf737afdef0d3552a161475e8a661 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=B8ydahl?= Date: Sun, 31 May 2026 00:13:50 +0200 Subject: [PATCH 10/11] chore: remove THIRD_PARTY.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit File is redundant — LICENSE and NOTICE already cover dependency attribution per ASF policy. Also had a duplicate row for solr-orbit. --- THIRD_PARTY.md | 119 ------------------------------------------------- 1 file changed, 119 deletions(-) delete mode 100644 THIRD_PARTY.md diff --git a/THIRD_PARTY.md b/THIRD_PARTY.md deleted file mode 100644 index 9cbfc51c..00000000 --- a/THIRD_PARTY.md +++ /dev/null @@ -1,119 +0,0 @@ -| Name | Version | License | Author | URL | -|---------------------------|-------------|--------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------| -| Faker | 40.19.1 | MIT License | joke2k | https://github.com/joke2k/faker | -| Jinja2 | 3.1.6 | BSD License | UNKNOWN | https://github.com/pallets/jinja/ | -| MarkupSafe | 3.0.3 | BSD-3-Clause | UNKNOWN | https://github.com/pallets/markupsafe/ | -| PyJWT | 2.13.0 | MIT | Jose Padilla | https://github.com/jpadilla/pyjwt | -| PyYAML | 6.0.3 | MIT License | Kirill Simonov | https://pyyaml.org/ | -| Pygments | 2.20.0 | BSD-2-Clause | Georg Brandl | https://pygments.org | -| annotated-types | 0.7.0 | MIT License | Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>, Samuel Colvin , Zac Hatfield-Dodds | https://github.com/annotated-types/annotated-types | -| astroid | 4.0.4 | LGPL-2.1-or-later | UNKNOWN | https://github.com/pylint-dev/astroid/issues | -| attrs | 26.1.0 | MIT | Hynek Schlawack | https://www.attrs.org/en/stable/changelog.html | -| bokeh | 3.9.0 | BSD-3-Clause | Bokeh Team | https://bokeh.org | -| boto3 | 1.43.14 | Apache-2.0 | Amazon Web Services | https://github.com/boto/boto3 | -| botocore | 1.43.14 | Apache-2.0 | Amazon Web Services | https://github.com/boto/botocore | -| cachetools | 7.1.4 | MIT | Thomas Kemmer | https://github.com/tkem/cachetools/ | -| certifi | 2026.5.20 | Mozilla Public License 2.0 (MPL 2.0) | Kenneth Reitz | https://github.com/certifi/python-certifi | -| cffi | 2.0.0 | MIT | Armin Rigo, Maciej Fijalkowski | https://cffi.readthedocs.io/en/latest/whatsnew.html | -| charset-normalizer | 3.4.7 | MIT | "Ahmed R. TAHRI" | https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md | -| click | 8.4.1 | BSD-3-Clause | UNKNOWN | https://github.com/pallets/click/ | -| cloudpickle | 3.1.2 | BSD License | The cloudpickle developer team | https://github.com/cloudpipe/cloudpickle | -| colorama | 0.4.6 | BSD License | Jonathan Hartley | https://github.com/tartley/colorama | -| contourpy | 1.3.3 | BSD License | Ian Thomas | https://github.com/contourpy/contourpy | -| coverage | 7.14.1 | Apache-2.0 | Ned Batchelder and 255 others | https://github.com/coveragepy/coveragepy | -| cryptography | 48.0.0 | Apache-2.0 OR BSD-3-Clause | The Python Cryptographic Authority and individual contributors | https://github.com/pyca/cryptography | -| dask | 2026.3.0 | BSD-3-Clause | UNKNOWN | https://github.com/dask/dask/ | -| dill | 0.4.1 | BSD License | Mike McKerns | https://github.com/uqfoundation/dill | -| distlib | 0.4.0 | Python Software Foundation License | Vinay Sajip | https://github.com/pypa/distlib | -| distributed | 2026.3.0 | BSD-3-Clause | UNKNOWN | https://distributed.dask.org | -| docutils | 0.22.4 | BSD License; GNU General Public License (GPL); Public Domain | David Goodger | https://docutils.sourceforge.io | -| filelock | 3.29.0 | MIT | UNKNOWN | https://github.com/tox-dev/py-filelock | -| fsspec | 2026.4.0 | BSD-3-Clause | UNKNOWN | https://github.com/fsspec/filesystem_spec | -| github3.py | 4.0.1 | BSD-3-Clause | Ian Stapleton Cordasco | https://github.com/sigmavirus24/github3.py | -| google-auth | 2.53.0 | Apache Software License | Google Cloud Platform | https://github.com/googleapis/google-auth-library-python | -| google-crc32c | 1.8.0 | UNKNOWN | Google LLC | https://github.com/googleapis/python-crc32c | -| google-resumable-media | 2.9.0 | Apache Software License | Google Cloud Platform | https://github.com/googleapis/google-resumable-media-python | -| h5py | 3.16.0 | BSD-3-Clause | Andrew Collette | https://www.h5py.org/ | -| id | 1.6.1 | Apache Software License | UNKNOWN | https://pypi.org/project/id/ | -| idna | 3.16 | BSD-3-Clause | Kim Davies | https://github.com/kjd/idna | -| ijson | 3.5.0 | BSD-3-Clause AND ISC | Rodrigo Tobar , Ivan Sagalaev | https://github.com/ICRAR/ijson | -| iniconfig | 2.3.0 | MIT | Ronny Pfannschmidt , Holger Krekel | https://github.com/pytest-dev/iniconfig | -| isort | 5.13.2 | MIT License | Timothy Crosley | https://pycqa.github.io/isort/ | -| jaraco.classes | 3.4.0 | MIT License | Jason R. Coombs | https://github.com/jaraco/jaraco.classes | -| jaraco.context | 6.1.2 | MIT | "Jason R. Coombs" | https://github.com/jaraco/jaraco.context | -| jaraco.functools | 4.5.0 | MIT | "Jason R. Coombs" | https://github.com/jaraco/jaraco.functools | -| jmespath | 1.1.0 | MIT License | James Saryerwinnie | https://github.com/jmespath/jmespath.py | -| jsonschema | 4.26.0 | MIT | Julian Berman | https://github.com/python-jsonschema/jsonschema | -| jsonschema-specifications | 2025.9.1 | MIT | Julian Berman | https://github.com/python-jsonschema/jsonschema-specifications | -| jwcrypto | 1.5.7 | LGPL-3.0-or-later | UNKNOWN | https://github.com/latchset/jwcrypto | -| keyring | 25.7.0 | MIT | Kang Zhang | https://github.com/jaraco/keyring | -| lazy-object-proxy | 1.12.0 | BSD-2-Clause | Ionel Cristian Mărieș | https://python-lazy-object-proxy.readthedocs.io/en/latest/changelog.html | -| locket | 1.0.0 | BSD License | Michael Williamson | http://github.com/mwilliamson/locket.py | -| markdown-it-py | 4.2.0 | MIT License | Chris Sewell | https://github.com/executablebooks/markdown-it-py | -| mccabe | 0.6.1 | MIT License | Ian Cordasco | https://github.com/pycqa/mccabe | -| mdurl | 0.1.2 | MIT License | Taneli Hukkinen | https://github.com/executablebooks/mdurl | -| mimesis | 19.1.0 | MIT | Isaak Uchakaev | https://github.com/lk-geimfari/mimesis | -| more-itertools | 11.1.0 | MIT | Erik Rose | https://github.com/more-itertools/more-itertools | -| msgpack | 1.1.2 | Apache-2.0 | Inada Naoki | https://msgpack.org/ | -| narwhals | 2.21.2 | MIT License | Marco Gorelli | https://github.com/narwhals-dev/narwhals | -| nh3 | 0.3.5 | MIT | messense | UNKNOWN | -| numpy | 1.26.4 | BSD License | Travis E. Oliphant et al. | https://numpy.org | -| packaging | 26.2 | Apache-2.0 OR BSD-2-Clause | Donald Stufft | https://github.com/pypa/packaging | -| pandas | 3.0.3 | BSD License | The Pandas Development Team | https://pandas.pydata.org | -| partd | 1.4.2 | BSD | UNKNOWN | http://github.com/dask/partd/ | -| pillow | 12.2.0 | MIT-CMU | Jeffrey 'Alex' Clark | https://python-pillow.github.io | -| pkginfo | 1.12.1.2 | MIT License | Tres Seaver, Agendaless Consulting | https://code.launchpad.net/~tseaver/pkginfo/trunk | -| platformdirs | 4.9.6 | MIT | UNKNOWN | https://github.com/tox-dev/platformdirs | -| pluggy | 1.6.0 | MIT License | Holger Krekel | UNKNOWN | -| psutil | 7.2.2 | BSD-3-Clause | Giampaolo Rodola | https://github.com/giampaolo/psutil | -| py | 1.11.0 | MIT License | holger krekel, Ronny Pfannschmidt, Benjamin Peterson and others | https://py.readthedocs.io/ | -| py-cpuinfo | 9.0.0 | MIT License | Matthew Brennan Jones | https://github.com/workhorsy/py-cpuinfo | -| pyasn1 | 0.6.3 | BSD-2-Clause | Ilya Etingof | https://github.com/pyasn1/pyasn1 | -| pyasn1_modules | 0.4.2 | BSD License | Ilya Etingof | https://github.com/pyasn1/pyasn1-modules | -| pycparser | 3.0 | BSD-3-Clause | Eli Bendersky | https://github.com/eliben/pycparser | -| pydantic | 2.13.4 | MIT | Samuel Colvin , Eric Jolibois , Hasan Ramezani , Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>, Terrence Dorsey , David Montague , Serge Matveenko , Marcelo Trylesinski , Sydney Runkle , David Hewitt , Alex Hall , Victorien Plot | https://github.com/pydantic/pydantic | -| pydantic_core | 2.46.4 | MIT | Samuel Colvin , Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>, David Montague , David Hewitt , Sydney Runkle , Victorien Plot | https://github.com/pydantic | -| pylint | 4.0.5 | GPL-2.0-or-later | Python Code Quality Authority | https://github.com/pylint-dev/pylint | -| pylint-quotes | 0.2.3 | MIT License | Erick Daniszewski | https://github.com/edaniszewski/pylint-quotes | -| pyproject-api | 1.10.0 | MIT | Bernát Gábor | https://pyproject-api.readthedocs.io | -| pysolr | 3.11.0 | BSD License | Daniel Lindsley | https://github.com/django-haystack/pysolr/ | -| pytest | 9.0.3 | MIT | Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Freya Bruhin, Others (See AUTHORS) | https://docs.pytest.org/en/latest/ | -| pytest-asyncio | 1.4.0 | Apache-2.0 | Tin Tvrtković | https://github.com/pytest-dev/pytest-asyncio | -| pytest-benchmark | 5.0.1 | BSD License | Ionel Cristian Mărieș | https://github.com/ionelmc/pytest-benchmark | -| python-dateutil | 2.9.0.post0 | Apache Software License; BSD License | Gustavo Niemeyer | https://github.com/dateutil/dateutil | -| python-discovery | 1.3.1 | MIT License | UNKNOWN | https://github.com/tox-dev/python-discovery | -| readme_renderer | 44.0 | Apache Software License | The Python Packaging Authority | UNKNOWN | -| referencing | 0.37.0 | MIT | Julian Berman | https://github.com/python-jsonschema/referencing | -| requests | 2.34.2 | Apache Software License | Kenneth Reitz | https://github.com/psf/requests | -| requests-toolbelt | 1.0.0 | Apache Software License | Ian Cordasco, Cory Benfield | https://toolbelt.readthedocs.io/ | -| rfc3986 | 2.0.0 | Apache Software License | Ian Stapleton Cordasco | http://rfc3986.readthedocs.io | -| rich | 15.0.0 | MIT License | Will McGugan | https://github.com/Textualize/rich | -| rpds-py | 0.30.0 | MIT | Julian Berman | https://github.com/crate-py/rpds | -| ruff | 0.15.15 | MIT | "Astral Software Inc." | https://docs.astral.sh/ruff | -| s3transfer | 0.17.0 | Apache Software License | Amazon Web Services | https://github.com/boto/s3transfer | -| six | 1.17.0 | MIT License | Benjamin Peterson | https://github.com/benjaminp/six | -| solr-orbit | 0.1.0 | Apache Software License | UNKNOWN | https://github.com/apache/solr-orbit | -| solr-orbit | 0.1.0 | Apache Software License | UNKNOWN | https://github.com/apache/solr-orbit | -| sortedcontainers | 2.4.0 | Apache Software License | Grant Jenks | http://www.grantjenks.com/docs/sortedcontainers/ | -| tabulate | 0.10.0 | MIT | Sergey Astanin | https://github.com/astanin/python-tabulate | -| tblib | 3.2.2 | BSD-2-Clause | Ionel Cristian Mărieș | https://python-tblib.readthedocs.io/en/latest/changelog.html | -| thespian | 3.10.6 | MIT License | Kevin Quick | http://thespianpy.com | -| toml | 0.10.2 | MIT License | William Pearson | https://github.com/uiri/toml | -| tomli_w | 1.2.0 | MIT License | Taneli Hukkinen | https://github.com/hukkin/tomli-w | -| tomlkit | 0.15.0 | MIT License | Sébastien Eustace | https://github.com/python-poetry/tomlkit | -| toolz | 1.1.0 | BSD-3-Clause | PyToolz Contributors | https://github.com/pytoolz/toolz | -| tornado | 6.5.5 | Apache Software License | Facebook | http://www.tornadoweb.org/ | -| tox | 4.54.0 | MIT | Bernát Gábor | http://tox.readthedocs.org | -| tqdm | 4.67.3 | MPL-2.0 AND MIT | UNKNOWN | https://tqdm.github.io | -| twine | 6.2.0 | Apache-2.0 | Donald Stufft and individual contributors | https://twine.readthedocs.io/ | -| typing-inspection | 0.4.2 | MIT | Victorien Plot | https://github.com/pydantic/typing-inspection | -| typing_extensions | 4.15.0 | PSF-2.0 | "Guido van Rossum, Jukka Lehtosalo, Łukasz Langa, Michael Lee" | https://github.com/python/typing_extensions | -| ujson | 5.12.1 | BSD-3-Clause AND TCL | Jonas Tarnstrom | https://github.com/ultrajson/ultrajson | -| uritemplate | 4.2.0 | BSD 3-Clause OR Apache-2.0 | Ian Stapleton Cordasco | https://uritemplate.readthedocs.org | -| urllib3 | 2.7.0 | MIT | Andrey Petrov | https://github.com/urllib3/urllib3/blob/main/CHANGES.rst | -| virtualenv | 21.3.3 | MIT | UNKNOWN | https://github.com/pypa/virtualenv | -| wrapt | 1.17.3 | BSD License | Graham Dumpleton | https://github.com/GrahamDumpleton/wrapt | -| xyzservices | 2026.3.0 | BSD-3-Clause | Dani Arribas-Bel , Martin Fleischmann | https://github.com/geopandas/xyzservices | -| yappi | 1.7.6 | MIT License | Sümer Cip | https://github.com/sumerc/yappi | -| zict | 3.0.0 | BSD License | UNKNOWN | http://zict.readthedocs.io/en/latest/ | -| zstandard | 0.25.0 | BSD-3-Clause | Gregory Szorc | https://github.com/indygreg/python-zstandard | From ed5a7052dc6ee6a3ea491e7f28d38334df16f4bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=B8ydahl?= Date: Sun, 31 May 2026 00:51:28 +0200 Subject: [PATCH 11/11] fix: remove spurious f-prefix from string with no placeholders Ruff (F541) flagged the f-string in download_with_fallback(); drop the f prefix since the string contains no interpolation. --- scripts/download-rat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/download-rat.py b/scripts/download-rat.py index ea665628..135c4e16 100644 --- a/scripts/download-rat.py +++ b/scripts/download-rat.py @@ -49,7 +49,7 @@ def download_with_fallback(primary: str, archive: str) -> bytes: except urllib.error.HTTPError as exc: if exc.code != 404: raise - print(f"Primary URL returned 404; trying archive mirror …", flush=True) + print("Primary URL returned 404; trying archive mirror …", flush=True) return download(archive)