diff --git a/.cloudbuild/library_generation/library_generation.Dockerfile b/.cloudbuild/library_generation/library_generation.Dockerfile index 268658fddd..e66ea0eded 100644 --- a/.cloudbuild/library_generation/library_generation.Dockerfile +++ b/.cloudbuild/library_generation/library_generation.Dockerfile @@ -45,11 +45,12 @@ RUN apt-get update && apt-get install -y \ && apt-get clean # copy source code -COPY library_generation /src +COPY hermetic_build/common /src/common +COPY hermetic_build/library_generation /src/library_generation # install protoc WORKDIR /protoc -RUN source /src/utils/utilities.sh \ +RUN source /src/library_generation/utils/utilities.sh \ && download_protoc "${PROTOC_VERSION}" "${OS_ARCHITECTURE}" # we indicate protoc is available in the container via env vars ENV DOCKER_PROTOC_LOCATION=/protoc @@ -57,7 +58,7 @@ ENV DOCKER_PROTOC_VERSION="${PROTOC_VERSION}" # install grpc WORKDIR /grpc -RUN source /src/utils/utilities.sh \ +RUN source /src/library_generation/utils/utilities.sh \ && download_grpc_plugin "${GRPC_VERSION}" "${OS_ARCHITECTURE}" # similar to protoc, we indicate grpc is available in the container via env vars ENV DOCKER_GRPC_LOCATION="/grpc/protoc-gen-grpc-java-${GRPC_VERSION}-${OS_ARCHITECTURE}.exe" @@ -71,16 +72,18 @@ ENV DOCKER_GRPC_VERSION="${GRPC_VERSION}" COPY --from=ggj-build "/sdk-platform-java/gapic-generator-java.jar" "${HOME}/.library_generation/gapic-generator-java.jar" RUN chmod 755 "${HOME}/.library_generation/gapic-generator-java.jar" -# use python 3.11 (the base image has several python versions; here we define the default one) +# use python 3.12 (the base image has several python versions; here we define the default one) RUN rm $(which python3) -RUN ln -s $(which python3.11) /usr/local/bin/python -RUN ln -s $(which python3.11) /usr/local/bin/python3 +RUN ln -s $(which python3.12) /usr/local/bin/python +RUN ln -s $(which python3.12) /usr/local/bin/python3 RUN python -m pip install --upgrade pip # install main scripts as a python package -WORKDIR /src -RUN python -m pip install -r requirements.txt -RUN python -m pip install . +WORKDIR / +RUN python -m pip install --require-hashes -r src/common/requirements.txt +RUN python -m pip install src/common +RUN python -m pip install --require-hashes -r src/library_generation/requirements.txt +RUN python -m pip install src/library_generation # Install nvm with node and npm ENV NODE_VERSION 20.12.0 @@ -120,4 +123,4 @@ RUN chmod -R a+rw /home RUN chmod -R a+rx /home/.nvm WORKDIR /workspace -ENTRYPOINT [ "python", "/src/cli/entry_point.py", "generate" ] +ENTRYPOINT [ "python", "/src/library_generation/cli/entry_point.py", "generate" ] diff --git a/.github/scripts/action.yaml b/.github/scripts/action.yaml index cf6a9f6360..7c4ae22f4e 100644 --- a/.github/scripts/action.yaml +++ b/.github/scripts/action.yaml @@ -37,11 +37,33 @@ inputs: runs: using: "composite" steps: + - uses: actions/setup-python@v5 + with: + python-version: 3.12 + - name: Copy python script + shell: bash + run: | + set -x + # repository root + cd ${{ github.action_path }}/../../ + rsync -rv \ + --exclude=tests \ + hermetic_build "${GITHUB_WORKSPACE}" - name: Copy shell script shell: bash run: | cd ${{ github.action_path }} - cp hermetic_library_generation.sh $GITHUB_WORKSPACE + cp hermetic_library_generation.sh "${GITHUB_WORKSPACE}" + - name: Install python packages + shell: bash + run: | + cd "${GITHUB_WORKSPACE}" + pip install --require-hashes -r hermetic_build/common/requirements.txt + pip install hermetic_build/common + pip install --require-hashes -r hermetic_build/library_generation/requirements.txt + pip install hermetic_build/library_generation + pip install --require-hashes -r hermetic_build/release_note_generation/requirements.txt + pip install hermetic_build/release_note_generation - name: Generate changed libraries shell: bash run: | diff --git a/.github/scripts/hermetic_library_generation.sh b/.github/scripts/hermetic_library_generation.sh index 97242aae0e..59fc82fc12 100755 --- a/.github/scripts/hermetic_library_generation.sh +++ b/.github/scripts/hermetic_library_generation.sh @@ -106,12 +106,16 @@ docker run \ --current-generation-config-path="${workspace_name}/${generation_config}" \ --api-definitions-path="${workspace_name}/googleapis" +python hermetic_build/release_note_generation/cli/generate_release_note.py generate \ + --baseline-generation-config-path="${baseline_generation_config}" \ + --current-generation-config-path="${generation_config}" + # remove api definitions after generation rm -rf "${api_def_dir}" # commit the change to the pull request. rm -rdf output googleapis "${baseline_generation_config}" -git add --all -- ':!pr_description.txt' ':!hermetic_library_generation.sh' +git add --all -- ':!pr_description.txt' ':!hermetic_library_generation.sh' ':!hermetic_build' changed_files=$(git diff --cached --name-only) if [[ "${changed_files}" != "" ]]; then echo "Commit changes..." diff --git a/.github/workflows/verify_library_generation.yaml b/.github/workflows/verify_library_generation.yaml index 9682f8e594..c1bb381984 100644 --- a/.github/workflows/verify_library_generation.yaml +++ b/.github/workflows/verify_library_generation.yaml @@ -27,7 +27,7 @@ jobs: git checkout -b "${head_ref}" fork/${head_ref} changed_directories="$(git diff --name-only "fork/${head_ref}" "origin/${base_ref}")" fi - if [[ ${changed_directories} =~ "library_generation/" ]]; then + if [[ ${changed_directories} =~ "hermetic_build/" ]]; then echo "should_run=true" >> $GITHUB_OUTPUT else echo "should_run=false" >> $GITHUB_OUTPUT @@ -46,32 +46,21 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: 3.11 - - name: install pyenv + python-version: 3.12 + - name: install python modules and dependencies shell: bash run: | set -ex - curl https://pyenv.run | bash - # setup environment - export PYENV_ROOT="$HOME/.pyenv" - export PATH="$PYENV_ROOT/bin:$PATH" - echo "PYENV_ROOT=${PYENV_ROOT}" >> $GITHUB_ENV - echo "PATH=${PATH}" >> $GITHUB_ENV - - set +ex - - name: install python dependencies - shell: bash - run: | - set -ex - pushd library_generation - pip install -r requirements.txt - pip install . - popd + pip install --upgrade pip + pip install --require-hashes -r hermetic_build/common/requirements.txt + pip install hermetic_build/common + pip install --require-hashes -r hermetic_build/library_generation/requirements.txt + pip install hermetic_build/library_generation - name: Run integration tests shell: bash run: | set -x - python -m unittest library_generation/test/integration_tests.py + python -m unittest hermetic_build/library_generation/tests/integration_tests.py library-generation-unit-tests: runs-on: ubuntu-22.04 needs: should-run-library-generation-tests @@ -80,23 +69,26 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: 3.11 - - name: install python dependencies + python-version: 3.12 + - name: install python modules and dependencies shell: bash run: | set -ex - pushd library_generation - pip install -r requirements.txt - pip install . - popd + pip install --upgrade pip + pip install --require-hashes -r hermetic_build/common/requirements.txt + pip install hermetic_build/common + pip install --require-hashes -r hermetic_build/library_generation/requirements.txt + pip install hermetic_build/library_generation + pip install --require-hashes -r hermetic_build/release_note_generation/requirements.txt + pip install hermetic_build/release_note_generation - name: Run shell unit tests run: | set -x - library_generation/test/generate_library_unit_tests.sh + hermetic_build/library_generation/tests/generate_library_unit_tests.sh - name: Run python unit tests run: | set -x - python -m unittest discover -s library_generation/test/ -p "*unit_tests.py" + python -m unittest discover -s hermetic_build -p "*unit_tests.py" library-generation-lint-shell: runs-on: ubuntu-22.04 needs: should-run-library-generation-tests @@ -106,7 +98,7 @@ jobs: - name: Run ShellCheck uses: ludeeus/action-shellcheck@2.0.0 with: - scandir: 'library_generation' + scandir: 'hermetic_build' format: tty severity: error library-generation-lint-python: @@ -115,16 +107,23 @@ jobs: if: needs.should-run-library-generation-tests.outputs.should_run == 'true' steps: - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: 3.12 - name: install python dependencies shell: bash run: | set -ex - pushd library_generation - pip install -r requirements.txt - popd + pip install --upgrade pip + pip install --require-hashes -r hermetic_build/common/requirements.txt + pip install hermetic_build/common + pip install --require-hashes -r hermetic_build/library_generation/requirements.txt + pip install hermetic_build/library_generation + pip install --require-hashes -r hermetic_build/release_note_generation/requirements.txt + pip install hermetic_build/release_note_generation - name: Lint shell: bash run: | # exclude generated golden files # exclude owlbot until further refaction - black --check library_generation --exclude "(library_generation/test/resources/goldens)" + black --check hermetic_build --exclude "(library_generation/tests/resources/goldens)" diff --git a/library_generation/__init__.py b/hermetic_build/common/__init__.py similarity index 100% rename from library_generation/__init__.py rename to hermetic_build/common/__init__.py diff --git a/library_generation/model/gapic_config.py b/hermetic_build/common/model/gapic_config.py similarity index 100% rename from library_generation/model/gapic_config.py rename to hermetic_build/common/model/gapic_config.py diff --git a/library_generation/model/gapic_inputs.py b/hermetic_build/common/model/gapic_inputs.py similarity index 100% rename from library_generation/model/gapic_inputs.py rename to hermetic_build/common/model/gapic_inputs.py diff --git a/library_generation/model/generation_config.py b/hermetic_build/common/model/generation_config.py similarity index 98% rename from library_generation/model/generation_config.py rename to hermetic_build/common/model/generation_config.py index bc3ff6d440..562e20ce3f 100644 --- a/library_generation/model/generation_config.py +++ b/hermetic_build/common/model/generation_config.py @@ -16,8 +16,8 @@ import yaml from typing import Optional -from library_generation.model.library_config import LibraryConfig -from library_generation.model.gapic_config import GapicConfig +from common.model.library_config import LibraryConfig +from common.model.gapic_config import GapicConfig REPO_LEVEL_PARAMETER = "Repo level parameter" LIBRARY_LEVEL_PARAMETER = "Library level parameter" diff --git a/library_generation/model/library_config.py b/hermetic_build/common/model/library_config.py similarity index 98% rename from library_generation/model/library_config.py rename to hermetic_build/common/model/library_config.py index f7992f47a2..b4156a6408 100644 --- a/library_generation/model/library_config.py +++ b/hermetic_build/common/model/library_config.py @@ -14,8 +14,8 @@ # limitations under the License. from hashlib import sha256 from typing import Optional -from library_generation.model.gapic_config import GapicConfig -from library_generation.model.gapic_inputs import GapicInputs +from common.model.gapic_config import GapicConfig +from common.model.gapic_inputs import GapicInputs MAVEN_COORDINATE_SEPARATOR = ":" diff --git a/hermetic_build/common/requirements.in b/hermetic_build/common/requirements.in new file mode 100644 index 0000000000..a34205e5fa --- /dev/null +++ b/hermetic_build/common/requirements.in @@ -0,0 +1,3 @@ +black==24.8.0 +parameterized==0.9.0 +PyYAML==6.0.2 \ No newline at end of file diff --git a/hermetic_build/common/requirements.txt b/hermetic_build/common/requirements.txt new file mode 100644 index 0000000000..d952506bb5 --- /dev/null +++ b/hermetic_build/common/requirements.txt @@ -0,0 +1,109 @@ +# +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: +# +# pip-compile --generate-hashes hermetic_build/common/requirements.in +# +black==24.8.0 \ + --hash=sha256:09cdeb74d494ec023ded657f7092ba518e8cf78fa8386155e4a03fdcc44679e6 \ + --hash=sha256:1f13f7f386f86f8121d76599114bb8c17b69d962137fc70efe56137727c7047e \ + --hash=sha256:2500945420b6784c38b9ee885af039f5e7471ef284ab03fa35ecdde4688cd83f \ + --hash=sha256:2b59b250fdba5f9a9cd9d0ece6e6d993d91ce877d121d161e4698af3eb9c1018 \ + --hash=sha256:3c4285573d4897a7610054af5a890bde7c65cb466040c5f0c8b732812d7f0e5e \ + --hash=sha256:505289f17ceda596658ae81b61ebbe2d9b25aa78067035184ed0a9d855d18afd \ + --hash=sha256:62e8730977f0b77998029da7971fa896ceefa2c4c4933fcd593fa599ecbf97a4 \ + --hash=sha256:649f6d84ccbae73ab767e206772cc2d7a393a001070a4c814a546afd0d423aed \ + --hash=sha256:6e55d30d44bed36593c3163b9bc63bf58b3b30e4611e4d88a0c3c239930ed5b2 \ + --hash=sha256:707a1ca89221bc8a1a64fb5e15ef39cd755633daa672a9db7498d1c19de66a42 \ + --hash=sha256:72901b4913cbac8972ad911dc4098d5753704d1f3c56e44ae8dce99eecb0e3af \ + --hash=sha256:73bbf84ed136e45d451a260c6b73ed674652f90a2b3211d6a35e78054563a9bb \ + --hash=sha256:7c046c1d1eeb7aea9335da62472481d3bbf3fd986e093cffd35f4385c94ae368 \ + --hash=sha256:81c6742da39f33b08e791da38410f32e27d632260e599df7245cccee2064afeb \ + --hash=sha256:837fd281f1908d0076844bc2b801ad2d369c78c45cf800cad7b61686051041af \ + --hash=sha256:972085c618ee94f402da1af548a4f218c754ea7e5dc70acb168bfaca4c2542ed \ + --hash=sha256:9e84e33b37be070ba135176c123ae52a51f82306def9f7d063ee302ecab2cf47 \ + --hash=sha256:b19c9ad992c7883ad84c9b22aaa73562a16b819c1d8db7a1a1a49fb7ec13c7d2 \ + --hash=sha256:d6417535d99c37cee4091a2f24eb2b6d5ec42b144d50f1f2e436d9fe1916fe1a \ + --hash=sha256:eab4dd44ce80dea27dc69db40dab62d4ca96112f87996bca68cd75639aeb2e4c \ + --hash=sha256:f490dbd59680d809ca31efdae20e634f3fae27fba3ce0ba3208333b713bc3920 \ + --hash=sha256:fb6e2c0b86bbd43dee042e48059c9ad7830abd5c94b0bc518c0eeec57c3eddc1 + # via -r hermetic_build/common/requirements.in +click==8.1.7 \ + --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \ + --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de + # via black +mypy-extensions==1.0.0 \ + --hash=sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d \ + --hash=sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782 + # via black +packaging==24.1 \ + --hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \ + --hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124 + # via black +parameterized==0.9.0 \ + --hash=sha256:4e0758e3d41bea3bbd05ec14fc2c24736723f243b28d702081aef438c9372b1b \ + --hash=sha256:7fc905272cefa4f364c1a3429cbbe9c0f98b793988efb5bf90aac80f08db09b1 + # via -r hermetic_build/common/requirements.in +pathspec==0.12.1 \ + --hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 \ + --hash=sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712 + # via black +platformdirs==4.3.6 \ + --hash=sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907 \ + --hash=sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb + # via black +pyyaml==6.0.2 \ + --hash=sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff \ + --hash=sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48 \ + --hash=sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086 \ + --hash=sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e \ + --hash=sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133 \ + --hash=sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5 \ + --hash=sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484 \ + --hash=sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee \ + --hash=sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5 \ + --hash=sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68 \ + --hash=sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a \ + --hash=sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf \ + --hash=sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99 \ + --hash=sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8 \ + --hash=sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85 \ + --hash=sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19 \ + --hash=sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc \ + --hash=sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a \ + --hash=sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1 \ + --hash=sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317 \ + --hash=sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c \ + --hash=sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631 \ + --hash=sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d \ + --hash=sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652 \ + --hash=sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5 \ + --hash=sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e \ + --hash=sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b \ + --hash=sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8 \ + --hash=sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476 \ + --hash=sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706 \ + --hash=sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563 \ + --hash=sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237 \ + --hash=sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b \ + --hash=sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083 \ + --hash=sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180 \ + --hash=sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425 \ + --hash=sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e \ + --hash=sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f \ + --hash=sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725 \ + --hash=sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183 \ + --hash=sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab \ + --hash=sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774 \ + --hash=sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725 \ + --hash=sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e \ + --hash=sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5 \ + --hash=sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d \ + --hash=sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290 \ + --hash=sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44 \ + --hash=sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed \ + --hash=sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4 \ + --hash=sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba \ + --hash=sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12 \ + --hash=sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4 + # via -r hermetic_build/common/requirements.in diff --git a/hermetic_build/common/setup.py b/hermetic_build/common/setup.py new file mode 100755 index 0000000000..8c3c663ada --- /dev/null +++ b/hermetic_build/common/setup.py @@ -0,0 +1,14 @@ +""" +Package information of library_generation python scripts +""" + +from setuptools import setup + +setup( + name="common", + version="0.1", + python_requires=">=3.12", + package_dir={ + "common": ".", + }, +) diff --git a/library_generation/test/__init__.py b/hermetic_build/common/tests/__init__.py similarity index 100% rename from library_generation/test/__init__.py rename to hermetic_build/common/tests/__init__.py diff --git a/library_generation/test/cli/__init__.py b/hermetic_build/common/tests/model/__init__.py similarity index 100% rename from library_generation/test/cli/__init__.py rename to hermetic_build/common/tests/model/__init__.py diff --git a/library_generation/test/model/gapic_config_unit_tests.py b/hermetic_build/common/tests/model/gapic_config_unit_tests.py similarity index 98% rename from library_generation/test/model/gapic_config_unit_tests.py rename to hermetic_build/common/tests/model/gapic_config_unit_tests.py index 64d8556648..864b2556e4 100644 --- a/library_generation/test/model/gapic_config_unit_tests.py +++ b/hermetic_build/common/tests/model/gapic_config_unit_tests.py @@ -13,7 +13,7 @@ # limitations under the License. import unittest -from library_generation.model.gapic_config import GapicConfig +from common.model.gapic_config import GapicConfig class GapicConfigTest(unittest.TestCase): diff --git a/library_generation/test/model/gapic_inputs_unit_tests.py b/hermetic_build/common/tests/model/gapic_inputs_unit_tests.py similarity index 99% rename from library_generation/test/model/gapic_inputs_unit_tests.py rename to hermetic_build/common/tests/model/gapic_inputs_unit_tests.py index 210d321591..41e9e7d233 100644 --- a/library_generation/test/model/gapic_inputs_unit_tests.py +++ b/hermetic_build/common/tests/model/gapic_inputs_unit_tests.py @@ -3,7 +3,7 @@ from pathlib import Path from parameterized import parameterized -from library_generation.model.gapic_inputs import parse +from common.model.gapic_inputs import parse script_dir = os.path.dirname(os.path.realpath(__file__)) resources_dir = os.path.join(script_dir, "..", "resources") diff --git a/library_generation/test/model/generation_config_unit_tests.py b/hermetic_build/common/tests/model/generation_config_unit_tests.py similarity index 98% rename from library_generation/test/model/generation_config_unit_tests.py rename to hermetic_build/common/tests/model/generation_config_unit_tests.py index f6a2f2a2d8..94edd934a0 100644 --- a/library_generation/test/model/generation_config_unit_tests.py +++ b/hermetic_build/common/tests/model/generation_config_unit_tests.py @@ -14,8 +14,8 @@ import os import unittest from pathlib import Path -from library_generation.model.generation_config import from_yaml, GenerationConfig -from library_generation.model.library_config import LibraryConfig +from common.model.generation_config import from_yaml, GenerationConfig +from common.model.library_config import LibraryConfig script_dir = os.path.dirname(os.path.realpath(__file__)) resources_dir = os.path.join(script_dir, "..", "resources") diff --git a/library_generation/test/model/library_config_unit_tests.py b/hermetic_build/common/tests/model/library_config_unit_tests.py similarity index 97% rename from library_generation/test/model/library_config_unit_tests.py rename to hermetic_build/common/tests/model/library_config_unit_tests.py index 5d54737ced..4935979ffa 100644 --- a/library_generation/test/model/library_config_unit_tests.py +++ b/hermetic_build/common/tests/model/library_config_unit_tests.py @@ -13,8 +13,8 @@ # limitations under the License. import unittest -from library_generation.model.gapic_config import GapicConfig -from library_generation.model.library_config import LibraryConfig +from common.model.gapic_config import GapicConfig +from common.model.library_config import LibraryConfig class LibraryConfigTest(unittest.TestCase): diff --git a/library_generation/test/resources/misc/BUILD_comment_common_resources.bazel b/hermetic_build/common/tests/resources/misc/BUILD_comment_common_resources.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_comment_common_resources.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_comment_common_resources.bazel diff --git a/library_generation/test/resources/misc/BUILD_comment_iam_policy.bazel b/hermetic_build/common/tests/resources/misc/BUILD_comment_iam_policy.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_comment_iam_policy.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_comment_iam_policy.bazel diff --git a/library_generation/test/resources/misc/BUILD_comment_locations.bazel b/hermetic_build/common/tests/resources/misc/BUILD_comment_locations.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_comment_locations.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_comment_locations.bazel diff --git a/library_generation/test/resources/misc/BUILD_common_resources.bazel b/hermetic_build/common/tests/resources/misc/BUILD_common_resources.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_common_resources.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_common_resources.bazel diff --git a/library_generation/test/resources/misc/BUILD_gapic_yaml.bazel b/hermetic_build/common/tests/resources/misc/BUILD_gapic_yaml.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_gapic_yaml.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_gapic_yaml.bazel diff --git a/library_generation/test/resources/misc/BUILD_grpc.bazel b/hermetic_build/common/tests/resources/misc/BUILD_grpc.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_grpc.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_grpc.bazel diff --git a/library_generation/test/resources/misc/BUILD_grpc_rest.bazel b/hermetic_build/common/tests/resources/misc/BUILD_grpc_rest.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_grpc_rest.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_grpc_rest.bazel diff --git a/library_generation/test/resources/misc/BUILD_iam_locations.bazel b/hermetic_build/common/tests/resources/misc/BUILD_iam_locations.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_iam_locations.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_iam_locations.bazel diff --git a/library_generation/test/resources/misc/BUILD_iam_policy.bazel b/hermetic_build/common/tests/resources/misc/BUILD_iam_policy.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_iam_policy.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_iam_policy.bazel diff --git a/library_generation/test/resources/misc/BUILD_include_samples_empty.bazel b/hermetic_build/common/tests/resources/misc/BUILD_include_samples_empty.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_include_samples_empty.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_include_samples_empty.bazel diff --git a/library_generation/test/resources/misc/BUILD_include_samples_false.bazel b/hermetic_build/common/tests/resources/misc/BUILD_include_samples_false.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_include_samples_false.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_include_samples_false.bazel diff --git a/library_generation/test/resources/misc/BUILD_include_samples_true.bazel b/hermetic_build/common/tests/resources/misc/BUILD_include_samples_true.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_include_samples_true.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_include_samples_true.bazel diff --git a/library_generation/test/resources/misc/BUILD_locations.bazel b/hermetic_build/common/tests/resources/misc/BUILD_locations.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_locations.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_locations.bazel diff --git a/library_generation/test/resources/misc/BUILD_no_additional_protos.bazel b/hermetic_build/common/tests/resources/misc/BUILD_no_additional_protos.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_no_additional_protos.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_no_additional_protos.bazel diff --git a/library_generation/test/resources/misc/BUILD_no_gapic_yaml.bazel b/hermetic_build/common/tests/resources/misc/BUILD_no_gapic_yaml.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_no_gapic_yaml.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_no_gapic_yaml.bazel diff --git a/library_generation/test/resources/misc/BUILD_no_service_config.bazel b/hermetic_build/common/tests/resources/misc/BUILD_no_service_config.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_no_service_config.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_no_service_config.bazel diff --git a/library_generation/test/resources/misc/BUILD_no_service_yaml.bazel b/hermetic_build/common/tests/resources/misc/BUILD_no_service_yaml.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_no_service_yaml.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_no_service_yaml.bazel diff --git a/library_generation/test/resources/misc/BUILD_proto_only.bazel b/hermetic_build/common/tests/resources/misc/BUILD_proto_only.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_proto_only.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_proto_only.bazel diff --git a/library_generation/test/resources/misc/BUILD_rest.bazel b/hermetic_build/common/tests/resources/misc/BUILD_rest.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_rest.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_rest.bazel diff --git a/library_generation/test/resources/misc/BUILD_rest_numeric_enums_empty.bazel b/hermetic_build/common/tests/resources/misc/BUILD_rest_numeric_enums_empty.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_rest_numeric_enums_empty.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_rest_numeric_enums_empty.bazel diff --git a/library_generation/test/resources/misc/BUILD_rest_numeric_enums_false.bazel b/hermetic_build/common/tests/resources/misc/BUILD_rest_numeric_enums_false.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_rest_numeric_enums_false.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_rest_numeric_enums_false.bazel diff --git a/library_generation/test/resources/misc/BUILD_rest_numeric_enums_true.bazel b/hermetic_build/common/tests/resources/misc/BUILD_rest_numeric_enums_true.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_rest_numeric_enums_true.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_rest_numeric_enums_true.bazel diff --git a/library_generation/test/resources/misc/BUILD_service_config.bazel b/hermetic_build/common/tests/resources/misc/BUILD_service_config.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_service_config.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_service_config.bazel diff --git a/library_generation/test/resources/misc/BUILD_service_config_relative_target.bazel b/hermetic_build/common/tests/resources/misc/BUILD_service_config_relative_target.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_service_config_relative_target.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_service_config_relative_target.bazel diff --git a/library_generation/test/resources/misc/BUILD_service_yaml.bazel b/hermetic_build/common/tests/resources/misc/BUILD_service_yaml.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_service_yaml.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_service_yaml.bazel diff --git a/library_generation/test/resources/misc/BUILD_service_yaml_absolute_target.bazel b/hermetic_build/common/tests/resources/misc/BUILD_service_yaml_absolute_target.bazel similarity index 100% rename from library_generation/test/resources/misc/BUILD_service_yaml_absolute_target.bazel rename to hermetic_build/common/tests/resources/misc/BUILD_service_yaml_absolute_target.bazel diff --git a/library_generation/test/resources/misc/TESTWORKSPACE b/hermetic_build/common/tests/resources/misc/TESTWORKSPACE similarity index 100% rename from library_generation/test/resources/misc/TESTWORKSPACE rename to hermetic_build/common/tests/resources/misc/TESTWORKSPACE diff --git a/library_generation/test/resources/misc/versions.txt b/hermetic_build/common/tests/resources/misc/versions.txt similarity index 100% rename from library_generation/test/resources/misc/versions.txt rename to hermetic_build/common/tests/resources/misc/versions.txt diff --git a/library_generation/test/resources/test-config/config_without_api_description.yaml b/hermetic_build/common/tests/resources/test-config/config_without_api_description.yaml similarity index 100% rename from library_generation/test/resources/test-config/config_without_api_description.yaml rename to hermetic_build/common/tests/resources/test-config/config_without_api_description.yaml diff --git a/library_generation/test/resources/test-config/config_without_api_shortname.yaml b/hermetic_build/common/tests/resources/test-config/config_without_api_shortname.yaml similarity index 100% rename from library_generation/test/resources/test-config/config_without_api_shortname.yaml rename to hermetic_build/common/tests/resources/test-config/config_without_api_shortname.yaml diff --git a/library_generation/test/resources/test-config/config_without_gapics_key.yaml b/hermetic_build/common/tests/resources/test-config/config_without_gapics_key.yaml similarity index 100% rename from library_generation/test/resources/test-config/config_without_gapics_key.yaml rename to hermetic_build/common/tests/resources/test-config/config_without_gapics_key.yaml diff --git a/library_generation/test/resources/test-config/config_without_gapics_value.yaml b/hermetic_build/common/tests/resources/test-config/config_without_gapics_value.yaml similarity index 100% rename from library_generation/test/resources/test-config/config_without_gapics_value.yaml rename to hermetic_build/common/tests/resources/test-config/config_without_gapics_value.yaml diff --git a/library_generation/test/resources/test-config/config_without_googleapis.yaml b/hermetic_build/common/tests/resources/test-config/config_without_googleapis.yaml similarity index 100% rename from library_generation/test/resources/test-config/config_without_googleapis.yaml rename to hermetic_build/common/tests/resources/test-config/config_without_googleapis.yaml diff --git a/library_generation/test/resources/test-config/config_without_libraries.yaml b/hermetic_build/common/tests/resources/test-config/config_without_libraries.yaml similarity index 100% rename from library_generation/test/resources/test-config/config_without_libraries.yaml rename to hermetic_build/common/tests/resources/test-config/config_without_libraries.yaml diff --git a/library_generation/test/resources/test-config/config_without_library_value.yaml b/hermetic_build/common/tests/resources/test-config/config_without_library_value.yaml similarity index 100% rename from library_generation/test/resources/test-config/config_without_library_value.yaml rename to hermetic_build/common/tests/resources/test-config/config_without_library_value.yaml diff --git a/library_generation/test/resources/test-config/config_without_name_pretty.yaml b/hermetic_build/common/tests/resources/test-config/config_without_name_pretty.yaml similarity index 100% rename from library_generation/test/resources/test-config/config_without_name_pretty.yaml rename to hermetic_build/common/tests/resources/test-config/config_without_name_pretty.yaml diff --git a/library_generation/test/resources/test-config/config_without_product_docs.yaml b/hermetic_build/common/tests/resources/test-config/config_without_product_docs.yaml similarity index 100% rename from library_generation/test/resources/test-config/config_without_product_docs.yaml rename to hermetic_build/common/tests/resources/test-config/config_without_product_docs.yaml diff --git a/library_generation/test/resources/test-config/config_without_proto_path.yaml b/hermetic_build/common/tests/resources/test-config/config_without_proto_path.yaml similarity index 100% rename from library_generation/test/resources/test-config/config_without_proto_path.yaml rename to hermetic_build/common/tests/resources/test-config/config_without_proto_path.yaml diff --git a/library_generation/test/resources/test-config/generation_config.yaml b/hermetic_build/common/tests/resources/test-config/generation_config.yaml similarity index 100% rename from library_generation/test/resources/test-config/generation_config.yaml rename to hermetic_build/common/tests/resources/test-config/generation_config.yaml diff --git a/library_generation/DEVELOPMENT.md b/hermetic_build/library_generation/DEVELOPMENT.md similarity index 94% rename from library_generation/DEVELOPMENT.md rename to hermetic_build/library_generation/DEVELOPMENT.md index f32b544e1e..df7843aeaa 100644 --- a/library_generation/DEVELOPMENT.md +++ b/hermetic_build/library_generation/DEVELOPMENT.md @@ -1,5 +1,5 @@ > [!IMPORTANT] -> All examples assume you are inside the `library_generation` folder. +> All examples assume you are inside the `hermetic_build` folder. # Linting @@ -21,9 +21,9 @@ code declared in a "golden branch" of the repo. It requires docker and python 3.x to be installed. ``` -python -m pip install . -python -m pip install -r requirements.txt -python -m unittest test/integration_tests.py +python -m pip install --require-hashes -r library_generation/requirements.txt +python -m pip install library_generation +python -m unittest library_generation/tests/integration_tests.py ``` # Running the unit tests @@ -34,7 +34,7 @@ Every unit test script ends with `unit_tests.py`. To avoid them specifying them individually, we can use the following command: ```bash -python -m unittest discover -s test/ -p "*unit_tests.py" +python -m unittest discover -s library_generation/tests/ -p "*unit_tests.py" ``` > [!NOTE] @@ -132,7 +132,7 @@ python -m pip install . ### Run the script ``` -python cli/entry_point.py generate \ +python library_generation/cli/entry_point.py generate \ --repository-path="${path_to_repo}" \ --api-definitions-path="${api_definitions_path}" ``` diff --git a/library_generation/README.md b/hermetic_build/library_generation/README.md similarity index 91% rename from library_generation/README.md rename to hermetic_build/library_generation/README.md index 20a698a6ab..0b4208ac3e 100644 --- a/library_generation/README.md +++ b/hermetic_build/library_generation/README.md @@ -1,14 +1,14 @@ # Generate a repository containing GAPIC Client Libraries The script, `entry_point.py`, allows you to generate a repository containing -GAPIC client libraries with change history (a monorepo, for example, -google-cloud-java) from a configuration file. +GAPIC client libraries (a monorepo, for example, google-cloud-java) from a +configuration file. ## Environment - OS: Linux - Java runtime environment (8 or above) -- Python (3.11.6 or above) +- Python (3.12 or above) - Docker - Git @@ -23,7 +23,7 @@ Please refer to [Repository path](#repository-path--repositorypath---optional) f ### Baseline generation configuration yaml (`baseline_generation_config`) An absolute or relative path to a generation_config.yaml. -This config file is used for commit history generation, not library +This config file is used for computing changed libraries, not library generation. ### Current generation configuration yaml (`current_generation_config`) @@ -89,14 +89,6 @@ will be created/modified: | pom.xml (repo root dir) | Always generated from inputs | | versions.txt | New entries will be added if they don’t exist | -### Change history - -If both `baseline_generation_config` and `current_generation_config` are -specified and the contents are different, the changed contents will be generated -into `pr_description.txt` in the `repository_path`. -In addition, if the `googleapis_commitish` is different, the googleapis commit -history will be generated. - ## Configuration to generate a repository There are three levels of parameters in the configuration: repository level, @@ -198,27 +190,25 @@ libraries: 1. Assuming Python 3 is installed, follow official guide from [Python.org](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/#create-and-use-virtual-environments) to create a virtual environment. The virtual environment can be installed to any folder, usually it is recommended to be installed under the root folder of the project(`sdk-platform-java` in this case). 2. Assuming the virtual environment is installed under `sdk-platform-java`. -Run the following command under the root folder of `sdk-platform-java` to install the dependencies of `library_generation` +Run the following command under the root folder of `sdk-platform-java` to install `library_generation` and its dependencies. ```bash - python -m pip install -r library_generation/requirements.txt + python -m pip install --require-hashes -r hermetic_build/common/requirements.txt + python -m pip install hermetic_build/common + python -m pip install --require-hashes -r hermetic_build/library_generation/requirements.txt + python -m pip install hermetic_build/library_generation ``` -3. Run the following command to install `library_generation` as a module, which allows the `library_generation` module to be imported from anywhere - ```bash - python -m pip install library_generation/ - ``` - -4. Download api definition to a local directory +3. Download api definition to a local directory ## An example to generate a repository using `entry_point.py` ```bash -python library_generation/entry_point.py generate \ ---baseline-generation-config-path=/path/to/baseline_config_file \ ---current-generation-config-path=/path/to/current_config_file \ ---repository-path=path/to/repository \ ---api-definitions-path=path/to/api_definition +python hermetic_build/library_generation/cli/entry_point.py generate \ + --baseline-generation-config-path=/path/to/baseline_config_file \ + --current-generation-config-path=/path/to/current_config_file \ + --repository-path=path/to/repository \ + --api-definitions-path=path/to/api_definition ``` If you run `entry_point.py` with the example [configuration](#an-example-of-generation-configuration) shown above, the repository structure is: @@ -298,9 +288,7 @@ $repository_path We have transferred the [implementation](https://github.com/googleapis/synthtool/tree/59fe44fde9866a26e7ee4e4450fd79f67f8cf599/docker/owlbot/java) -of Java Owlbot Postprocessor into `sdk-platform-java/library_generation`. The -implementation in synthtool is still valid and used by other services, so we -have two versions during a transition period. +of Java Owlbot Postprocessor into `sdk-platform-java/hermetic_build/library_generation`. ## Reflecting changes in synthtool/docker/owlbot/java into this repository The transfer was not a verbatim copy, it rather had modifications: diff --git a/library_generation/test/model/__init__.py b/hermetic_build/library_generation/__init__.py similarity index 100% rename from library_generation/test/model/__init__.py rename to hermetic_build/library_generation/__init__.py diff --git a/library_generation/cli/entry_point.py b/hermetic_build/library_generation/cli/entry_point.py similarity index 93% rename from library_generation/cli/entry_point.py rename to hermetic_build/library_generation/cli/entry_point.py index 5ca6d93219..b15880f06d 100644 --- a/library_generation/cli/entry_point.py +++ b/hermetic_build/library_generation/cli/entry_point.py @@ -15,10 +15,9 @@ import sys from typing import Optional import click as click -from library_generation.generate_pr_description import generate_pr_descriptions from library_generation.generate_repo import generate_from_yaml from library_generation.model.config_change import ConfigChange -from library_generation.model.generation_config import from_yaml +from common.model.generation_config import from_yaml from library_generation.utils.generation_config_comparator import compare_config @@ -94,12 +93,11 @@ def generate( ): """ Compare baseline generation config and current generation config and - generate changed libraries based on current generation config with commit - history. + generate changed libraries based on current generation config. If baseline generation config is not specified but current generation config is specified, generate all libraries if `library_names` is not - specified, based on current generation config without commit history. + specified, based on current generation config. If current generation config is not specified but baseline generation config is specified, raise FileNotFoundError because current generation @@ -116,9 +114,6 @@ def generate( specified. Raise FileNotFoundError if the default config does not exist. - - The commit history, if generated, will be available in - repository_path/pr_description.txt. """ __generate_repo_and_pr_description_impl( baseline_generation_config_path=baseline_generation_config_path, @@ -172,7 +167,6 @@ def __generate_repo_and_pr_description_impl( if not baseline_generation_config_path: # Execute selective generation based on current_generation_config if # baseline_generation_config is not specified. - # Do not generate pull request description. generate_from_yaml( config=from_yaml(current_generation_config_path), repository_path=repository_path, @@ -182,7 +176,6 @@ def __generate_repo_and_pr_description_impl( return # Compare two generation configs to get changed libraries. - # Generate pull request description. baseline_generation_config_path = os.path.abspath(baseline_generation_config_path) config_change = compare_config( baseline_config=from_yaml(baseline_generation_config_path), @@ -206,10 +199,6 @@ def __generate_repo_and_pr_description_impl( api_definitions_path=api_definitions_path, target_library_names=target_library_names, ) - generate_pr_descriptions( - config_change=config_change, - description_path=repository_path, - ) def _needs_full_repo_generation(config_change: ConfigChange) -> bool: diff --git a/library_generation/cli/generate_monorepo_gapic_bom.py b/hermetic_build/library_generation/cli/generate_monorepo_gapic_bom.py similarity index 100% rename from library_generation/cli/generate_monorepo_gapic_bom.py rename to hermetic_build/library_generation/cli/generate_monorepo_gapic_bom.py diff --git a/library_generation/cli/generate_monorepo_root_pom.py b/hermetic_build/library_generation/cli/generate_monorepo_root_pom.py similarity index 100% rename from library_generation/cli/generate_monorepo_root_pom.py rename to hermetic_build/library_generation/cli/generate_monorepo_root_pom.py diff --git a/library_generation/dockerignore b/hermetic_build/library_generation/dockerignore similarity index 100% rename from library_generation/dockerignore rename to hermetic_build/library_generation/dockerignore diff --git a/library_generation/gapic-generator-java-wrapper b/hermetic_build/library_generation/gapic-generator-java-wrapper similarity index 100% rename from library_generation/gapic-generator-java-wrapper rename to hermetic_build/library_generation/gapic-generator-java-wrapper diff --git a/library_generation/generate_composed_library.py b/hermetic_build/library_generation/generate_composed_library.py similarity index 95% rename from library_generation/generate_composed_library.py rename to hermetic_build/library_generation/generate_composed_library.py index 51d1ef21f3..7cdc9c53d7 100755 --- a/library_generation/generate_composed_library.py +++ b/hermetic_build/library_generation/generate_composed_library.py @@ -31,11 +31,11 @@ from pathlib import Path from typing import List import library_generation.utils.utilities as util -from library_generation.model.generation_config import GenerationConfig -from library_generation.model.gapic_config import GapicConfig -from library_generation.model.gapic_inputs import GapicInputs -from library_generation.model.library_config import LibraryConfig -from library_generation.model.gapic_inputs import parse as parse_build_file +from common.model.generation_config import GenerationConfig +from common.model.gapic_config import GapicConfig +from common.model.gapic_inputs import GapicInputs +from common.model.library_config import LibraryConfig +from common.model.gapic_inputs import parse as parse_build_file from library_generation.model.repo_config import RepoConfig script_dir = os.path.dirname(os.path.realpath(__file__)) diff --git a/library_generation/generate_library.sh b/hermetic_build/library_generation/generate_library.sh similarity index 100% rename from library_generation/generate_library.sh rename to hermetic_build/library_generation/generate_library.sh diff --git a/library_generation/generate_repo.py b/hermetic_build/library_generation/generate_repo.py similarity index 95% rename from library_generation/generate_repo.py rename to hermetic_build/library_generation/generate_repo.py index fa3062f091..2e233acb7b 100755 --- a/library_generation/generate_repo.py +++ b/hermetic_build/library_generation/generate_repo.py @@ -16,8 +16,8 @@ from typing import Optional import library_generation.utils.utilities as util from library_generation.generate_composed_library import generate_composed_library -from library_generation.model.generation_config import GenerationConfig -from library_generation.model.library_config import LibraryConfig +from common.model.generation_config import GenerationConfig +from common.model.library_config import LibraryConfig from library_generation.utils.monorepo_postprocessor import monorepo_postprocessing diff --git a/library_generation/model/bom_config.py b/hermetic_build/library_generation/model/bom_config.py similarity index 100% rename from library_generation/model/bom_config.py rename to hermetic_build/library_generation/model/bom_config.py diff --git a/library_generation/model/config_change.py b/hermetic_build/library_generation/model/config_change.py similarity index 97% rename from library_generation/model/config_change.py rename to hermetic_build/library_generation/model/config_change.py index 8a5e813244..018aee8ccd 100644 --- a/library_generation/model/config_change.py +++ b/hermetic_build/library_generation/model/config_change.py @@ -17,9 +17,9 @@ from typing import Optional from git import Commit, Repo -from library_generation.model.gapic_inputs import parse_build_str -from library_generation.model.generation_config import GenerationConfig -from library_generation.model.library_config import LibraryConfig +from common.model.gapic_inputs import parse_build_str +from common.model.generation_config import GenerationConfig +from common.model.library_config import LibraryConfig from library_generation.utils.utilities import sh_util from library_generation.utils.proto_path_utils import find_versioned_proto_path diff --git a/library_generation/model/repo_config.py b/hermetic_build/library_generation/model/repo_config.py similarity index 97% rename from library_generation/model/repo_config.py rename to hermetic_build/library_generation/model/repo_config.py index 58ed3fa3bf..1921b177d9 100644 --- a/library_generation/model/repo_config.py +++ b/hermetic_build/library_generation/model/repo_config.py @@ -12,7 +12,7 @@ # 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 library_generation.model.library_config import LibraryConfig +from common.model.library_config import LibraryConfig GRPC_PREFIX = "grpc-" diff --git a/library_generation/owlbot/bin/entrypoint.sh b/hermetic_build/library_generation/owlbot/bin/entrypoint.sh similarity index 100% rename from library_generation/owlbot/bin/entrypoint.sh rename to hermetic_build/library_generation/owlbot/bin/entrypoint.sh diff --git a/library_generation/owlbot/bin/format_source.sh b/hermetic_build/library_generation/owlbot/bin/format_source.sh similarity index 100% rename from library_generation/owlbot/bin/format_source.sh rename to hermetic_build/library_generation/owlbot/bin/format_source.sh diff --git a/library_generation/owlbot/bin/write_clirr_ignore.sh b/hermetic_build/library_generation/owlbot/bin/write_clirr_ignore.sh similarity index 100% rename from library_generation/owlbot/bin/write_clirr_ignore.sh rename to hermetic_build/library_generation/owlbot/bin/write_clirr_ignore.sh diff --git a/library_generation/owlbot/src/fix-license-headers.py b/hermetic_build/library_generation/owlbot/src/fix-license-headers.py similarity index 100% rename from library_generation/owlbot/src/fix-license-headers.py rename to hermetic_build/library_generation/owlbot/src/fix-license-headers.py diff --git a/library_generation/owlbot/src/fix_poms.py b/hermetic_build/library_generation/owlbot/src/fix_poms.py similarity index 100% rename from library_generation/owlbot/src/fix_poms.py rename to hermetic_build/library_generation/owlbot/src/fix_poms.py diff --git a/library_generation/owlbot/src/gen-template.py b/hermetic_build/library_generation/owlbot/src/gen-template.py similarity index 100% rename from library_generation/owlbot/src/gen-template.py rename to hermetic_build/library_generation/owlbot/src/gen-template.py diff --git a/library_generation/owlbot/src/poms/.gitignore b/hermetic_build/library_generation/owlbot/src/poms/.gitignore similarity index 100% rename from library_generation/owlbot/src/poms/.gitignore rename to hermetic_build/library_generation/owlbot/src/poms/.gitignore diff --git a/library_generation/owlbot/src/poms/module.py b/hermetic_build/library_generation/owlbot/src/poms/module.py similarity index 100% rename from library_generation/owlbot/src/poms/module.py rename to hermetic_build/library_generation/owlbot/src/poms/module.py diff --git a/library_generation/owlbot/src/poms/templates.py b/hermetic_build/library_generation/owlbot/src/poms/templates.py similarity index 98% rename from library_generation/owlbot/src/poms/templates.py rename to hermetic_build/library_generation/owlbot/src/poms/templates.py index 09a77e9ec7..d100a2bc5d 100644 --- a/library_generation/owlbot/src/poms/templates.py +++ b/hermetic_build/library_generation/owlbot/src/poms/templates.py @@ -15,7 +15,6 @@ from jinja2 import Environment, FileSystemLoader import os import pathlib -from typing import List root_directory = pathlib.Path( os.path.realpath(os.path.dirname(os.path.realpath(__file__))) diff --git a/library_generation/owlbot/synthtool/__init__.py b/hermetic_build/library_generation/owlbot/synthtool/__init__.py similarity index 100% rename from library_generation/owlbot/synthtool/__init__.py rename to hermetic_build/library_generation/owlbot/synthtool/__init__.py diff --git a/library_generation/owlbot/synthtool/_tracked_paths.py b/hermetic_build/library_generation/owlbot/synthtool/_tracked_paths.py similarity index 100% rename from library_generation/owlbot/synthtool/_tracked_paths.py rename to hermetic_build/library_generation/owlbot/synthtool/_tracked_paths.py diff --git a/library_generation/owlbot/synthtool/gcp/common.py b/hermetic_build/library_generation/owlbot/synthtool/gcp/common.py similarity index 100% rename from library_generation/owlbot/synthtool/gcp/common.py rename to hermetic_build/library_generation/owlbot/synthtool/gcp/common.py diff --git a/library_generation/owlbot/synthtool/gcp/samples.py b/hermetic_build/library_generation/owlbot/synthtool/gcp/samples.py similarity index 100% rename from library_generation/owlbot/synthtool/gcp/samples.py rename to hermetic_build/library_generation/owlbot/synthtool/gcp/samples.py diff --git a/library_generation/owlbot/synthtool/gcp/snippets.py b/hermetic_build/library_generation/owlbot/synthtool/gcp/snippets.py similarity index 100% rename from library_generation/owlbot/synthtool/gcp/snippets.py rename to hermetic_build/library_generation/owlbot/synthtool/gcp/snippets.py diff --git a/library_generation/owlbot/synthtool/languages/java.py b/hermetic_build/library_generation/owlbot/synthtool/languages/java.py similarity index 100% rename from library_generation/owlbot/synthtool/languages/java.py rename to hermetic_build/library_generation/owlbot/synthtool/languages/java.py diff --git a/library_generation/owlbot/synthtool/sources/templates.py b/hermetic_build/library_generation/owlbot/synthtool/sources/templates.py similarity index 99% rename from library_generation/owlbot/synthtool/sources/templates.py rename to hermetic_build/library_generation/owlbot/synthtool/sources/templates.py index 3ba5391f49..7db2ea6a92 100644 --- a/library_generation/owlbot/synthtool/sources/templates.py +++ b/hermetic_build/library_generation/owlbot/synthtool/sources/templates.py @@ -14,10 +14,8 @@ from typing import Union, List from pathlib import Path - import jinja2 import tempfile -import re PathOrStr = Union[str, Path] diff --git a/library_generation/owlbot/synthtool/transforms.py b/hermetic_build/library_generation/owlbot/synthtool/transforms.py similarity index 100% rename from library_generation/owlbot/synthtool/transforms.py rename to hermetic_build/library_generation/owlbot/synthtool/transforms.py diff --git a/library_generation/owlbot/templates/clirr/clirr-ignored-differences.xml.j2 b/hermetic_build/library_generation/owlbot/templates/clirr/clirr-ignored-differences.xml.j2 similarity index 100% rename from library_generation/owlbot/templates/clirr/clirr-ignored-differences.xml.j2 rename to hermetic_build/library_generation/owlbot/templates/clirr/clirr-ignored-differences.xml.j2 diff --git a/library_generation/owlbot/templates/java_library/.github/CODEOWNERS b/hermetic_build/library_generation/owlbot/templates/java_library/.github/CODEOWNERS similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/CODEOWNERS rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/CODEOWNERS diff --git a/library_generation/owlbot/templates/java_library/.github/ISSUE_TEMPLATE/bug_report.md b/hermetic_build/library_generation/owlbot/templates/java_library/.github/ISSUE_TEMPLATE/bug_report.md similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/ISSUE_TEMPLATE/bug_report.md rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/ISSUE_TEMPLATE/bug_report.md diff --git a/library_generation/owlbot/templates/java_library/.github/ISSUE_TEMPLATE/feature_request.md b/hermetic_build/library_generation/owlbot/templates/java_library/.github/ISSUE_TEMPLATE/feature_request.md similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/ISSUE_TEMPLATE/feature_request.md rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/ISSUE_TEMPLATE/feature_request.md diff --git a/library_generation/owlbot/templates/java_library/.github/ISSUE_TEMPLATE/support_request.md b/hermetic_build/library_generation/owlbot/templates/java_library/.github/ISSUE_TEMPLATE/support_request.md similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/ISSUE_TEMPLATE/support_request.md rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/ISSUE_TEMPLATE/support_request.md diff --git a/library_generation/owlbot/templates/java_library/.github/PULL_REQUEST_TEMPLATE.md b/hermetic_build/library_generation/owlbot/templates/java_library/.github/PULL_REQUEST_TEMPLATE.md similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/PULL_REQUEST_TEMPLATE.md rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/PULL_REQUEST_TEMPLATE.md diff --git a/library_generation/owlbot/templates/java_library/.github/auto-label.yaml b/hermetic_build/library_generation/owlbot/templates/java_library/.github/auto-label.yaml similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/auto-label.yaml rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/auto-label.yaml diff --git a/library_generation/owlbot/templates/java_library/.github/blunderbuss.yml b/hermetic_build/library_generation/owlbot/templates/java_library/.github/blunderbuss.yml similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/blunderbuss.yml rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/blunderbuss.yml diff --git a/library_generation/owlbot/templates/java_library/.github/dependabot.yml b/hermetic_build/library_generation/owlbot/templates/java_library/.github/dependabot.yml similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/dependabot.yml rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/dependabot.yml diff --git a/library_generation/owlbot/templates/java_library/.github/release-please.yml b/hermetic_build/library_generation/owlbot/templates/java_library/.github/release-please.yml similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/release-please.yml rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/release-please.yml diff --git a/library_generation/owlbot/templates/java_library/.github/release-trigger.yml b/hermetic_build/library_generation/owlbot/templates/java_library/.github/release-trigger.yml similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/release-trigger.yml rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/release-trigger.yml diff --git a/library_generation/owlbot/templates/java_library/.github/scripts/update_generation_config.sh b/hermetic_build/library_generation/owlbot/templates/java_library/.github/scripts/update_generation_config.sh similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/scripts/update_generation_config.sh rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/scripts/update_generation_config.sh diff --git a/library_generation/owlbot/templates/java_library/.github/snippet-bot.yml b/hermetic_build/library_generation/owlbot/templates/java_library/.github/snippet-bot.yml similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/snippet-bot.yml rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/snippet-bot.yml diff --git a/library_generation/owlbot/templates/java_library/.github/sync-repo-settings.yaml b/hermetic_build/library_generation/owlbot/templates/java_library/.github/sync-repo-settings.yaml similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/sync-repo-settings.yaml rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/sync-repo-settings.yaml diff --git a/library_generation/owlbot/templates/java_library/.github/trusted-contribution.yml b/hermetic_build/library_generation/owlbot/templates/java_library/.github/trusted-contribution.yml similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/trusted-contribution.yml rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/trusted-contribution.yml diff --git a/library_generation/owlbot/templates/java_library/.github/workflows/approve-readme.yaml b/hermetic_build/library_generation/owlbot/templates/java_library/.github/workflows/approve-readme.yaml similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/workflows/approve-readme.yaml rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/workflows/approve-readme.yaml diff --git a/library_generation/owlbot/templates/java_library/.github/workflows/ci.yaml b/hermetic_build/library_generation/owlbot/templates/java_library/.github/workflows/ci.yaml similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/workflows/ci.yaml rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/workflows/ci.yaml diff --git a/library_generation/owlbot/templates/java_library/.github/workflows/renovate_config_check.yaml b/hermetic_build/library_generation/owlbot/templates/java_library/.github/workflows/renovate_config_check.yaml similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/workflows/renovate_config_check.yaml rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/workflows/renovate_config_check.yaml diff --git a/library_generation/owlbot/templates/java_library/.github/workflows/samples.yaml b/hermetic_build/library_generation/owlbot/templates/java_library/.github/workflows/samples.yaml similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/workflows/samples.yaml rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/workflows/samples.yaml diff --git a/library_generation/owlbot/templates/java_library/.github/workflows/update_generation_config.yaml b/hermetic_build/library_generation/owlbot/templates/java_library/.github/workflows/update_generation_config.yaml similarity index 100% rename from library_generation/owlbot/templates/java_library/.github/workflows/update_generation_config.yaml rename to hermetic_build/library_generation/owlbot/templates/java_library/.github/workflows/update_generation_config.yaml diff --git a/library_generation/owlbot/templates/java_library/.kokoro/build.sh b/hermetic_build/library_generation/owlbot/templates/java_library/.kokoro/build.sh similarity index 100% rename from library_generation/owlbot/templates/java_library/.kokoro/build.sh rename to hermetic_build/library_generation/owlbot/templates/java_library/.kokoro/build.sh diff --git a/library_generation/owlbot/templates/java_library/.kokoro/common.cfg b/hermetic_build/library_generation/owlbot/templates/java_library/.kokoro/common.cfg similarity index 100% rename from library_generation/owlbot/templates/java_library/.kokoro/common.cfg rename to hermetic_build/library_generation/owlbot/templates/java_library/.kokoro/common.cfg diff --git a/library_generation/owlbot/templates/java_library/.kokoro/continuous.cfg b/hermetic_build/library_generation/owlbot/templates/java_library/.kokoro/continuous.cfg similarity index 100% rename from library_generation/owlbot/templates/java_library/.kokoro/continuous.cfg rename to hermetic_build/library_generation/owlbot/templates/java_library/.kokoro/continuous.cfg diff --git a/library_generation/owlbot/templates/java_library/.kokoro/presubmit.cfg b/hermetic_build/library_generation/owlbot/templates/java_library/.kokoro/presubmit.cfg similarity index 100% rename from library_generation/owlbot/templates/java_library/.kokoro/presubmit.cfg rename to hermetic_build/library_generation/owlbot/templates/java_library/.kokoro/presubmit.cfg diff --git a/library_generation/owlbot/templates/java_library/.kokoro/trampoline.sh b/hermetic_build/library_generation/owlbot/templates/java_library/.kokoro/trampoline.sh similarity index 100% rename from library_generation/owlbot/templates/java_library/.kokoro/trampoline.sh rename to hermetic_build/library_generation/owlbot/templates/java_library/.kokoro/trampoline.sh diff --git a/library_generation/owlbot/templates/java_library/CODE_OF_CONDUCT.md b/hermetic_build/library_generation/owlbot/templates/java_library/CODE_OF_CONDUCT.md similarity index 100% rename from library_generation/owlbot/templates/java_library/CODE_OF_CONDUCT.md rename to hermetic_build/library_generation/owlbot/templates/java_library/CODE_OF_CONDUCT.md diff --git a/library_generation/owlbot/templates/java_library/CONTRIBUTING.md b/hermetic_build/library_generation/owlbot/templates/java_library/CONTRIBUTING.md similarity index 100% rename from library_generation/owlbot/templates/java_library/CONTRIBUTING.md rename to hermetic_build/library_generation/owlbot/templates/java_library/CONTRIBUTING.md diff --git a/library_generation/owlbot/templates/java_library/LICENSE b/hermetic_build/library_generation/owlbot/templates/java_library/LICENSE similarity index 100% rename from library_generation/owlbot/templates/java_library/LICENSE rename to hermetic_build/library_generation/owlbot/templates/java_library/LICENSE diff --git a/library_generation/owlbot/templates/java_library/README.md b/hermetic_build/library_generation/owlbot/templates/java_library/README.md similarity index 100% rename from library_generation/owlbot/templates/java_library/README.md rename to hermetic_build/library_generation/owlbot/templates/java_library/README.md diff --git a/library_generation/owlbot/templates/java_library/SECURITY.md b/hermetic_build/library_generation/owlbot/templates/java_library/SECURITY.md similarity index 100% rename from library_generation/owlbot/templates/java_library/SECURITY.md rename to hermetic_build/library_generation/owlbot/templates/java_library/SECURITY.md diff --git a/library_generation/owlbot/templates/java_library/java.header b/hermetic_build/library_generation/owlbot/templates/java_library/java.header similarity index 100% rename from library_generation/owlbot/templates/java_library/java.header rename to hermetic_build/library_generation/owlbot/templates/java_library/java.header diff --git a/library_generation/owlbot/templates/java_library/license-checks.xml b/hermetic_build/library_generation/owlbot/templates/java_library/license-checks.xml similarity index 100% rename from library_generation/owlbot/templates/java_library/license-checks.xml rename to hermetic_build/library_generation/owlbot/templates/java_library/license-checks.xml diff --git a/library_generation/owlbot/templates/java_library/renovate.json b/hermetic_build/library_generation/owlbot/templates/java_library/renovate.json similarity index 100% rename from library_generation/owlbot/templates/java_library/renovate.json rename to hermetic_build/library_generation/owlbot/templates/java_library/renovate.json diff --git a/library_generation/owlbot/templates/java_library/samples/install-without-bom/pom.xml b/hermetic_build/library_generation/owlbot/templates/java_library/samples/install-without-bom/pom.xml similarity index 100% rename from library_generation/owlbot/templates/java_library/samples/install-without-bom/pom.xml rename to hermetic_build/library_generation/owlbot/templates/java_library/samples/install-without-bom/pom.xml diff --git a/library_generation/owlbot/templates/java_library/samples/pom.xml b/hermetic_build/library_generation/owlbot/templates/java_library/samples/pom.xml similarity index 100% rename from library_generation/owlbot/templates/java_library/samples/pom.xml rename to hermetic_build/library_generation/owlbot/templates/java_library/samples/pom.xml diff --git a/library_generation/owlbot/templates/java_library/samples/snapshot/pom.xml b/hermetic_build/library_generation/owlbot/templates/java_library/samples/snapshot/pom.xml similarity index 100% rename from library_generation/owlbot/templates/java_library/samples/snapshot/pom.xml rename to hermetic_build/library_generation/owlbot/templates/java_library/samples/snapshot/pom.xml diff --git a/library_generation/owlbot/templates/java_library/samples/snippets/pom.xml b/hermetic_build/library_generation/owlbot/templates/java_library/samples/snippets/pom.xml similarity index 100% rename from library_generation/owlbot/templates/java_library/samples/snippets/pom.xml rename to hermetic_build/library_generation/owlbot/templates/java_library/samples/snippets/pom.xml diff --git a/library_generation/owlbot/templates/poms/bom_pom.xml.j2 b/hermetic_build/library_generation/owlbot/templates/poms/bom_pom.xml.j2 similarity index 100% rename from library_generation/owlbot/templates/poms/bom_pom.xml.j2 rename to hermetic_build/library_generation/owlbot/templates/poms/bom_pom.xml.j2 diff --git a/library_generation/owlbot/templates/poms/cloud_pom.xml.j2 b/hermetic_build/library_generation/owlbot/templates/poms/cloud_pom.xml.j2 similarity index 100% rename from library_generation/owlbot/templates/poms/cloud_pom.xml.j2 rename to hermetic_build/library_generation/owlbot/templates/poms/cloud_pom.xml.j2 diff --git a/library_generation/owlbot/templates/poms/grpc_pom.xml.j2 b/hermetic_build/library_generation/owlbot/templates/poms/grpc_pom.xml.j2 similarity index 100% rename from library_generation/owlbot/templates/poms/grpc_pom.xml.j2 rename to hermetic_build/library_generation/owlbot/templates/poms/grpc_pom.xml.j2 diff --git a/library_generation/owlbot/templates/poms/parent_pom.xml.j2 b/hermetic_build/library_generation/owlbot/templates/poms/parent_pom.xml.j2 similarity index 100% rename from library_generation/owlbot/templates/poms/parent_pom.xml.j2 rename to hermetic_build/library_generation/owlbot/templates/poms/parent_pom.xml.j2 diff --git a/library_generation/owlbot/templates/poms/proto_pom.xml.j2 b/hermetic_build/library_generation/owlbot/templates/poms/proto_pom.xml.j2 similarity index 100% rename from library_generation/owlbot/templates/poms/proto_pom.xml.j2 rename to hermetic_build/library_generation/owlbot/templates/poms/proto_pom.xml.j2 diff --git a/library_generation/owlbot/templates/poms/versions.txt.j2 b/hermetic_build/library_generation/owlbot/templates/poms/versions.txt.j2 similarity index 100% rename from library_generation/owlbot/templates/poms/versions.txt.j2 rename to hermetic_build/library_generation/owlbot/templates/poms/versions.txt.j2 diff --git a/library_generation/postprocess_library.sh b/hermetic_build/library_generation/postprocess_library.sh similarity index 100% rename from library_generation/postprocess_library.sh rename to hermetic_build/library_generation/postprocess_library.sh diff --git a/hermetic_build/library_generation/requirements.in b/hermetic_build/library_generation/requirements.in new file mode 100644 index 0000000000..4f8ad9709b --- /dev/null +++ b/hermetic_build/library_generation/requirements.in @@ -0,0 +1,8 @@ +attrs==24.2.0 +click==8.1.7 +GitPython==3.1.43 +jinja2==3.1.4 +lxml==5.3.0 +PyYAML==6.0.2 +requests==2.32.3 +requests-mock==1.12.1 \ No newline at end of file diff --git a/hermetic_build/library_generation/requirements.txt b/hermetic_build/library_generation/requirements.txt new file mode 100644 index 0000000000..87ac0ba921 --- /dev/null +++ b/hermetic_build/library_generation/requirements.txt @@ -0,0 +1,417 @@ +# +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: +# +# pip-compile --generate-hashes hermetic_build/library_generation/requirements.in +# +attrs==24.2.0 \ + --hash=sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346 \ + --hash=sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2 + # via -r hermetic_build/library_generation/requirements.in +certifi==2024.8.30 \ + --hash=sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8 \ + --hash=sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9 + # via requests +charset-normalizer==3.4.0 \ + --hash=sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621 \ + --hash=sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6 \ + --hash=sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8 \ + --hash=sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912 \ + --hash=sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c \ + --hash=sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b \ + --hash=sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d \ + --hash=sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d \ + --hash=sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95 \ + --hash=sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e \ + --hash=sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565 \ + --hash=sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64 \ + --hash=sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab \ + --hash=sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be \ + --hash=sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e \ + --hash=sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907 \ + --hash=sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0 \ + --hash=sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2 \ + --hash=sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62 \ + --hash=sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62 \ + --hash=sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23 \ + --hash=sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc \ + --hash=sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284 \ + --hash=sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca \ + --hash=sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455 \ + --hash=sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858 \ + --hash=sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b \ + --hash=sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594 \ + --hash=sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc \ + --hash=sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db \ + --hash=sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b \ + --hash=sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea \ + --hash=sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6 \ + --hash=sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920 \ + --hash=sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749 \ + --hash=sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7 \ + --hash=sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd \ + --hash=sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99 \ + --hash=sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242 \ + --hash=sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee \ + --hash=sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129 \ + --hash=sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2 \ + --hash=sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51 \ + --hash=sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee \ + --hash=sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8 \ + --hash=sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b \ + --hash=sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613 \ + --hash=sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742 \ + --hash=sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe \ + --hash=sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3 \ + --hash=sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5 \ + --hash=sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631 \ + --hash=sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7 \ + --hash=sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15 \ + --hash=sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c \ + --hash=sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea \ + --hash=sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417 \ + --hash=sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250 \ + --hash=sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88 \ + --hash=sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca \ + --hash=sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa \ + --hash=sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99 \ + --hash=sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149 \ + --hash=sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41 \ + --hash=sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574 \ + --hash=sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0 \ + --hash=sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f \ + --hash=sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d \ + --hash=sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654 \ + --hash=sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3 \ + --hash=sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19 \ + --hash=sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90 \ + --hash=sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578 \ + --hash=sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9 \ + --hash=sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1 \ + --hash=sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51 \ + --hash=sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719 \ + --hash=sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236 \ + --hash=sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a \ + --hash=sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c \ + --hash=sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade \ + --hash=sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944 \ + --hash=sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc \ + --hash=sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6 \ + --hash=sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6 \ + --hash=sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27 \ + --hash=sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6 \ + --hash=sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2 \ + --hash=sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12 \ + --hash=sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf \ + --hash=sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114 \ + --hash=sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7 \ + --hash=sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf \ + --hash=sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d \ + --hash=sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b \ + --hash=sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed \ + --hash=sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03 \ + --hash=sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4 \ + --hash=sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67 \ + --hash=sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365 \ + --hash=sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a \ + --hash=sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748 \ + --hash=sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b \ + --hash=sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079 \ + --hash=sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482 + # via requests +click==8.1.7 \ + --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \ + --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de + # via -r hermetic_build/library_generation/requirements.in +gitdb==4.0.11 \ + --hash=sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4 \ + --hash=sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b + # via gitpython +gitpython==3.1.43 \ + --hash=sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c \ + --hash=sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff + # via -r hermetic_build/library_generation/requirements.in +idna==3.10 \ + --hash=sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9 \ + --hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 + # via requests +jinja2==3.1.4 \ + --hash=sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369 \ + --hash=sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d + # via -r hermetic_build/library_generation/requirements.in +lxml==5.3.0 \ + --hash=sha256:01220dca0d066d1349bd6a1726856a78f7929f3878f7e2ee83c296c69495309e \ + --hash=sha256:02ced472497b8362c8e902ade23e3300479f4f43e45f4105c85ef43b8db85229 \ + --hash=sha256:052d99051e77a4f3e8482c65014cf6372e61b0a6f4fe9edb98503bb5364cfee3 \ + --hash=sha256:07da23d7ee08577760f0a71d67a861019103e4812c87e2fab26b039054594cc5 \ + --hash=sha256:094cb601ba9f55296774c2d57ad68730daa0b13dc260e1f941b4d13678239e70 \ + --hash=sha256:0a7056921edbdd7560746f4221dca89bb7a3fe457d3d74267995253f46343f15 \ + --hash=sha256:0c120f43553ec759f8de1fee2f4794452b0946773299d44c36bfe18e83caf002 \ + --hash=sha256:0d7b36afa46c97875303a94e8f3ad932bf78bace9e18e603f2085b652422edcd \ + --hash=sha256:0fdf3a3059611f7585a78ee10399a15566356116a4288380921a4b598d807a22 \ + --hash=sha256:109fa6fede314cc50eed29e6e56c540075e63d922455346f11e4d7a036d2b8cf \ + --hash=sha256:146173654d79eb1fc97498b4280c1d3e1e5d58c398fa530905c9ea50ea849b22 \ + --hash=sha256:1473427aff3d66a3fa2199004c3e601e6c4500ab86696edffdbc84954c72d832 \ + --hash=sha256:1483fd3358963cc5c1c9b122c80606a3a79ee0875bcac0204149fa09d6ff2727 \ + --hash=sha256:168f2dfcfdedf611eb285efac1516c8454c8c99caf271dccda8943576b67552e \ + --hash=sha256:17e8d968d04a37c50ad9c456a286b525d78c4a1c15dd53aa46c1d8e06bf6fa30 \ + --hash=sha256:18feb4b93302091b1541221196a2155aa296c363fd233814fa11e181adebc52f \ + --hash=sha256:1afe0a8c353746e610bd9031a630a95bcfb1a720684c3f2b36c4710a0a96528f \ + --hash=sha256:1d04f064bebdfef9240478f7a779e8c5dc32b8b7b0b2fc6a62e39b928d428e51 \ + --hash=sha256:1fdc9fae8dd4c763e8a31e7630afef517eab9f5d5d31a278df087f307bf601f4 \ + --hash=sha256:1ffc23010330c2ab67fac02781df60998ca8fe759e8efde6f8b756a20599c5de \ + --hash=sha256:20094fc3f21ea0a8669dc4c61ed7fa8263bd37d97d93b90f28fc613371e7a875 \ + --hash=sha256:213261f168c5e1d9b7535a67e68b1f59f92398dd17a56d934550837143f79c42 \ + --hash=sha256:218c1b2e17a710e363855594230f44060e2025b05c80d1f0661258142b2add2e \ + --hash=sha256:23e0553b8055600b3bf4a00b255ec5c92e1e4aebf8c2c09334f8368e8bd174d6 \ + --hash=sha256:25f1b69d41656b05885aa185f5fdf822cb01a586d1b32739633679699f220391 \ + --hash=sha256:2b3778cb38212f52fac9fe913017deea2fdf4eb1a4f8e4cfc6b009a13a6d3fcc \ + --hash=sha256:2bc9fd5ca4729af796f9f59cd8ff160fe06a474da40aca03fcc79655ddee1a8b \ + --hash=sha256:2c226a06ecb8cdef28845ae976da407917542c5e6e75dcac7cc33eb04aaeb237 \ + --hash=sha256:2c3406b63232fc7e9b8783ab0b765d7c59e7c59ff96759d8ef9632fca27c7ee4 \ + --hash=sha256:2c86bf781b12ba417f64f3422cfc302523ac9cd1d8ae8c0f92a1c66e56ef2e86 \ + --hash=sha256:2d9b8d9177afaef80c53c0a9e30fa252ff3036fb1c6494d427c066a4ce6a282f \ + --hash=sha256:2dec2d1130a9cda5b904696cec33b2cfb451304ba9081eeda7f90f724097300a \ + --hash=sha256:2dfab5fa6a28a0b60a20638dc48e6343c02ea9933e3279ccb132f555a62323d8 \ + --hash=sha256:2ecdd78ab768f844c7a1d4a03595038c166b609f6395e25af9b0f3f26ae1230f \ + --hash=sha256:315f9542011b2c4e1d280e4a20ddcca1761993dda3afc7a73b01235f8641e903 \ + --hash=sha256:36aef61a1678cb778097b4a6eeae96a69875d51d1e8f4d4b491ab3cfb54b5a03 \ + --hash=sha256:384aacddf2e5813a36495233b64cb96b1949da72bef933918ba5c84e06af8f0e \ + --hash=sha256:3879cc6ce938ff4eb4900d901ed63555c778731a96365e53fadb36437a131a99 \ + --hash=sha256:3c174dc350d3ec52deb77f2faf05c439331d6ed5e702fc247ccb4e6b62d884b7 \ + --hash=sha256:3eb44520c4724c2e1a57c0af33a379eee41792595023f367ba3952a2d96c2aab \ + --hash=sha256:406246b96d552e0503e17a1006fd27edac678b3fcc9f1be71a2f94b4ff61528d \ + --hash=sha256:41ce1f1e2c7755abfc7e759dc34d7d05fd221723ff822947132dc934d122fe22 \ + --hash=sha256:423b121f7e6fa514ba0c7918e56955a1d4470ed35faa03e3d9f0e3baa4c7e492 \ + --hash=sha256:44264ecae91b30e5633013fb66f6ddd05c006d3e0e884f75ce0b4755b3e3847b \ + --hash=sha256:482c2f67761868f0108b1743098640fbb2a28a8e15bf3f47ada9fa59d9fe08c3 \ + --hash=sha256:4b0c7a688944891086ba192e21c5229dea54382f4836a209ff8d0a660fac06be \ + --hash=sha256:4c1fefd7e3d00921c44dc9ca80a775af49698bbfd92ea84498e56acffd4c5469 \ + --hash=sha256:4e109ca30d1edec1ac60cdbe341905dc3b8f55b16855e03a54aaf59e51ec8c6f \ + --hash=sha256:501d0d7e26b4d261fca8132854d845e4988097611ba2531408ec91cf3fd9d20a \ + --hash=sha256:516f491c834eb320d6c843156440fe7fc0d50b33e44387fcec5b02f0bc118a4c \ + --hash=sha256:51806cfe0279e06ed8500ce19479d757db42a30fd509940b1701be9c86a5ff9a \ + --hash=sha256:562e7494778a69086f0312ec9689f6b6ac1c6b65670ed7d0267e49f57ffa08c4 \ + --hash=sha256:56b9861a71575f5795bde89256e7467ece3d339c9b43141dbdd54544566b3b94 \ + --hash=sha256:5b8f5db71b28b8c404956ddf79575ea77aa8b1538e8b2ef9ec877945b3f46442 \ + --hash=sha256:5c2fb570d7823c2bbaf8b419ba6e5662137f8166e364a8b2b91051a1fb40ab8b \ + --hash=sha256:5c54afdcbb0182d06836cc3d1be921e540be3ebdf8b8a51ee3ef987537455f84 \ + --hash=sha256:5d6a6972b93c426ace71e0be9a6f4b2cfae9b1baed2eed2006076a746692288c \ + --hash=sha256:609251a0ca4770e5a8768ff902aa02bf636339c5a93f9349b48eb1f606f7f3e9 \ + --hash=sha256:62d172f358f33a26d6b41b28c170c63886742f5b6772a42b59b4f0fa10526cb1 \ + --hash=sha256:62f7fdb0d1ed2065451f086519865b4c90aa19aed51081979ecd05a21eb4d1be \ + --hash=sha256:658f2aa69d31e09699705949b5fc4719cbecbd4a97f9656a232e7d6c7be1a367 \ + --hash=sha256:65ab5685d56914b9a2a34d67dd5488b83213d680b0c5d10b47f81da5a16b0b0e \ + --hash=sha256:68934b242c51eb02907c5b81d138cb977b2129a0a75a8f8b60b01cb8586c7b21 \ + --hash=sha256:68b87753c784d6acb8a25b05cb526c3406913c9d988d51f80adecc2b0775d6aa \ + --hash=sha256:69959bd3167b993e6e710b99051265654133a98f20cec1d9b493b931942e9c16 \ + --hash=sha256:6a7095eeec6f89111d03dabfe5883a1fd54da319c94e0fb104ee8f23616b572d \ + --hash=sha256:6b038cc86b285e4f9fea2ba5ee76e89f21ed1ea898e287dc277a25884f3a7dfe \ + --hash=sha256:6ba0d3dcac281aad8a0e5b14c7ed6f9fa89c8612b47939fc94f80b16e2e9bc83 \ + --hash=sha256:6e91cf736959057f7aac7adfc83481e03615a8e8dd5758aa1d95ea69e8931dba \ + --hash=sha256:6ee8c39582d2652dcd516d1b879451500f8db3fe3607ce45d7c5957ab2596040 \ + --hash=sha256:6f651ebd0b21ec65dfca93aa629610a0dbc13dbc13554f19b0113da2e61a4763 \ + --hash=sha256:71a8dd38fbd2f2319136d4ae855a7078c69c9a38ae06e0c17c73fd70fc6caad8 \ + --hash=sha256:74068c601baff6ff021c70f0935b0c7bc528baa8ea210c202e03757c68c5a4ff \ + --hash=sha256:7437237c6a66b7ca341e868cda48be24b8701862757426852c9b3186de1da8a2 \ + --hash=sha256:747a3d3e98e24597981ca0be0fd922aebd471fa99d0043a3842d00cdcad7ad6a \ + --hash=sha256:74bcb423462233bc5d6066e4e98b0264e7c1bed7541fff2f4e34fe6b21563c8b \ + --hash=sha256:78d9b952e07aed35fe2e1a7ad26e929595412db48535921c5013edc8aa4a35ce \ + --hash=sha256:7b1cd427cb0d5f7393c31b7496419da594fe600e6fdc4b105a54f82405e6626c \ + --hash=sha256:7d3d1ca42870cdb6d0d29939630dbe48fa511c203724820fc0fd507b2fb46577 \ + --hash=sha256:7e2f58095acc211eb9d8b5771bf04df9ff37d6b87618d1cbf85f92399c98dae8 \ + --hash=sha256:7f41026c1d64043a36fda21d64c5026762d53a77043e73e94b71f0521939cc71 \ + --hash=sha256:81b4e48da4c69313192d8c8d4311e5d818b8be1afe68ee20f6385d0e96fc9512 \ + --hash=sha256:86a6b24b19eaebc448dc56b87c4865527855145d851f9fc3891673ff97950540 \ + --hash=sha256:874a216bf6afaf97c263b56371434e47e2c652d215788396f60477540298218f \ + --hash=sha256:89e043f1d9d341c52bf2af6d02e6adde62e0a46e6755d5eb60dc6e4f0b8aeca2 \ + --hash=sha256:8c72e9563347c7395910de6a3100a4840a75a6f60e05af5e58566868d5eb2d6a \ + --hash=sha256:8dc2c0395bea8254d8daebc76dcf8eb3a95ec2a46fa6fae5eaccee366bfe02ce \ + --hash=sha256:8f0de2d390af441fe8b2c12626d103540b5d850d585b18fcada58d972b74a74e \ + --hash=sha256:92e67a0be1639c251d21e35fe74df6bcc40cba445c2cda7c4a967656733249e2 \ + --hash=sha256:94d6c3782907b5e40e21cadf94b13b0842ac421192f26b84c45f13f3c9d5dc27 \ + --hash=sha256:97acf1e1fd66ab53dacd2c35b319d7e548380c2e9e8c54525c6e76d21b1ae3b1 \ + --hash=sha256:9ada35dd21dc6c039259596b358caab6b13f4db4d4a7f8665764d616daf9cc1d \ + --hash=sha256:9c52100e2c2dbb0649b90467935c4b0de5528833c76a35ea1a2691ec9f1ee7a1 \ + --hash=sha256:9e41506fec7a7f9405b14aa2d5c8abbb4dbbd09d88f9496958b6d00cb4d45330 \ + --hash=sha256:9e4b47ac0f5e749cfc618efdf4726269441014ae1d5583e047b452a32e221920 \ + --hash=sha256:9fb81d2824dff4f2e297a276297e9031f46d2682cafc484f49de182aa5e5df99 \ + --hash=sha256:a0eabd0a81625049c5df745209dc7fcef6e2aea7793e5f003ba363610aa0a3ff \ + --hash=sha256:a3d819eb6f9b8677f57f9664265d0a10dd6551d227afb4af2b9cd7bdc2ccbf18 \ + --hash=sha256:a87de7dd873bf9a792bf1e58b1c3887b9264036629a5bf2d2e6579fe8e73edff \ + --hash=sha256:aa617107a410245b8660028a7483b68e7914304a6d4882b5ff3d2d3eb5948d8c \ + --hash=sha256:aac0bbd3e8dd2d9c45ceb82249e8bdd3ac99131a32b4d35c8af3cc9db1657179 \ + --hash=sha256:ab6dd83b970dc97c2d10bc71aa925b84788c7c05de30241b9e96f9b6d9ea3080 \ + --hash=sha256:ace2c2326a319a0bb8a8b0e5b570c764962e95818de9f259ce814ee666603f19 \ + --hash=sha256:ae5fe5c4b525aa82b8076c1a59d642c17b6e8739ecf852522c6321852178119d \ + --hash=sha256:b11a5d918a6216e521c715b02749240fb07ae5a1fefd4b7bf12f833bc8b4fe70 \ + --hash=sha256:b1c8c20847b9f34e98080da785bb2336ea982e7f913eed5809e5a3c872900f32 \ + --hash=sha256:b369d3db3c22ed14c75ccd5af429086f166a19627e84a8fdade3f8f31426e52a \ + --hash=sha256:b710bc2b8292966b23a6a0121f7a6c51d45d2347edcc75f016ac123b8054d3f2 \ + --hash=sha256:bd96517ef76c8654446fc3db9242d019a1bb5fe8b751ba414765d59f99210b79 \ + --hash=sha256:c00f323cc00576df6165cc9d21a4c21285fa6b9989c5c39830c3903dc4303ef3 \ + --hash=sha256:c162b216070f280fa7da844531169be0baf9ccb17263cf5a8bf876fcd3117fa5 \ + --hash=sha256:c1a69e58a6bb2de65902051d57fde951febad631a20a64572677a1052690482f \ + --hash=sha256:c1f794c02903c2824fccce5b20c339a1a14b114e83b306ff11b597c5f71a1c8d \ + --hash=sha256:c24037349665434f375645fa9d1f5304800cec574d0310f618490c871fd902b3 \ + --hash=sha256:c300306673aa0f3ed5ed9372b21867690a17dba38c68c44b287437c362ce486b \ + --hash=sha256:c56a1d43b2f9ee4786e4658c7903f05da35b923fb53c11025712562d5cc02753 \ + --hash=sha256:c6379f35350b655fd817cd0d6cbeef7f265f3ae5fedb1caae2eb442bbeae9ab9 \ + --hash=sha256:c802e1c2ed9f0c06a65bc4ed0189d000ada8049312cfeab6ca635e39c9608957 \ + --hash=sha256:cb83f8a875b3d9b458cada4f880fa498646874ba4011dc974e071a0a84a1b033 \ + --hash=sha256:cf120cce539453ae086eacc0130a324e7026113510efa83ab42ef3fcfccac7fb \ + --hash=sha256:dd36439be765e2dde7660212b5275641edbc813e7b24668831a5c8ac91180656 \ + --hash=sha256:dd5350b55f9fecddc51385463a4f67a5da829bc741e38cf689f38ec9023f54ab \ + --hash=sha256:df5c7333167b9674aa8ae1d4008fa4bc17a313cc490b2cca27838bbdcc6bb15b \ + --hash=sha256:e63601ad5cd8f860aa99d109889b5ac34de571c7ee902d6812d5d9ddcc77fa7d \ + --hash=sha256:e92ce66cd919d18d14b3856906a61d3f6b6a8500e0794142338da644260595cd \ + --hash=sha256:e99f5507401436fdcc85036a2e7dc2e28d962550afe1cbfc07c40e454256a859 \ + --hash=sha256:ea2e2f6f801696ad7de8aec061044d6c8c0dd4037608c7cab38a9a4d316bfb11 \ + --hash=sha256:eafa2c8658f4e560b098fe9fc54539f86528651f61849b22111a9b107d18910c \ + --hash=sha256:ecd4ad8453ac17bc7ba3868371bffb46f628161ad0eefbd0a855d2c8c32dd81a \ + --hash=sha256:ee70d08fd60c9565ba8190f41a46a54096afa0eeb8f76bd66f2c25d3b1b83005 \ + --hash=sha256:eec1bb8cdbba2925bedc887bc0609a80e599c75b12d87ae42ac23fd199445654 \ + --hash=sha256:ef0c1fe22171dd7c7c27147f2e9c3e86f8bdf473fed75f16b0c2e84a5030ce80 \ + --hash=sha256:f2901429da1e645ce548bf9171784c0f74f0718c3f6150ce166be39e4dd66c3e \ + --hash=sha256:f422a209d2455c56849442ae42f25dbaaba1c6c3f501d58761c619c7836642ec \ + --hash=sha256:f65e5120863c2b266dbcc927b306c5b78e502c71edf3295dfcb9501ec96e5fc7 \ + --hash=sha256:f7d4a670107d75dfe5ad080bed6c341d18c4442f9378c9f58e5851e86eb79965 \ + --hash=sha256:f914c03e6a31deb632e2daa881fe198461f4d06e57ac3d0e05bbcab8eae01945 \ + --hash=sha256:fb66442c2546446944437df74379e9cf9e9db353e61301d1a0e26482f43f0dd8 + # via -r hermetic_build/library_generation/requirements.in +markupsafe==3.0.2 \ + --hash=sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4 \ + --hash=sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30 \ + --hash=sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0 \ + --hash=sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9 \ + --hash=sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396 \ + --hash=sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13 \ + --hash=sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028 \ + --hash=sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca \ + --hash=sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557 \ + --hash=sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832 \ + --hash=sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0 \ + --hash=sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b \ + --hash=sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579 \ + --hash=sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a \ + --hash=sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c \ + --hash=sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff \ + --hash=sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c \ + --hash=sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22 \ + --hash=sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094 \ + --hash=sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb \ + --hash=sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e \ + --hash=sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5 \ + --hash=sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a \ + --hash=sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d \ + --hash=sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a \ + --hash=sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b \ + --hash=sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8 \ + --hash=sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225 \ + --hash=sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c \ + --hash=sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144 \ + --hash=sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f \ + --hash=sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87 \ + --hash=sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d \ + --hash=sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93 \ + --hash=sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf \ + --hash=sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158 \ + --hash=sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84 \ + --hash=sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb \ + --hash=sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48 \ + --hash=sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171 \ + --hash=sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c \ + --hash=sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6 \ + --hash=sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd \ + --hash=sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d \ + --hash=sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1 \ + --hash=sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d \ + --hash=sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca \ + --hash=sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a \ + --hash=sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29 \ + --hash=sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe \ + --hash=sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798 \ + --hash=sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c \ + --hash=sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8 \ + --hash=sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f \ + --hash=sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f \ + --hash=sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a \ + --hash=sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178 \ + --hash=sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0 \ + --hash=sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79 \ + --hash=sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430 \ + --hash=sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50 + # via jinja2 +pyyaml==6.0.2 \ + --hash=sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff \ + --hash=sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48 \ + --hash=sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086 \ + --hash=sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e \ + --hash=sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133 \ + --hash=sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5 \ + --hash=sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484 \ + --hash=sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee \ + --hash=sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5 \ + --hash=sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68 \ + --hash=sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a \ + --hash=sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf \ + --hash=sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99 \ + --hash=sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8 \ + --hash=sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85 \ + --hash=sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19 \ + --hash=sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc \ + --hash=sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a \ + --hash=sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1 \ + --hash=sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317 \ + --hash=sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c \ + --hash=sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631 \ + --hash=sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d \ + --hash=sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652 \ + --hash=sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5 \ + --hash=sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e \ + --hash=sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b \ + --hash=sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8 \ + --hash=sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476 \ + --hash=sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706 \ + --hash=sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563 \ + --hash=sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237 \ + --hash=sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b \ + --hash=sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083 \ + --hash=sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180 \ + --hash=sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425 \ + --hash=sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e \ + --hash=sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f \ + --hash=sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725 \ + --hash=sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183 \ + --hash=sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab \ + --hash=sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774 \ + --hash=sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725 \ + --hash=sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e \ + --hash=sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5 \ + --hash=sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d \ + --hash=sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290 \ + --hash=sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44 \ + --hash=sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed \ + --hash=sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4 \ + --hash=sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba \ + --hash=sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12 \ + --hash=sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4 + # via -r hermetic_build/library_generation/requirements.in +requests==2.32.3 \ + --hash=sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 \ + --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 + # via + # -r hermetic_build/library_generation/requirements.in + # requests-mock +requests-mock==1.12.1 \ + --hash=sha256:b1e37054004cdd5e56c84454cc7df12b25f90f382159087f4b6915aaeef39563 \ + --hash=sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401 + # via -r hermetic_build/library_generation/requirements.in +smmap==5.0.1 \ + --hash=sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62 \ + --hash=sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da + # via gitdb +urllib3==2.2.3 \ + --hash=sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac \ + --hash=sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9 + # via requests diff --git a/library_generation/setup.py b/hermetic_build/library_generation/setup.py similarity index 96% rename from library_generation/setup.py rename to hermetic_build/library_generation/setup.py index 9f78194241..d8bbb4845b 100755 --- a/library_generation/setup.py +++ b/hermetic_build/library_generation/setup.py @@ -7,6 +7,7 @@ setup( name="library_generation", version="0.1", + python_requires=">=3.12", package_dir={ "library_generation": ".", "synthtool": "owlbot/synthtool", @@ -18,7 +19,6 @@ "utils/utilities.sh", "templates/*.j2", "gapic-generator-java-wrapper", - "requirements.*", "owlbot/bin/*.sh", "owlbot/src/*.py", "owlbot/src/poms/*.py", diff --git a/library_generation/templates/gapic-libraries-bom.xml.j2 b/hermetic_build/library_generation/templates/gapic-libraries-bom.xml.j2 similarity index 100% rename from library_generation/templates/gapic-libraries-bom.xml.j2 rename to hermetic_build/library_generation/templates/gapic-libraries-bom.xml.j2 diff --git a/library_generation/templates/owlbot.py.j2 b/hermetic_build/library_generation/templates/owlbot.py.j2 similarity index 100% rename from library_generation/templates/owlbot.py.j2 rename to hermetic_build/library_generation/templates/owlbot.py.j2 diff --git a/library_generation/templates/owlbot.yaml.monorepo.j2 b/hermetic_build/library_generation/templates/owlbot.yaml.monorepo.j2 similarity index 100% rename from library_generation/templates/owlbot.yaml.monorepo.j2 rename to hermetic_build/library_generation/templates/owlbot.yaml.monorepo.j2 diff --git a/library_generation/templates/root-pom.xml.j2 b/hermetic_build/library_generation/templates/root-pom.xml.j2 similarity index 100% rename from library_generation/templates/root-pom.xml.j2 rename to hermetic_build/library_generation/templates/root-pom.xml.j2 diff --git a/library_generation/test/owlbot/__init__.py b/hermetic_build/library_generation/tests/__init__.py similarity index 100% rename from library_generation/test/owlbot/__init__.py rename to hermetic_build/library_generation/tests/__init__.py diff --git a/library_generation/test/utils/__init__.py b/hermetic_build/library_generation/tests/cli/__init__.py similarity index 100% rename from library_generation/test/utils/__init__.py rename to hermetic_build/library_generation/tests/cli/__init__.py diff --git a/library_generation/test/cli/entry_point_unit_tests.py b/hermetic_build/library_generation/tests/cli/entry_point_unit_tests.py similarity index 93% rename from library_generation/test/cli/entry_point_unit_tests.py rename to hermetic_build/library_generation/tests/cli/entry_point_unit_tests.py index ca70bdd647..b7e7088cf9 100644 --- a/library_generation/test/cli/entry_point_unit_tests.py +++ b/hermetic_build/library_generation/tests/cli/entry_point_unit_tests.py @@ -20,7 +20,7 @@ validate_generation_config, __generate_repo_and_pr_description_impl as generate_impl, ) -from library_generation.model.generation_config import from_yaml +from common.model.generation_config import from_yaml script_dir = os.path.dirname(os.path.realpath(__file__)) test_resource_dir = os.path.join(script_dir, "..", "resources", "test-config") @@ -86,10 +86,8 @@ def test_validate_generation_config_with_duplicate_library_name_raise_file_excep ) @patch("library_generation.cli.entry_point.generate_from_yaml") - @patch("library_generation.cli.entry_point.generate_pr_descriptions") def test_generate_non_monorepo_without_changes_triggers_full_generation( self, - generate_pr_descriptions, generate_from_yaml, ): """ @@ -116,10 +114,8 @@ def test_generate_non_monorepo_without_changes_triggers_full_generation( ) @patch("library_generation.cli.entry_point.generate_from_yaml") - @patch("library_generation.cli.entry_point.generate_pr_descriptions") def test_generate_non_monorepo_without_changes_with_includes_triggers_selective_generation( self, - generate_pr_descriptions, generate_from_yaml, ): """ @@ -147,10 +143,8 @@ def test_generate_non_monorepo_without_changes_with_includes_triggers_selective_ ) @patch("library_generation.cli.entry_point.generate_from_yaml") - @patch("library_generation.cli.entry_point.generate_pr_descriptions") def test_generate_non_monorepo_with_changes_triggers_full_generation( self, - generate_pr_descriptions, generate_from_yaml, ): """ @@ -181,10 +175,8 @@ def test_generate_non_monorepo_with_changes_triggers_full_generation( ) @patch("library_generation.cli.entry_point.generate_from_yaml") - @patch("library_generation.cli.entry_point.generate_pr_descriptions") def test_generate_non_monorepo_with_changes_with_includes_triggers_selective_generation( self, - generate_pr_descriptions, generate_from_yaml, ): """ @@ -216,10 +208,8 @@ def test_generate_non_monorepo_with_changes_with_includes_triggers_selective_gen ) @patch("library_generation.cli.entry_point.generate_from_yaml") - @patch("library_generation.cli.entry_point.generate_pr_descriptions") def test_generate_monorepo_with_common_protos_triggers_full_generation( self, - generate_pr_descriptions, generate_from_yaml, ): """ @@ -247,10 +237,8 @@ def test_generate_monorepo_with_common_protos_triggers_full_generation( ) @patch("library_generation.cli.entry_point.generate_from_yaml") - @patch("library_generation.cli.entry_point.generate_pr_descriptions") def test_generate_monorepo_with_common_protos_with_includes_triggers_selective_generation( self, - generate_pr_descriptions, generate_from_yaml, ): """ @@ -277,10 +265,8 @@ def test_generate_monorepo_with_common_protos_with_includes_triggers_selective_g ) @patch("library_generation.cli.entry_point.generate_from_yaml") - @patch("library_generation.cli.entry_point.generate_pr_descriptions") def test_generate_monorepo_without_change_does_not_trigger_generation( self, - generate_pr_descriptions, generate_from_yaml, ): """ @@ -309,10 +295,8 @@ def test_generate_monorepo_without_change_does_not_trigger_generation( ) @patch("library_generation.cli.entry_point.generate_from_yaml") - @patch("library_generation.cli.entry_point.generate_pr_descriptions") def test_generate_monorepo_without_change_with_includes_trigger_selective_generation( self, - generate_pr_descriptions, generate_from_yaml, ): """ @@ -341,10 +325,8 @@ def test_generate_monorepo_without_change_with_includes_trigger_selective_genera ) @patch("library_generation.cli.entry_point.generate_from_yaml") - @patch("library_generation.cli.entry_point.generate_pr_descriptions") def test_generate_monorepo_with_changed_config_without_includes_trigger_changed_generation( self, - generate_pr_descriptions, generate_from_yaml, ): """ @@ -374,10 +356,8 @@ def test_generate_monorepo_with_changed_config_without_includes_trigger_changed_ ) @patch("library_generation.cli.entry_point.generate_from_yaml") - @patch("library_generation.cli.entry_point.generate_pr_descriptions") def test_generate_monorepo_with_changed_config_and_includes_trigger_selective_generation( self, - generate_pr_descriptions, generate_from_yaml, ): """ @@ -407,10 +387,8 @@ def test_generate_monorepo_with_changed_config_and_includes_trigger_selective_ge ) @patch("library_generation.cli.entry_point.generate_from_yaml") - @patch("library_generation.cli.entry_point.generate_pr_descriptions") def test_generate_monorepo_without_changed_config_without_includes_does_not_trigger_generation( self, - generate_pr_descriptions, generate_from_yaml, ): """ diff --git a/library_generation/test/compare_poms.py b/hermetic_build/library_generation/tests/compare_poms.py similarity index 100% rename from library_generation/test/compare_poms.py rename to hermetic_build/library_generation/tests/compare_poms.py diff --git a/library_generation/test/generate_library_unit_tests.py b/hermetic_build/library_generation/tests/generate_library_unit_tests.py similarity index 100% rename from library_generation/test/generate_library_unit_tests.py rename to hermetic_build/library_generation/tests/generate_library_unit_tests.py diff --git a/library_generation/test/generate_library_unit_tests.sh b/hermetic_build/library_generation/tests/generate_library_unit_tests.sh similarity index 100% rename from library_generation/test/generate_library_unit_tests.sh rename to hermetic_build/library_generation/tests/generate_library_unit_tests.sh diff --git a/library_generation/test/generate_repo_unit_tests.py b/hermetic_build/library_generation/tests/generate_repo_unit_tests.py similarity index 95% rename from library_generation/test/generate_repo_unit_tests.py rename to hermetic_build/library_generation/tests/generate_repo_unit_tests.py index 470f0a4b18..3d81e2a235 100644 --- a/library_generation/test/generate_repo_unit_tests.py +++ b/hermetic_build/library_generation/tests/generate_repo_unit_tests.py @@ -15,8 +15,8 @@ import unittest from library_generation.generate_repo import get_target_libraries -from library_generation.model.generation_config import GenerationConfig -from library_generation.model.library_config import LibraryConfig +from common.model.generation_config import GenerationConfig +from common.model.library_config import LibraryConfig class GenerateRepoTest(unittest.TestCase): diff --git a/library_generation/test/integration_tests.py b/hermetic_build/library_generation/tests/integration_tests.py similarity index 92% rename from library_generation/test/integration_tests.py rename to hermetic_build/library_generation/tests/integration_tests.py index afe2cdd858..fd534ff207 100644 --- a/library_generation/test/integration_tests.py +++ b/hermetic_build/library_generation/tests/integration_tests.py @@ -14,26 +14,24 @@ import difflib import json import tempfile -from filecmp import cmp from filecmp import dircmp from git import Repo import os import shutil import subprocess import unittest -from distutils.dir_util import copy_tree -from distutils.file_util import copy_file from pathlib import Path -from library_generation.model.generation_config import GenerationConfig -from library_generation.model.generation_config import from_yaml -from library_generation.test.compare_poms import compare_xml +from common.model.generation_config import GenerationConfig +from common.model.generation_config import from_yaml +from library_generation.tests.compare_poms import compare_xml from library_generation.utils.utilities import sh_util as shell_call + script_dir = os.path.dirname(os.path.realpath(__file__)) config_dir = os.path.join(script_dir, "resources", "integration") golden_dir = os.path.join(config_dir, "golden") generator_jar_coordinates_file = os.path.join(config_dir, "test_generator_coordinates") -repo_root_dir = os.path.join(script_dir, "..", "..") +repo_root_dir = os.path.join(script_dir, "..", "..", "..") build_file = os.path.join( repo_root_dir, ".cloudbuild", "library_generation", "library_generation.Dockerfile" ) @@ -180,16 +178,6 @@ def test_entry_point_running_in_container(self): ) ) print(" pom.xml comparison succeed.") - # compare PR description - description_file = f"{output_dir}/{repo}/pr_description.txt" - self.assertTrue( - cmp( - f"{config_dir}/{repo}/pr-description-golden.txt", - f"{description_file}", - ), - "The generated PR description does not match the expected golden file", - ) - print(" PR description comparison succeed.") self.__remove_generated_files() shutil.rmtree(api_definitions_path) @@ -282,14 +270,17 @@ def __prepare_golden_files( ): for library_name in library_names: if config.is_monorepo(): - copy_tree(f"{repo_dest}/{library_name}", f"{golden_dir}/{library_name}") - copy_tree( + shutil.copytree( + f"{repo_dest}/{library_name}", f"{golden_dir}/{library_name}" + ) + shutil.copytree( f"{repo_dest}/gapic-libraries-bom", f"{golden_dir}/gapic-libraries-bom", + dirs_exist_ok=True, ) - copy_file(f"{repo_dest}/pom.xml", golden_dir) + shutil.copyfile(f"{repo_dest}/pom.xml", f"{golden_dir}/pom.xml") else: - copy_tree(f"{repo_dest}", f"{golden_dir}/{library_name}") + shutil.copytree(f"{repo_dest}", f"{golden_dir}/{library_name}") @classmethod def __run_entry_point_in_docker_container( diff --git a/library_generation/utils/__init__.py b/hermetic_build/library_generation/tests/model/__init__.py similarity index 100% rename from library_generation/utils/__init__.py rename to hermetic_build/library_generation/tests/model/__init__.py diff --git a/library_generation/test/model/config_change_unit_tests.py b/hermetic_build/library_generation/tests/model/config_change_unit_tests.py similarity index 98% rename from library_generation/test/model/config_change_unit_tests.py rename to hermetic_build/library_generation/tests/model/config_change_unit_tests.py index 147753ec99..6e0a088e75 100644 --- a/library_generation/test/model/config_change_unit_tests.py +++ b/hermetic_build/library_generation/tests/model/config_change_unit_tests.py @@ -16,9 +16,9 @@ from library_generation.model.config_change import ChangeType from library_generation.model.config_change import ConfigChange from library_generation.model.config_change import LibraryChange -from library_generation.model.gapic_config import GapicConfig -from library_generation.model.generation_config import GenerationConfig -from library_generation.model.library_config import LibraryConfig +from common.model.gapic_config import GapicConfig +from common.model.generation_config import GenerationConfig +from common.model.library_config import LibraryConfig class ConfigChangeTest(unittest.TestCase): diff --git a/library_generation/test/model/repo_config_unit_tests.py b/hermetic_build/library_generation/tests/model/repo_config_unit_tests.py similarity index 100% rename from library_generation/test/model/repo_config_unit_tests.py rename to hermetic_build/library_generation/tests/model/repo_config_unit_tests.py diff --git a/library_generation/test/resources/proto_path_library/proto-test-library/src/main/proto/google/cloud/test/v1/empty.proto b/hermetic_build/library_generation/tests/owlbot/__init__.py similarity index 100% rename from library_generation/test/resources/proto_path_library/proto-test-library/src/main/proto/google/cloud/test/v1/empty.proto rename to hermetic_build/library_generation/tests/owlbot/__init__.py diff --git a/library_generation/test/owlbot/fix_poms_unit_tests.py b/hermetic_build/library_generation/tests/owlbot/fix_poms_unit_tests.py similarity index 96% rename from library_generation/test/owlbot/fix_poms_unit_tests.py rename to hermetic_build/library_generation/tests/owlbot/fix_poms_unit_tests.py index 496ae49383..2e66454827 100644 --- a/library_generation/test/owlbot/fix_poms_unit_tests.py +++ b/hermetic_build/library_generation/tests/owlbot/fix_poms_unit_tests.py @@ -15,7 +15,7 @@ import shutil import unittest from library_generation.owlbot.src.fix_poms import main -from library_generation.test.compare_poms import compare_pom_in_subdir +from library_generation.tests.compare_poms import compare_pom_in_subdir script_dir = os.path.dirname(os.path.realpath(__file__)) resources_dir = os.path.join(script_dir, "..", "resources", "test-owlbot") diff --git a/library_generation/test/owlbot/java_unit_tests.py b/hermetic_build/library_generation/tests/owlbot/java_unit_tests.py similarity index 99% rename from library_generation/test/owlbot/java_unit_tests.py rename to hermetic_build/library_generation/tests/owlbot/java_unit_tests.py index 9d7cb694c5..9b39d0b544 100644 --- a/library_generation/test/owlbot/java_unit_tests.py +++ b/hermetic_build/library_generation/tests/owlbot/java_unit_tests.py @@ -23,7 +23,7 @@ from pathlib import Path import requests_mock from synthtool.languages import java -from library_generation.test.owlbot import util +from library_generation.tests.owlbot import util TEST_OWLBOT = Path(__file__).parent.parent / "resources" / "test-owlbot" FIXTURES = Path(__file__).parent.parent / "resources" / "test-owlbot" / "fixtures" @@ -66,7 +66,6 @@ class JavaUnitTests(unittest.TestCase): - def test_version_from_maven_metadata(self): self.assertEqual("3.3.0", java.version_from_maven_metadata(SAMPLE_METADATA)) diff --git a/library_generation/test/owlbot/util.py b/hermetic_build/library_generation/tests/owlbot/util.py similarity index 100% rename from library_generation/test/owlbot/util.py rename to hermetic_build/library_generation/tests/owlbot/util.py diff --git a/library_generation/test/resources/gapic_options/QueryServiceGrpc_copy.java b/hermetic_build/library_generation/tests/resources/gapic_options/QueryServiceGrpc_copy.java similarity index 100% rename from library_generation/test/resources/gapic_options/QueryServiceGrpc_copy.java rename to hermetic_build/library_generation/tests/resources/gapic_options/QueryServiceGrpc_copy.java diff --git a/library_generation/test/resources/gapic_options/example.yaml b/hermetic_build/library_generation/tests/resources/gapic_options/example.yaml similarity index 100% rename from library_generation/test/resources/gapic_options/example.yaml rename to hermetic_build/library_generation/tests/resources/gapic_options/example.yaml diff --git a/library_generation/test/resources/gapic_options/example_gapic.legacy.yaml b/hermetic_build/library_generation/tests/resources/gapic_options/example_gapic.legacy.yaml similarity index 100% rename from library_generation/test/resources/gapic_options/example_gapic.legacy.yaml rename to hermetic_build/library_generation/tests/resources/gapic_options/example_gapic.legacy.yaml diff --git a/library_generation/test/resources/gapic_options/example_gapic.yaml b/hermetic_build/library_generation/tests/resources/gapic_options/example_gapic.yaml similarity index 100% rename from library_generation/test/resources/gapic_options/example_gapic.yaml rename to hermetic_build/library_generation/tests/resources/gapic_options/example_gapic.yaml diff --git a/library_generation/test/resources/gapic_options/example_gapic_legacy.yaml b/hermetic_build/library_generation/tests/resources/gapic_options/example_gapic_legacy.yaml similarity index 100% rename from library_generation/test/resources/gapic_options/example_gapic_legacy.yaml rename to hermetic_build/library_generation/tests/resources/gapic_options/example_gapic_legacy.yaml diff --git a/library_generation/test/resources/gapic_options/example_grpc_service_config.json b/hermetic_build/library_generation/tests/resources/gapic_options/example_grpc_service_config.json similarity index 100% rename from library_generation/test/resources/gapic_options/example_grpc_service_config.json rename to hermetic_build/library_generation/tests/resources/gapic_options/example_grpc_service_config.json diff --git a/library_generation/test/resources/goldens/.OwlBot-hermetic-golden.yaml b/hermetic_build/library_generation/tests/resources/goldens/.OwlBot-hermetic-golden.yaml similarity index 100% rename from library_generation/test/resources/goldens/.OwlBot-hermetic-golden.yaml rename to hermetic_build/library_generation/tests/resources/goldens/.OwlBot-hermetic-golden.yaml diff --git a/library_generation/test/resources/goldens/.repo-metadata-custom-transport-golden.json b/hermetic_build/library_generation/tests/resources/goldens/.repo-metadata-custom-transport-golden.json similarity index 100% rename from library_generation/test/resources/goldens/.repo-metadata-custom-transport-golden.json rename to hermetic_build/library_generation/tests/resources/goldens/.repo-metadata-custom-transport-golden.json diff --git a/library_generation/test/resources/goldens/.repo-metadata-monorepo-golden.json b/hermetic_build/library_generation/tests/resources/goldens/.repo-metadata-monorepo-golden.json similarity index 100% rename from library_generation/test/resources/goldens/.repo-metadata-monorepo-golden.json rename to hermetic_build/library_generation/tests/resources/goldens/.repo-metadata-monorepo-golden.json diff --git a/library_generation/test/resources/goldens/.repo-metadata-non-monorepo-golden.json b/hermetic_build/library_generation/tests/resources/goldens/.repo-metadata-non-monorepo-golden.json similarity index 100% rename from library_generation/test/resources/goldens/.repo-metadata-non-monorepo-golden.json rename to hermetic_build/library_generation/tests/resources/goldens/.repo-metadata-non-monorepo-golden.json diff --git a/library_generation/test/resources/goldens/.repo-metadata-proto-only-golden.json b/hermetic_build/library_generation/tests/resources/goldens/.repo-metadata-proto-only-golden.json similarity index 100% rename from library_generation/test/resources/goldens/.repo-metadata-proto-only-golden.json rename to hermetic_build/library_generation/tests/resources/goldens/.repo-metadata-proto-only-golden.json diff --git a/library_generation/test/resources/goldens/owlbot-golden.py b/hermetic_build/library_generation/tests/resources/goldens/owlbot-golden.py similarity index 100% rename from library_generation/test/resources/goldens/owlbot-golden.py rename to hermetic_build/library_generation/tests/resources/goldens/owlbot-golden.py diff --git a/library_generation/test/resources/integration/google-cloud-java/baseline_generation_config.yaml b/hermetic_build/library_generation/tests/resources/integration/google-cloud-java/baseline_generation_config.yaml similarity index 100% rename from library_generation/test/resources/integration/google-cloud-java/baseline_generation_config.yaml rename to hermetic_build/library_generation/tests/resources/integration/google-cloud-java/baseline_generation_config.yaml diff --git a/library_generation/test/resources/integration/google-cloud-java/current_generation_config.yaml b/hermetic_build/library_generation/tests/resources/integration/google-cloud-java/current_generation_config.yaml similarity index 100% rename from library_generation/test/resources/integration/google-cloud-java/current_generation_config.yaml rename to hermetic_build/library_generation/tests/resources/integration/google-cloud-java/current_generation_config.yaml diff --git a/library_generation/test/resources/integration/google-cloud-java/pr-description-golden.txt b/hermetic_build/library_generation/tests/resources/integration/google-cloud-java/pr-description-golden.txt similarity index 100% rename from library_generation/test/resources/integration/google-cloud-java/pr-description-golden.txt rename to hermetic_build/library_generation/tests/resources/integration/google-cloud-java/pr-description-golden.txt diff --git a/library_generation/test/resources/integration/java-bigtable/generation_config.yaml b/hermetic_build/library_generation/tests/resources/integration/java-bigtable/generation_config.yaml similarity index 100% rename from library_generation/test/resources/integration/java-bigtable/generation_config.yaml rename to hermetic_build/library_generation/tests/resources/integration/java-bigtable/generation_config.yaml diff --git a/library_generation/test/resources/integration/java-bigtable/pr-description-golden.txt b/hermetic_build/library_generation/tests/resources/integration/java-bigtable/pr-description-golden.txt similarity index 100% rename from library_generation/test/resources/integration/java-bigtable/pr-description-golden.txt rename to hermetic_build/library_generation/tests/resources/integration/java-bigtable/pr-description-golden.txt diff --git a/library_generation/test/resources/integration/test_generator_coordinates b/hermetic_build/library_generation/tests/resources/integration/test_generator_coordinates similarity index 100% rename from library_generation/test/resources/integration/test_generator_coordinates rename to hermetic_build/library_generation/tests/resources/integration/test_generator_coordinates diff --git a/hermetic_build/library_generation/tests/resources/misc/versions.txt b/hermetic_build/library_generation/tests/resources/misc/versions.txt new file mode 100644 index 0000000000..e4258504e4 --- /dev/null +++ b/hermetic_build/library_generation/tests/resources/misc/versions.txt @@ -0,0 +1,9 @@ +# test versions.txt obtained from sdk-platform-java + +gapic-generator-java:2.25.0:2.25.1-SNAPSHOT +api-common:2.16.0:2.16.1-SNAPSHOT +gax:2.33.0:2.33.1-SNAPSHOT +gax-grpc:2.34.0:2.33.1-SNAPSHOT +gax-httpjson:0.118.0:0.118.1-SNAPSHOT +proto-google-common-protos:2.24.0:2.24.1-SNAPSHOT +grpc-google-common-protos:2.24.0:2.24.1-SNAPSHOT diff --git a/library_generation/test/resources/proto_path_library_multiple_protos/proto-1/fake.proto b/hermetic_build/library_generation/tests/resources/proto_path_library/proto-test-library/src/main/proto/google/cloud/test/v1/empty.proto similarity index 100% rename from library_generation/test/resources/proto_path_library_multiple_protos/proto-1/fake.proto rename to hermetic_build/library_generation/tests/resources/proto_path_library/proto-test-library/src/main/proto/google/cloud/test/v1/empty.proto diff --git a/library_generation/test/resources/proto_path_library_multiple_protos/proto-2/fake.proto b/hermetic_build/library_generation/tests/resources/proto_path_library_multiple_protos/proto-1/fake.proto similarity index 100% rename from library_generation/test/resources/proto_path_library_multiple_protos/proto-2/fake.proto rename to hermetic_build/library_generation/tests/resources/proto_path_library_multiple_protos/proto-1/fake.proto diff --git a/library_generation/test/resources/test_mv_src/gapic/destination/java_gapic_srcjar/src/main/java/example_main.txt b/hermetic_build/library_generation/tests/resources/proto_path_library_multiple_protos/proto-2/fake.proto similarity index 100% rename from library_generation/test/resources/test_mv_src/gapic/destination/java_gapic_srcjar/src/main/java/example_main.txt rename to hermetic_build/library_generation/tests/resources/proto_path_library_multiple_protos/proto-2/fake.proto diff --git a/hermetic_build/library_generation/tests/resources/test-config/generation_config.yaml b/hermetic_build/library_generation/tests/resources/test-config/generation_config.yaml new file mode 100644 index 0000000000..168c8fd9a5 --- /dev/null +++ b/hermetic_build/library_generation/tests/resources/test-config/generation_config.yaml @@ -0,0 +1,24 @@ +gapic_generator_version: 2.34.0 +protoc_version: 25.2 +googleapis_commitish: 1a45bf7393b52407188c82e63101db7dc9c72026 +libraries_bom_version: 26.37.0 +libraries: + - api_shortname: cloudasset + name_pretty: Cloud Asset Inventory + product_documentation: "https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview" + api_description: "provides inventory services based on a time series database." + library_name: "asset" + client_documentation: "https://cloud.google.com/java/docs/reference/google-cloud-asset/latest/overview" + distribution_name: "com.google.cloud:google-cloud-asset" + release_level: "stable" + issue_tracker: "https://issuetracker.google.com/issues/new?component=187210&template=0" + api_reference: "https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview" + codeowner_team: "@googleapis/analytics-dpe" + excluded_poms: proto-google-iam-v1-bom,google-iam-policy,proto-google-iam-v1 + excluded_dependencies: google-iam-policy + GAPICs: + - proto_path: google/cloud/asset/v1 + - proto_path: google/cloud/asset/v1p1beta1 + - proto_path: google/cloud/asset/v1p2beta1 + - proto_path: google/cloud/asset/v1p5beta1 + - proto_path: google/cloud/asset/v1p7beta1 diff --git a/library_generation/test/resources/test-config/generation_config_library_modified.yaml b/hermetic_build/library_generation/tests/resources/test-config/generation_config_library_modified.yaml similarity index 100% rename from library_generation/test/resources/test-config/generation_config_library_modified.yaml rename to hermetic_build/library_generation/tests/resources/test-config/generation_config_library_modified.yaml diff --git a/library_generation/test/resources/test-config/generation_config_with_duplicate_library_name.yaml b/hermetic_build/library_generation/tests/resources/test-config/generation_config_with_duplicate_library_name.yaml similarity index 100% rename from library_generation/test/resources/test-config/generation_config_with_duplicate_library_name.yaml rename to hermetic_build/library_generation/tests/resources/test-config/generation_config_with_duplicate_library_name.yaml diff --git a/library_generation/test/resources/test-config/monorepo_baseline.yaml b/hermetic_build/library_generation/tests/resources/test-config/monorepo_baseline.yaml similarity index 100% rename from library_generation/test/resources/test-config/monorepo_baseline.yaml rename to hermetic_build/library_generation/tests/resources/test-config/monorepo_baseline.yaml diff --git a/library_generation/test/resources/test-config/monorepo_current.yaml b/hermetic_build/library_generation/tests/resources/test-config/monorepo_current.yaml similarity index 100% rename from library_generation/test/resources/test-config/monorepo_current.yaml rename to hermetic_build/library_generation/tests/resources/test-config/monorepo_current.yaml diff --git a/library_generation/test/resources/test-config/monorepo_with_common_protos.yaml b/hermetic_build/library_generation/tests/resources/test-config/monorepo_with_common_protos.yaml similarity index 100% rename from library_generation/test/resources/test-config/monorepo_with_common_protos.yaml rename to hermetic_build/library_generation/tests/resources/test-config/monorepo_with_common_protos.yaml diff --git a/library_generation/test/resources/test-config/monorepo_without_common_protos.yaml b/hermetic_build/library_generation/tests/resources/test-config/monorepo_without_common_protos.yaml similarity index 100% rename from library_generation/test/resources/test-config/monorepo_without_common_protos.yaml rename to hermetic_build/library_generation/tests/resources/test-config/monorepo_without_common_protos.yaml diff --git a/library_generation/test/resources/test-owlbot/fixtures/java_templates/release-please-update/.github/release-please.yml b/hermetic_build/library_generation/tests/resources/test-owlbot/fixtures/java_templates/release-please-update/.github/release-please.yml similarity index 100% rename from library_generation/test/resources/test-owlbot/fixtures/java_templates/release-please-update/.github/release-please.yml rename to hermetic_build/library_generation/tests/resources/test-owlbot/fixtures/java_templates/release-please-update/.github/release-please.yml diff --git a/library_generation/test/resources/test-owlbot/fixtures/java_templates/release-please-update/.repo-metadata.json b/hermetic_build/library_generation/tests/resources/test-owlbot/fixtures/java_templates/release-please-update/.repo-metadata.json similarity index 100% rename from library_generation/test/resources/test-owlbot/fixtures/java_templates/release-please-update/.repo-metadata.json rename to hermetic_build/library_generation/tests/resources/test-owlbot/fixtures/java_templates/release-please-update/.repo-metadata.json diff --git a/library_generation/test/resources/test-owlbot/fixtures/java_templates/render-readme/.repo-metadata.json b/hermetic_build/library_generation/tests/resources/test-owlbot/fixtures/java_templates/render-readme/.repo-metadata.json similarity index 100% rename from library_generation/test/resources/test-owlbot/fixtures/java_templates/render-readme/.repo-metadata.json rename to hermetic_build/library_generation/tests/resources/test-owlbot/fixtures/java_templates/render-readme/.repo-metadata.json diff --git a/library_generation/test/resources/test-owlbot/fixtures/java_templates/standard/.repo-metadata.json b/hermetic_build/library_generation/tests/resources/test-owlbot/fixtures/java_templates/standard/.repo-metadata.json similarity index 100% rename from library_generation/test/resources/test-owlbot/fixtures/java_templates/standard/.repo-metadata.json rename to hermetic_build/library_generation/tests/resources/test-owlbot/fixtures/java_templates/standard/.repo-metadata.json diff --git a/library_generation/test/resources/test-owlbot/java-admanager/.repo-metadata.json b/hermetic_build/library_generation/tests/resources/test-owlbot/java-admanager/.repo-metadata.json similarity index 100% rename from library_generation/test/resources/test-owlbot/java-admanager/.repo-metadata.json rename to hermetic_build/library_generation/tests/resources/test-owlbot/java-admanager/.repo-metadata.json diff --git a/library_generation/test/resources/test-owlbot/java-admanager/ad-manager-bom/pom-golden.xml b/hermetic_build/library_generation/tests/resources/test-owlbot/java-admanager/ad-manager-bom/pom-golden.xml similarity index 100% rename from library_generation/test/resources/test-owlbot/java-admanager/ad-manager-bom/pom-golden.xml rename to hermetic_build/library_generation/tests/resources/test-owlbot/java-admanager/ad-manager-bom/pom-golden.xml diff --git a/library_generation/test/resources/test-owlbot/java-admanager/ad-manager/pom-golden.xml b/hermetic_build/library_generation/tests/resources/test-owlbot/java-admanager/ad-manager/pom-golden.xml similarity index 100% rename from library_generation/test/resources/test-owlbot/java-admanager/ad-manager/pom-golden.xml rename to hermetic_build/library_generation/tests/resources/test-owlbot/java-admanager/ad-manager/pom-golden.xml diff --git a/library_generation/test/resources/test-owlbot/java-admanager/pom-golden.xml b/hermetic_build/library_generation/tests/resources/test-owlbot/java-admanager/pom-golden.xml similarity index 100% rename from library_generation/test/resources/test-owlbot/java-admanager/pom-golden.xml rename to hermetic_build/library_generation/tests/resources/test-owlbot/java-admanager/pom-golden.xml diff --git a/library_generation/test/resources/test-owlbot/java-admanager/proto-ad-manager-v1/pom-golden.xml b/hermetic_build/library_generation/tests/resources/test-owlbot/java-admanager/proto-ad-manager-v1/pom-golden.xml similarity index 100% rename from library_generation/test/resources/test-owlbot/java-admanager/proto-ad-manager-v1/pom-golden.xml rename to hermetic_build/library_generation/tests/resources/test-owlbot/java-admanager/proto-ad-manager-v1/pom-golden.xml diff --git a/library_generation/test/resources/test-owlbot/java-admanager/versions.txt b/hermetic_build/library_generation/tests/resources/test-owlbot/java-admanager/versions.txt similarity index 100% rename from library_generation/test/resources/test-owlbot/java-admanager/versions.txt rename to hermetic_build/library_generation/tests/resources/test-owlbot/java-admanager/versions.txt diff --git a/library_generation/test/resources/test-owlbot/testdata/FooGrpcGolden.java b/hermetic_build/library_generation/tests/resources/test-owlbot/testdata/FooGrpcGolden.java similarity index 100% rename from library_generation/test/resources/test-owlbot/testdata/FooGrpcGolden.java rename to hermetic_build/library_generation/tests/resources/test-owlbot/testdata/FooGrpcGolden.java diff --git a/library_generation/test/resources/test-owlbot/testdata/FooProtoGolden.java b/hermetic_build/library_generation/tests/resources/test-owlbot/testdata/FooProtoGolden.java similarity index 100% rename from library_generation/test/resources/test-owlbot/testdata/FooProtoGolden.java rename to hermetic_build/library_generation/tests/resources/test-owlbot/testdata/FooProtoGolden.java diff --git a/library_generation/test/resources/test-owlbot/testdata/README-golden.md b/hermetic_build/library_generation/tests/resources/test-owlbot/testdata/README-golden.md similarity index 100% rename from library_generation/test/resources/test-owlbot/testdata/README-golden.md rename to hermetic_build/library_generation/tests/resources/test-owlbot/testdata/README-golden.md diff --git a/library_generation/test/resources/test-owlbot/testdata/SampleClass.java b/hermetic_build/library_generation/tests/resources/test-owlbot/testdata/SampleClass.java similarity index 100% rename from library_generation/test/resources/test-owlbot/testdata/SampleClass.java rename to hermetic_build/library_generation/tests/resources/test-owlbot/testdata/SampleClass.java diff --git a/library_generation/test/resources/test-owlbot/testdata/SampleClassGolden.java b/hermetic_build/library_generation/tests/resources/test-owlbot/testdata/SampleClassGolden.java similarity index 100% rename from library_generation/test/resources/test-owlbot/testdata/SampleClassGolden.java rename to hermetic_build/library_generation/tests/resources/test-owlbot/testdata/SampleClassGolden.java diff --git a/library_generation/test/resources/test-owlbot/testdata/SampleCopyMethodGolden.java b/hermetic_build/library_generation/tests/resources/test-owlbot/testdata/SampleCopyMethodGolden.java similarity index 100% rename from library_generation/test/resources/test-owlbot/testdata/SampleCopyMethodGolden.java rename to hermetic_build/library_generation/tests/resources/test-owlbot/testdata/SampleCopyMethodGolden.java diff --git a/library_generation/test/resources/test-owlbot/testdata/SampleDeprecateClass.java b/hermetic_build/library_generation/tests/resources/test-owlbot/testdata/SampleDeprecateClass.java similarity index 100% rename from library_generation/test/resources/test-owlbot/testdata/SampleDeprecateClass.java rename to hermetic_build/library_generation/tests/resources/test-owlbot/testdata/SampleDeprecateClass.java diff --git a/library_generation/test/resources/test-owlbot/testdata/SampleDeprecateMethodGolden.java b/hermetic_build/library_generation/tests/resources/test-owlbot/testdata/SampleDeprecateMethodGolden.java similarity index 100% rename from library_generation/test/resources/test-owlbot/testdata/SampleDeprecateMethodGolden.java rename to hermetic_build/library_generation/tests/resources/test-owlbot/testdata/SampleDeprecateMethodGolden.java diff --git a/library_generation/test/resources/test-owlbot/testdata/src/foo/FooGrpc.java b/hermetic_build/library_generation/tests/resources/test-owlbot/testdata/src/foo/FooGrpc.java similarity index 100% rename from library_generation/test/resources/test-owlbot/testdata/src/foo/FooGrpc.java rename to hermetic_build/library_generation/tests/resources/test-owlbot/testdata/src/foo/FooGrpc.java diff --git a/library_generation/test/resources/test-owlbot/testdata/src/foo/FooProto.java b/hermetic_build/library_generation/tests/resources/test-owlbot/testdata/src/foo/FooProto.java similarity index 100% rename from library_generation/test/resources/test-owlbot/testdata/src/foo/FooProto.java rename to hermetic_build/library_generation/tests/resources/test-owlbot/testdata/src/foo/FooProto.java diff --git a/library_generation/test/resources/test_monorepo_postprocessing/gapic-libraries-bom/pom-golden.xml b/hermetic_build/library_generation/tests/resources/test_monorepo_postprocessing/gapic-libraries-bom/pom-golden.xml similarity index 100% rename from library_generation/test/resources/test_monorepo_postprocessing/gapic-libraries-bom/pom-golden.xml rename to hermetic_build/library_generation/tests/resources/test_monorepo_postprocessing/gapic-libraries-bom/pom-golden.xml diff --git a/library_generation/test/resources/test_monorepo_postprocessing/java-dns/pom.xml b/hermetic_build/library_generation/tests/resources/test_monorepo_postprocessing/java-dns/pom.xml similarity index 100% rename from library_generation/test/resources/test_monorepo_postprocessing/java-dns/pom.xml rename to hermetic_build/library_generation/tests/resources/test_monorepo_postprocessing/java-dns/pom.xml diff --git a/library_generation/test/resources/test_monorepo_postprocessing/java-service-control/google-cloud-service-control-bom/pom.xml b/hermetic_build/library_generation/tests/resources/test_monorepo_postprocessing/java-service-control/google-cloud-service-control-bom/pom.xml similarity index 100% rename from library_generation/test/resources/test_monorepo_postprocessing/java-service-control/google-cloud-service-control-bom/pom.xml rename to hermetic_build/library_generation/tests/resources/test_monorepo_postprocessing/java-service-control/google-cloud-service-control-bom/pom.xml diff --git a/library_generation/test/resources/test_monorepo_postprocessing/java-tasks/google-cloud-tasks-bom/pom.xml b/hermetic_build/library_generation/tests/resources/test_monorepo_postprocessing/java-tasks/google-cloud-tasks-bom/pom.xml similarity index 100% rename from library_generation/test/resources/test_monorepo_postprocessing/java-tasks/google-cloud-tasks-bom/pom.xml rename to hermetic_build/library_generation/tests/resources/test_monorepo_postprocessing/java-tasks/google-cloud-tasks-bom/pom.xml diff --git a/library_generation/test/resources/test_monorepo_postprocessing/pom-golden.xml b/hermetic_build/library_generation/tests/resources/test_monorepo_postprocessing/pom-golden.xml similarity index 100% rename from library_generation/test/resources/test_monorepo_postprocessing/pom-golden.xml rename to hermetic_build/library_generation/tests/resources/test_monorepo_postprocessing/pom-golden.xml diff --git a/library_generation/test/resources/test_monorepo_postprocessing/versions.txt b/hermetic_build/library_generation/tests/resources/test_monorepo_postprocessing/versions.txt similarity index 100% rename from library_generation/test/resources/test_monorepo_postprocessing/versions.txt rename to hermetic_build/library_generation/tests/resources/test_monorepo_postprocessing/versions.txt diff --git a/library_generation/test/resources/test_mv_src/gapic/destination/java_gapic_srcjar/src/test/java/example_test.txt b/hermetic_build/library_generation/tests/resources/test_mv_src/gapic/destination/java_gapic_srcjar/src/main/java/example_main.txt similarity index 100% rename from library_generation/test/resources/test_mv_src/gapic/destination/java_gapic_srcjar/src/test/java/example_test.txt rename to hermetic_build/library_generation/tests/resources/test_mv_src/gapic/destination/java_gapic_srcjar/src/main/java/example_main.txt diff --git a/library_generation/test/resources/test_mv_src/proto/destination/java_gapic_srcjar/proto/src/main/java/example_proto_main.txt b/hermetic_build/library_generation/tests/resources/test_mv_src/gapic/destination/java_gapic_srcjar/src/test/java/example_test.txt similarity index 100% rename from library_generation/test/resources/test_mv_src/proto/destination/java_gapic_srcjar/proto/src/main/java/example_proto_main.txt rename to hermetic_build/library_generation/tests/resources/test_mv_src/gapic/destination/java_gapic_srcjar/src/test/java/example_test.txt diff --git a/library_generation/test/resources/test_mv_src/samples/destination_com/java_gapic_srcjar/samples/snippets/generated/src/main/java/com/example_com_sample.txt b/hermetic_build/library_generation/tests/resources/test_mv_src/proto/destination/java_gapic_srcjar/proto/src/main/java/example_proto_main.txt similarity index 100% rename from library_generation/test/resources/test_mv_src/samples/destination_com/java_gapic_srcjar/samples/snippets/generated/src/main/java/com/example_com_sample.txt rename to hermetic_build/library_generation/tests/resources/test_mv_src/proto/destination/java_gapic_srcjar/proto/src/main/java/example_proto_main.txt diff --git a/library_generation/test/resources/test_mv_src/samples/destination_io/java_gapic_srcjar/samples/snippets/generated/src/main/java/io/example_io_sample.txt b/hermetic_build/library_generation/tests/resources/test_mv_src/samples/destination_com/java_gapic_srcjar/samples/snippets/generated/src/main/java/com/example_com_sample.txt similarity index 100% rename from library_generation/test/resources/test_mv_src/samples/destination_io/java_gapic_srcjar/samples/snippets/generated/src/main/java/io/example_io_sample.txt rename to hermetic_build/library_generation/tests/resources/test_mv_src/samples/destination_com/java_gapic_srcjar/samples/snippets/generated/src/main/java/com/example_com_sample.txt diff --git a/hermetic_build/library_generation/tests/resources/test_mv_src/samples/destination_io/java_gapic_srcjar/samples/snippets/generated/src/main/java/io/example_io_sample.txt b/hermetic_build/library_generation/tests/resources/test_mv_src/samples/destination_io/java_gapic_srcjar/samples/snippets/generated/src/main/java/io/example_io_sample.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/library_generation/test/test_utilities.sh b/hermetic_build/library_generation/tests/test_utilities.sh similarity index 100% rename from library_generation/test/test_utilities.sh rename to hermetic_build/library_generation/tests/test_utilities.sh diff --git a/library_generation/test/test_utils.py b/hermetic_build/library_generation/tests/test_utils.py similarity index 100% rename from library_generation/test/test_utils.py rename to hermetic_build/library_generation/tests/test_utils.py diff --git a/library_generation/test/utilities_unit_tests.py b/hermetic_build/library_generation/tests/utilities_unit_tests.py similarity index 97% rename from library_generation/test/utilities_unit_tests.py rename to hermetic_build/library_generation/tests/utilities_unit_tests.py index 3970c5c233..eae0e91fcf 100644 --- a/library_generation/test/utilities_unit_tests.py +++ b/hermetic_build/library_generation/tests/utilities_unit_tests.py @@ -22,12 +22,12 @@ import contextlib from pathlib import Path from library_generation.utils import utilities as util -from library_generation.model.gapic_config import GapicConfig -from library_generation.model.gapic_inputs import GapicInputs -from library_generation.model.generation_config import GenerationConfig -from library_generation.model.library_config import LibraryConfig -from library_generation.test.test_utils import FileComparator -from library_generation.test.test_utils import cleanup +from common.model.gapic_config import GapicConfig +from common.model.gapic_inputs import GapicInputs +from common.model.generation_config import GenerationConfig +from common.model.library_config import LibraryConfig +from library_generation.tests.test_utils import FileComparator +from library_generation.tests.test_utils import cleanup script_dir = os.path.dirname(os.path.realpath(__file__)) resources_dir = os.path.join(script_dir, "resources") @@ -257,7 +257,6 @@ def test_generate_postprocessing_prerequisite_files__custom_transport_set_in_con def test_create__library_invalid_transport__fails( self, ): - with self.assertRaises(ValueError): test_library_with_invalid_transport = LibraryConfig( api_shortname="secretmanager", diff --git a/hermetic_build/library_generation/tests/utils/__init__.py b/hermetic_build/library_generation/tests/utils/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/library_generation/test/utils/generation_config_comparator_unit_tests.py b/hermetic_build/library_generation/tests/utils/generation_config_comparator_unit_tests.py similarity index 99% rename from library_generation/test/utils/generation_config_comparator_unit_tests.py rename to hermetic_build/library_generation/tests/utils/generation_config_comparator_unit_tests.py index 8d018a7c15..f88f71d40e 100644 --- a/library_generation/test/utils/generation_config_comparator_unit_tests.py +++ b/hermetic_build/library_generation/tests/utils/generation_config_comparator_unit_tests.py @@ -13,9 +13,9 @@ # limitations under the License. import unittest -from library_generation.model.gapic_config import GapicConfig -from library_generation.model.generation_config import GenerationConfig -from library_generation.model.library_config import LibraryConfig +from common.model.gapic_config import GapicConfig +from common.model.generation_config import GenerationConfig +from common.model.library_config import LibraryConfig from library_generation.utils.generation_config_comparator import ChangeType from library_generation.utils.generation_config_comparator import compare_config diff --git a/library_generation/test/utils/monorepo_postprocessor_unit_tests.py b/hermetic_build/library_generation/tests/utils/monorepo_postprocessor_unit_tests.py similarity index 93% rename from library_generation/test/utils/monorepo_postprocessor_unit_tests.py rename to hermetic_build/library_generation/tests/utils/monorepo_postprocessor_unit_tests.py index 5dfafe2086..b95708c2ff 100644 --- a/library_generation/test/utils/monorepo_postprocessor_unit_tests.py +++ b/hermetic_build/library_generation/tests/utils/monorepo_postprocessor_unit_tests.py @@ -14,8 +14,8 @@ import os import unittest -from library_generation.test.test_utils import FileComparator -from library_generation.test.test_utils import cleanup +from library_generation.tests.test_utils import FileComparator +from library_generation.tests.test_utils import cleanup from library_generation.utils.monorepo_postprocessor import monorepo_postprocessing script_dir = os.path.dirname(os.path.realpath(__file__)) diff --git a/library_generation/test/utils/pom_generator_unit_tests.py b/hermetic_build/library_generation/tests/utils/pom_generator_unit_tests.py similarity index 100% rename from library_generation/test/utils/pom_generator_unit_tests.py rename to hermetic_build/library_generation/tests/utils/pom_generator_unit_tests.py diff --git a/library_generation/test/utils/proto_path_utils_unit_tests.py b/hermetic_build/library_generation/tests/utils/proto_path_utils_unit_tests.py similarity index 100% rename from library_generation/test/utils/proto_path_utils_unit_tests.py rename to hermetic_build/library_generation/tests/utils/proto_path_utils_unit_tests.py diff --git a/library_generation/utils/file_render.py b/hermetic_build/library_generation/utils/file_render.py similarity index 100% rename from library_generation/utils/file_render.py rename to hermetic_build/library_generation/utils/file_render.py diff --git a/library_generation/utils/generation_config_comparator.py b/hermetic_build/library_generation/utils/generation_config_comparator.py similarity index 98% rename from library_generation/utils/generation_config_comparator.py rename to hermetic_build/library_generation/utils/generation_config_comparator.py index d96a09f378..d0851c7f31 100644 --- a/library_generation/utils/generation_config_comparator.py +++ b/hermetic_build/library_generation/utils/generation_config_comparator.py @@ -19,9 +19,9 @@ from library_generation.model.config_change import ConfigChange from library_generation.model.config_change import LibraryChange from library_generation.model.config_change import HashLibrary -from library_generation.model.gapic_config import GapicConfig -from library_generation.model.generation_config import GenerationConfig -from library_generation.model.library_config import LibraryConfig +from common.model.gapic_config import GapicConfig +from common.model.generation_config import GenerationConfig +from common.model.library_config import LibraryConfig def compare_config( diff --git a/library_generation/utils/monorepo_postprocessor.py b/hermetic_build/library_generation/utils/monorepo_postprocessor.py similarity index 100% rename from library_generation/utils/monorepo_postprocessor.py rename to hermetic_build/library_generation/utils/monorepo_postprocessor.py diff --git a/library_generation/utils/pom_generator.py b/hermetic_build/library_generation/utils/pom_generator.py similarity index 100% rename from library_generation/utils/pom_generator.py rename to hermetic_build/library_generation/utils/pom_generator.py diff --git a/library_generation/utils/proto_path_utils.py b/hermetic_build/library_generation/utils/proto_path_utils.py similarity index 100% rename from library_generation/utils/proto_path_utils.py rename to hermetic_build/library_generation/utils/proto_path_utils.py diff --git a/library_generation/utils/utilities.py b/hermetic_build/library_generation/utils/utilities.py similarity index 98% rename from library_generation/utils/utilities.py rename to hermetic_build/library_generation/utils/utilities.py index 894a06ec02..c75d3957ad 100755 --- a/library_generation/utils/utilities.py +++ b/hermetic_build/library_generation/utils/utilities.py @@ -15,12 +15,11 @@ import sys import subprocess import os -import shutil from pathlib import Path from typing import Any -from library_generation.model.generation_config import GenerationConfig -from library_generation.model.library_config import LibraryConfig +from common.model.generation_config import GenerationConfig +from common.model.library_config import LibraryConfig from typing import List from library_generation.model.repo_config import RepoConfig from library_generation.utils.file_render import render diff --git a/library_generation/utils/utilities.sh b/hermetic_build/library_generation/utils/utilities.sh similarity index 100% rename from library_generation/utils/utilities.sh rename to hermetic_build/library_generation/utils/utilities.sh diff --git a/hermetic_build/release_note_generation/__init__.py b/hermetic_build/release_note_generation/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/hermetic_build/release_note_generation/cli/generate_release_note.py b/hermetic_build/release_note_generation/cli/generate_release_note.py new file mode 100644 index 0000000000..adc93d9ea7 --- /dev/null +++ b/hermetic_build/release_note_generation/cli/generate_release_note.py @@ -0,0 +1,98 @@ +# Copyright 2024 Google LLC +# +# Licensed 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 +# +# https://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 typing import Optional +import click as click +from release_note_generation.generate_pr_description import generate_pr_descriptions +from common.model.generation_config import from_yaml +from library_generation.utils.generation_config_comparator import compare_config + + +@click.group(invoke_without_command=False) +@click.pass_context +@click.version_option(message="%(version)s") +def main(ctx): + pass + + +@main.command() +@click.option( + "--baseline-generation-config-path", + required=False, + default=None, + type=str, + help=""" + Absolute or relative path to a generation_config.yaml. + This config file is used for commit history generation, not library + generation. + """, +) +@click.option( + "--current-generation-config-path", + required=False, + default=None, + type=str, + help=""" + Absolute or relative path to a generation_config.yaml that contains the + metadata about library generation. + """, +) +@click.option( + "--repository-path", + type=str, + default=".", + show_default=True, + help=""" + The repository path to which the generated files will be sent. + If not specified, the repository will be generated to the current working + directory. + """, +) +def generate( + baseline_generation_config_path: Optional[str], + current_generation_config_path: Optional[str], + repository_path: str, +) -> None: + if ( + baseline_generation_config_path is None + or current_generation_config_path is None + ): + print( + "One of the generation configs is not specified, do not generate " + "the description." + ) + return + baseline_generation_config_path = os.path.abspath(baseline_generation_config_path) + current_generation_config_path = os.path.abspath(current_generation_config_path) + if not ( + os.path.isfile(baseline_generation_config_path) + and os.path.isfile(current_generation_config_path) + ): + print( + "One of the generation configs does not exist, do not generate " + "the description." + ) + return + config_change = compare_config( + baseline_config=from_yaml(baseline_generation_config_path), + current_config=from_yaml(current_generation_config_path), + ) + generate_pr_descriptions( + config_change=config_change, + description_path=os.path.abspath(repository_path), + ) + + +if __name__ == "__main__": + main() diff --git a/library_generation/utils/commit_message_formatter.py b/hermetic_build/release_note_generation/commit_message_formatter.py similarity index 98% rename from library_generation/utils/commit_message_formatter.py rename to hermetic_build/release_note_generation/commit_message_formatter.py index 5b75db51a0..48c060c571 100644 --- a/library_generation/utils/commit_message_formatter.py +++ b/hermetic_build/release_note_generation/commit_message_formatter.py @@ -15,7 +15,7 @@ from git import Commit from library_generation.model.config_change import ConfigChange, ChangeType -from library_generation.model.generation_config import ( +from common.model.generation_config import ( GAPIC_GENERATOR_VERSION, LIBRARIES_BOM_VERSION, ) diff --git a/library_generation/generate_pr_description.py b/hermetic_build/release_note_generation/generate_pr_description.py similarity index 97% rename from library_generation/generate_pr_description.py rename to hermetic_build/release_note_generation/generate_pr_description.py index ac2f19003d..b71facd7a4 100755 --- a/library_generation/generate_pr_description.py +++ b/hermetic_build/release_note_generation/generate_pr_description.py @@ -20,12 +20,12 @@ from library_generation.model.config_change import ConfigChange from library_generation.utils.proto_path_utils import find_versioned_proto_path -from library_generation.utils.commit_message_formatter import ( +from release_note_generation.commit_message_formatter import ( format_commit_message, format_repo_level_change, commit_link, + wrap_override_commit, ) -from library_generation.utils.commit_message_formatter import wrap_override_commit EMPTY_MESSAGE = "" diff --git a/hermetic_build/release_note_generation/requirements.in b/hermetic_build/release_note_generation/requirements.in new file mode 100644 index 0000000000..4c9d8e47d7 --- /dev/null +++ b/hermetic_build/release_note_generation/requirements.in @@ -0,0 +1,2 @@ +click==8.1.7 +GitPython==3.1.43 \ No newline at end of file diff --git a/hermetic_build/release_note_generation/requirements.txt b/hermetic_build/release_note_generation/requirements.txt new file mode 100644 index 0000000000..5032108ff9 --- /dev/null +++ b/hermetic_build/release_note_generation/requirements.txt @@ -0,0 +1,22 @@ +# +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: +# +# pip-compile --generate-hashes hermetic_build/release_note_generation/requirements.in +# +click==8.1.7 \ + --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \ + --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de + # via -r hermetic_build/release_note_generation/requirements.in +gitdb==4.0.11 \ + --hash=sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4 \ + --hash=sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b + # via gitpython +gitpython==3.1.43 \ + --hash=sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c \ + --hash=sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff + # via -r hermetic_build/release_note_generation/requirements.in +smmap==5.0.1 \ + --hash=sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62 \ + --hash=sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da + # via gitdb diff --git a/hermetic_build/release_note_generation/setup.py b/hermetic_build/release_note_generation/setup.py new file mode 100755 index 0000000000..71728c7ef2 --- /dev/null +++ b/hermetic_build/release_note_generation/setup.py @@ -0,0 +1,14 @@ +""" +Package information of library_generation python scripts +""" + +from setuptools import setup + +setup( + name="release_note_generation", + version="0.1", + python_requires=">=3.12", + package_dir={ + "release_note_generation": ".", + }, +) diff --git a/hermetic_build/release_note_generation/tests/__init__.py b/hermetic_build/release_note_generation/tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/hermetic_build/release_note_generation/tests/cli/__init__.py b/hermetic_build/release_note_generation/tests/cli/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/hermetic_build/release_note_generation/tests/cli/generate_release_note_unit_tests.py b/hermetic_build/release_note_generation/tests/cli/generate_release_note_unit_tests.py new file mode 100644 index 0000000000..e1ee1e31e8 --- /dev/null +++ b/hermetic_build/release_note_generation/tests/cli/generate_release_note_unit_tests.py @@ -0,0 +1,71 @@ +# Copyright 2024 Google LLC +# +# Licensed 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 +# +# https://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 unittest +from click.testing import CliRunner +from release_note_generation.cli.generate_release_note import generate + +script_dir = os.path.dirname(os.path.realpath(__file__)) +resource_dir = os.path.join(script_dir, "..", "resources", "test_generate_release_note") + + +class GenerateReleaseNoteTest(unittest.TestCase): + def test_gen_release_note_with_no_baseline_config_does_not_generate_note(self): + runner = CliRunner() + # noinspection PyTypeChecker + result = runner.invoke(generate) + self.assertEqual(0, result.exit_code) + self.assertFalse(os.path.isfile("pr_description.txt")) + + def test_gen_release_note_with_no_current_config_does_not_generate_note(self): + runner = CliRunner() + # noinspection PyTypeChecker + result = runner.invoke( + generate, ["--baseline-generation-config-path=any_config"] + ) + self.assertEqual(0, result.exit_code) + self.assertFalse(os.path.isfile("pr_description.txt")) + + def test_gen_release_note_with_nonexistent_baseline_config_does_not_generate_note( + self, + ): + runner = CliRunner() + # noinspection PyTypeChecker + result = runner.invoke( + generate, + [ + "--baseline-generation-config-path=non_existent_config", + "--current-generation-config-path=not_relevant", + ], + ) + self.assertEqual(0, result.exit_code) + self.assertFalse(os.path.isfile("pr_description.txt")) + + def test_gen_release_note_with_nonexistent_current_config_does_not_generate_note( + self, + ): + cwd = os.getcwd() + os.chdir(resource_dir) + runner = CliRunner() + # noinspection PyTypeChecker + result = runner.invoke( + generate, + [ + "--baseline-generation-config-path=empty_gen_config.yaml", + "--current-generation-config-path=non_existent_config", + ], + ) + self.assertEqual(0, result.exit_code) + self.assertFalse(os.path.isfile("pr_description.txt")) + os.chdir(cwd) diff --git a/library_generation/test/utils/commit_message_formatter_unit_tests.py b/hermetic_build/release_note_generation/tests/commit_message_formatter_unit_tests.py similarity index 96% rename from library_generation/test/utils/commit_message_formatter_unit_tests.py rename to hermetic_build/release_note_generation/tests/commit_message_formatter_unit_tests.py index 16e3fffdfc..ac888cea7b 100644 --- a/library_generation/test/utils/commit_message_formatter_unit_tests.py +++ b/hermetic_build/release_note_generation/tests/commit_message_formatter_unit_tests.py @@ -13,20 +13,19 @@ # limitations under the License. import unittest from unittest.mock import patch - from library_generation.model.config_change import ( ConfigChange, ChangeType, LibraryChange, ) -from library_generation.model.generation_config import GenerationConfig -from library_generation.utils.commit_message_formatter import ( +from common.model.generation_config import GenerationConfig +from release_note_generation.commit_message_formatter import ( format_commit_message, commit_link, format_repo_level_change, + wrap_googleapis_commit, + wrap_override_commit, ) -from library_generation.utils.commit_message_formatter import wrap_googleapis_commit -from library_generation.utils.commit_message_formatter import wrap_override_commit gen_config = GenerationConfig( gapic_generator_version="1.2.3", googleapis_commitish="123abc", libraries=[] diff --git a/library_generation/test/generate_pr_description_unit_tests.py b/hermetic_build/release_note_generation/tests/generate_pr_description_unit_tests.py similarity index 97% rename from library_generation/test/generate_pr_description_unit_tests.py rename to hermetic_build/release_note_generation/tests/generate_pr_description_unit_tests.py index 9adbe71277..7c6f0db9ac 100644 --- a/library_generation/test/generate_pr_description_unit_tests.py +++ b/hermetic_build/release_note_generation/tests/generate_pr_description_unit_tests.py @@ -14,8 +14,7 @@ import os import unittest from filecmp import cmp - -from library_generation.generate_pr_description import ( +from release_note_generation.generate_pr_description import ( get_repo_level_commit_messages, generate_pr_descriptions, ) @@ -24,9 +23,9 @@ ChangeType, LibraryChange, ) -from library_generation.model.gapic_config import GapicConfig -from library_generation.model.generation_config import GenerationConfig -from library_generation.model.library_config import LibraryConfig +from common.model.gapic_config import GapicConfig +from common.model.generation_config import GenerationConfig +from common.model.library_config import LibraryConfig script_dir = os.path.dirname(os.path.realpath(__file__)) resources_dir = os.path.join(script_dir, "resources", "goldens") diff --git a/library_generation/test/resources/goldens/pr_description-golden.txt b/hermetic_build/release_note_generation/tests/resources/goldens/pr_description-golden.txt similarity index 100% rename from library_generation/test/resources/goldens/pr_description-golden.txt rename to hermetic_build/release_note_generation/tests/resources/goldens/pr_description-golden.txt diff --git a/library_generation/test/resources/goldens/repo_level_and_no_qualified_commit_pr_description-golden.txt b/hermetic_build/release_note_generation/tests/resources/goldens/repo_level_and_no_qualified_commit_pr_description-golden.txt similarity index 100% rename from library_generation/test/resources/goldens/repo_level_and_no_qualified_commit_pr_description-golden.txt rename to hermetic_build/release_note_generation/tests/resources/goldens/repo_level_and_no_qualified_commit_pr_description-golden.txt diff --git a/library_generation/test/resources/goldens/repo_level_only_pr_description-golden.txt b/hermetic_build/release_note_generation/tests/resources/goldens/repo_level_only_pr_description-golden.txt similarity index 100% rename from library_generation/test/resources/goldens/repo_level_only_pr_description-golden.txt rename to hermetic_build/release_note_generation/tests/resources/goldens/repo_level_only_pr_description-golden.txt diff --git a/hermetic_build/release_note_generation/tests/resources/test_generate_release_note/empty_gen_config.yaml b/hermetic_build/release_note_generation/tests/resources/test_generate_release_note/empty_gen_config.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/library_generation/requirements.in b/library_generation/requirements.in deleted file mode 100644 index e5e6487246..0000000000 --- a/library_generation/requirements.in +++ /dev/null @@ -1,29 +0,0 @@ -# add new packages here and run `pip-compile requirements.in --generate-hashes` to -# generate an entry with hashes in requirements.txt -absl-py==2.1.0 -attr==0.3.2 -attrs==23.2.0 -black==24.8.0 -click==8.1.7 -gitdb==4.0.11 -GitPython==3.1.43 -lxml==5.3.0 -MarkupSafe==2.1.5 -mypy-extensions==1.0.0 -packaging==23.2 -pathspec==0.12.1 -PyYAML==6.0.2 -smmap==5.0.1 -typing==3.7.4.3 -parameterized==0.9.0 # used in parameterized test -colorlog==6.8.2 -watchdog==4.0.2 -nox==2024.4.15 -requests==2.32.3 -setuptools==65.5.1 -jinja2==3.1.4 -# typing-extensions is a transitive dependency. If we run `pip-compile ... --generate-hashes` it will produce -# a list where typing extensions is pinned to >=4.0.1. This will produce an error saying "all requirements -# must have their versions pinned with ==". The following line pins the dependency to a specific version via == -typing-extensions==4.0.1 -requests-mock # used in owlbot unit tests diff --git a/library_generation/requirements.txt b/library_generation/requirements.txt deleted file mode 100644 index 5407b68e05..0000000000 --- a/library_generation/requirements.txt +++ /dev/null @@ -1,546 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.11 -# by the following command: -# -# pip-compile --generate-hashes library_generation/requirements.in -# -absl-py==2.1.0 \ - --hash=sha256:526a04eadab8b4ee719ce68f204172ead1027549089702d99b9059f129ff1308 \ - --hash=sha256:7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff - # via -r library_generation/requirements.in -argcomplete==3.5.0 \ - --hash=sha256:4349400469dccfb7950bb60334a680c58d88699bff6159df61251878dc6bf74b \ - --hash=sha256:d4bcf3ff544f51e16e54228a7ac7f486ed70ebf2ecfe49a63a91171c76bf029b - # via nox -attr==0.3.2 \ - --hash=sha256:1ceebca768181cdcce9827611b1d728e592be5d293911539ea3d0b0bfa1146f4 \ - --hash=sha256:4f4bffeea8c27387bde446675a7ac24f3b8fea1075f12d849b5f5c5181fc8336 - # via -r library_generation/requirements.in -attrs==23.2.0 \ - --hash=sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30 \ - --hash=sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1 - # via -r library_generation/requirements.in -black==24.8.0 \ - --hash=sha256:09cdeb74d494ec023ded657f7092ba518e8cf78fa8386155e4a03fdcc44679e6 \ - --hash=sha256:1f13f7f386f86f8121d76599114bb8c17b69d962137fc70efe56137727c7047e \ - --hash=sha256:2500945420b6784c38b9ee885af039f5e7471ef284ab03fa35ecdde4688cd83f \ - --hash=sha256:2b59b250fdba5f9a9cd9d0ece6e6d993d91ce877d121d161e4698af3eb9c1018 \ - --hash=sha256:3c4285573d4897a7610054af5a890bde7c65cb466040c5f0c8b732812d7f0e5e \ - --hash=sha256:505289f17ceda596658ae81b61ebbe2d9b25aa78067035184ed0a9d855d18afd \ - --hash=sha256:62e8730977f0b77998029da7971fa896ceefa2c4c4933fcd593fa599ecbf97a4 \ - --hash=sha256:649f6d84ccbae73ab767e206772cc2d7a393a001070a4c814a546afd0d423aed \ - --hash=sha256:6e55d30d44bed36593c3163b9bc63bf58b3b30e4611e4d88a0c3c239930ed5b2 \ - --hash=sha256:707a1ca89221bc8a1a64fb5e15ef39cd755633daa672a9db7498d1c19de66a42 \ - --hash=sha256:72901b4913cbac8972ad911dc4098d5753704d1f3c56e44ae8dce99eecb0e3af \ - --hash=sha256:73bbf84ed136e45d451a260c6b73ed674652f90a2b3211d6a35e78054563a9bb \ - --hash=sha256:7c046c1d1eeb7aea9335da62472481d3bbf3fd986e093cffd35f4385c94ae368 \ - --hash=sha256:81c6742da39f33b08e791da38410f32e27d632260e599df7245cccee2064afeb \ - --hash=sha256:837fd281f1908d0076844bc2b801ad2d369c78c45cf800cad7b61686051041af \ - --hash=sha256:972085c618ee94f402da1af548a4f218c754ea7e5dc70acb168bfaca4c2542ed \ - --hash=sha256:9e84e33b37be070ba135176c123ae52a51f82306def9f7d063ee302ecab2cf47 \ - --hash=sha256:b19c9ad992c7883ad84c9b22aaa73562a16b819c1d8db7a1a1a49fb7ec13c7d2 \ - --hash=sha256:d6417535d99c37cee4091a2f24eb2b6d5ec42b144d50f1f2e436d9fe1916fe1a \ - --hash=sha256:eab4dd44ce80dea27dc69db40dab62d4ca96112f87996bca68cd75639aeb2e4c \ - --hash=sha256:f490dbd59680d809ca31efdae20e634f3fae27fba3ce0ba3208333b713bc3920 \ - --hash=sha256:fb6e2c0b86bbd43dee042e48059c9ad7830abd5c94b0bc518c0eeec57c3eddc1 - # via -r library_generation/requirements.in -certifi==2024.8.30 \ - --hash=sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8 \ - --hash=sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9 - # via requests -charset-normalizer==3.3.2 \ - --hash=sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027 \ - --hash=sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087 \ - --hash=sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786 \ - --hash=sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8 \ - --hash=sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09 \ - --hash=sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185 \ - --hash=sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574 \ - --hash=sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e \ - --hash=sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519 \ - --hash=sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898 \ - --hash=sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269 \ - --hash=sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3 \ - --hash=sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f \ - --hash=sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6 \ - --hash=sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8 \ - --hash=sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a \ - --hash=sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73 \ - --hash=sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc \ - --hash=sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714 \ - --hash=sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2 \ - --hash=sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc \ - --hash=sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce \ - --hash=sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d \ - --hash=sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e \ - --hash=sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6 \ - --hash=sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269 \ - --hash=sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96 \ - --hash=sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d \ - --hash=sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a \ - --hash=sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4 \ - --hash=sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77 \ - --hash=sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d \ - --hash=sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0 \ - --hash=sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed \ - --hash=sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068 \ - --hash=sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac \ - --hash=sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25 \ - --hash=sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8 \ - --hash=sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab \ - --hash=sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26 \ - --hash=sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2 \ - --hash=sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db \ - --hash=sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f \ - --hash=sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5 \ - --hash=sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99 \ - --hash=sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c \ - --hash=sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d \ - --hash=sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811 \ - --hash=sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa \ - --hash=sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a \ - --hash=sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03 \ - --hash=sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b \ - --hash=sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04 \ - --hash=sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c \ - --hash=sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001 \ - --hash=sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458 \ - --hash=sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389 \ - --hash=sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99 \ - --hash=sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985 \ - --hash=sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537 \ - --hash=sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238 \ - --hash=sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f \ - --hash=sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d \ - --hash=sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796 \ - --hash=sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a \ - --hash=sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143 \ - --hash=sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8 \ - --hash=sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c \ - --hash=sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5 \ - --hash=sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5 \ - --hash=sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711 \ - --hash=sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4 \ - --hash=sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6 \ - --hash=sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c \ - --hash=sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7 \ - --hash=sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4 \ - --hash=sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b \ - --hash=sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae \ - --hash=sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12 \ - --hash=sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c \ - --hash=sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae \ - --hash=sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8 \ - --hash=sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887 \ - --hash=sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b \ - --hash=sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4 \ - --hash=sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f \ - --hash=sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5 \ - --hash=sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33 \ - --hash=sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519 \ - --hash=sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561 - # via requests -click==8.1.7 \ - --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \ - --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de - # via - # -r library_generation/requirements.in - # black -colorlog==6.8.2 \ - --hash=sha256:3e3e079a41feb5a1b64f978b5ea4f46040a94f11f0e8bbb8261e3dbbeca64d44 \ - --hash=sha256:4dcbb62368e2800cb3c5abd348da7e53f6c362dda502ec27c560b2e58a66bd33 - # via - # -r library_generation/requirements.in - # nox -distlib==0.3.8 \ - --hash=sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784 \ - --hash=sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64 - # via virtualenv -filelock==3.16.1 \ - --hash=sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0 \ - --hash=sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435 - # via virtualenv -gitdb==4.0.11 \ - --hash=sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4 \ - --hash=sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b - # via - # -r library_generation/requirements.in - # gitpython -gitpython==3.1.43 \ - --hash=sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c \ - --hash=sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff - # via -r library_generation/requirements.in -idna==3.10 \ - --hash=sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9 \ - --hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 - # via requests -jinja2==3.1.4 \ - --hash=sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369 \ - --hash=sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d - # via -r library_generation/requirements.in -lxml==5.3.0 \ - --hash=sha256:01220dca0d066d1349bd6a1726856a78f7929f3878f7e2ee83c296c69495309e \ - --hash=sha256:02ced472497b8362c8e902ade23e3300479f4f43e45f4105c85ef43b8db85229 \ - --hash=sha256:052d99051e77a4f3e8482c65014cf6372e61b0a6f4fe9edb98503bb5364cfee3 \ - --hash=sha256:07da23d7ee08577760f0a71d67a861019103e4812c87e2fab26b039054594cc5 \ - --hash=sha256:094cb601ba9f55296774c2d57ad68730daa0b13dc260e1f941b4d13678239e70 \ - --hash=sha256:0a7056921edbdd7560746f4221dca89bb7a3fe457d3d74267995253f46343f15 \ - --hash=sha256:0c120f43553ec759f8de1fee2f4794452b0946773299d44c36bfe18e83caf002 \ - --hash=sha256:0d7b36afa46c97875303a94e8f3ad932bf78bace9e18e603f2085b652422edcd \ - --hash=sha256:0fdf3a3059611f7585a78ee10399a15566356116a4288380921a4b598d807a22 \ - --hash=sha256:109fa6fede314cc50eed29e6e56c540075e63d922455346f11e4d7a036d2b8cf \ - --hash=sha256:146173654d79eb1fc97498b4280c1d3e1e5d58c398fa530905c9ea50ea849b22 \ - --hash=sha256:1473427aff3d66a3fa2199004c3e601e6c4500ab86696edffdbc84954c72d832 \ - --hash=sha256:1483fd3358963cc5c1c9b122c80606a3a79ee0875bcac0204149fa09d6ff2727 \ - --hash=sha256:168f2dfcfdedf611eb285efac1516c8454c8c99caf271dccda8943576b67552e \ - --hash=sha256:17e8d968d04a37c50ad9c456a286b525d78c4a1c15dd53aa46c1d8e06bf6fa30 \ - --hash=sha256:18feb4b93302091b1541221196a2155aa296c363fd233814fa11e181adebc52f \ - --hash=sha256:1afe0a8c353746e610bd9031a630a95bcfb1a720684c3f2b36c4710a0a96528f \ - --hash=sha256:1d04f064bebdfef9240478f7a779e8c5dc32b8b7b0b2fc6a62e39b928d428e51 \ - --hash=sha256:1fdc9fae8dd4c763e8a31e7630afef517eab9f5d5d31a278df087f307bf601f4 \ - --hash=sha256:1ffc23010330c2ab67fac02781df60998ca8fe759e8efde6f8b756a20599c5de \ - --hash=sha256:20094fc3f21ea0a8669dc4c61ed7fa8263bd37d97d93b90f28fc613371e7a875 \ - --hash=sha256:213261f168c5e1d9b7535a67e68b1f59f92398dd17a56d934550837143f79c42 \ - --hash=sha256:218c1b2e17a710e363855594230f44060e2025b05c80d1f0661258142b2add2e \ - --hash=sha256:23e0553b8055600b3bf4a00b255ec5c92e1e4aebf8c2c09334f8368e8bd174d6 \ - --hash=sha256:25f1b69d41656b05885aa185f5fdf822cb01a586d1b32739633679699f220391 \ - --hash=sha256:2b3778cb38212f52fac9fe913017deea2fdf4eb1a4f8e4cfc6b009a13a6d3fcc \ - --hash=sha256:2bc9fd5ca4729af796f9f59cd8ff160fe06a474da40aca03fcc79655ddee1a8b \ - --hash=sha256:2c226a06ecb8cdef28845ae976da407917542c5e6e75dcac7cc33eb04aaeb237 \ - --hash=sha256:2c3406b63232fc7e9b8783ab0b765d7c59e7c59ff96759d8ef9632fca27c7ee4 \ - --hash=sha256:2c86bf781b12ba417f64f3422cfc302523ac9cd1d8ae8c0f92a1c66e56ef2e86 \ - --hash=sha256:2d9b8d9177afaef80c53c0a9e30fa252ff3036fb1c6494d427c066a4ce6a282f \ - --hash=sha256:2dec2d1130a9cda5b904696cec33b2cfb451304ba9081eeda7f90f724097300a \ - --hash=sha256:2dfab5fa6a28a0b60a20638dc48e6343c02ea9933e3279ccb132f555a62323d8 \ - --hash=sha256:2ecdd78ab768f844c7a1d4a03595038c166b609f6395e25af9b0f3f26ae1230f \ - --hash=sha256:315f9542011b2c4e1d280e4a20ddcca1761993dda3afc7a73b01235f8641e903 \ - --hash=sha256:36aef61a1678cb778097b4a6eeae96a69875d51d1e8f4d4b491ab3cfb54b5a03 \ - --hash=sha256:384aacddf2e5813a36495233b64cb96b1949da72bef933918ba5c84e06af8f0e \ - --hash=sha256:3879cc6ce938ff4eb4900d901ed63555c778731a96365e53fadb36437a131a99 \ - --hash=sha256:3c174dc350d3ec52deb77f2faf05c439331d6ed5e702fc247ccb4e6b62d884b7 \ - --hash=sha256:3eb44520c4724c2e1a57c0af33a379eee41792595023f367ba3952a2d96c2aab \ - --hash=sha256:406246b96d552e0503e17a1006fd27edac678b3fcc9f1be71a2f94b4ff61528d \ - --hash=sha256:41ce1f1e2c7755abfc7e759dc34d7d05fd221723ff822947132dc934d122fe22 \ - --hash=sha256:423b121f7e6fa514ba0c7918e56955a1d4470ed35faa03e3d9f0e3baa4c7e492 \ - --hash=sha256:44264ecae91b30e5633013fb66f6ddd05c006d3e0e884f75ce0b4755b3e3847b \ - --hash=sha256:482c2f67761868f0108b1743098640fbb2a28a8e15bf3f47ada9fa59d9fe08c3 \ - --hash=sha256:4b0c7a688944891086ba192e21c5229dea54382f4836a209ff8d0a660fac06be \ - --hash=sha256:4c1fefd7e3d00921c44dc9ca80a775af49698bbfd92ea84498e56acffd4c5469 \ - --hash=sha256:4e109ca30d1edec1ac60cdbe341905dc3b8f55b16855e03a54aaf59e51ec8c6f \ - --hash=sha256:501d0d7e26b4d261fca8132854d845e4988097611ba2531408ec91cf3fd9d20a \ - --hash=sha256:516f491c834eb320d6c843156440fe7fc0d50b33e44387fcec5b02f0bc118a4c \ - --hash=sha256:51806cfe0279e06ed8500ce19479d757db42a30fd509940b1701be9c86a5ff9a \ - --hash=sha256:562e7494778a69086f0312ec9689f6b6ac1c6b65670ed7d0267e49f57ffa08c4 \ - --hash=sha256:56b9861a71575f5795bde89256e7467ece3d339c9b43141dbdd54544566b3b94 \ - --hash=sha256:5b8f5db71b28b8c404956ddf79575ea77aa8b1538e8b2ef9ec877945b3f46442 \ - --hash=sha256:5c2fb570d7823c2bbaf8b419ba6e5662137f8166e364a8b2b91051a1fb40ab8b \ - --hash=sha256:5c54afdcbb0182d06836cc3d1be921e540be3ebdf8b8a51ee3ef987537455f84 \ - --hash=sha256:5d6a6972b93c426ace71e0be9a6f4b2cfae9b1baed2eed2006076a746692288c \ - --hash=sha256:609251a0ca4770e5a8768ff902aa02bf636339c5a93f9349b48eb1f606f7f3e9 \ - --hash=sha256:62d172f358f33a26d6b41b28c170c63886742f5b6772a42b59b4f0fa10526cb1 \ - --hash=sha256:62f7fdb0d1ed2065451f086519865b4c90aa19aed51081979ecd05a21eb4d1be \ - --hash=sha256:658f2aa69d31e09699705949b5fc4719cbecbd4a97f9656a232e7d6c7be1a367 \ - --hash=sha256:65ab5685d56914b9a2a34d67dd5488b83213d680b0c5d10b47f81da5a16b0b0e \ - --hash=sha256:68934b242c51eb02907c5b81d138cb977b2129a0a75a8f8b60b01cb8586c7b21 \ - --hash=sha256:68b87753c784d6acb8a25b05cb526c3406913c9d988d51f80adecc2b0775d6aa \ - --hash=sha256:69959bd3167b993e6e710b99051265654133a98f20cec1d9b493b931942e9c16 \ - --hash=sha256:6a7095eeec6f89111d03dabfe5883a1fd54da319c94e0fb104ee8f23616b572d \ - --hash=sha256:6b038cc86b285e4f9fea2ba5ee76e89f21ed1ea898e287dc277a25884f3a7dfe \ - --hash=sha256:6ba0d3dcac281aad8a0e5b14c7ed6f9fa89c8612b47939fc94f80b16e2e9bc83 \ - --hash=sha256:6e91cf736959057f7aac7adfc83481e03615a8e8dd5758aa1d95ea69e8931dba \ - --hash=sha256:6ee8c39582d2652dcd516d1b879451500f8db3fe3607ce45d7c5957ab2596040 \ - --hash=sha256:6f651ebd0b21ec65dfca93aa629610a0dbc13dbc13554f19b0113da2e61a4763 \ - --hash=sha256:71a8dd38fbd2f2319136d4ae855a7078c69c9a38ae06e0c17c73fd70fc6caad8 \ - --hash=sha256:74068c601baff6ff021c70f0935b0c7bc528baa8ea210c202e03757c68c5a4ff \ - --hash=sha256:7437237c6a66b7ca341e868cda48be24b8701862757426852c9b3186de1da8a2 \ - --hash=sha256:747a3d3e98e24597981ca0be0fd922aebd471fa99d0043a3842d00cdcad7ad6a \ - --hash=sha256:74bcb423462233bc5d6066e4e98b0264e7c1bed7541fff2f4e34fe6b21563c8b \ - --hash=sha256:78d9b952e07aed35fe2e1a7ad26e929595412db48535921c5013edc8aa4a35ce \ - --hash=sha256:7b1cd427cb0d5f7393c31b7496419da594fe600e6fdc4b105a54f82405e6626c \ - --hash=sha256:7d3d1ca42870cdb6d0d29939630dbe48fa511c203724820fc0fd507b2fb46577 \ - --hash=sha256:7e2f58095acc211eb9d8b5771bf04df9ff37d6b87618d1cbf85f92399c98dae8 \ - --hash=sha256:7f41026c1d64043a36fda21d64c5026762d53a77043e73e94b71f0521939cc71 \ - --hash=sha256:81b4e48da4c69313192d8c8d4311e5d818b8be1afe68ee20f6385d0e96fc9512 \ - --hash=sha256:86a6b24b19eaebc448dc56b87c4865527855145d851f9fc3891673ff97950540 \ - --hash=sha256:874a216bf6afaf97c263b56371434e47e2c652d215788396f60477540298218f \ - --hash=sha256:89e043f1d9d341c52bf2af6d02e6adde62e0a46e6755d5eb60dc6e4f0b8aeca2 \ - --hash=sha256:8c72e9563347c7395910de6a3100a4840a75a6f60e05af5e58566868d5eb2d6a \ - --hash=sha256:8dc2c0395bea8254d8daebc76dcf8eb3a95ec2a46fa6fae5eaccee366bfe02ce \ - --hash=sha256:8f0de2d390af441fe8b2c12626d103540b5d850d585b18fcada58d972b74a74e \ - --hash=sha256:92e67a0be1639c251d21e35fe74df6bcc40cba445c2cda7c4a967656733249e2 \ - --hash=sha256:94d6c3782907b5e40e21cadf94b13b0842ac421192f26b84c45f13f3c9d5dc27 \ - --hash=sha256:97acf1e1fd66ab53dacd2c35b319d7e548380c2e9e8c54525c6e76d21b1ae3b1 \ - --hash=sha256:9ada35dd21dc6c039259596b358caab6b13f4db4d4a7f8665764d616daf9cc1d \ - --hash=sha256:9c52100e2c2dbb0649b90467935c4b0de5528833c76a35ea1a2691ec9f1ee7a1 \ - --hash=sha256:9e41506fec7a7f9405b14aa2d5c8abbb4dbbd09d88f9496958b6d00cb4d45330 \ - --hash=sha256:9e4b47ac0f5e749cfc618efdf4726269441014ae1d5583e047b452a32e221920 \ - --hash=sha256:9fb81d2824dff4f2e297a276297e9031f46d2682cafc484f49de182aa5e5df99 \ - --hash=sha256:a0eabd0a81625049c5df745209dc7fcef6e2aea7793e5f003ba363610aa0a3ff \ - --hash=sha256:a3d819eb6f9b8677f57f9664265d0a10dd6551d227afb4af2b9cd7bdc2ccbf18 \ - --hash=sha256:a87de7dd873bf9a792bf1e58b1c3887b9264036629a5bf2d2e6579fe8e73edff \ - --hash=sha256:aa617107a410245b8660028a7483b68e7914304a6d4882b5ff3d2d3eb5948d8c \ - --hash=sha256:aac0bbd3e8dd2d9c45ceb82249e8bdd3ac99131a32b4d35c8af3cc9db1657179 \ - --hash=sha256:ab6dd83b970dc97c2d10bc71aa925b84788c7c05de30241b9e96f9b6d9ea3080 \ - --hash=sha256:ace2c2326a319a0bb8a8b0e5b570c764962e95818de9f259ce814ee666603f19 \ - --hash=sha256:ae5fe5c4b525aa82b8076c1a59d642c17b6e8739ecf852522c6321852178119d \ - --hash=sha256:b11a5d918a6216e521c715b02749240fb07ae5a1fefd4b7bf12f833bc8b4fe70 \ - --hash=sha256:b1c8c20847b9f34e98080da785bb2336ea982e7f913eed5809e5a3c872900f32 \ - --hash=sha256:b369d3db3c22ed14c75ccd5af429086f166a19627e84a8fdade3f8f31426e52a \ - --hash=sha256:b710bc2b8292966b23a6a0121f7a6c51d45d2347edcc75f016ac123b8054d3f2 \ - --hash=sha256:bd96517ef76c8654446fc3db9242d019a1bb5fe8b751ba414765d59f99210b79 \ - --hash=sha256:c00f323cc00576df6165cc9d21a4c21285fa6b9989c5c39830c3903dc4303ef3 \ - --hash=sha256:c162b216070f280fa7da844531169be0baf9ccb17263cf5a8bf876fcd3117fa5 \ - --hash=sha256:c1a69e58a6bb2de65902051d57fde951febad631a20a64572677a1052690482f \ - --hash=sha256:c1f794c02903c2824fccce5b20c339a1a14b114e83b306ff11b597c5f71a1c8d \ - --hash=sha256:c24037349665434f375645fa9d1f5304800cec574d0310f618490c871fd902b3 \ - --hash=sha256:c300306673aa0f3ed5ed9372b21867690a17dba38c68c44b287437c362ce486b \ - --hash=sha256:c56a1d43b2f9ee4786e4658c7903f05da35b923fb53c11025712562d5cc02753 \ - --hash=sha256:c6379f35350b655fd817cd0d6cbeef7f265f3ae5fedb1caae2eb442bbeae9ab9 \ - --hash=sha256:c802e1c2ed9f0c06a65bc4ed0189d000ada8049312cfeab6ca635e39c9608957 \ - --hash=sha256:cb83f8a875b3d9b458cada4f880fa498646874ba4011dc974e071a0a84a1b033 \ - --hash=sha256:cf120cce539453ae086eacc0130a324e7026113510efa83ab42ef3fcfccac7fb \ - --hash=sha256:dd36439be765e2dde7660212b5275641edbc813e7b24668831a5c8ac91180656 \ - --hash=sha256:dd5350b55f9fecddc51385463a4f67a5da829bc741e38cf689f38ec9023f54ab \ - --hash=sha256:df5c7333167b9674aa8ae1d4008fa4bc17a313cc490b2cca27838bbdcc6bb15b \ - --hash=sha256:e63601ad5cd8f860aa99d109889b5ac34de571c7ee902d6812d5d9ddcc77fa7d \ - --hash=sha256:e92ce66cd919d18d14b3856906a61d3f6b6a8500e0794142338da644260595cd \ - --hash=sha256:e99f5507401436fdcc85036a2e7dc2e28d962550afe1cbfc07c40e454256a859 \ - --hash=sha256:ea2e2f6f801696ad7de8aec061044d6c8c0dd4037608c7cab38a9a4d316bfb11 \ - --hash=sha256:eafa2c8658f4e560b098fe9fc54539f86528651f61849b22111a9b107d18910c \ - --hash=sha256:ecd4ad8453ac17bc7ba3868371bffb46f628161ad0eefbd0a855d2c8c32dd81a \ - --hash=sha256:ee70d08fd60c9565ba8190f41a46a54096afa0eeb8f76bd66f2c25d3b1b83005 \ - --hash=sha256:eec1bb8cdbba2925bedc887bc0609a80e599c75b12d87ae42ac23fd199445654 \ - --hash=sha256:ef0c1fe22171dd7c7c27147f2e9c3e86f8bdf473fed75f16b0c2e84a5030ce80 \ - --hash=sha256:f2901429da1e645ce548bf9171784c0f74f0718c3f6150ce166be39e4dd66c3e \ - --hash=sha256:f422a209d2455c56849442ae42f25dbaaba1c6c3f501d58761c619c7836642ec \ - --hash=sha256:f65e5120863c2b266dbcc927b306c5b78e502c71edf3295dfcb9501ec96e5fc7 \ - --hash=sha256:f7d4a670107d75dfe5ad080bed6c341d18c4442f9378c9f58e5851e86eb79965 \ - --hash=sha256:f914c03e6a31deb632e2daa881fe198461f4d06e57ac3d0e05bbcab8eae01945 \ - --hash=sha256:fb66442c2546446944437df74379e9cf9e9db353e61301d1a0e26482f43f0dd8 - # via -r library_generation/requirements.in -markupsafe==2.1.5 \ - --hash=sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf \ - --hash=sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff \ - --hash=sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f \ - --hash=sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3 \ - --hash=sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532 \ - --hash=sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f \ - --hash=sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617 \ - --hash=sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df \ - --hash=sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4 \ - --hash=sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906 \ - --hash=sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f \ - --hash=sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4 \ - --hash=sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8 \ - --hash=sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371 \ - --hash=sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2 \ - --hash=sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465 \ - --hash=sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52 \ - --hash=sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6 \ - --hash=sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169 \ - --hash=sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad \ - --hash=sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2 \ - --hash=sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0 \ - --hash=sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029 \ - --hash=sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f \ - --hash=sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a \ - --hash=sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced \ - --hash=sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5 \ - --hash=sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c \ - --hash=sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf \ - --hash=sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9 \ - --hash=sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb \ - --hash=sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad \ - --hash=sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3 \ - --hash=sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1 \ - --hash=sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46 \ - --hash=sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc \ - --hash=sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a \ - --hash=sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee \ - --hash=sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900 \ - --hash=sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5 \ - --hash=sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea \ - --hash=sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f \ - --hash=sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5 \ - --hash=sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e \ - --hash=sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a \ - --hash=sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f \ - --hash=sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50 \ - --hash=sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a \ - --hash=sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b \ - --hash=sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4 \ - --hash=sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff \ - --hash=sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2 \ - --hash=sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46 \ - --hash=sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b \ - --hash=sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf \ - --hash=sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5 \ - --hash=sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5 \ - --hash=sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab \ - --hash=sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd \ - --hash=sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68 - # via - # -r library_generation/requirements.in - # jinja2 -mypy-extensions==1.0.0 \ - --hash=sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d \ - --hash=sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782 - # via - # -r library_generation/requirements.in - # black -nox==2024.4.15 \ - --hash=sha256:6492236efa15a460ecb98e7b67562a28b70da006ab0be164e8821177577c0565 \ - --hash=sha256:ecf6700199cdfa9e5ea0a41ff5e6ef4641d09508eda6edb89d9987864115817f - # via -r library_generation/requirements.in -packaging==23.2 \ - --hash=sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5 \ - --hash=sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7 - # via - # -r library_generation/requirements.in - # black - # nox -parameterized==0.9.0 \ - --hash=sha256:4e0758e3d41bea3bbd05ec14fc2c24736723f243b28d702081aef438c9372b1b \ - --hash=sha256:7fc905272cefa4f364c1a3429cbbe9c0f98b793988efb5bf90aac80f08db09b1 - # via -r library_generation/requirements.in -pathspec==0.12.1 \ - --hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 \ - --hash=sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712 - # via - # -r library_generation/requirements.in - # black -platformdirs==4.3.6 \ - --hash=sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907 \ - --hash=sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb - # via - # black - # virtualenv -pyyaml==6.0.2 \ - --hash=sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff \ - --hash=sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48 \ - --hash=sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086 \ - --hash=sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e \ - --hash=sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133 \ - --hash=sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5 \ - --hash=sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484 \ - --hash=sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee \ - --hash=sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5 \ - --hash=sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68 \ - --hash=sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a \ - --hash=sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf \ - --hash=sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99 \ - --hash=sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8 \ - --hash=sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85 \ - --hash=sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19 \ - --hash=sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc \ - --hash=sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a \ - --hash=sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1 \ - --hash=sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317 \ - --hash=sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c \ - --hash=sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631 \ - --hash=sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d \ - --hash=sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652 \ - --hash=sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5 \ - --hash=sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e \ - --hash=sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b \ - --hash=sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8 \ - --hash=sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476 \ - --hash=sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706 \ - --hash=sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563 \ - --hash=sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237 \ - --hash=sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b \ - --hash=sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083 \ - --hash=sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180 \ - --hash=sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425 \ - --hash=sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e \ - --hash=sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f \ - --hash=sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725 \ - --hash=sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183 \ - --hash=sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab \ - --hash=sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774 \ - --hash=sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725 \ - --hash=sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e \ - --hash=sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5 \ - --hash=sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d \ - --hash=sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290 \ - --hash=sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44 \ - --hash=sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed \ - --hash=sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4 \ - --hash=sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba \ - --hash=sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12 \ - --hash=sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4 - # via -r library_generation/requirements.in -requests==2.32.3 \ - --hash=sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 \ - --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 - # via - # -r library_generation/requirements.in - # requests-mock -requests-mock==1.12.1 \ - --hash=sha256:b1e37054004cdd5e56c84454cc7df12b25f90f382159087f4b6915aaeef39563 \ - --hash=sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401 - # via -r library_generation/requirements.in -smmap==5.0.1 \ - --hash=sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62 \ - --hash=sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da - # via - # -r library_generation/requirements.in - # gitdb -typing==3.7.4.3 \ - --hash=sha256:1187fb9c82fd670d10aa07bbb6cfcfe4bdda42d6fab8d5134f04e8c4d0b71cc9 \ - --hash=sha256:283d868f5071ab9ad873e5e52268d611e851c870a2ba354193026f2dfb29d8b5 - # via -r library_generation/requirements.in -typing-extensions==4.0.1 \ - --hash=sha256:4ca091dea149f945ec56afb48dae714f21e8692ef22a395223bcd328961b6a0e \ - --hash=sha256:7f001e5ac290a0c0401508864c7ec868be4e701886d5b573a9528ed3973d9d3b - # via -r library_generation/requirements.in -urllib3==2.2.3 \ - --hash=sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac \ - --hash=sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9 - # via requests -virtualenv==20.26.6 \ - --hash=sha256:280aede09a2a5c317e409a00102e7077c6432c5a38f0ef938e643805a7ad2c48 \ - --hash=sha256:7345cc5b25405607a624d8418154577459c3e0277f5466dd79c49d5e492995f2 - # via nox -watchdog==4.0.2 \ - --hash=sha256:0b4359067d30d5b864e09c8597b112fe0a0a59321a0f331498b013fb097406b4 \ - --hash=sha256:0d8a7e523ef03757a5aa29f591437d64d0d894635f8a50f370fe37f913ce4e19 \ - --hash=sha256:0e83619a2d5d436a7e58a1aea957a3c1ccbf9782c43c0b4fed80580e5e4acd1a \ - --hash=sha256:10b6683df70d340ac3279eff0b2766813f00f35a1d37515d2c99959ada8f05fa \ - --hash=sha256:132937547a716027bd5714383dfc40dc66c26769f1ce8a72a859d6a48f371f3a \ - --hash=sha256:1cdcfd8142f604630deef34722d695fb455d04ab7cfe9963055df1fc69e6727a \ - --hash=sha256:2d468028a77b42cc685ed694a7a550a8d1771bb05193ba7b24006b8241a571a1 \ - --hash=sha256:32be97f3b75693a93c683787a87a0dc8db98bb84701539954eef991fb35f5fbc \ - --hash=sha256:770eef5372f146997638d737c9a3c597a3b41037cfbc5c41538fc27c09c3a3f9 \ - --hash=sha256:7c7d4bf585ad501c5f6c980e7be9c4f15604c7cc150e942d82083b31a7548930 \ - --hash=sha256:88456d65f207b39f1981bf772e473799fcdc10801062c36fd5ad9f9d1d463a73 \ - --hash=sha256:914285126ad0b6eb2258bbbcb7b288d9dfd655ae88fa28945be05a7b475a800b \ - --hash=sha256:936acba76d636f70db8f3c66e76aa6cb5136a936fc2a5088b9ce1c7a3508fc83 \ - --hash=sha256:980b71510f59c884d684b3663d46e7a14b457c9611c481e5cef08f4dd022eed7 \ - --hash=sha256:984306dc4720da5498b16fc037b36ac443816125a3705dfde4fd90652d8028ef \ - --hash=sha256:a2cffa171445b0efa0726c561eca9a27d00a1f2b83846dbd5a4f639c4f8ca8e1 \ - --hash=sha256:aa160781cafff2719b663c8a506156e9289d111d80f3387cf3af49cedee1f040 \ - --hash=sha256:b2c45f6e1e57ebb4687690c05bc3a2c1fb6ab260550c4290b8abb1335e0fd08b \ - --hash=sha256:b4dfbb6c49221be4535623ea4474a4d6ee0a9cef4a80b20c28db4d858b64e270 \ - --hash=sha256:baececaa8edff42cd16558a639a9b0ddf425f93d892e8392a56bf904f5eff22c \ - --hash=sha256:bcfd02377be80ef3b6bc4ce481ef3959640458d6feaae0bd43dd90a43da90a7d \ - --hash=sha256:c0b14488bd336c5b1845cee83d3e631a1f8b4e9c5091ec539406e4a324f882d8 \ - --hash=sha256:c100d09ac72a8a08ddbf0629ddfa0b8ee41740f9051429baa8e31bb903ad7508 \ - --hash=sha256:c344453ef3bf875a535b0488e3ad28e341adbd5a9ffb0f7d62cefacc8824ef2b \ - --hash=sha256:c50f148b31b03fbadd6d0b5980e38b558046b127dc483e5e4505fcef250f9503 \ - --hash=sha256:c82253cfc9be68e3e49282831afad2c1f6593af80c0daf1287f6a92657986757 \ - --hash=sha256:cd67c7df93eb58f360c43802acc945fa8da70c675b6fa37a241e17ca698ca49b \ - --hash=sha256:d7ab624ff2f663f98cd03c8b7eedc09375a911794dfea6bf2a359fcc266bff29 \ - --hash=sha256:e252f8ca942a870f38cf785aef420285431311652d871409a64e2a0a52a2174c \ - --hash=sha256:ede7f010f2239b97cc79e6cb3c249e72962404ae3865860855d5cbe708b0fd22 \ - --hash=sha256:eeea812f38536a0aa859972d50c76e37f4456474b02bd93674d1947cf1e39578 \ - --hash=sha256:f15edcae3830ff20e55d1f4e743e92970c847bcddc8b7509bcd172aa04de506e \ - --hash=sha256:f5315a8c8dd6dd9425b974515081fc0aadca1d1d61e078d2246509fd756141ee \ - --hash=sha256:f6ee8dedd255087bc7fe82adf046f0b75479b989185fb0bdf9a98b612170eac7 \ - --hash=sha256:f7c739888c20f99824f7aa9d31ac8a97353e22d0c0e54703a547a218f6637eb3 - # via -r library_generation/requirements.in - -# WARNING: The following packages were not pinned, but pip requires them to be -# pinned when the requirements file includes hashes and the requirement is not -# satisfied by a package already installed. Consider using the --allow-unsafe flag. -# setuptools diff --git a/library_generation/test/resources/test-config/config_without_temp_excludes.yaml b/library_generation/test/resources/test-config/config_without_temp_excludes.yaml deleted file mode 100644 index 0d1bb7deea..0000000000 --- a/library_generation/test/resources/test-config/config_without_temp_excludes.yaml +++ /dev/null @@ -1,10 +0,0 @@ -gapic_generator_version: 2.34.0 -googleapis_commitish: 1a45bf7393b52407188c82e63101db7dc9c72026 -libraries_bom_version: 26.37.0 -libraries: - - api_shortname: apigeeconnect - name_pretty: Apigee Connect - api_description: "allows the Apigee hybrid management" - product_documentation: "https://cloud.google.com/apigee/docs/hybrid/v1.3/apigee-connect/" - GAPICs: - - proto_path: google/cloud/apigeeconnect/v1 diff --git a/library_generation/test/resources/test-monorepo/.github/.OwlBot.lock.yaml b/library_generation/test/resources/test-monorepo/.github/.OwlBot.lock.yaml deleted file mode 100644 index 77200af4c9..0000000000 --- a/library_generation/test/resources/test-monorepo/.github/.OwlBot.lock.yaml +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright 2022 Google LLC -# -# Licensed 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. -docker: - image: gcr.io/cloud-devrel-public-resources/owlbot-java:latest - digest: sha256:fb7584f6adb3847ac480ed49a4bfe1463965026b2919a1be270e3174f3ce1191 - # created: 2023-01-20T00:00:00.000000000Z diff --git a/library_generation/test/resources/test-monorepo/test-service/.repo-metadata.json b/library_generation/test/resources/test-monorepo/test-service/.repo-metadata.json deleted file mode 100644 index d5b5078213..0000000000 --- a/library_generation/test/resources/test-monorepo/test-service/.repo-metadata.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "api_shortname": "cloudasset", - "name_pretty": "Cloud Asset Inventory", - "product_documentation": "https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview", - "api_reference": "https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview", - "api_description": "provides inventory services based on a time series database. This database keeps a five week history of Google Cloud asset metadata. The Cloud Asset Inventory export service allows you to export all asset metadata at a certain timestamp or export event change history during a timeframe.", - "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-asset/latest/overview", - "issue_tracker": "https://issuetracker.google.com/issues/new?component=187210&template=0", - "release_level": "stable", - "transport": "grpc", - "requires_billing": true, - "language": "java", - "repo": "googleapis/google-cloud-java", - "repo_short": "java-asset", - "distribution_name": "com.google.cloud:google-cloud-asset", - "api_id": "cloudasset.googleapis.com", - "library_type": "GAPIC_AUTO" -} diff --git a/showcase/scripts/generate_showcase.sh b/showcase/scripts/generate_showcase.sh index 82691e371d..cfb3c713ae 100755 --- a/showcase/scripts/generate_showcase.sh +++ b/showcase/scripts/generate_showcase.sh @@ -6,8 +6,8 @@ set -ex readonly SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) -readonly LIB_GEN_SCRIPTS_DIR="${SCRIPT_DIR}/../../library_generation/" -source "${LIB_GEN_SCRIPTS_DIR}/test/test_utilities.sh" +readonly LIB_GEN_SCRIPTS_DIR="${SCRIPT_DIR}/../../hermetic_build/library_generation/" +source "${LIB_GEN_SCRIPTS_DIR}/tests/test_utilities.sh" source "${LIB_GEN_SCRIPTS_DIR}/utils/utilities.sh" readonly perform_cleanup=$1 @@ -106,7 +106,7 @@ include_samples="false" rm -rdf output/showcase-output mkdir output/showcase-output set +e -bash "${SCRIPT_DIR}/../../library_generation/generate_library.sh" \ +bash "${SCRIPT_DIR}/../../hermetic_build/library_generation/generate_library.sh" \ --protoc_version "${protoc_version}" \ --grpc_version "${grpc_version}" \ --proto_path "schema/google/showcase/v1beta1" \