From 641bb0ef09dd94c06c8f11802875dd379ce1168e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Apr 2024 00:31:47 +0000 Subject: [PATCH 001/174] build(deps): bump org.apache.maven.plugins:maven-deploy-plugin Bumps [org.apache.maven.plugins:maven-deploy-plugin](https://github.com/apache/maven-deploy-plugin) from 3.1.1 to 3.1.2. - [Release notes](https://github.com/apache/maven-deploy-plugin/releases) - [Commits](https://github.com/apache/maven-deploy-plugin/compare/maven-deploy-plugin-3.1.1...maven-deploy-plugin-3.1.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-deploy-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 482193172..122304405 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ 17 3.6.1 2.0.4 - 3.1.1 + 3.1.2 1.0 3.4.1 3.2.0 From e98412cd985cdb1d57f5bcec6471b0daa332faf8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 May 2024 00:31:22 +0000 Subject: [PATCH 002/174] build(deps): bump org.apache.maven.plugins:maven-install-plugin Bumps [org.apache.maven.plugins:maven-install-plugin](https://github.com/apache/maven-install-plugin) from 2.5.2 to 3.1.2. - [Release notes](https://github.com/apache/maven-install-plugin/releases) - [Commits](https://github.com/apache/maven-install-plugin/compare/maven-install-plugin-2.5.2...maven-install-plugin-3.1.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-install-plugin dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 122304405..cc4fbce39 100644 --- a/pom.xml +++ b/pom.xml @@ -46,7 +46,7 @@ The packaging plugin for this project did not assign a main file to the project but it has attachments. Change packaging to 'pom' --> - 2.5.2 + 3.1.2 0.8.10 3.4.1 From 9474200b02fb203568e8ff9fb5db78236a6de5c4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 00:18:57 +0000 Subject: [PATCH 003/174] build(deps): bump actions/checkout from 4.1.4 to 4.1.5 Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.4 to 4.1.5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/0ad4b8fadaa221de15dcec353f45205ec38ea70b...44c2b7a8a4ea60a981eaca3cf939b5f4305c123b) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/ci.yml | 2 +- .github/workflows/codeql.yml | 2 +- .github/workflows/deploy-adoptium.yml | 2 +- .github/workflows/deploy-adoptopenjdk.yml | 2 +- .github/workflows/publish.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 07bd82df1..e1a388125 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: adoptopenjdk) echo "ARGS=-Padoptopenjdk,-adoptium" >> $GITHUB_ENV ;; esac - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: persist-credentials: false diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 7e9af0293..11384e485 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -36,7 +36,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/deploy-adoptium.yml b/.github/workflows/deploy-adoptium.yml index c1e5b6bfb..a17c8d242 100644 --- a/.github/workflows/deploy-adoptium.yml +++ b/.github/workflows/deploy-adoptium.yml @@ -14,7 +14,7 @@ jobs: if: startsWith(github.repository, 'adoptium/') runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - name: Login to Azure uses: ./.github/actions/azure-login diff --git a/.github/workflows/deploy-adoptopenjdk.yml b/.github/workflows/deploy-adoptopenjdk.yml index 6a25abc13..5106f2916 100644 --- a/.github/workflows/deploy-adoptopenjdk.yml +++ b/.github/workflows/deploy-adoptopenjdk.yml @@ -14,7 +14,7 @@ jobs: if: startsWith(github.repository, 'adoptium/') runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - name: Login to Azure uses: ./.github/actions/azure-login diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 93a5f9e7f..3f921d35e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -14,7 +14,7 @@ jobs: contents: write # for Git to git push steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1 with: From 904ad36eadedaf9cdce01303b94a09b2879493ef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 May 2024 00:52:11 +0000 Subject: [PATCH 004/174] build(deps): bump github/codeql-action from 3.25.3 to 3.25.4 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.3 to 3.25.4. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/d39d31e687223d841ef683f52467bd88e9b21c14...ccf74c947955fd1cf117aef6a0e4e66191ef6f61) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 11384e485..93ad4a1df 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3 + uses: github/codeql-action/init@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3.25.4 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -59,6 +59,6 @@ jobs: ./mvnw --batch-mode clean -Dmaven.test.skip=true install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3 + uses: github/codeql-action/analyze@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3.25.4 with: category: "/language:${{matrix.language}}" From 0e7e3eb285f2a5cfc01f83f3ef47d726d9317f52 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 00:32:21 +0000 Subject: [PATCH 005/174] build(deps): bump de.flapdoodle.embed:de.flapdoodle.embed.mongo Bumps [de.flapdoodle.embed:de.flapdoodle.embed.mongo](https://github.com/flapdoodle-oss/de.flapdoodle.embed.mongo) from 4.12.6 to 4.13.1. - [Commits](https://github.com/flapdoodle-oss/de.flapdoodle.embed.mongo/compare/de.flapdoodle.embed.mongo-4.12.6...de.flapdoodle.embed.mongo-4.13.1) --- updated-dependencies: - dependency-name: de.flapdoodle.embed:de.flapdoodle.embed.mongo dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- adoptium-api-versions/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml index 87f9ed9f3..588d0d5bf 100644 --- a/adoptium-api-versions/pom.xml +++ b/adoptium-api-versions/pom.xml @@ -200,7 +200,7 @@ de.flapdoodle.embed de.flapdoodle.embed.mongo - 4.12.6 + 4.13.1 test From 4c861066f4ee892c8b50b66daf91cff33b7b9dbc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 May 2024 00:35:38 +0000 Subject: [PATCH 006/174] build(deps): bump github/codeql-action from 3.25.4 to 3.25.5 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.4 to 3.25.5. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/ccf74c947955fd1cf117aef6a0e4e66191ef6f61...b7cec7526559c32f1616476ff32d17ba4c59b2d6) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 93ad4a1df..09762e032 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3.25.4 + uses: github/codeql-action/init@b7cec7526559c32f1616476ff32d17ba4c59b2d6 # v3.25.5 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -59,6 +59,6 @@ jobs: ./mvnw --batch-mode clean -Dmaven.test.skip=true install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3.25.4 + uses: github/codeql-action/analyze@b7cec7526559c32f1616476ff32d17ba4c59b2d6 # v3.25.5 with: category: "/language:${{matrix.language}}" From b1ada35631ecfbc7faa06f27b0b6ea8cf3025b7c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 May 2024 00:53:11 +0000 Subject: [PATCH 007/174] build(deps): bump actions/checkout from 4.1.5 to 4.1.6 Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.5 to 4.1.6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/44c2b7a8a4ea60a981eaca3cf939b5f4305c123b...a5ac7e51b41094c92402da3b24376905380afc29) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/ci.yml | 2 +- .github/workflows/codeql.yml | 2 +- .github/workflows/deploy-adoptium.yml | 2 +- .github/workflows/deploy-adoptopenjdk.yml | 2 +- .github/workflows/publish.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e1a388125..451a921eb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: adoptopenjdk) echo "ARGS=-Padoptopenjdk,-adoptium" >> $GITHUB_ENV ;; esac - - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: persist-credentials: false diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 09762e032..4fe3c0823 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -36,7 +36,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/deploy-adoptium.yml b/.github/workflows/deploy-adoptium.yml index a17c8d242..033e4c901 100644 --- a/.github/workflows/deploy-adoptium.yml +++ b/.github/workflows/deploy-adoptium.yml @@ -14,7 +14,7 @@ jobs: if: startsWith(github.repository, 'adoptium/') runs-on: ubuntu-latest steps: - - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - name: Login to Azure uses: ./.github/actions/azure-login diff --git a/.github/workflows/deploy-adoptopenjdk.yml b/.github/workflows/deploy-adoptopenjdk.yml index 5106f2916..5b017fbaf 100644 --- a/.github/workflows/deploy-adoptopenjdk.yml +++ b/.github/workflows/deploy-adoptopenjdk.yml @@ -14,7 +14,7 @@ jobs: if: startsWith(github.repository, 'adoptium/') runs-on: ubuntu-latest steps: - - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - name: Login to Azure uses: ./.github/actions/azure-login diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3f921d35e..0bdf9835b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -14,7 +14,7 @@ jobs: contents: write # for Git to git push steps: - - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1 with: From 5edba7fc828f5142c67656972199ddf7f237ac94 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 May 2024 00:23:04 +0000 Subject: [PATCH 008/174] --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 4fe3c0823..a89050bef 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@b7cec7526559c32f1616476ff32d17ba4c59b2d6 # v3.25.5 + uses: github/codeql-action/init@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -59,6 +59,6 @@ jobs: ./mvnw --batch-mode clean -Dmaven.test.skip=true install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@b7cec7526559c32f1616476ff32d17ba4c59b2d6 # v3.25.5 + uses: github/codeql-action/analyze@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6 with: category: "/language:${{matrix.language}}" From ed373cd577409e04b9db370d0d81b6e89fa3fe2c Mon Sep 17 00:00:00 2001 From: Scott Fryer <60462088+steelhead31@users.noreply.github.com> Date: Tue, 21 May 2024 15:13:05 +0100 Subject: [PATCH 009/174] Add semgrep github action --- .github/workflows/semgrep_diff.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .github/workflows/semgrep_diff.yml diff --git a/.github/workflows/semgrep_diff.yml b/.github/workflows/semgrep_diff.yml new file mode 100644 index 000000000..cb5f22881 --- /dev/null +++ b/.github/workflows/semgrep_diff.yml @@ -0,0 +1,8 @@ +--- +name: Semgrep Differential Scan +on: + pull_request: + +jobs: + semgrep-diff: + uses: adoptium/.github/.github/workflows/semgrep_diff.yml@main From daca9cdbdb82f5c82f8a42eb425fa0cbb07bacb3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 May 2024 00:33:23 +0000 Subject: [PATCH 010/174] Bump azure/login from 2.1.0 to 2.1.1 in /.github/actions/azure-login Bumps [azure/login](https://github.com/azure/login) from 2.1.0 to 2.1.1. - [Release notes](https://github.com/azure/login/releases) - [Commits](https://github.com/azure/login/compare/6b2456866fc08b011acb422a92a4aa20e2c4de32...6c251865b4e6290e7b78be643ea2d005bc51f69a) --- updated-dependencies: - dependency-name: azure/login dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/actions/azure-login/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/azure-login/action.yml b/.github/actions/azure-login/action.yml index a80cba492..90dc85e5a 100644 --- a/.github/actions/azure-login/action.yml +++ b/.github/actions/azure-login/action.yml @@ -20,7 +20,7 @@ runs: using: composite steps: - name: Login to our Azure subscription. - uses: azure/login@6b2456866fc08b011acb422a92a4aa20e2c4de32 # v2.1.0 + uses: azure/login@6c251865b4e6290e7b78be643ea2d005bc51f69a # v2.1.1 with: client-id: ${{ inputs.AZURE_CLIENT_ID_OIDC }} tenant-id: ${{ inputs.AZURE_TENANT_ID }} From cb372bed8e79c77d68b43d925308cd4c253ac41e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 May 2024 01:06:44 +0000 Subject: [PATCH 011/174] Bump docker/login-action in /.github/actions/azure-login Bumps [docker/login-action](https://github.com/docker/login-action) from 3.1.0 to 3.2.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/e92390c5fb421da1463c202d546fed0ec5c39f20...0d4c9c5ea7693da7b068278f7b52bda2a190a446) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/actions/azure-login/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/azure-login/action.yml b/.github/actions/azure-login/action.yml index 90dc85e5a..2992a5ebd 100644 --- a/.github/actions/azure-login/action.yml +++ b/.github/actions/azure-login/action.yml @@ -27,7 +27,7 @@ runs: subscription-id: ${{ inputs.AZURE_SUBSCRIPTION_ID }} - name: Login to Azure Container Registry - uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # v3.1.0 + uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0 with: registry: adoptopenjdkacr.azurecr.io username: ${{ inputs.AZURE_CLIENT_ID }} From 6d0e5c1349f2e5ccfb219d8f7979e895e9b579ad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Jun 2024 00:02:22 +0000 Subject: [PATCH 012/174] Bump github/codeql-action from 3.25.6 to 3.25.7 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.6 to 3.25.7. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/9fdb3e49720b44c48891d036bb502feb25684276...f079b8493333aace61c81488f8bd40919487bd9f) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index a89050bef..44c244be7 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6 + uses: github/codeql-action/init@f079b8493333aace61c81488f8bd40919487bd9f # v3.25.7 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -59,6 +59,6 @@ jobs: ./mvnw --batch-mode clean -Dmaven.test.skip=true install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6 + uses: github/codeql-action/analyze@f079b8493333aace61c81488f8bd40919487bd9f # v3.25.7 with: category: "/language:${{matrix.language}}" From db4814bbe4b5243ca5d096005be35cf05740541a Mon Sep 17 00:00:00 2001 From: Scott Fryer <60462088+steelhead31@users.noreply.github.com> Date: Mon, 3 Jun 2024 08:48:48 +0100 Subject: [PATCH 013/174] Add gha permissions scheme --- .github/workflows/semgrep_diff.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/semgrep_diff.yml b/.github/workflows/semgrep_diff.yml index cb5f22881..8fa4884a8 100644 --- a/.github/workflows/semgrep_diff.yml +++ b/.github/workflows/semgrep_diff.yml @@ -1,8 +1,25 @@ +# ******************************************************************************** +# Copyright (c) 2024 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made +# available under the terms of the Apache Software License 2.0 +# which is available at https://www.apache.org/licenses/LICENSE-2.0. +# +# SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************** + --- name: Semgrep Differential Scan on: pull_request: +permissions: + contents: read + statuses: write + jobs: semgrep-diff: uses: adoptium/.github/.github/workflows/semgrep_diff.yml@main From 31f152cae949740290c6d3fbc0da4ee9524fd458 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Jun 2024 00:40:42 +0000 Subject: [PATCH 014/174] Bump github/codeql-action from 3.25.7 to 3.25.8 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.7 to 3.25.8. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/f079b8493333aace61c81488f8bd40919487bd9f...2e230e8fe0ad3a14a340ad0815ddb96d599d2aff) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 44c244be7..8dca134a7 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@f079b8493333aace61c81488f8bd40919487bd9f # v3.25.7 + uses: github/codeql-action/init@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -59,6 +59,6 @@ jobs: ./mvnw --batch-mode clean -Dmaven.test.skip=true install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@f079b8493333aace61c81488f8bd40919487bd9f # v3.25.7 + uses: github/codeql-action/analyze@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 with: category: "/language:${{matrix.language}}" From 30455ca42f80cd30d07014d42533fb61397b5db6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 00:49:20 +0000 Subject: [PATCH 015/174] Bump docker/build-push-action in /.github/actions/docker-build Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5.3.0 to 5.4.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/2cdde995de11925a030ce8070c3d77a52ffcf1c0...ca052bb54ab0790a636c9b5f226502c73d547a25) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/actions/docker-build/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/docker-build/action.yml b/.github/actions/docker-build/action.yml index 01d768ae8..8bd1c96e0 100644 --- a/.github/actions/docker-build/action.yml +++ b/.github/actions/docker-build/action.yml @@ -14,7 +14,7 @@ runs: using: composite steps: - name: Build container image and push to Azure - uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5.3.0 + uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 # v5.4.0 with: file: ${{ inputs.DOCKER_FILE }} tags: ${{ inputs.DOCKER_REPO }}:latest From 6f3f1b43d2b93d3b0d163dae4964bfab6ed11e60 Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Tue, 11 Jun 2024 21:52:09 +0100 Subject: [PATCH 016/174] Reduce update delay by ignoreing updating prereleases that are more than 90 days old --- adoptium-api-versions/pom.xml | 6 +- .../adoptium/api/v3/routes/AssetsResource.kt | 28 ++--- .../net/adoptium/api/v3/config/APIConfig.kt | 3 + .../net/adoptium/api/v3/AdoptReposBuilder.kt | 7 +- .../net/adoptium/api/v3/AdoptRepository.kt | 49 ++++---- .../adoptium/api/v3/ReleaseIncludeFilter.kt | 58 +++++++++ .../kotlin/net/adoptium/api/v3/V3Updater.kt | 53 ++++---- .../net/adoptium/api/AdoptReleaseNotesTest.kt | 5 +- .../net/adoptium/api/AdoptReposBuilderTest.kt | 17 +-- .../api/GraphQLGitHubReleaseClientTest.kt | 114 +++++++++++++++++- .../kotlin/net/adoptium/api/UpdateRunner.kt | 2 +- .../kotlin/net/adoptium/api/V3UpdaterTest.kt | 16 ++- .../api/testDoubles/AdoptRepositoryStub.kt | 3 +- .../api/v3/dataSources/github/GitHubApi.kt | 2 +- .../github/graphql/GraphQLGitHubClient.kt | 4 +- .../clients/GraphQLGitHubRepositoryClient.kt | 18 ++- .../v3/mapping/adopt/AdoptReleaseMapper.kt | 2 +- pom.xml | 4 +- 18 files changed, 294 insertions(+), 97 deletions(-) create mode 100644 adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/ReleaseIncludeFilter.kt diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml index 588d0d5bf..3dff1cb43 100644 --- a/adoptium-api-versions/pom.xml +++ b/adoptium-api-versions/pom.xml @@ -20,7 +20,7 @@ 3.5.0 UTF-8 UTF-8 - 3.9.4 + 3.11.1 5.4.0 @@ -411,7 +411,7 @@ com.expediagroup graphql-kotlin-ktor-client - 7.0.2 + 7.1.1 org.jetbrains.kotlinx @@ -422,7 +422,7 @@ com.expediagroup graphql-kotlin-client-jackson - 7.0.2 + 7.1.1 diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/AssetsResource.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/AssetsResource.kt index 59a63d1d0..d12a9edbc 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/AssetsResource.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/AssetsResource.kt @@ -1,5 +1,19 @@ package net.adoptium.api.v3.routes +import jakarta.enterprise.context.ApplicationScoped +import jakarta.inject.Inject +import jakarta.ws.rs.BadRequestException +import jakarta.ws.rs.GET +import jakarta.ws.rs.NotFoundException +import jakarta.ws.rs.Path +import jakarta.ws.rs.PathParam +import jakarta.ws.rs.Produces +import jakarta.ws.rs.QueryParam +import jakarta.ws.rs.ServerErrorException +import jakarta.ws.rs.core.Context +import jakarta.ws.rs.core.MediaType +import jakarta.ws.rs.core.Response +import jakarta.ws.rs.core.UriInfo import net.adoptium.api.v3.OpenApiDocs import net.adoptium.api.v3.Pagination.defaultPageSize import net.adoptium.api.v3.Pagination.getResponseForPage @@ -29,20 +43,6 @@ import org.eclipse.microprofile.openapi.annotations.parameters.Parameter import org.eclipse.microprofile.openapi.annotations.responses.APIResponse import org.eclipse.microprofile.openapi.annotations.responses.APIResponses import org.eclipse.microprofile.openapi.annotations.tags.Tag -import jakarta.enterprise.context.ApplicationScoped -import jakarta.inject.Inject -import jakarta.ws.rs.BadRequestException -import jakarta.ws.rs.GET -import jakarta.ws.rs.NotFoundException -import jakarta.ws.rs.Path -import jakarta.ws.rs.PathParam -import jakarta.ws.rs.Produces -import jakarta.ws.rs.QueryParam -import jakarta.ws.rs.ServerErrorException -import jakarta.ws.rs.core.Context -import jakarta.ws.rs.core.MediaType -import jakarta.ws.rs.core.Response -import jakarta.ws.rs.core.UriInfo @Tag(name = "Assets") @Path("/v3/assets/") diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/config/APIConfig.kt b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/config/APIConfig.kt index 1256d7792..e522e05fb 100644 --- a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/config/APIConfig.kt +++ b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/config/APIConfig.kt @@ -8,5 +8,8 @@ class APIConfig { var DISABLE_UPDATER: Boolean = System.getenv("DISABLE_UPDATER")?.toBoolean() ?: false var UPDATE_ADOPTOPENJDK: Boolean = System.getenv("UPDATE_ADOPTOPENJDK")?.toBoolean() ?: false + + // We will only update pre-releases if they are less than n days old + var UPDATE_DAY_CUTOFF: Int = System.getenv("UPDATE_DAY_CUTOFF")?.toInt() ?: 90 } } diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptReposBuilder.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptReposBuilder.kt index 2b1040e93..7016ad33c 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptReposBuilder.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptReposBuilder.kt @@ -1,6 +1,8 @@ package net.adoptium.api.v3 +import ReleaseIncludeFilter import jakarta.enterprise.context.ApplicationScoped +import jakarta.inject.Inject import net.adoptium.api.v3.dataSources.github.graphql.models.summary.GHReleaseSummary import net.adoptium.api.v3.dataSources.github.graphql.models.summary.GHRepositorySummary import net.adoptium.api.v3.dataSources.models.AdoptRepos @@ -12,7 +14,6 @@ import net.adoptium.api.v3.models.GHReleaseMetadata import net.adoptium.api.v3.models.Release import org.slf4j.LoggerFactory import java.time.temporal.ChronoUnit -import jakarta.inject.Inject import kotlin.math.absoluteValue @ApplicationScoped @@ -156,13 +157,13 @@ class AdoptReposBuilder @Inject constructor(private var adoptRepository: AdoptRe } } - suspend fun build(versions: Array): AdoptRepos { + suspend fun build(versions: Array, filter: ReleaseIncludeFilter): AdoptRepos { excluded.clear() // Fetch repos in parallel val reposMap = versions .reversed() .mapNotNull { version -> - adoptRepository.getRelease(version) + adoptRepository.getRelease(version, filter) } .associateBy { it.featureVersion } LOGGER.info("DONE") diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptRepository.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptRepository.kt index 2618b0e0d..f528a0696 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptRepository.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptRepository.kt @@ -1,10 +1,11 @@ package net.adoptium.api.v3 +import ReleaseIncludeFilter import jakarta.enterprise.context.ApplicationScoped +import jakarta.inject.Inject import kotlinx.coroutines.Deferred import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.async -import net.adoptium.api.v3.config.APIConfig import net.adoptium.api.v3.dataSources.github.GitHubApi import net.adoptium.api.v3.dataSources.github.graphql.models.GHAsset import net.adoptium.api.v3.dataSources.github.graphql.models.PageInfo @@ -20,17 +21,13 @@ import net.adoptium.api.v3.models.Release import net.adoptium.api.v3.models.ReleaseType import net.adoptium.api.v3.models.Vendor import org.slf4j.LoggerFactory -import jakarta.inject.Inject interface AdoptRepository { - suspend fun getRelease(version: Int): FeatureRelease? + suspend fun getRelease(version: Int, filter: ReleaseIncludeFilter): FeatureRelease? suspend fun getSummary(version: Int): GHRepositorySummary suspend fun getReleaseById(gitHubId: GitHubId): ReleaseResult? suspend fun getReleaseFilesForId(gitHubId: GitHubId): List? - companion object { - val VENDORS_EXCLUDED_FROM_FULL_UPDATE = setOf(Vendor.adoptopenjdk) - } } @ApplicationScoped @@ -92,31 +89,25 @@ open class AdoptRepositoryImpl @Inject constructor( ?.assets } - override suspend fun getRelease(version: Int): FeatureRelease { + override suspend fun getRelease(version: Int, filter: ReleaseIncludeFilter): FeatureRelease { + val repo = getDataForEachRepo( version, - ::getRepository, - getFullUpdateFilter() + filter, + getRepository(filter) ) .await() .filterNotNull() .map { AdoptRepo(it) } - return FeatureRelease(version, repo) - } - // If not explicitly updating AdoptOpenJDK exclude them - private fun getFullUpdateFilter(): (Vendor) -> Boolean = if (APIConfig.UPDATE_ADOPTOPENJDK) { - { true } // include all vendors - } else { - { vendor -> !AdoptRepository.VENDORS_EXCLUDED_FROM_FULL_UPDATE.contains(vendor) } // exclude AdoptOpenjdk + return FeatureRelease(version, repo) } override suspend fun getSummary(version: Int): GHRepositorySummary { val releaseSummaries = getDataForEachRepo( version, - { owner: String, repoName: String -> client.getRepositorySummary(owner, repoName) }, - { true } // include all vendors in summary update - ) + ReleaseIncludeFilter.INCLUDE_ALL + ) { _: Vendor, owner: String, repoName: String -> client.getRepositorySummary(owner, repoName) } .await() .filterNotNull() .flatMap { it.releases.releases } @@ -124,9 +115,13 @@ open class AdoptRepositoryImpl @Inject constructor( return GHRepositorySummary(GHReleasesSummary(releaseSummaries, PageInfo(false, ""))) } - private suspend fun getRepository(owner: String, repoName: String): List { + private fun getRepository(filter: ReleaseIncludeFilter): suspend (Vendor, String, String) -> List { + return { vendor: Vendor, owner: String, repoName: String -> getRepository(filter, vendor, owner, repoName) } + } + + private suspend fun getRepository(filter: ReleaseIncludeFilter, vendor: Vendor, owner: String, repoName: String): List { return client - .getRepository(owner, repoName) + .getRepository(owner, repoName) { updatedAt, isPrerelease -> filter.filter(vendor, updatedAt, isPrerelease) } .getReleases() .flatMap { try { @@ -154,8 +149,8 @@ open class AdoptRepositoryImpl @Inject constructor( private suspend fun getDataForEachRepo( version: Int, - getFun: suspend (String, String) -> E, - filter: (Vendor) -> Boolean + filter: ReleaseIncludeFilter, + getFun: suspend (Vendor, String, String) -> E ): Deferred> { LOGGER.info("getting $version") return GlobalScope.async { @@ -182,15 +177,15 @@ open class AdoptRepositoryImpl @Inject constructor( owner: String, vendor: Vendor, repoName: String, - getFun: suspend (String, String) -> E, - filter: (Vendor) -> Boolean + getFun: suspend (Vendor, String, String) -> E, + filter: ReleaseIncludeFilter ): Deferred { return GlobalScope.async { - if (!Vendor.validVendor(vendor) || !filter.invoke(vendor)) { + if (!Vendor.validVendor(vendor) || !filter.filterVendor(vendor)) { return@async null } LOGGER.info("getting $owner $repoName") - val releases = getFun(owner, repoName) + val releases = getFun(vendor, owner, repoName) LOGGER.info("Done getting $owner $repoName") return@async releases } diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/ReleaseIncludeFilter.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/ReleaseIncludeFilter.kt new file mode 100644 index 000000000..ae9863877 --- /dev/null +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/ReleaseIncludeFilter.kt @@ -0,0 +1,58 @@ +import net.adoptium.api.v3.TimeSource +import net.adoptium.api.v3.config.APIConfig +import net.adoptium.api.v3.mapping.ReleaseMapper +import net.adoptium.api.v3.models.Vendor +import java.time.Duration +import java.time.ZonedDateTime + +enum class ReleaseFilterType { + RELEASES_ONLY, + SNAPSHOTS_ONLY, + ALL +} + +class ReleaseIncludeFilter( + private val now: ZonedDateTime, + private val filterType: ReleaseFilterType, + private val includeAll: Boolean = false, + private val excludedVendors: Set = VENDORS_EXCLUDED_FROM_FULL_UPDATE +) { + companion object { + val VENDORS_EXCLUDED_FROM_FULL_UPDATE = setOf(Vendor.adoptopenjdk) + + val INCLUDE_ALL = ReleaseIncludeFilter(TimeSource.now(), ReleaseFilterType.ALL, true) + } + + fun filterVendor(vendor: Vendor): Boolean { + if (includeAll || APIConfig.UPDATE_ADOPTOPENJDK) { + return true // include all vendors + } else { + return !excludedVendors.contains(vendor) + } + } + + fun filter(vendor: Vendor, startTime: String, isPrerelease: Boolean): Boolean { + return filter(vendor, ReleaseMapper.parseDate(startTime), isPrerelease) + } + + fun filter(vendor: Vendor, startTime: ZonedDateTime, isPrerelease: Boolean): Boolean { + if (includeAll || APIConfig.UPDATE_ADOPTOPENJDK) { + return true // include all vendors + } else { + var include = !excludedVendors.contains(vendor) + + if (filterType == ReleaseFilterType.RELEASES_ONLY) { + include = include && isPrerelease == false + + // For releases only do not apply date cut off + return include + } else if (filterType == ReleaseFilterType.SNAPSHOTS_ONLY) { + include = include && isPrerelease == true + } + + return include && Duration.between(startTime, now).toDays() < APIConfig.UPDATE_DAY_CUTOFF + // exclude AdoptOpenjdk + // Don't Update releases more than a year old + } + } +} diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/V3Updater.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/V3Updater.kt index 98984eb56..098627c1e 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/V3Updater.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/V3Updater.kt @@ -1,5 +1,7 @@ package net.adoptium.api.v3 +import ReleaseFilterType +import ReleaseIncludeFilter import io.quarkus.arc.profile.UnlessBuildProfile import io.quarkus.runtime.Startup import jakarta.enterprise.context.ApplicationScoped @@ -16,6 +18,7 @@ import net.adoptium.api.v3.dataSources.UpdaterJsonMapper import net.adoptium.api.v3.dataSources.models.AdoptRepos import net.adoptium.api.v3.dataSources.persitence.ApiPersistence import net.adoptium.api.v3.models.Release +import net.adoptium.api.v3.models.ReleaseType import net.adoptium.api.v3.models.Versions import net.adoptium.api.v3.releaseNotes.AdoptReleaseNotes import net.adoptium.api.v3.stats.StatsInterface @@ -26,6 +29,7 @@ import java.util.* import java.util.concurrent.ConcurrentSkipListSet import java.util.concurrent.Executors import java.util.concurrent.TimeUnit +import java.util.concurrent.atomic.AtomicBoolean import kotlin.concurrent.timerTask @UnlessBuildProfile("test") @@ -63,11 +67,11 @@ class V3Updater @Inject constructor( return String(Base64.getEncoder().encode(md.digest())) } - fun copyOldReleasesIntoNewRepo(currentRepo: AdoptRepos, newRepoData: AdoptRepos) = newRepoData + fun copyOldReleasesIntoNewRepo(currentRepo: AdoptRepos, newRepoData: AdoptRepos, filter: ReleaseIncludeFilter) = newRepoData .addAll(currentRepo .allReleases .getReleases() - .filter { AdoptRepository.VENDORS_EXCLUDED_FROM_FULL_UPDATE.contains(it.vendor) } + .filter { !filter.filter(it.vendor, it.updated_at.dateTime, it.release_type == ReleaseType.ea) } .toList()) } @@ -217,30 +221,42 @@ class V3Updater @Inject constructor( AdoptRepos(emptyList()) } - executor.scheduleWithFixedDelay( - timerTask { - repo = fullUpdate(repo) ?: repo - }, - delay, 1, TimeUnit.DAYS - ) + val incrementalUpdateScheduled = AtomicBoolean(false) executor.scheduleWithFixedDelay( timerTask { - repo = incrementalUpdate(repo) ?: repo + repo = fullUpdate(repo, true) ?: repo + if (!incrementalUpdateScheduled.getAndSet(true)) { + executor.scheduleWithFixedDelay( + timerTask { + repo = incrementalUpdate(repo) ?: repo + }, + 1, 6, TimeUnit.MINUTES + ) + } + repo = fullUpdate(repo, false) ?: repo }, - 1, 6, TimeUnit.MINUTES + delay, 1, TimeUnit.DAYS ) } - fun fullUpdate(currentRepo: AdoptRepos): AdoptRepos? { + fun fullUpdate(currentRepo: AdoptRepos, releasesOnly: Boolean): AdoptRepos? { // Must catch errors or may kill the scheduler try { return runBlocking { - LOGGER.info("Starting Full update") + LOGGER.info("Starting Full update {}", releasesOnly) - val newRepoData = adoptReposBuilder.build(Versions.versions) + val filterType: ReleaseFilterType = if (releasesOnly) { + ReleaseFilterType.RELEASES_ONLY + } else { + ReleaseFilterType.ALL + } + + val filter = ReleaseIncludeFilter(TimeSource.now(), filterType) + + val newRepoData = adoptReposBuilder.build(Versions.versions, filter) - val repo = carryOverExcludedReleases(currentRepo, newRepoData) + val repo = copyOldReleasesIntoNewRepo(currentRepo, newRepoData, filter) val checksum = calculateChecksum(repo) @@ -268,13 +284,4 @@ class V3Updater @Inject constructor( return null } - // Releases that were excluded from the update due to being archived, copy them over from existing data - private fun carryOverExcludedReleases(currentRepo: AdoptRepos, newRepoData: AdoptRepos) = if (!APIConfig.UPDATE_ADOPTOPENJDK) { - // AdoptOpenJdk were excluded from full update so copy them from previous - copyOldReleasesIntoNewRepo(currentRepo, newRepoData) - } else { - newRepoData - } - - } diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReleaseNotesTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReleaseNotesTest.kt index 24f25e449..f40b53612 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReleaseNotesTest.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReleaseNotesTest.kt @@ -1,5 +1,6 @@ package net.adoptium.api +import ReleaseIncludeFilter import kotlinx.coroutines.runBlocking import net.adoptium.api.testDoubles.InMemoryApiPersistence import net.adoptium.api.v3.AdoptRepository @@ -63,8 +64,8 @@ class AdoptReleaseNotesTest : BaseTest() { } private fun addReleaseNotesFiles(adoptRepository: AdoptRepository) = object : AdoptRepository { - override suspend fun getRelease(version: Int): FeatureRelease? { - return adoptRepository.getRelease(version) + override suspend fun getRelease(version: Int, filter: ReleaseIncludeFilter): FeatureRelease? { + return adoptRepository.getRelease(version, filter) } override suspend fun getSummary(version: Int): GHRepositorySummary { diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReposBuilderTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReposBuilderTest.kt index 52048444c..b1faa4c3d 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReposBuilderTest.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReposBuilderTest.kt @@ -1,5 +1,7 @@ package net.adoptium.api +import ReleaseFilterType +import ReleaseIncludeFilter import io.mockk.coEvery import io.mockk.coVerify import io.mockk.spyk @@ -8,12 +10,12 @@ import net.adoptium.api.testDoubles.AdoptRepositoryStub import net.adoptium.api.v3.AdoptReposBuilder import net.adoptium.api.v3.AdoptRepository import net.adoptium.api.v3.ReleaseResult +import net.adoptium.api.v3.TimeSource import net.adoptium.api.v3.dataSources.models.AdoptRepos import net.adoptium.api.v3.dataSources.models.GitHubId import net.adoptium.api.v3.models.GHReleaseMetadata import org.jboss.weld.junit5.auto.EnableAutoWeld import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.Disabled import org.junit.jupiter.api.Test @EnableAutoWeld @@ -29,9 +31,9 @@ class AdoptReposBuilderTest : BaseTest() { } @Test - @Disabled("FIX ME, pending spyk fix from mockk") - fun addReleaseIsUpdatedExplicitly(adoptRepository: AdoptRepository) { + fun addReleaseIsUpdatedExplicitly() { runBlocking { + val adoptRepository = AdoptRepositoryStub() val adoptRepo = spyk(adoptRepository) val adoptReposBuilder = AdoptReposBuilder(adoptRepo) @@ -96,9 +98,10 @@ class AdoptReposBuilderTest : BaseTest() { } @Test - @Disabled("FIX ME, pending spyk fix from mockk") - fun `young releases continue to be pulled`(repo: AdoptRepos, adoptRepository: AdoptRepository) { + fun `young releases continue to be pulled`() { runBlocking { + val repo = stub.repo; + val adoptRepository = AdoptRepositoryStub() val adoptRepo = spyk(adoptRepository) val adoptReposBuilder = AdoptReposBuilder(adoptRepo) @@ -112,9 +115,9 @@ class AdoptReposBuilderTest : BaseTest() { } @Test - @Disabled("FIX ME, pending spyk fix from mockk") - fun `release is updated when binary count changes`(adoptRepository: AdoptRepository) { + fun `release is updated when binary count changes`() { runBlocking { + val adoptRepository = AdoptRepositoryStub() val adoptRepo = spyk(adoptRepository) val adoptReposBuilder = AdoptReposBuilder(adoptRepo) diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/GraphQLGitHubReleaseClientTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/GraphQLGitHubReleaseClientTest.kt index 40627f4e6..33977a982 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/GraphQLGitHubReleaseClientTest.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/GraphQLGitHubReleaseClientTest.kt @@ -1,11 +1,18 @@ package net.adoptium.api +import ReleaseFilterType +import ReleaseIncludeFilter import com.expediagroup.graphql.client.types.GraphQLClientRequest import com.expediagroup.graphql.client.types.GraphQLClientResponse +import io.mockk.coEvery import io.mockk.every import io.mockk.mockk import kotlinx.coroutines.runBlocking import net.adoptium.api.v3.AdoptRepositoryImpl +import net.adoptium.api.v3.ReleaseResult +import net.adoptium.api.v3.TimeSource +import net.adoptium.api.v3.dataSources.github.GitHubHtmlClient +import net.adoptium.api.v3.dataSources.github.graphql.GraphQLGitHubClient import net.adoptium.api.v3.dataSources.github.graphql.clients.GraphQLGitHubInterface import net.adoptium.api.v3.dataSources.github.graphql.clients.GraphQLGitHubReleaseClient import net.adoptium.api.v3.dataSources.github.graphql.clients.GraphQLGitHubReleaseRequest @@ -27,8 +34,20 @@ import net.adoptium.api.v3.dataSources.github.graphql.models.summary.GHReleaseSu import net.adoptium.api.v3.dataSources.github.graphql.models.summary.GHReleasesSummary import net.adoptium.api.v3.dataSources.github.graphql.models.summary.GHRepositorySummary import net.adoptium.api.v3.dataSources.models.GitHubId +import net.adoptium.api.v3.mapping.ReleaseMapper +import net.adoptium.api.v3.mapping.ReleaseMapper.Companion.parseDate +import net.adoptium.api.v3.mapping.adopt.AdoptReleaseMapperFactory +import net.adoptium.api.v3.models.DateTime +import net.adoptium.api.v3.models.Release +import net.adoptium.api.v3.models.ReleaseType +import net.adoptium.api.v3.models.Vendor +import net.adoptium.api.v3.models.VersionData import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.DynamicTest import org.junit.jupiter.api.Test +import org.junit.jupiter.api.TestFactory +import java.time.ZonedDateTime +import java.util.stream.Stream class GraphQLGitHubReleaseClientTest : BaseTest() { companion object { @@ -110,7 +129,7 @@ class GraphQLGitHubReleaseClientTest : BaseTest() { val client = GraphQLGitHubRepositoryClient(graphQLGitHubInterface, graphQLGitHubReleaseRequest) - val repo = client.getRepository(AdoptRepositoryImpl.ADOPT_ORG, "a-repo-name") + val repo = client.getRepository(AdoptRepositoryImpl.ADOPT_ORG, "a-repo-name", { _, _ -> true }) assertEquals(Companion.repo, repo) } @@ -182,15 +201,104 @@ class GraphQLGitHubReleaseClientTest : BaseTest() { } } - val graphQLGitHubInterface = GraphQLGitHubInterface(graphQLRequest, mockkHttpClient()) val graphQLGitHubReleaseRequest = GraphQLGitHubReleaseRequest(graphQLGitHubInterface) val client = GraphQLGitHubRepositoryClient(graphQLGitHubInterface, graphQLGitHubReleaseRequest) - val repo = client.getRepository(AdoptRepositoryImpl.ADOPT_ORG, "a-repo-name") + val repo = client.getRepository(AdoptRepositoryImpl.ADOPT_ORG, "a-repo-name", { _, _ -> true }) assertEquals(2, repo.releases.releases.size) } } + + @TestFactory + fun filtersReleases(): Stream { + val releaseDate = parseDate("2013-02-27T19:35:32Z") + return listOf( + Triple( + "prereleases more than 90 days old are ignored", + ReleaseIncludeFilter( + releaseDate.plusDays(91), + ReleaseFilterType.ALL + ), + 0 + ), + Triple( + "prereleases less than 90 days old are not ignored", + ReleaseIncludeFilter( + releaseDate.plusDays(89), + ReleaseFilterType.ALL + ), + 1 + ), + Triple( + "release type filter is applied", + ReleaseIncludeFilter( + releaseDate.plusDays(89), + ReleaseFilterType.RELEASES_ONLY + ), + 0 + ) + ) + .map { + return@map DynamicTest.dynamicTest(it.first) { + runBlocking { + val repository = setupFilterTest() + val repo = repository.getRelease(8, it.second) + assertEquals(it.third, repo.releases.getReleases().count()) + } + } + } + .stream() + } + + private fun setupFilterTest(): AdoptRepositoryImpl { + val graphQLRequest = object : GraphQLRequest { + override suspend fun request(query: GraphQLClientRequest): GraphQLClientResponse { + val builder = mockk>() + + every { builder.data } returns QueryData(repo, RateLimit(0, 5000)) as F + every { builder.errors } returns null + return builder + } + }; + + val graphQLGitHubInterface = GraphQLGitHubInterface(graphQLRequest, mockkHttpClient()) + val graphQLGitHubReleaseRequest = GraphQLGitHubReleaseRequest(graphQLGitHubInterface) + + val client = GraphQLGitHubRepositoryClient(graphQLGitHubInterface, graphQLGitHubReleaseRequest) + + + val htmlClient = mockk(); + coEvery { htmlClient.getUrl(any()) }.returns(null) + + val adoptReleaseMapperFactory = mockk() + every { adoptReleaseMapperFactory.get(any()) }.returns( + object : ReleaseMapper() { + override suspend fun toAdoptRelease(ghRelease: GHRelease): ReleaseResult { + return ReleaseResult( + listOf( + Release( + "foo", ReleaseType.ga, "a", "foo", + DateTime(ZonedDateTime.of(2010, 1, 1, 1, 1, 0, 0, TimeSource.ZONE)), + DateTime(ZonedDateTime.of(2010, 1, 1, 1, 1, 0, 0, TimeSource.ZONE)), + arrayOf(), 2, Vendor.getDefault(), + VersionData(8, 0, 242, "b", null, 4, "b", "") + ), + ) + ) + } + }) + + val repository = AdoptRepositoryImpl( + GraphQLGitHubClient( + mockk(), + mockk(), + client + ), + adoptReleaseMapperFactory + ) + return repository + } } diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/UpdateRunner.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/UpdateRunner.kt index d75cb90b6..9c3c72f25 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/UpdateRunner.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/UpdateRunner.kt @@ -76,7 +76,7 @@ class UpdateRunner { ) val repo = AdoptRepositoryImpl(client, AdoptReleaseMapperFactory(AdoptBinaryMapper(gitHubHtmlClient), gitHubHtmlClient)) - repo.getRelease(8) + repo.getRelease(8, ReleaseIncludeFilter.INCLUDE_ALL) } } } diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/V3UpdaterTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/V3UpdaterTest.kt index b4e0a8035..852807df3 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/V3UpdaterTest.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/V3UpdaterTest.kt @@ -1,8 +1,11 @@ package net.adoptium.api +import ReleaseIncludeFilter import kotlinx.coroutines.runBlocking +import net.adoptium.api.v3.TimeSource import net.adoptium.api.v3.V3Updater import net.adoptium.api.v3.dataSources.models.AdoptRepos +import net.adoptium.api.v3.models.ReleaseType import net.adoptium.api.v3.models.Vendor import org.junit.jupiter.api.Assertions import org.junit.jupiter.api.Assertions.assertTrue @@ -32,21 +35,28 @@ class V3UpdaterTest { runBlocking { val repo = AdoptReposTestDataGenerator.generate(); + val filter = ReleaseIncludeFilter( + TimeSource.now(), + ReleaseFilterType.ALL, + false, + setOf(Vendor.adoptopenjdk) + ) + val adoptopenjdk = AdoptRepos(emptyList()).addAll(repo .allReleases .getReleases() - .filter { it.vendor == Vendor.adoptopenjdk } + .filter { filter.filter(it.vendor, it.updated_at.dateTime, it.release_type == ReleaseType.ea) } .toList() ) val notAdoptopenjdk = AdoptRepos(emptyList()).addAll(repo .allReleases .getReleases() - .filter { it.vendor != Vendor.adoptopenjdk } + .filter { !filter.filter(it.vendor, it.updated_at.dateTime, it.release_type == ReleaseType.ea) } .toList() ) - val concated = V3Updater.copyOldReleasesIntoNewRepo(adoptopenjdk, notAdoptopenjdk) + val concated = V3Updater.copyOldReleasesIntoNewRepo(adoptopenjdk, notAdoptopenjdk, filter) Assertions.assertEquals(repo, concated) } diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/testDoubles/AdoptRepositoryStub.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/testDoubles/AdoptRepositoryStub.kt index 0b942761e..82c1bb420 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/testDoubles/AdoptRepositoryStub.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/testDoubles/AdoptRepositoryStub.kt @@ -1,5 +1,6 @@ package net.adoptium.api.testDoubles +import ReleaseIncludeFilter import jakarta.annotation.Priority import jakarta.enterprise.context.ApplicationScoped import jakarta.enterprise.inject.Alternative @@ -74,7 +75,7 @@ open class AdoptRepositoryStub : AdoptRepository { ) } - override suspend fun getRelease(version: Int): FeatureRelease? { + override suspend fun getRelease(version: Int, filter: ReleaseIncludeFilter): FeatureRelease? { return updated.getFeatureRelease(version) } diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/GitHubApi.kt b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/GitHubApi.kt index 5144c9bd5..f27d1f49f 100644 --- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/GitHubApi.kt +++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/GitHubApi.kt @@ -6,7 +6,7 @@ import net.adoptium.api.v3.dataSources.github.graphql.models.summary.GHRepositor import net.adoptium.api.v3.dataSources.models.GitHubId interface GitHubApi { - suspend fun getRepository(owner: String, repoName: String): GHRepository + suspend fun getRepository(owner: String, repoName: String, filter: (updatedAt: String, isPrerelease: Boolean) -> Boolean): GHRepository suspend fun getRepositorySummary(owner: String, repoName: String): GHRepositorySummary suspend fun getReleaseById(id: GitHubId): GHRelease? } diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/GraphQLGitHubClient.kt b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/GraphQLGitHubClient.kt index ae9772c88..15166684c 100644 --- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/GraphQLGitHubClient.kt +++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/GraphQLGitHubClient.kt @@ -26,7 +26,7 @@ open class GraphQLGitHubClient @Inject constructor( return releaseClient.getReleaseById(id) } - override suspend fun getRepository(owner: String, repoName: String): GHRepository { - return repositoryClientClient.getRepository(owner, repoName) + override suspend fun getRepository(owner: String, repoName: String, filter: (updatedAt: String, isPrerelease: Boolean) -> Boolean): GHRepository { + return repositoryClientClient.getRepository(owner, repoName, filter) } } diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLGitHubRepositoryClient.kt b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLGitHubRepositoryClient.kt index c011b6414..778617078 100644 --- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLGitHubRepositoryClient.kt +++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLGitHubRepositoryClient.kt @@ -23,14 +23,17 @@ open class GraphQLGitHubRepositoryClient @Inject constructor( private val LOGGER = LoggerFactory.getLogger(this::class.java) } - open suspend fun getRepository(owner: String, repoName: String): GHRepository { + open suspend fun getRepository( + owner: String, + repoName: String, + filter: (updateTime: String, isPrerelease: Boolean) -> Boolean): GHRepository { val query = GetQueryData(owner, repoName) LOGGER.info("Getting repo $repoName") val releases = graphQLGitHubInterface.getAll( query::withCursor, - { request -> getAllAssets(request) }, + { request -> getAllAssets(request, filter) }, { it.repository!!.releases.pageInfo.hasNextPage }, { it.repository!!.releases.pageInfo.endCursor } ) @@ -40,11 +43,18 @@ open class GraphQLGitHubRepositoryClient @Inject constructor( return GHRepository(GHReleases(releases, PageInfo(false, null))) } - private suspend fun getAllAssets(request: QueryData): List { + private suspend fun getAllAssets(request: QueryData, filter: (updateTime: String, isPrerelease: Boolean) -> Boolean): List { if (request.repository == null) return listOf() // nested releases based on how we deserialise githubs data return request.repository.releases.releases + .filter { + val include = filter(it.updatedAt, it.isPrerelease) + if (!include) { + LOGGER.debug("Excluding " + it.url) + } + return@filter include + } .map { release -> if (release.releaseAssets.pageInfo.hasNextPage) { graphQLGitHubReleaseRequest.getAllReleaseAssets(release) @@ -75,7 +85,7 @@ open class GraphQLGitHubRepositoryClient @Inject constructor( updatedAt, isPrerelease, resourcePath, - releaseAssets(first:50) { + releaseAssets(first:1) { totalCount, nodes { downloadCount, diff --git a/adoptium-updater-parent/adoptium-mappers-parent/adopt-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/adopt/AdoptReleaseMapper.kt b/adoptium-updater-parent/adoptium-mappers-parent/adopt-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/adopt/AdoptReleaseMapper.kt index ca6341ff6..6fa176ad8 100644 --- a/adoptium-updater-parent/adoptium-mappers-parent/adopt-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/adopt/AdoptReleaseMapper.kt +++ b/adoptium-updater-parent/adoptium-mappers-parent/adopt-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/adopt/AdoptReleaseMapper.kt @@ -39,7 +39,7 @@ open class AdoptReleaseMapperFactory @Inject constructor( ) { private val mappers: MutableMap = EnumMap(Vendor::class.java) - fun get(vendor: Vendor): ReleaseMapper { + open fun get(vendor: Vendor): ReleaseMapper { return if (mappers.containsKey(vendor)) { mappers[vendor]!! } else { diff --git a/pom.xml b/pom.xml index cc4fbce39..f99112c4e 100644 --- a/pom.xml +++ b/pom.xml @@ -58,7 +58,7 @@ 3.3.2 2.4.0 7.5.0 - 1.16.0 + 1.16.1 3.22.0 3.5.0 0.16.1 @@ -82,7 +82,7 @@ 4.7.3 UTF-8 UTF-8 - 3.9.4 + 3.11.1 From c8668c4c5d80180df773c180954d64139425f6cc Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Tue, 11 Jun 2024 22:13:03 +0100 Subject: [PATCH 017/174] Update codeql.yml --- .github/workflows/codeql.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 4fe3c0823..1eb1e96a4 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -56,7 +56,7 @@ jobs: - if: matrix.build-mode == 'manual' run: | - ./mvnw --batch-mode clean -Dmaven.test.skip=true install -Padoptium,-adoptopenjdk + ./mvnw --batch-mode clean install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@b7cec7526559c32f1616476ff32d17ba4c59b2d6 # v3.25.5 From cd49bca30873890a9c52a97975e266a98f89d37d Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Tue, 11 Jun 2024 22:16:22 +0100 Subject: [PATCH 018/174] Update Versions.kt --- .../src/main/kotlin/net/adoptium/api/v3/models/Versions.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/Versions.kt b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/Versions.kt index c05300d6f..39db3b5d4 100644 --- a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/Versions.kt +++ b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/Versions.kt @@ -2,7 +2,7 @@ package net.adoptium.api.v3.models object Versions { - private const val DEFAULT_LATEST_JAVA_VERSION = 21 + private const val DEFAULT_LATEST_JAVA_VERSION = 23 private const val LATEST_JAVA_VERSION_PROPERTY = "LATEST_JAVA_VERSION" private val latestJavaVersion: Int From df27f60c56183f76df4d0cee28dc5e1ca9d2e154 Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Wed, 12 Jun 2024 12:51:53 +0100 Subject: [PATCH 019/174] Default DISABLE_MONGO_HOST_CHECK to false --- .../adoptium/api/v3/dataSources/persitence/mongo/MongoClient.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoClient.kt b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoClient.kt index 3090c3bc8..17ed9d23c 100644 --- a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoClient.kt +++ b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoClient.kt @@ -68,7 +68,7 @@ open class MongoClient { .applyConnectionString(ConnectionString(connectionString)) val sslEnabled = System.getenv("MONGODB_SSL")?.toBoolean() if (sslEnabled == true) { - val checkMongoHostName = System.getenv("DISABLE_MONGO_HOST_CHECK")?.toBoolean() ?: true + val checkMongoHostName = System.getenv("DISABLE_MONGO_HOST_CHECK")?.toBoolean() ?: false settingsBuilder = settingsBuilder.applyToSslSettings { it.enabled(true).invalidHostNameAllowed(checkMongoHostName) } } From 56007d2b4d1125b135dbb8ddaacf8ac2ef81bc39 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Jun 2024 00:55:56 +0000 Subject: [PATCH 020/174] Bump github/codeql-action from 3.25.8 to 3.25.9 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.8 to 3.25.9. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/2e230e8fe0ad3a14a340ad0815ddb96d599d2aff...530d4feaa9c62aaab2d250371e2061eb7a172363) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index bfac96b81..053e46152 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 + uses: github/codeql-action/init@530d4feaa9c62aaab2d250371e2061eb7a172363 # v3.25.9 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -59,6 +59,6 @@ jobs: ./mvnw --batch-mode clean install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 + uses: github/codeql-action/analyze@530d4feaa9c62aaab2d250371e2061eb7a172363 # v3.25.9 with: category: "/language:${{matrix.language}}" From 1ab8715ccec263b6ad45e60c9ebdf30a4a5fdca2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Jun 2024 00:56:00 +0000 Subject: [PATCH 021/174] Bump actions/checkout from 4.1.6 to 4.1.7 Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.6 to 4.1.7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/a5ac7e51b41094c92402da3b24376905380afc29...692973e3d937129bcbf40652eb9f2f61becf3332) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/ci.yml | 2 +- .github/workflows/codeql.yml | 2 +- .github/workflows/deploy-adoptium.yml | 2 +- .github/workflows/deploy-adoptopenjdk.yml | 2 +- .github/workflows/publish.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 451a921eb..32cf64569 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: adoptopenjdk) echo "ARGS=-Padoptopenjdk,-adoptium" >> $GITHUB_ENV ;; esac - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: persist-credentials: false diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index bfac96b81..abe693075 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -36,7 +36,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/deploy-adoptium.yml b/.github/workflows/deploy-adoptium.yml index 033e4c901..2cf81f37a 100644 --- a/.github/workflows/deploy-adoptium.yml +++ b/.github/workflows/deploy-adoptium.yml @@ -14,7 +14,7 @@ jobs: if: startsWith(github.repository, 'adoptium/') runs-on: ubuntu-latest steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Login to Azure uses: ./.github/actions/azure-login diff --git a/.github/workflows/deploy-adoptopenjdk.yml b/.github/workflows/deploy-adoptopenjdk.yml index 5b017fbaf..ba797ece6 100644 --- a/.github/workflows/deploy-adoptopenjdk.yml +++ b/.github/workflows/deploy-adoptopenjdk.yml @@ -14,7 +14,7 @@ jobs: if: startsWith(github.repository, 'adoptium/') runs-on: ubuntu-latest steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Login to Azure uses: ./.github/actions/azure-login diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0bdf9835b..41cd0a6e9 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -14,7 +14,7 @@ jobs: contents: write # for Git to git push steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1 with: From f88047c2f147dedefdbbfc16ac4d1c504be459f5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Jun 2024 00:56:32 +0000 Subject: [PATCH 022/174] Bump io.quarkus:quarkus-maven-plugin from 3.11.1 to 3.11.2 Bumps io.quarkus:quarkus-maven-plugin from 3.11.1 to 3.11.2. --- updated-dependencies: - dependency-name: io.quarkus:quarkus-maven-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f99112c4e..5ac84ad67 100644 --- a/pom.xml +++ b/pom.xml @@ -82,7 +82,7 @@ 4.7.3 UTF-8 UTF-8 - 3.11.1 + 3.11.2 From fac8f43bb73245df1cc5750463b842b0a4a0e415 Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Thu, 13 Jun 2024 14:36:29 +0100 Subject: [PATCH 023/174] Fix filter so date filter is applied to non-excluded vendors --- .../adoptium/api/v3/ReleaseIncludeFilter.kt | 13 +++--- .../api/GraphQLGitHubReleaseClientTest.kt | 40 ++++++++++++++++--- 2 files changed, 42 insertions(+), 11 deletions(-) diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/ReleaseIncludeFilter.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/ReleaseIncludeFilter.kt index ae9863877..566c27f9e 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/ReleaseIncludeFilter.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/ReleaseIncludeFilter.kt @@ -39,15 +39,16 @@ class ReleaseIncludeFilter( if (includeAll || APIConfig.UPDATE_ADOPTOPENJDK) { return true // include all vendors } else { - var include = !excludedVendors.contains(vendor) + if (excludedVendors.contains(vendor)) { + return false + } - if (filterType == ReleaseFilterType.RELEASES_ONLY) { - include = include && isPrerelease == false + var include = true - // For releases only do not apply date cut off - return include + if (filterType == ReleaseFilterType.RELEASES_ONLY) { + return !isPrerelease } else if (filterType == ReleaseFilterType.SNAPSHOTS_ONLY) { - include = include && isPrerelease == true + include = isPrerelease } return include && Duration.between(startTime, now).toDays() < APIConfig.UPDATE_DAY_CUTOFF diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/GraphQLGitHubReleaseClientTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/GraphQLGitHubReleaseClientTest.kt index 33977a982..663248b2b 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/GraphQLGitHubReleaseClientTest.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/GraphQLGitHubReleaseClientTest.kt @@ -220,7 +220,8 @@ class GraphQLGitHubReleaseClientTest : BaseTest() { "prereleases more than 90 days old are ignored", ReleaseIncludeFilter( releaseDate.plusDays(91), - ReleaseFilterType.ALL + ReleaseFilterType.ALL, + excludedVendors = setOf() ), 0 ), @@ -228,7 +229,8 @@ class GraphQLGitHubReleaseClientTest : BaseTest() { "prereleases less than 90 days old are not ignored", ReleaseIncludeFilter( releaseDate.plusDays(89), - ReleaseFilterType.ALL + ReleaseFilterType.ALL, + excludedVendors = setOf() ), 1 ), @@ -236,10 +238,38 @@ class GraphQLGitHubReleaseClientTest : BaseTest() { "release type filter is applied", ReleaseIncludeFilter( releaseDate.plusDays(89), - ReleaseFilterType.RELEASES_ONLY + ReleaseFilterType.RELEASES_ONLY, + excludedVendors = setOf() ), 0 - ) + ), + Triple( + "date filter is applied to non-excluded vendor", + ReleaseIncludeFilter( + releaseDate.plusDays(91), + ReleaseFilterType.RELEASES_ONLY, + excludedVendors = setOf() + ), + 0 + ), + Triple( + "Excluded vendor more than 90 days is ignored", + ReleaseIncludeFilter( + releaseDate.plusDays(91), + ReleaseFilterType.ALL, + excludedVendors = setOf(Vendor.getDefault()) + ), + 0 + ), + Triple( + "Excluded vendor less than 90 days is ignored", + ReleaseIncludeFilter( + releaseDate.plusDays(89), + ReleaseFilterType.ALL, + excludedVendors = setOf(Vendor.getDefault()) + ), + 0 + ), ) .map { return@map DynamicTest.dynamicTest(it.first) { @@ -257,8 +287,8 @@ class GraphQLGitHubReleaseClientTest : BaseTest() { val graphQLRequest = object : GraphQLRequest { override suspend fun request(query: GraphQLClientRequest): GraphQLClientResponse { val builder = mockk>() - every { builder.data } returns QueryData(repo, RateLimit(0, 5000)) as F + every { builder.errors } returns null return builder } From 0f7aa53685449e9269be6114f5741662bad19734 Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Thu, 13 Jun 2024 16:22:25 +0100 Subject: [PATCH 024/174] FIx test --- .../api/GraphQLGitHubReleaseClientTest.kt | 17 ++++++++++++++++- .../clients/GraphQLGitHubRepositoryClient.kt | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/GraphQLGitHubReleaseClientTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/GraphQLGitHubReleaseClientTest.kt index 663248b2b..bf1890a25 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/GraphQLGitHubReleaseClientTest.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/GraphQLGitHubReleaseClientTest.kt @@ -11,12 +11,14 @@ import kotlinx.coroutines.runBlocking import net.adoptium.api.v3.AdoptRepositoryImpl import net.adoptium.api.v3.ReleaseResult import net.adoptium.api.v3.TimeSource +import net.adoptium.api.v3.config.Ecosystem import net.adoptium.api.v3.dataSources.github.GitHubHtmlClient import net.adoptium.api.v3.dataSources.github.graphql.GraphQLGitHubClient import net.adoptium.api.v3.dataSources.github.graphql.clients.GraphQLGitHubInterface import net.adoptium.api.v3.dataSources.github.graphql.clients.GraphQLGitHubReleaseClient import net.adoptium.api.v3.dataSources.github.graphql.clients.GraphQLGitHubReleaseRequest import net.adoptium.api.v3.dataSources.github.graphql.clients.GraphQLGitHubRepositoryClient +import net.adoptium.api.v3.dataSources.github.graphql.clients.GraphQLGitHubRepositoryClient.GetQueryData import net.adoptium.api.v3.dataSources.github.graphql.clients.GraphQLGitHubSummaryClient import net.adoptium.api.v3.dataSources.github.graphql.clients.GraphQLRequest import net.adoptium.api.v3.dataSources.github.graphql.models.GHAsset @@ -287,7 +289,20 @@ class GraphQLGitHubReleaseClientTest : BaseTest() { val graphQLRequest = object : GraphQLRequest { override suspend fun request(query: GraphQLClientRequest): GraphQLClientResponse { val builder = mockk>() - every { builder.data } returns QueryData(repo, RateLimit(0, 5000)) as F + + val match = if (Ecosystem.CURRENT == Ecosystem.adoptopenjdk) { + (query as GetQueryData).owner.lowercase() == "adoptopenjdk" && + (query as GetQueryData).repoName == "openjdk8-binaries" + } else { + (query as GetQueryData).owner.lowercase() == "adoptium" && + (query as GetQueryData).repoName == "temurin8-binaries" + } + + if (match) { + every { builder.data } returns QueryData(repo, RateLimit(0, 5000)) as F + } else { + every { builder.data } returns QueryData(GHRepository(GHReleases(listOf(), PageInfo(false, null))), RateLimit(0, 5000)) as F + } every { builder.errors } returns null return builder diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLGitHubRepositoryClient.kt b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLGitHubRepositoryClient.kt index 778617078..f110a88f0 100644 --- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLGitHubRepositoryClient.kt +++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLGitHubRepositoryClient.kt @@ -64,7 +64,7 @@ open class GraphQLGitHubRepositoryClient @Inject constructor( } } - private class GetQueryData(private val owner: String, private val repoName: String, override val variables: Any = mapOf()) : + class GetQueryData(val owner: String, val repoName: String, override val variables: Any = mapOf()) : GraphQLClientRequest { fun withCursor(cursor: String?): GetQueryData { From 9b3ed0d3b4d15bfda1454f77db13312f4e325a13 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Jun 2024 00:09:40 +0000 Subject: [PATCH 025/174] Bump github/codeql-action from 3.25.9 to 3.25.10 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.9 to 3.25.10. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/530d4feaa9c62aaab2d250371e2061eb7a172363...23acc5c183826b7a8a97bce3cecc52db901f8251) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 053e46152..fa5b0f5c3 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@530d4feaa9c62aaab2d250371e2061eb7a172363 # v3.25.9 + uses: github/codeql-action/init@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3.25.10 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -59,6 +59,6 @@ jobs: ./mvnw --batch-mode clean install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@530d4feaa9c62aaab2d250371e2061eb7a172363 # v3.25.9 + uses: github/codeql-action/analyze@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3.25.10 with: category: "/language:${{matrix.language}}" From 2a1a9bc381616c67d8db16406e7cd344f227214d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Jun 2024 00:34:18 +0000 Subject: [PATCH 026/174] Bump jakarta.ws.rs:jakarta.ws.rs-api from 3.1.0 to 4.0.0 Bumps jakarta.ws.rs:jakarta.ws.rs-api from 3.1.0 to 4.0.0. --- updated-dependencies: - dependency-name: jakarta.ws.rs:jakarta.ws.rs-api dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- adoptium-api-versions/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml index 3dff1cb43..55eba5a00 100644 --- a/adoptium-api-versions/pom.xml +++ b/adoptium-api-versions/pom.xml @@ -391,7 +391,7 @@ jakarta.ws.rs jakarta.ws.rs-api - 3.1.0 + 4.0.0 jakarta.inject From caae3bd0708b31e5aff6cd9e0585f93c1e29fe1a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Jun 2024 10:07:18 +0000 Subject: [PATCH 027/174] Bump quarkus.version from 3.11.1 to 3.11.2 Bumps `quarkus.version` from 3.11.1 to 3.11.2. Updates `io.quarkus:quarkus-bom` from 3.11.1 to 3.11.2 - [Release notes](https://github.com/quarkusio/quarkus/releases) - [Commits](https://github.com/quarkusio/quarkus/compare/3.11.1...3.11.2) Updates `io.quarkus:quarkus-security` from 3.11.1 to 3.11.2 Updates `io.quarkus:quarkus-core` from 3.11.1 to 3.11.2 Updates `io.quarkus:quarkus-elytron-security-properties-file` from 3.11.1 to 3.11.2 Updates `io.quarkus:quarkus-resteasy-reactive` from 3.11.1 to 3.11.2 --- updated-dependencies: - dependency-name: io.quarkus:quarkus-bom dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.quarkus:quarkus-security dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.quarkus:quarkus-core dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.quarkus:quarkus-elytron-security-properties-file dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.quarkus:quarkus-resteasy-reactive dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- adoptium-api-versions/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml index 3dff1cb43..0a4c01766 100644 --- a/adoptium-api-versions/pom.xml +++ b/adoptium-api-versions/pom.xml @@ -20,7 +20,7 @@ 3.5.0 UTF-8 UTF-8 - 3.11.1 + 3.11.2 5.4.0 From 0097d1a43a2adc88e9234700f5dfb404a5f010ba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jun 2024 00:58:34 +0000 Subject: [PATCH 028/174] Bump maven.surefire-plugin.version from 3.2.5 to 3.3.0 Bumps `maven.surefire-plugin.version` from 3.2.5 to 3.3.0. Updates `org.apache.maven.plugins:maven-failsafe-plugin` from 3.2.5 to 3.3.0 - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.2.5...surefire-3.3.0) Updates `org.apache.maven.plugins:maven-surefire-plugin` from 3.2.5 to 3.3.0 - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.2.5...surefire-3.3.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-failsafe-plugin dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5ac84ad67..0730c80fc 100644 --- a/pom.xml +++ b/pom.xml @@ -68,7 +68,7 @@ 4.0.0-M13 3.3.1 4.8.4.0 - 3.2.5 + 3.3.0 1.0.10 1.2.0 3.2.0 From ba7c1eeb86136c728079440f1a34339b8b01af23 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jun 2024 00:58:38 +0000 Subject: [PATCH 029/174] Bump org.jetbrains.kotlinx:kotlinx-coroutines-bom from 1.8.0 to 1.8.1 Bumps [org.jetbrains.kotlinx:kotlinx-coroutines-bom](https://github.com/Kotlin/kotlinx.coroutines) from 1.8.0 to 1.8.1. - [Release notes](https://github.com/Kotlin/kotlinx.coroutines/releases) - [Changelog](https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md) - [Commits](https://github.com/Kotlin/kotlinx.coroutines/compare/1.8.0...1.8.1) --- updated-dependencies: - dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-bom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- adoptium-api-versions/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml index b086b0125..fbb0f1584 100644 --- a/adoptium-api-versions/pom.xml +++ b/adoptium-api-versions/pom.xml @@ -8,7 +8,7 @@ pom - 1.8.0 + 1.8.1 2.17.0 17 4.11.0 From 42fc42d71861aca33a95283a70a9ee4dd18440c3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jun 2024 00:58:43 +0000 Subject: [PATCH 030/174] Bump org.apache.maven.plugins:maven-dependency-plugin Bumps [org.apache.maven.plugins:maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) from 3.6.1 to 3.7.0. - [Release notes](https://github.com/apache/maven-dependency-plugin/releases) - [Commits](https://github.com/apache/maven-dependency-plugin/compare/maven-dependency-plugin-3.6.1...maven-dependency-plugin-3.7.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-dependency-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5ac84ad67..c0cdede23 100644 --- a/pom.xml +++ b/pom.xml @@ -32,7 +32,7 @@ 17 17 17 - 3.6.1 + 3.7.0 2.0.4 3.1.2 1.0 From 135886dbbfcdaff4cff5e7bca705e6ede597241c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jun 2024 21:47:13 +0000 Subject: [PATCH 031/174] Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.4.0 to 4.8.5.0 Bumps [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) from 4.8.4.0 to 4.8.5.0. - [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases) - [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.8.4.0...spotbugs-maven-plugin-4.8.5.0) --- updated-dependencies: - dependency-name: com.github.spotbugs:spotbugs-maven-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d3821ef2d..6ada491d8 100644 --- a/pom.xml +++ b/pom.xml @@ -67,7 +67,7 @@ 2.1.0 4.0.0-M13 3.3.1 - 4.8.4.0 + 4.8.5.0 3.3.0 1.0.10 1.2.0 From 2721613f0fb31afa9aaa87a060534fbd4f3ac1a7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 00:55:13 +0000 Subject: [PATCH 032/174] Bump jackson.version from 2.17.0 to 2.17.1 Bumps `jackson.version` from 2.17.0 to 2.17.1. Updates `com.fasterxml.jackson.module:jackson-module-kotlin` from 2.17.0 to 2.17.1 - [Commits](https://github.com/FasterXML/jackson-module-kotlin/compare/jackson-module-kotlin-2.17.0...jackson-module-kotlin-2.17.1) Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.17.0 to 2.17.1 Updates `com.fasterxml.jackson.datatype:jackson-datatype-jakarta-jsonp` from 2.17.0 to 2.17.1 - [Commits](https://github.com/FasterXML/jackson-datatypes-misc/compare/jackson-datatypes-misc-parent-2.17.0...jackson-datatypes-misc-parent-2.17.1) Updates `com.fasterxml.jackson.core:jackson-databind` from 2.17.0 to 2.17.1 - [Commits](https://github.com/FasterXML/jackson/commits) Updates `com.fasterxml.jackson.core:jackson-annotations` from 2.17.0 to 2.17.1 - [Commits](https://github.com/FasterXML/jackson/commits) Updates `com.fasterxml.jackson.datatype:jackson-datatype-jdk8` from 2.17.0 to 2.17.1 --- updated-dependencies: - dependency-name: com.fasterxml.jackson.module:jackson-module-kotlin dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jsr310 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jakarta-jsonp dependency-type: direct:development update-type: version-update:semver-patch - dependency-name: com.fasterxml.jackson.core:jackson-databind dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.fasterxml.jackson.core:jackson-annotations dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jdk8 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- adoptium-api-versions/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml index fbb0f1584..05a8a3ca9 100644 --- a/adoptium-api-versions/pom.xml +++ b/adoptium-api-versions/pom.xml @@ -9,7 +9,7 @@ 1.8.1 - 2.17.0 + 2.17.1 17 4.11.0 17 From 808d18a82edf2fb606f4ecfd15ec7d98c40a7194 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 00:55:22 +0000 Subject: [PATCH 033/174] Bump org.apache.maven.plugins:maven-jxr-plugin from 3.3.2 to 3.4.0 Bumps [org.apache.maven.plugins:maven-jxr-plugin](https://github.com/apache/maven-jxr) from 3.3.2 to 3.4.0. - [Release notes](https://github.com/apache/maven-jxr/releases) - [Commits](https://github.com/apache/maven-jxr/compare/jxr-3.3.2...jxr-3.4.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-jxr-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6ada491d8..b27c2b703 100644 --- a/pom.xml +++ b/pom.xml @@ -55,7 +55,7 @@ 2.0 3.0.0-alpha-1 3.1.2 - 3.3.2 + 3.4.0 2.4.0 7.5.0 1.16.1 From 8252941ca757f88493215ed8a3ebfbf49a930726 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Jun 2024 00:29:16 +0000 Subject: [PATCH 034/174] Bump docker/build-push-action in /.github/actions/docker-build Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5.4.0 to 6.0.1. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/ca052bb54ab0790a636c9b5f226502c73d547a25...94f8f8c2eec4bc3f1d78c1755580779804cb87b2) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/actions/docker-build/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/docker-build/action.yml b/.github/actions/docker-build/action.yml index 8bd1c96e0..9d9a06ba4 100644 --- a/.github/actions/docker-build/action.yml +++ b/.github/actions/docker-build/action.yml @@ -14,7 +14,7 @@ runs: using: composite steps: - name: Build container image and push to Azure - uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 # v5.4.0 + uses: docker/build-push-action@94f8f8c2eec4bc3f1d78c1755580779804cb87b2 # v6.0.1 with: file: ${{ inputs.DOCKER_FILE }} tags: ${{ inputs.DOCKER_REPO }}:latest From 4bf62a3ade22f2555515c98135499854d4e55760 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Jun 2024 00:52:09 +0000 Subject: [PATCH 035/174] Bump docker/build-push-action in /.github/actions/docker-build Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.0.1 to 6.1.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/94f8f8c2eec4bc3f1d78c1755580779804cb87b2...31159d49c0d4756269a0940a750801a1ea5d7003) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/actions/docker-build/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/docker-build/action.yml b/.github/actions/docker-build/action.yml index 9d9a06ba4..312057fdd 100644 --- a/.github/actions/docker-build/action.yml +++ b/.github/actions/docker-build/action.yml @@ -14,7 +14,7 @@ runs: using: composite steps: - name: Build container image and push to Azure - uses: docker/build-push-action@94f8f8c2eec4bc3f1d78c1755580779804cb87b2 # v6.0.1 + uses: docker/build-push-action@31159d49c0d4756269a0940a750801a1ea5d7003 # v6.1.0 with: file: ${{ inputs.DOCKER_FILE }} tags: ${{ inputs.DOCKER_REPO }}:latest From 3b345c56dd35dbaa678a50d155f9a5a702e0d6b8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jun 2024 00:56:06 +0000 Subject: [PATCH 036/174] Bump org.jooq:jooq from 3.19.7 to 3.19.10 Bumps org.jooq:jooq from 3.19.7 to 3.19.10. --- updated-dependencies: - dependency-name: org.jooq:jooq dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- adoptium-api-versions/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml index 05a8a3ca9..049577af5 100644 --- a/adoptium-api-versions/pom.xml +++ b/adoptium-api-versions/pom.xml @@ -247,7 +247,7 @@ org.jooq jooq - 3.19.7 + 3.19.10 org.slf4j From e6bebbf366920cf67ec111caa86dbccf534d8813 Mon Sep 17 00:00:00 2001 From: George Adams Date: Wed, 26 Jun 2024 09:56:42 +0100 Subject: [PATCH 037/174] updaste dependabot to use wildcards --- .github/dependabot.yml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 512e01262..d5319a4f5 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,18 +4,8 @@ updates: directory: "/" schedule: interval: "daily" - # Maintain dependencies for GitHub composite Actions (/.github/actions) - # Waiting for supporting wildcards see https://github.com/dependabot/dependabot-core/issues/5137 - package-ecosystem: "github-actions" - directory: "/.github/actions/azure-login" - schedule: - interval: "daily" - - package-ecosystem: "github-actions" - directory: "/.github/actions/do-login" - schedule: - interval: "daily" - - package-ecosystem: "github-actions" - directory: "/.github/actions/docker-build" + directory: "/.github/actions/*" schedule: interval: "daily" - package-ecosystem: "maven" From 4f53f36b01e3b6ebccab4e26554e2d0d7f4ca38d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 27 Jun 2024 00:24:36 +0000 Subject: [PATCH 038/174] Bump docker/build-push-action in /.github/actions/docker-build Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.1.0 to 6.2.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/31159d49c0d4756269a0940a750801a1ea5d7003...15560696de535e4014efeff63c48f16952e52dd1) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/actions/docker-build/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/docker-build/action.yml b/.github/actions/docker-build/action.yml index 312057fdd..ae83fddda 100644 --- a/.github/actions/docker-build/action.yml +++ b/.github/actions/docker-build/action.yml @@ -14,7 +14,7 @@ runs: using: composite steps: - name: Build container image and push to Azure - uses: docker/build-push-action@31159d49c0d4756269a0940a750801a1ea5d7003 # v6.1.0 + uses: docker/build-push-action@15560696de535e4014efeff63c48f16952e52dd1 # v6.2.0 with: file: ${{ inputs.DOCKER_FILE }} tags: ${{ inputs.DOCKER_REPO }}:latest From e4591ce8cd69ba6c403741383624fcc12457b296 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 00:11:24 +0000 Subject: [PATCH 039/174] Bump github/codeql-action from 3.25.10 to 3.25.11 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.10 to 3.25.11. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/23acc5c183826b7a8a97bce3cecc52db901f8251...b611370bb5703a7efb587f9d136a52ea24c5c38c) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 197394121..36e6b5fa1 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3.25.10 + uses: github/codeql-action/init@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -59,6 +59,6 @@ jobs: ./mvnw --batch-mode clean install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3.25.10 + uses: github/codeql-action/analyze@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 with: category: "/language:${{matrix.language}}" From cfca887fb59b7a8070ca44dffa0fec4ef15532e3 Mon Sep 17 00:00:00 2001 From: George Adams Date: Wed, 3 Jul 2024 09:48:51 +0100 Subject: [PATCH 040/174] Revert "updaste dependabot to use wildcards" --- .github/dependabot.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index d5319a4f5..512e01262 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,8 +4,18 @@ updates: directory: "/" schedule: interval: "daily" + # Maintain dependencies for GitHub composite Actions (/.github/actions) + # Waiting for supporting wildcards see https://github.com/dependabot/dependabot-core/issues/5137 - package-ecosystem: "github-actions" - directory: "/.github/actions/*" + directory: "/.github/actions/azure-login" + schedule: + interval: "daily" + - package-ecosystem: "github-actions" + directory: "/.github/actions/do-login" + schedule: + interval: "daily" + - package-ecosystem: "github-actions" + directory: "/.github/actions/docker-build" schedule: interval: "daily" - package-ecosystem: "maven" From a0879e29bd9a2cd8661e78078ee03170850904e4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 4 Jul 2024 00:44:32 +0000 Subject: [PATCH 041/174] Bump docker/build-push-action in /.github/actions/docker-build Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.2.0 to 6.3.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/15560696de535e4014efeff63c48f16952e52dd1...1a162644f9a7e87d8f4b053101d1d9a712edc18c) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/actions/docker-build/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/docker-build/action.yml b/.github/actions/docker-build/action.yml index ae83fddda..b3d536754 100644 --- a/.github/actions/docker-build/action.yml +++ b/.github/actions/docker-build/action.yml @@ -14,7 +14,7 @@ runs: using: composite steps: - name: Build container image and push to Azure - uses: docker/build-push-action@15560696de535e4014efeff63c48f16952e52dd1 # v6.2.0 + uses: docker/build-push-action@1a162644f9a7e87d8f4b053101d1d9a712edc18c # v6.3.0 with: file: ${{ inputs.DOCKER_FILE }} tags: ${{ inputs.DOCKER_REPO }}:latest From 48fced2f0c00523aa25ea82234c94693ae80c177 Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Fri, 5 Jul 2024 12:12:43 +0100 Subject: [PATCH 042/174] Allow dynamically updating latest version --- .../adoptium/api/v3/DownloadStatsInterface.kt | 10 ++- .../api/v3/dataSources/APIDataStoreImpl.kt | 18 ++--- .../api/v3/dataSources/VersionSupplier.kt | 7 ++ .../api/v3/FrontEndVersionSupplier.kt | 23 +++++++ .../adoptium/api/v3/filters/ReleaseFilter.kt | 35 +++++++++- .../adoptium/api/v3/routes/AssetsResource.kt | 11 ++-- .../adoptium/api/v3/routes/ReleaseEndpoint.kt | 7 +- .../api/v3/routes/packages/PackageEndpoint.kt | 16 +++-- ...ResourceFeatureReleasePathSortOrderTest.kt | 3 +- .../api/AssetsResourceReleaseNamePathTest.kt | 16 ++--- .../net/adoptium/api/DownloadStatsPathTest.kt | 3 +- .../kotlin/net/adoptium/api/FrontendTest.kt | 12 ++-- .../net/adoptium/api/MonthlyStatsPathTest.kt | 7 +- .../api/packages/PackageEndpointTest.kt | 5 +- .../src/test/resources/application.properties | 3 +- .../net/adoptium/api/v3/models/Versions.kt | 16 ----- .../net/adoptium/api/v3/AdoptReposBuilder.kt | 11 +++- .../kotlin/net/adoptium/api/v3/V3Updater.kt | 10 ++- .../v3/dataSources/ReleaseVersionResolver.kt | 24 ++----- .../dataSources/UpdatableVersionSupplier.kt | 5 ++ .../UpdatableVersionSupplierImpl.kt | 66 +++++++++++++++++++ .../net/adoptium/api/AdoptReposBuilderTest.kt | 17 +++-- .../test/kotlin/net/adoptium/api/BaseTest.kt | 3 +- .../adoptium/api/DockerStatsInterfaceTest.kt | 3 +- .../test/kotlin/net/adoptium/api/MongoTest.kt | 3 +- .../api/ReleaseVersionResolverTest.kt | 25 +------ .../UpdatableVersionSupplierStub.kt | 27 ++++++++ 27 files changed, 258 insertions(+), 128 deletions(-) create mode 100644 adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/VersionSupplier.kt create mode 100644 adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/FrontEndVersionSupplier.kt delete mode 100644 adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/Versions.kt create mode 100644 adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/UpdatableVersionSupplier.kt create mode 100644 adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/UpdatableVersionSupplierImpl.kt create mode 100644 adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/testDoubles/UpdatableVersionSupplierStub.kt diff --git a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/DownloadStatsInterface.kt b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/DownloadStatsInterface.kt index d563d92cd..7dba12ad0 100644 --- a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/DownloadStatsInterface.kt +++ b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/DownloadStatsInterface.kt @@ -3,6 +3,7 @@ package net.adoptium.api.v3 import jakarta.enterprise.context.ApplicationScoped import jakarta.inject.Inject import net.adoptium.api.v3.config.APIConfig +import net.adoptium.api.v3.dataSources.VersionSupplier import net.adoptium.api.v3.dataSources.persitence.ApiPersistence import net.adoptium.api.v3.models.DbStatsEntry import net.adoptium.api.v3.models.DockerDownloadStatsDbEntry @@ -13,7 +14,6 @@ import net.adoptium.api.v3.models.JvmImpl import net.adoptium.api.v3.models.MonthlyDownloadDiff import net.adoptium.api.v3.models.StatsSource import net.adoptium.api.v3.models.TotalStats -import net.adoptium.api.v3.models.Versions import org.eclipse.microprofile.openapi.annotations.media.Schema import java.time.ZonedDateTime import java.time.temporal.ChronoUnit @@ -29,12 +29,16 @@ class StatEntry( @ApplicationScoped class DownloadStatsInterface { + @Schema(hidden = true) + private var versionSupplier: VersionSupplier + @Schema(hidden = true) private val dataStore: ApiPersistence @Inject - constructor(dataStore: ApiPersistence) { + constructor(dataStore: ApiPersistence, versionSupplier: VersionSupplier) { this.dataStore = dataStore + this.versionSupplier = versionSupplier } suspend fun getTrackingStats( @@ -284,7 +288,7 @@ class DownloadStatsInterface { } private suspend fun getGithubStats(): List { - return Versions.versions + return versionSupplier.getAllVersions() .mapNotNull { featureVersion -> dataStore.getLatestGithubStatsForFeatureVersion(featureVersion) } diff --git a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/APIDataStoreImpl.kt b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/APIDataStoreImpl.kt index aa81d5da7..a348b9f6f 100644 --- a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/APIDataStoreImpl.kt +++ b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/APIDataStoreImpl.kt @@ -11,7 +11,6 @@ import net.adoptium.api.v3.dataSources.persitence.mongo.UpdatedInfo import net.adoptium.api.v3.models.JvmImpl import net.adoptium.api.v3.models.ReleaseInfo import net.adoptium.api.v3.models.Vendor -import net.adoptium.api.v3.models.Versions import org.slf4j.LoggerFactory import java.time.ZonedDateTime import java.util.concurrent.Executors @@ -21,6 +20,7 @@ import kotlin.concurrent.timerTask @ApplicationScoped open class APIDataStoreImpl : APIDataStore { + private var versionSupplier: VersionSupplier private var dataStore: ApiPersistence private var updatedAt: UpdatedInfo private var binaryRepos: AdoptRepos @@ -33,8 +33,10 @@ open class APIDataStoreImpl : APIDataStore { } @Inject - constructor(dataStore: ApiPersistence) { + constructor(dataStore: ApiPersistence, versionSupplier: VersionSupplier) { this.dataStore = dataStore + this.versionSupplier = versionSupplier; + updatedAt = UpdatedInfo(ZonedDateTime.now().minusYears(10), "111", 0) schedule = null binaryRepos = try { @@ -47,14 +49,6 @@ open class APIDataStoreImpl : APIDataStore { releaseInfo = loadReleaseInfo() } - constructor(binaryRepos: AdoptRepos, dataStore: ApiPersistence) { - this.dataStore = dataStore - updatedAt = UpdatedInfo(ZonedDateTime.now().minusYears(10), "111", 0) - schedule = null - this.binaryRepos = binaryRepos - this.releaseInfo = loadReleaseInfo() - } - override fun schedulePeriodicUpdates() { if (schedule == null) { schedule = Executors @@ -97,8 +91,8 @@ open class APIDataStoreImpl : APIDataStore { val updated = dataStore.getUpdatedAt() if (forceUpdate || updated != updatedAt) { - val data = Versions - .versions + val data = versionSupplier + .getAllVersions() .map { version -> dataStore.readReleaseData(version) } diff --git a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/VersionSupplier.kt b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/VersionSupplier.kt new file mode 100644 index 000000000..1959d418d --- /dev/null +++ b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/VersionSupplier.kt @@ -0,0 +1,7 @@ +package net.adoptium.api.v3.dataSources + +interface VersionSupplier { + fun getTipVersion(): Int? + fun getLtsVersions(): Array + fun getAllVersions(): Array +} diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/FrontEndVersionSupplier.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/FrontEndVersionSupplier.kt new file mode 100644 index 000000000..d6f788147 --- /dev/null +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/FrontEndVersionSupplier.kt @@ -0,0 +1,23 @@ +package net.adoptium.api.v3; + +import jakarta.enterprise.context.ApplicationScoped +import jakarta.inject.Inject +import net.adoptium.api.v3.dataSources.APIDataStore +import net.adoptium.api.v3.dataSources.VersionSupplier + +@ApplicationScoped +class FrontEndVersionSupplier @Inject constructor( + val apiDataStore: APIDataStore +) : VersionSupplier { + override fun getTipVersion(): Int? { + return apiDataStore.getReleaseInfo().tip_version + } + + override fun getLtsVersions(): Array { + return apiDataStore.getReleaseInfo().available_lts_releases + } + + override fun getAllVersions(): Array { + return apiDataStore.getReleaseInfo().available_releases + } +} diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/filters/ReleaseFilter.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/filters/ReleaseFilter.kt index 1363b4e8e..0a4f5f210 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/filters/ReleaseFilter.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/filters/ReleaseFilter.kt @@ -1,14 +1,43 @@ package net.adoptium.api.v3.filters +import jakarta.enterprise.context.ApplicationScoped +import jakarta.inject.Inject import net.adoptium.api.v3.config.Ecosystem +import net.adoptium.api.v3.dataSources.VersionSupplier import net.adoptium.api.v3.models.JvmImpl import net.adoptium.api.v3.models.Release import net.adoptium.api.v3.models.ReleaseType import net.adoptium.api.v3.models.Vendor -import net.adoptium.api.v3.models.Versions import java.util.function.Predicate -class ReleaseFilter( +@ApplicationScoped +class ReleaseFilterFactory @Inject constructor( + private val versionSupplier: VersionSupplier +) { + fun createFilter( + releaseType: ReleaseType? = null, + featureVersion: Int? = null, + releaseName: String? = null, + vendor: Vendor? = null, + versionRange: VersionRangeFilter? = null, + lts: Boolean? = null, + jvm_impl: JvmImpl? = null + ): Predicate { + return ReleaseFilter( + versionSupplier.getLtsVersions(), + releaseType, + featureVersion, + releaseName, + vendor, + versionRange, + lts, + jvm_impl + ) + } +} + +private class ReleaseFilter( + private val ltsVersions: Array, private val releaseType: ReleaseType? = null, private val featureVersion: Int? = null, private val releaseName: String? = null, @@ -19,7 +48,7 @@ class ReleaseFilter( ) : Predicate { override fun test(release: Release): Boolean { val ltsFilter = if (lts != null) { - val isLts = Versions.ltsVersions.contains(release.version_data.major) + val isLts = ltsVersions.contains(release.version_data.major) lts == isLts } else { true diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/AssetsResource.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/AssetsResource.kt index d12a9edbc..3cb683138 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/AssetsResource.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/AssetsResource.kt @@ -22,7 +22,7 @@ import net.adoptium.api.v3.dataSources.APIDataStore import net.adoptium.api.v3.dataSources.SortMethod import net.adoptium.api.v3.dataSources.SortOrder import net.adoptium.api.v3.filters.BinaryFilter -import net.adoptium.api.v3.filters.ReleaseFilter +import net.adoptium.api.v3.filters.ReleaseFilterFactory import net.adoptium.api.v3.models.Architecture import net.adoptium.api.v3.models.BinaryAssetView import net.adoptium.api.v3.models.CLib @@ -52,7 +52,8 @@ class AssetsResource @Inject constructor( private val apiDataStore: APIDataStore, - private val releaseEndpoint: ReleaseEndpoint + private val releaseEndpoint: ReleaseEndpoint, + private val releaseFilterFactory: ReleaseFilterFactory ) { @GET @@ -156,7 +157,7 @@ constructor( val releaseSortMethod = sortMethod ?: SortMethod.DEFAULT val vendorNonNull = vendor ?: Vendor.getDefault() - val releaseFilter = ReleaseFilter(releaseType = release_type, featureVersion = version, vendor = vendorNonNull, jvm_impl = jvm_impl) + val releaseFilter = releaseFilterFactory.createFilter(releaseType = release_type, featureVersion = version, vendor = vendorNonNull, jvm_impl = jvm_impl) val binaryFilter = BinaryFilter(os, arch, image_type, jvm_impl, heap_size, project, before, cLib) val repos = apiDataStore.getAdoptRepos().getFeatureRelease(version!!) @@ -233,7 +234,7 @@ constructor( throw BadRequestException("Must provide a vendor") } - val releaseFilter = ReleaseFilter(vendor = vendor, releaseName = releaseName.trim(), jvm_impl = jvm_impl) + val releaseFilter = releaseFilterFactory.createFilter(vendor = vendor, releaseName = releaseName.trim(), jvm_impl = jvm_impl) val binaryFilter = BinaryFilter(os, arch, image_type, jvm_impl, heap_size, project, null, cLib) val releases = apiDataStore @@ -419,7 +420,7 @@ constructor( ): List { val binaryVendor = vendor ?: Vendor.getDefault() - val releaseFilter = ReleaseFilter(ReleaseType.ga, featureVersion = version, vendor = binaryVendor, jvm_impl = jvm_impl) + val releaseFilter = releaseFilterFactory.createFilter(ReleaseType.ga, featureVersion = version, vendor = binaryVendor, jvm_impl = jvm_impl) val binaryFilter = BinaryFilter(os, arch, image_type, jvm_impl, null, null) val releases = apiDataStore .getAdoptRepos() diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/ReleaseEndpoint.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/ReleaseEndpoint.kt index 92ec6026c..5ce11b3e2 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/ReleaseEndpoint.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/ReleaseEndpoint.kt @@ -7,7 +7,7 @@ import net.adoptium.api.v3.dataSources.APIDataStore import net.adoptium.api.v3.dataSources.SortMethod import net.adoptium.api.v3.dataSources.SortOrder import net.adoptium.api.v3.filters.BinaryFilter -import net.adoptium.api.v3.filters.ReleaseFilter +import net.adoptium.api.v3.filters.ReleaseFilterFactory import net.adoptium.api.v3.filters.VersionRangeFilter import net.adoptium.api.v3.models.Architecture import net.adoptium.api.v3.models.CLib @@ -26,7 +26,8 @@ import net.adoptium.api.v3.parser.maven.InvalidVersionSpecificationException class ReleaseEndpoint @Inject constructor( - private val apiDataStore: APIDataStore + private val apiDataStore: APIDataStore, + private val releaseFilterFactory: ReleaseFilterFactory ) { fun getReleases( sortOrder: SortOrder?, @@ -56,7 +57,7 @@ constructor( throw BadRequestException("Invalid version string", e) } - val releaseFilter = ReleaseFilter(releaseType = release_type, vendor = vendorNonNull, versionRange = range, lts = lts, jvm_impl = jvm_impl) + val releaseFilter = releaseFilterFactory.createFilter(releaseType = release_type, vendor = vendorNonNull, versionRange = range, lts = lts, jvm_impl = jvm_impl) val binaryFilter = BinaryFilter(os = os, arch = arch, imageType = image_type, jvmImpl = jvm_impl, heapSize = heap_size, project = project, cLib = cLib) return apiDataStore diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/packages/PackageEndpoint.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/packages/PackageEndpoint.kt index f650e367f..f96d04ed5 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/packages/PackageEndpoint.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/packages/PackageEndpoint.kt @@ -1,12 +1,15 @@ package net.adoptium.api.v3.routes.packages +import jakarta.enterprise.context.ApplicationScoped +import jakarta.inject.Inject +import jakarta.ws.rs.core.Response import net.adoptium.api.v3.JsonMapper import net.adoptium.api.v3.dataSources.APIDataStore import net.adoptium.api.v3.dataSources.SortMethod import net.adoptium.api.v3.dataSources.SortOrder import net.adoptium.api.v3.dataSources.models.Releases.Companion.RELEASE_COMPARATOR import net.adoptium.api.v3.filters.BinaryFilter -import net.adoptium.api.v3.filters.ReleaseFilter +import net.adoptium.api.v3.filters.ReleaseFilterFactory import net.adoptium.api.v3.models.APIError import net.adoptium.api.v3.models.Architecture import net.adoptium.api.v3.models.Asset @@ -21,12 +24,11 @@ import net.adoptium.api.v3.models.Release import net.adoptium.api.v3.models.ReleaseType import net.adoptium.api.v3.models.Vendor import java.net.URI -import jakarta.enterprise.context.ApplicationScoped -import jakarta.inject.Inject -import jakarta.ws.rs.core.Response @ApplicationScoped -open class PackageEndpoint @Inject constructor(private val apiDataStore: APIDataStore) { +open class PackageEndpoint @Inject constructor( + private val apiDataStore: APIDataStore, + private val releaseFilterFactory: ReleaseFilterFactory) { open fun getReleases( release_name: String?, @@ -39,7 +41,7 @@ open class PackageEndpoint @Inject constructor(private val apiDataStore: APIData project: Project?, cLib: CLib? ): List { - val releaseFilter = ReleaseFilter(releaseName = release_name, vendor = vendor, jvm_impl = jvm_impl) + val releaseFilter = releaseFilterFactory.createFilter(releaseName = release_name, vendor = vendor, jvm_impl = jvm_impl) val binaryFilter = BinaryFilter(os, arch, image_type, jvm_impl, heap_size, project, null, cLib) return apiDataStore.getAdoptRepos().getFilteredReleases(releaseFilter, binaryFilter, SortOrder.DESC, SortMethod.DEFAULT).toList() } @@ -86,7 +88,7 @@ open class PackageEndpoint @Inject constructor(private val apiDataStore: APIData } open fun getRelease(release_type: ReleaseType?, version: Int?, vendor: Vendor?, os: OperatingSystem?, arch: Architecture?, image_type: ImageType?, jvm_impl: JvmImpl?, heap_size: HeapSize?, project: Project?, cLib: CLib?): List { - val releaseFilter = ReleaseFilter(releaseType = release_type, featureVersion = version, vendor = vendor, jvm_impl = jvm_impl) + val releaseFilter = releaseFilterFactory.createFilter(releaseType = release_type, featureVersion = version, vendor = vendor, jvm_impl = jvm_impl) val binaryFilter = BinaryFilter(os, arch, image_type, jvm_impl, heap_size, project, null, cLib) val releases = apiDataStore.getAdoptRepos().getFilteredReleases(releaseFilter, binaryFilter, SortOrder.DESC, SortMethod.DEFAULT).toList() diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceFeatureReleasePathSortOrderTest.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceFeatureReleasePathSortOrderTest.kt index 24a56a767..72ac4eb74 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceFeatureReleasePathSortOrderTest.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceFeatureReleasePathSortOrderTest.kt @@ -10,6 +10,7 @@ import net.adoptium.api.v3.dataSources.SortOrder import net.adoptium.api.v3.dataSources.models.AdoptRepos import net.adoptium.api.v3.dataSources.models.FeatureRelease import net.adoptium.api.v3.dataSources.models.Releases +import net.adoptium.api.v3.filters.ReleaseFilterFactory import net.adoptium.api.v3.models.Architecture import net.adoptium.api.v3.models.Binary import net.adoptium.api.v3.models.DateTime @@ -33,7 +34,7 @@ import java.time.ZonedDateTime class AssetsResourceFeatureReleasePathSortOrderTest : FrontendTest() { val apiDataStore = ApiDataStoreStub(createRepo()) - var assetResource: AssetsResource = AssetsResource(apiDataStore, ReleaseEndpoint(apiDataStore)) + var assetResource: AssetsResource = AssetsResource(apiDataStore, ReleaseEndpoint(apiDataStore, releaseFilterFactory), releaseFilterFactory) companion object { fun createRepo(): AdoptRepos { diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceReleaseNamePathTest.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceReleaseNamePathTest.kt index f59a7029f..2cc8b29c1 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceReleaseNamePathTest.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceReleaseNamePathTest.kt @@ -2,12 +2,14 @@ package net.adoptium.api import io.quarkus.test.junit.QuarkusTest import io.restassured.RestAssured +import jakarta.inject.Inject +import jakarta.ws.rs.BadRequestException import net.adoptium.api.v3.JsonMapper import net.adoptium.api.v3.dataSources.APIDataStore import net.adoptium.api.v3.dataSources.SortMethod import net.adoptium.api.v3.dataSources.SortOrder import net.adoptium.api.v3.filters.BinaryFilter -import net.adoptium.api.v3.filters.ReleaseFilter +import net.adoptium.api.v3.filters.ReleaseFilterFactory import net.adoptium.api.v3.models.Architecture import net.adoptium.api.v3.models.Release import net.adoptium.api.v3.models.ReleaseType @@ -22,8 +24,6 @@ import org.junit.jupiter.api.TestFactory import org.junit.jupiter.api.assertThrows import org.junit.jupiter.api.extension.ExtendWith import java.util.stream.Stream -import jakarta.inject.Inject -import jakarta.ws.rs.BadRequestException @QuarkusTest @ExtendWith(value = [DbExtension::class]) @@ -40,7 +40,7 @@ class AssetsResourceReleaseNamePathTest : FrontendTest() { apiDataStore .getAdoptRepos() .allReleases - .getReleases(ReleaseFilter(vendor = vendor), SortOrder.DESC, SortMethod.DEFAULT) + .getReleases(releaseFilterFactory.createFilter(vendor = vendor), SortOrder.DESC, SortMethod.DEFAULT) .take(3) .flatMap { release -> ReleaseType @@ -86,7 +86,7 @@ class AssetsResourceReleaseNamePathTest : FrontendTest() { fun `for frontend requests x86 == x32`() { val releaseName = apiDataStore .getAdoptRepos() - .getFilteredReleases(ReleaseFilter(vendor = Vendor.getDefault()), BinaryFilter(arch = Architecture.x32), SortOrder.DESC, SortMethod.DEFAULT) + .getFilteredReleases(releaseFilterFactory.createFilter(vendor = Vendor.getDefault()), BinaryFilter(arch = Architecture.x32), SortOrder.DESC, SortMethod.DEFAULT) .first() .release_name @@ -114,7 +114,7 @@ class AssetsResourceReleaseNamePathTest : FrontendTest() { val releaseName = apiDataStore .getAdoptRepos() .allReleases - .getReleases(ReleaseFilter(vendor = Vendor.getDefault()), SortOrder.DESC, SortMethod.DEFAULT) + .getReleases(releaseFilterFactory.createFilter(vendor = Vendor.getDefault()), SortOrder.DESC, SortMethod.DEFAULT) .first() .release_name @@ -128,7 +128,7 @@ class AssetsResourceReleaseNamePathTest : FrontendTest() { @Test fun `missing release_name 400s`() { assertThrows { - AssetsResource(apiDataStore, ReleaseEndpoint(apiDataStore)) + AssetsResource(apiDataStore, ReleaseEndpoint(apiDataStore, releaseFilterFactory), releaseFilterFactory) .get( Vendor.adoptopenjdk, null, @@ -146,7 +146,7 @@ class AssetsResourceReleaseNamePathTest : FrontendTest() { @Test fun `missing vendor 400s`() { assertThrows { - AssetsResource(apiDataStore, ReleaseEndpoint(apiDataStore)) + AssetsResource(apiDataStore, ReleaseEndpoint(apiDataStore, releaseFilterFactory), releaseFilterFactory) .get( null, "foo", diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/DownloadStatsPathTest.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/DownloadStatsPathTest.kt index 947d05586..7eb782ae4 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/DownloadStatsPathTest.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/DownloadStatsPathTest.kt @@ -21,6 +21,7 @@ import org.junit.jupiter.api.assertThrows import org.junit.jupiter.api.extension.ExtendWith import java.time.format.DateTimeFormatter import jakarta.ws.rs.BadRequestException +import net.adoptium.api.testDoubles.UpdatableVersionSupplierStub import net.adoptium.api.v3.models.ReleaseType @ExtendWith(value = [DbExtension::class]) @@ -47,7 +48,7 @@ class DownloadStatsPathTest : FrontendTest() { createGithubData() ) - val downloadStatsResource = DownloadStatsResource(apiDataStore, DownloadStatsInterface(persistance)) + val downloadStatsResource = DownloadStatsResource(apiDataStore, DownloadStatsInterface(persistance, UpdatableVersionSupplierStub())) downloadStatsResource } } diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/FrontendTest.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/FrontendTest.kt index a928cb96e..fa0fd8dcc 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/FrontendTest.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/FrontendTest.kt @@ -2,17 +2,19 @@ package net.adoptium.api import net.adoptium.api.testDoubles.InMemoryApiPersistence import net.adoptium.api.testDoubles.InMemoryInternalDbStore +import net.adoptium.api.testDoubles.UpdatableVersionSupplierStub import net.adoptium.api.v3.dataSources.APIDataStore import net.adoptium.api.v3.dataSources.SortMethod import net.adoptium.api.v3.dataSources.SortOrder import net.adoptium.api.v3.filters.BinaryFilter -import net.adoptium.api.v3.filters.ReleaseFilter +import net.adoptium.api.v3.filters.ReleaseFilterFactory import net.adoptium.api.v3.models.Binary import net.adoptium.api.v3.models.ImageType import net.adoptium.api.v3.models.Release import net.adoptium.api.v3.models.Vendor import org.jboss.weld.junit5.auto.AddPackages import org.jboss.weld.junit5.auto.EnableAutoWeld +import java.util.function.Predicate @EnableAutoWeld @AddPackages( @@ -24,10 +26,12 @@ import org.jboss.weld.junit5.auto.EnableAutoWeld ) open class FrontendTest { + var releaseFilterFactory: ReleaseFilterFactory = ReleaseFilterFactory(UpdatableVersionSupplierStub()) + protected fun getReleases(): Sequence { return BaseTest.adoptRepos .getFilteredReleases( - ReleaseFilter(featureVersion = 8, vendor = Vendor.getDefault()), + releaseFilterFactory.createFilter(featureVersion = 8, vendor = Vendor.getDefault()), BinaryFilter(), SortOrder.ASC, SortMethod.DEFAULT @@ -36,12 +40,12 @@ open class FrontendTest { protected fun getRandomBinary(): Pair { return getRandomBinary( - ReleaseFilter(featureVersion = 8, vendor = Vendor.getDefault()), + releaseFilterFactory.createFilter(featureVersion = 8, vendor = Vendor.getDefault()), BinaryFilter(imageType = ImageType.jdk) ) } - protected fun getRandomBinary(releaseFilter: ReleaseFilter, binaryFilter: BinaryFilter): Pair { + protected fun getRandomBinary(releaseFilter: Predicate, binaryFilter: BinaryFilter): Pair { val release = BaseTest.adoptRepos .getFilteredReleases( releaseFilter, diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/MonthlyStatsPathTest.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/MonthlyStatsPathTest.kt index 4a4f60a51..858177dba 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/MonthlyStatsPathTest.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/MonthlyStatsPathTest.kt @@ -2,6 +2,7 @@ package net.adoptium.api import kotlinx.coroutines.runBlocking import net.adoptium.api.testDoubles.InMemoryApiPersistence +import net.adoptium.api.testDoubles.UpdatableVersionSupplierStub import net.adoptium.api.v3.DownloadStatsInterface import net.adoptium.api.v3.TimeSource import net.adoptium.api.v3.config.APIConfig @@ -12,10 +13,10 @@ import net.adoptium.api.v3.models.JvmImpl import net.adoptium.api.v3.models.MonthlyDownloadDiff import net.adoptium.api.v3.models.StatsSource import net.adoptium.api.v3.routes.stats.DownloadStatsResource -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.extension.ExtendWith import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertTrue +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.extension.ExtendWith @ExtendWith(value = [DbExtension::class]) class MonthlyStatsPathTest : FrontendTest() { @@ -27,7 +28,7 @@ class MonthlyStatsPathTest : FrontendTest() { fun initDownloadStatsResource(): DownloadStatsResource { persistence = initApi() - return DownloadStatsResource(ApiDataStoreStub(), DownloadStatsInterface(persistence)) + return DownloadStatsResource(ApiDataStoreStub(), DownloadStatsInterface(persistence, UpdatableVersionSupplierStub())) } fun initApi(): ApiPersistence { diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/packages/PackageEndpointTest.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/packages/PackageEndpointTest.kt index c91f5c7b2..54afcbac3 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/packages/PackageEndpointTest.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/packages/PackageEndpointTest.kt @@ -3,8 +3,9 @@ package net.adoptium.api.packages import io.restassured.RestAssured import io.restassured.response.Response import net.adoptium.api.FrontendTest +import net.adoptium.api.testDoubles.UpdatableVersionSupplierStub import net.adoptium.api.v3.filters.BinaryFilter -import net.adoptium.api.v3.filters.ReleaseFilter +import net.adoptium.api.v3.filters.ReleaseFilterFactory import net.adoptium.api.v3.models.Architecture import net.adoptium.api.v3.models.Binary import net.adoptium.api.v3.models.CLib @@ -79,7 +80,7 @@ abstract class PackageEndpointTest : FrontendTest() { } protected fun getClibBinary() = getRandomBinary( - ReleaseFilter( + ReleaseFilterFactory(UpdatableVersionSupplierStub()).createFilter( featureVersion = 11, releaseType = ReleaseType.ea, vendor = Vendor.getDefault(), diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/resources/application.properties b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/resources/application.properties index 3b9c12ebd..f5f7eff76 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/resources/application.properties +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/resources/application.properties @@ -1,3 +1,4 @@ quarkus.log.category."org.jboss".level=WARN -quarkus.class-loading.removed-resources."net.adoptium.api\:adoptium-api-v3-updater\:classes"=net/adoptium/api/v3/V3UpdaterApp.class \ No newline at end of file +quarkus.class-loading.removed-resources."net.adoptium.api\:adoptium-api-v3-updater\:classes"=net/adoptium/api/v3/V3UpdaterApp.class +quarkus.arc.exclude-types=net.adoptium.api.v3.dataSources.UpdatableVersionSupplierImpl diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/Versions.kt b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/Versions.kt deleted file mode 100644 index 39db3b5d4..000000000 --- a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/Versions.kt +++ /dev/null @@ -1,16 +0,0 @@ -package net.adoptium.api.v3.models - -object Versions { - - private const val DEFAULT_LATEST_JAVA_VERSION = 23 - private const val LATEST_JAVA_VERSION_PROPERTY = "LATEST_JAVA_VERSION" - - private val latestJavaVersion: Int - val versions: Array - val ltsVersions: Array = arrayOf(8, 11, 17, 21) - - init { - latestJavaVersion = Integer.parseInt(System.getProperty(LATEST_JAVA_VERSION_PROPERTY, DEFAULT_LATEST_JAVA_VERSION.toString())) - versions = (8..latestJavaVersion).toList().toTypedArray() - } -} diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptReposBuilder.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptReposBuilder.kt index 7016ad33c..1f64e338e 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptReposBuilder.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptReposBuilder.kt @@ -3,6 +3,7 @@ package net.adoptium.api.v3 import ReleaseIncludeFilter import jakarta.enterprise.context.ApplicationScoped import jakarta.inject.Inject +import net.adoptium.api.v3.dataSources.VersionSupplier import net.adoptium.api.v3.dataSources.github.graphql.models.summary.GHReleaseSummary import net.adoptium.api.v3.dataSources.github.graphql.models.summary.GHRepositorySummary import net.adoptium.api.v3.dataSources.models.AdoptRepos @@ -17,7 +18,10 @@ import java.time.temporal.ChronoUnit import kotlin.math.absoluteValue @ApplicationScoped -class AdoptReposBuilder @Inject constructor(private var adoptRepository: AdoptRepository) { +class AdoptReposBuilder @Inject constructor( + private var adoptRepository: AdoptRepository, + private var versionSupplier: VersionSupplier + ) { companion object { @JvmStatic @@ -157,10 +161,11 @@ class AdoptReposBuilder @Inject constructor(private var adoptRepository: AdoptRe } } - suspend fun build(versions: Array, filter: ReleaseIncludeFilter): AdoptRepos { + suspend fun build(filter: ReleaseIncludeFilter): AdoptRepos { excluded.clear() // Fetch repos in parallel - val reposMap = versions + val reposMap = versionSupplier + .getAllVersions() .reversed() .mapNotNull { version -> adoptRepository.getRelease(version, filter) diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/V3Updater.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/V3Updater.kt index 098627c1e..a3ea1f1ba 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/V3Updater.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/V3Updater.kt @@ -15,11 +15,11 @@ import net.adoptium.api.v3.config.APIConfig import net.adoptium.api.v3.dataSources.APIDataStore import net.adoptium.api.v3.dataSources.ReleaseVersionResolver import net.adoptium.api.v3.dataSources.UpdaterJsonMapper +import net.adoptium.api.v3.dataSources.UpdatableVersionSupplier import net.adoptium.api.v3.dataSources.models.AdoptRepos import net.adoptium.api.v3.dataSources.persitence.ApiPersistence import net.adoptium.api.v3.models.Release import net.adoptium.api.v3.models.ReleaseType -import net.adoptium.api.v3.models.Versions import net.adoptium.api.v3.releaseNotes.AdoptReleaseNotes import net.adoptium.api.v3.stats.StatsInterface import org.slf4j.LoggerFactory @@ -45,7 +45,8 @@ class V3Updater @Inject constructor( private val database: ApiPersistence, private val statsInterface: StatsInterface, private val releaseVersionResolver: ReleaseVersionResolver, - private val adoptReleaseNotes: AdoptReleaseNotes + private val adoptReleaseNotes: AdoptReleaseNotes, + private val updatableVersionSupplier: UpdatableVersionSupplier ) : Updater { private val mutex = Mutex() @@ -212,6 +213,7 @@ class V3Updater @Inject constructor( fun run(instantFullUpdate: Boolean) { val executor = Executors.newScheduledThreadPool(2) + val delay = if (instantFullUpdate) 0L else 1L var repo: AdoptRepos = try { @@ -246,6 +248,8 @@ class V3Updater @Inject constructor( return runBlocking { LOGGER.info("Starting Full update {}", releasesOnly) + updatableVersionSupplier.updateVersions() + val filterType: ReleaseFilterType = if (releasesOnly) { ReleaseFilterType.RELEASES_ONLY } else { @@ -254,7 +258,7 @@ class V3Updater @Inject constructor( val filter = ReleaseIncludeFilter(TimeSource.now(), filterType) - val newRepoData = adoptReposBuilder.build(Versions.versions, filter) + val newRepoData = adoptReposBuilder.build(filter) val repo = copyOldReleasesIntoNewRepo(currentRepo, newRepoData, filter) diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/ReleaseVersionResolver.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/ReleaseVersionResolver.kt index e849aee71..0c1ef8c0a 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/ReleaseVersionResolver.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/ReleaseVersionResolver.kt @@ -1,30 +1,16 @@ package net.adoptium.api.v3.dataSources import jakarta.enterprise.context.ApplicationScoped +import jakarta.inject.Inject import net.adoptium.api.v3.dataSources.models.AdoptRepos import net.adoptium.api.v3.models.ReleaseInfo import net.adoptium.api.v3.models.ReleaseType -import net.adoptium.api.v3.models.Versions -import jakarta.inject.Inject @ApplicationScoped class ReleaseVersionResolver @Inject constructor( - private val updaterHtmlClient: UpdaterHtmlClient + private val versionSupplier: VersionSupplier ) { - private val VERSION_FILE_URL = "https://raw.githubusercontent.com/openjdk/jdk/master/make/conf/version-numbers.conf" - - private suspend fun getTipVersion(): Int? { - val versionFile = updaterHtmlClient.get(VERSION_FILE_URL) - - return if (versionFile != null) { - Regex(""".*DEFAULT_VERSION_FEATURE=(?\d+).*""", setOf(RegexOption.MULTILINE, RegexOption.DOT_MATCHES_ALL)) - .matchEntire(versionFile)?.groups?.get("num")?.value?.toInt() - } else { - null - } - } - suspend fun formReleaseInfo(repo: AdoptRepos): ReleaseInfo { val gaReleases = repo .allReleases @@ -40,9 +26,11 @@ class ReleaseVersionResolver @Inject constructor( .toTypedArray() val mostRecentFeatureRelease: Int = availableReleases.lastOrNull() ?: 0 + val ltsVersions = versionSupplier.getLtsVersions(); + val availableLtsReleases: Array = gaReleases .asSequence() - .filter { Versions.ltsVersions.contains(it.version_data.major) } + .filter { ltsVersions.contains(it.version_data.major) } .map { it.version_data.major } .distinct() .sorted() @@ -58,7 +46,7 @@ class ReleaseVersionResolver @Inject constructor( .sorted() .lastOrNull() ?: 0 - val tip = getTipVersion() ?: mostRecentFeatureVersion + val tip = versionSupplier.getTipVersion() ?: mostRecentFeatureVersion return ReleaseInfo( availableReleases, diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/UpdatableVersionSupplier.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/UpdatableVersionSupplier.kt new file mode 100644 index 000000000..0f01490ac --- /dev/null +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/UpdatableVersionSupplier.kt @@ -0,0 +1,5 @@ +package net.adoptium.api.v3.dataSources + +interface UpdatableVersionSupplier : VersionSupplier { + suspend fun updateVersions() +} diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/UpdatableVersionSupplierImpl.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/UpdatableVersionSupplierImpl.kt new file mode 100644 index 000000000..eb15c6be7 --- /dev/null +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/UpdatableVersionSupplierImpl.kt @@ -0,0 +1,66 @@ +package net.adoptium.api.v3.dataSources + +import jakarta.enterprise.context.ApplicationScoped +import jakarta.inject.Inject +import kotlinx.coroutines.runBlocking +import org.slf4j.Logger +import org.slf4j.LoggerFactory + +@ApplicationScoped +class UpdatableVersionSupplierImpl @Inject constructor(val updaterHtmlClient: UpdaterHtmlClient) : VersionSupplier, UpdatableVersionSupplier { + companion object { + private val LOGGER: Logger = LoggerFactory.getLogger(UpdatableVersionSupplierImpl::class.java); + } + + private val DEFAULT_LATEST_JAVA_VERSION = 24 + private val LATEST_JAVA_VERSION_PROPERTY = "LATEST_JAVA_VERSION" + + private val VERSION_FILE_URL = "https://raw.githubusercontent.com/openjdk/jdk/master/make/conf/version-numbers.conf" + + private var tipVersion: Int? = null + private var latestJavaVersion: Int + private var versions: Array + private var ltsVersions: Array = arrayOf(8, 11, 17, 21) + + init { + latestJavaVersion = Integer.parseInt(System.getProperty(LATEST_JAVA_VERSION_PROPERTY, DEFAULT_LATEST_JAVA_VERSION.toString())) + versions = (8..latestJavaVersion).toList().toTypedArray() + runBlocking { + updateVersions() + } + } + + override suspend fun updateVersions() { + try { + val versionFile = updaterHtmlClient.get(VERSION_FILE_URL) + + if (versionFile != null) { + tipVersion = Regex(""".*DEFAULT_VERSION_FEATURE=(?\d+).*""", setOf(RegexOption.MULTILINE, RegexOption.DOT_MATCHES_ALL)) + .matchEntire(versionFile)?.groups?.get("num")?.value?.toInt() + } else { + LOGGER.warn("Failed to get tip version") + } + + + if (tipVersion != null && tipVersion!! > latestJavaVersion) { + latestJavaVersion = tipVersion as Int + versions = (8..latestJavaVersion).toList().toTypedArray() + } + + } catch (e: Exception) { + LOGGER.warn("Failed to get tip version", e) + } + } + + override fun getTipVersion(): Int? { + return this.tipVersion + } + + override fun getLtsVersions(): Array { + return ltsVersions + } + + override fun getAllVersions(): Array { + return versions + } +} diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReposBuilderTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReposBuilderTest.kt index b1faa4c3d..23a5a56a3 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReposBuilderTest.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReposBuilderTest.kt @@ -1,16 +1,15 @@ package net.adoptium.api -import ReleaseFilterType -import ReleaseIncludeFilter import io.mockk.coEvery import io.mockk.coVerify import io.mockk.spyk import kotlinx.coroutines.runBlocking import net.adoptium.api.testDoubles.AdoptRepositoryStub +import net.adoptium.api.testDoubles.UpdatableVersionSupplierStub import net.adoptium.api.v3.AdoptReposBuilder import net.adoptium.api.v3.AdoptRepository import net.adoptium.api.v3.ReleaseResult -import net.adoptium.api.v3.TimeSource +import net.adoptium.api.v3.dataSources.VersionSupplier import net.adoptium.api.v3.dataSources.models.AdoptRepos import net.adoptium.api.v3.dataSources.models.GitHubId import net.adoptium.api.v3.models.GHReleaseMetadata @@ -23,7 +22,7 @@ class AdoptReposBuilderTest : BaseTest() { companion object { private val stub = AdoptRepositoryStub() - private val adoptReposBuilder: AdoptReposBuilder = AdoptReposBuilder(stub) + private val adoptReposBuilder: AdoptReposBuilder = AdoptReposBuilder(stub, UpdatableVersionSupplierStub()) private var before: AdoptRepos = stub.repo private var updated: AdoptRepos = runBlocking { adoptReposBuilder.incrementalUpdate(emptySet(), before) { null } @@ -35,7 +34,7 @@ class AdoptReposBuilderTest : BaseTest() { runBlocking { val adoptRepository = AdoptRepositoryStub() val adoptRepo = spyk(adoptRepository) - val adoptReposBuilder = AdoptReposBuilder(adoptRepo) + val adoptReposBuilder = AdoptReposBuilder(adoptRepo, UpdatableVersionSupplierStub()) adoptReposBuilder.incrementalUpdate(setOf(before.repos[8]?.releases?.nodeList?.first()?.release_name!!), before) { null } @@ -103,7 +102,7 @@ class AdoptReposBuilderTest : BaseTest() { val repo = stub.repo; val adoptRepository = AdoptRepositoryStub() val adoptRepo = spyk(adoptRepository) - val adoptReposBuilder = AdoptReposBuilder(adoptRepo) + val adoptReposBuilder = AdoptReposBuilder(adoptRepo, UpdatableVersionSupplierStub()) coEvery { adoptRepo.getReleaseById(GitHubId(AdoptRepositoryStub.toAddSemiYoungRelease.id)) } returns ReleaseResult(listOf(AdoptRepositoryStub.toAddSemiYoungRelease)) @@ -119,7 +118,7 @@ class AdoptReposBuilderTest : BaseTest() { runBlocking { val adoptRepository = AdoptRepositoryStub() val adoptRepo = spyk(adoptRepository) - val adoptReposBuilder = AdoptReposBuilder(adoptRepo) + val adoptReposBuilder = AdoptReposBuilder(adoptRepo, UpdatableVersionSupplierStub()) adoptReposBuilder.incrementalUpdate(emptySet(), before) { if (before.repos[11]?.releases?.nodeList?.first()?.id == it.id) { @@ -140,10 +139,10 @@ class AdoptReposBuilderTest : BaseTest() { } @Test - fun `release is not updated when binary count does not change`(adoptRepository: AdoptRepository) { + fun `release is not updated when binary count does not change`(adoptRepository: AdoptRepository, versionSupplier: VersionSupplier) { runBlocking { val adoptRepo = spyk(adoptRepository) - val adoptReposBuilder = AdoptReposBuilder(adoptRepo) + val adoptReposBuilder = AdoptReposBuilder(adoptRepo, versionSupplier) adoptReposBuilder.incrementalUpdate(emptySet(), before) { GHReleaseMetadata( diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/BaseTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/BaseTest.kt index 76572aa1f..aebee413f 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/BaseTest.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/BaseTest.kt @@ -5,6 +5,7 @@ import io.mockk.junit5.MockKExtension import io.mockk.mockk import net.adoptium.api.testDoubles.InMemoryApiPersistence import net.adoptium.api.testDoubles.InMemoryInternalDbStore +import net.adoptium.api.testDoubles.UpdatableVersionSupplierStub import net.adoptium.api.v3.dataSources.APIDataStoreImpl import net.adoptium.api.v3.dataSources.UpdaterHtmlClient import net.adoptium.api.v3.dataSources.UrlRequest @@ -26,7 +27,7 @@ import org.junit.jupiter.api.extension.ExtendWith @EnableAutoWeld @ExtendWith(MockKExtension::class) -@AddPackages(value = [InMemoryApiPersistence::class, InMemoryInternalDbStore::class, APIDataStoreImpl::class]) +@AddPackages(value = [InMemoryApiPersistence::class, InMemoryInternalDbStore::class, APIDataStoreImpl::class, UpdatableVersionSupplierStub::class]) @EnableAlternatives abstract class BaseTest { diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/DockerStatsInterfaceTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/DockerStatsInterfaceTest.kt index 077f921ed..2eb616b07 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/DockerStatsInterfaceTest.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/DockerStatsInterfaceTest.kt @@ -4,6 +4,7 @@ import io.mockk.coEvery import io.mockk.mockk import kotlinx.coroutines.runBlocking import net.adoptium.api.testDoubles.InMemoryApiPersistence +import net.adoptium.api.testDoubles.UpdatableVersionSupplierStub import net.adoptium.api.v3.DownloadStatsInterface import net.adoptium.api.v3.TimeSource import net.adoptium.api.v3.dataSources.DefaultUpdaterHtmlClient @@ -61,7 +62,7 @@ class DockerStatsInterfaceTest : BaseTest() { DockerDownloadStatsDbEntry(baseTime, 100, "a-stats-repo", 8, JvmImpl.hotspot) ) - val downloadStatsInterface = DownloadStatsInterface(apiPersistanceMock) + val downloadStatsInterface = DownloadStatsInterface(apiPersistanceMock, UpdatableVersionSupplierStub()) var stats = downloadStatsInterface.getTrackingStats(10, source = StatsSource.github, featureVersion = 8) assertEquals(70, stats[0].total) diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/MongoTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/MongoTest.kt index 6c1f57900..c823b2c99 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/MongoTest.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/MongoTest.kt @@ -6,6 +6,7 @@ import de.flapdoodle.embed.mongo.transitions.Mongod import de.flapdoodle.embed.mongo.transitions.RunningMongodProcess import de.flapdoodle.embed.process.runtime.Network import de.flapdoodle.reverse.transitions.Start +import net.adoptium.api.testDoubles.UpdatableVersionSupplierStub import net.adoptium.api.v3.dataSources.APIDataStoreImpl import org.jboss.weld.junit5.auto.AddPackages import org.jboss.weld.junit5.auto.EnableAutoWeld @@ -14,7 +15,7 @@ import org.junit.jupiter.api.BeforeAll import org.slf4j.LoggerFactory @EnableAutoWeld -@AddPackages(value = [APIDataStoreImpl::class]) +@AddPackages(value = [APIDataStoreImpl::class, UpdatableVersionSupplierStub::class]) abstract class MongoTest { companion object { diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/ReleaseVersionResolverTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/ReleaseVersionResolverTest.kt index b7f62f1f2..ba9ddf803 100644 --- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/ReleaseVersionResolverTest.kt +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/ReleaseVersionResolverTest.kt @@ -1,37 +1,16 @@ package net.adoptium.api import kotlinx.coroutines.runBlocking +import net.adoptium.api.testDoubles.UpdatableVersionSupplierStub import net.adoptium.api.v3.dataSources.ReleaseVersionResolver -import net.adoptium.api.v3.dataSources.UpdaterHtmlClient -import net.adoptium.api.v3.dataSources.UrlRequest import net.adoptium.api.v3.models.ReleaseInfo -import org.apache.http.HttpResponse import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Test class ReleaseVersionResolverTest : BaseTest() { private fun getReleaseVersionResolver(): ReleaseVersionResolver { - return ReleaseVersionResolver( - - object : UpdaterHtmlClient { - override suspend fun get(url: String): String? { - return getTipMetadata() - } - - fun getTipMetadata(): String { - return """ - DEFAULT_VERSION_FEATURE=15 - DEFAULT_VERSION_INTERIM=0 - """.trimIndent() - } - - override suspend fun getFullResponse(request: UrlRequest): HttpResponse? { - return null - } - } - - ) + return ReleaseVersionResolver(UpdatableVersionSupplierStub()) } @Test diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/testDoubles/UpdatableVersionSupplierStub.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/testDoubles/UpdatableVersionSupplierStub.kt new file mode 100644 index 000000000..f63238649 --- /dev/null +++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/testDoubles/UpdatableVersionSupplierStub.kt @@ -0,0 +1,27 @@ +package net.adoptium.api.testDoubles + +import jakarta.annotation.Priority +import jakarta.enterprise.context.ApplicationScoped +import jakarta.enterprise.inject.Alternative +import net.adoptium.api.v3.dataSources.UpdatableVersionSupplier + +@Priority(1) +@Alternative +@ApplicationScoped +class UpdatableVersionSupplierStub : UpdatableVersionSupplier { + override suspend fun updateVersions() { + // NOP + } + + override fun getTipVersion(): Int? { + return 15 + } + + override fun getLtsVersions(): Array { + return arrayOf(8, 11) + } + + override fun getAllVersions(): Array { + return listOf(8, 10, 11, 12, 18).toList().toTypedArray() + } +} From 1ee4cc2f5269444db89fee95f34d770bc1f08cea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2024 00:19:19 +0000 Subject: [PATCH 043/174] Bump github/codeql-action from 3.25.11 to 3.25.12 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.11 to 3.25.12. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/b611370bb5703a7efb587f9d136a52ea24c5c38c...4fa2a7953630fd2f3fb380f21be14ede0169dd4f) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 36e6b5fa1..a764f9657 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 + uses: github/codeql-action/init@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -59,6 +59,6 @@ jobs: ./mvnw --batch-mode clean install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 + uses: github/codeql-action/analyze@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 with: category: "/language:${{matrix.language}}" From 2a211adbe9cec748fe93b82f4dc3b82e863dffb1 Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Wed, 17 Jul 2024 15:35:45 +0100 Subject: [PATCH 044/174] Fix front end initial db update --- .../api/v3/dataSources/APIDataStoreImpl.kt | 165 +++++++++++------- 1 file changed, 99 insertions(+), 66 deletions(-) diff --git a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/APIDataStoreImpl.kt b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/APIDataStoreImpl.kt index a348b9f6f..cd90c6069 100644 --- a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/APIDataStoreImpl.kt +++ b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/APIDataStoreImpl.kt @@ -20,7 +20,6 @@ import kotlin.concurrent.timerTask @ApplicationScoped open class APIDataStoreImpl : APIDataStore { - private var versionSupplier: VersionSupplier private var dataStore: ApiPersistence private var updatedAt: UpdatedInfo private var binaryRepos: AdoptRepos @@ -30,17 +29,98 @@ open class APIDataStoreImpl : APIDataStore { companion object { @JvmStatic private val LOGGER = LoggerFactory.getLogger(this::class.java) + private val MAX_VERSION_TO_LOAD = (System.getenv("MAX_VERSION_TO_LOAD") ?: "100").toInt() + + + fun loadDataFromDb( + dataStore: ApiPersistence, + previousUpdateInfo: UpdatedInfo, + forceUpdate: Boolean, + previousRepo: AdoptRepos?, + versions: List): Pair { + + return runBlocking { + val updated = dataStore.getUpdatedAt() + + if (previousRepo == null || forceUpdate || updated != previousUpdateInfo) { + val data = versions + .map { version -> + dataStore.readReleaseData(version) + } + .filter { it.releases.nodes.isNotEmpty() } + .toList() + val updatedAt = dataStore.getUpdatedAt() + + LOGGER.info("Loaded Version: $updatedAt") + val newData = filterValidAssets(data) + + showStats(previousRepo, newData) + Pair(newData, updatedAt) + } else { + Pair(previousRepo, previousUpdateInfo) + } + } + } + + private fun filterValidAssets(data: List): AdoptRepos { + // Ensure that we filter out valid releases/binaries for this ecosystem + val filtered = AdoptRepos(data) + .getFilteredReleases( + { release -> + Vendor.validVendor(release.vendor) + }, + { binary -> + JvmImpl.validJvmImpl(binary.jvm_impl) + }, + SortOrder.ASC, + SortMethod.DEFAULT + ) + .groupBy { it.version_data.major } + .map { FeatureRelease(it.key, Releases(it.value)) } + + return AdoptRepos(filtered) + } + + private fun showStats(binaryRepos: AdoptRepos?, newData: AdoptRepos) { + newData.allReleases.getReleases() + .forEach { release -> + val oldRelease = binaryRepos?.allReleases?.nodes?.get(release.id) + if (oldRelease == null) { + LOGGER.info("New release: ${release.release_name} ${release.binaries.size}") + } else if (oldRelease.binaries.size != release.binaries.size) { + LOGGER.info("Binary count changed ${release.release_name} ${oldRelease.binaries.size} -> ${release.binaries.size}") + } + } + + binaryRepos?.allReleases?.getReleases() + ?.forEach { oldRelease -> + val newRelease = binaryRepos.allReleases.nodes[oldRelease.id] + if (newRelease == null) { + LOGGER.info("Removed release: ${oldRelease.release_name} ${oldRelease.binaries.size}") + } + } + } + + } @Inject - constructor(dataStore: ApiPersistence, versionSupplier: VersionSupplier) { + constructor(dataStore: ApiPersistence) { this.dataStore = dataStore - this.versionSupplier = versionSupplier; updatedAt = UpdatedInfo(ZonedDateTime.now().minusYears(10), "111", 0) schedule = null + binaryRepos = try { - loadDataFromDb(true) + val update = loadDataFromDb( + dataStore, + updatedAt, + true, + null, + (8..MAX_VERSION_TO_LOAD).toList() + ) + updatedAt = update.second + update.first } catch (e: Exception) { LOGGER.error("Failed to read db", e) AdoptRepos(listOf()) @@ -85,51 +165,24 @@ open class APIDataStoreImpl : APIDataStore { } override fun loadDataFromDb(forceUpdate: Boolean): AdoptRepos { - val previousRepo: AdoptRepos = binaryRepos - - binaryRepos = runBlocking { - val updated = dataStore.getUpdatedAt() - - if (forceUpdate || updated != updatedAt) { - val data = versionSupplier - .getAllVersions() - .map { version -> - dataStore.readReleaseData(version) - } - .filter { it.releases.nodes.isNotEmpty() } - .toList() - updatedAt = dataStore.getUpdatedAt() - - LOGGER.info("Loaded Version: $updatedAt") - val newData = filterValidAssets(data) - - showStats(previousRepo, newData) - newData - } else { - binaryRepos - } - } + // Scan the currently available versions plus 5 + val versions = releaseInfo.available_releases.toList() + .plus((releaseInfo.available_releases.last()..releaseInfo.available_releases.last() + 5)) + .filter { it <= MAX_VERSION_TO_LOAD } + + val update = loadDataFromDb( + dataStore, + updatedAt, + forceUpdate, + binaryRepos, + versions + ) + + this.updatedAt = update.second + this.binaryRepos = update.first return binaryRepos - } - private fun filterValidAssets(data: List): AdoptRepos { - // Ensure that we filter out valid releases/binaries for this ecosystem - val filtered = AdoptRepos(data) - .getFilteredReleases( - { release -> - Vendor.validVendor(release.vendor) - }, - { binary -> - JvmImpl.validJvmImpl(binary.jvm_impl) - }, - SortOrder.ASC, - SortMethod.DEFAULT - ) - .groupBy { it.version_data.major } - .map { FeatureRelease(it.key, Releases(it.value)) } - - return AdoptRepos(filtered) } // open for @@ -151,26 +204,6 @@ open class APIDataStoreImpl : APIDataStore { } } - private fun showStats(binaryRepos: AdoptRepos?, newData: AdoptRepos) { - newData.allReleases.getReleases() - .forEach { release -> - val oldRelease = binaryRepos?.allReleases?.nodes?.get(release.id) - if (oldRelease == null) { - LOGGER.info("New release: ${release.release_name} ${release.binaries.size}") - } else if (oldRelease.binaries.size != release.binaries.size) { - LOGGER.info("Binary count changed ${release.release_name} ${oldRelease.binaries.size} -> ${release.binaries.size}") - } - } - - binaryRepos?.allReleases?.getReleases() - ?.forEach { oldRelease -> - val newRelease = binaryRepos.allReleases.nodes[oldRelease.id] - if (newRelease == null) { - LOGGER.info("Removed release: ${oldRelease.release_name} ${oldRelease.binaries.size}") - } - } - } - override fun getReleaseInfo(): ReleaseInfo { return releaseInfo } From 16aa985682cc7acfe9bc4b97ae9c37c3c640d955 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 18 Jul 2024 00:50:33 +0000 Subject: [PATCH 045/174] Bump docker/build-push-action in /.github/actions/docker-build Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.3.0 to 6.4.1. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/1a162644f9a7e87d8f4b053101d1d9a712edc18c...1ca370b3a9802c92e886402e0dd88098a2533b12) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/actions/docker-build/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/docker-build/action.yml b/.github/actions/docker-build/action.yml index b3d536754..52e284087 100644 --- a/.github/actions/docker-build/action.yml +++ b/.github/actions/docker-build/action.yml @@ -14,7 +14,7 @@ runs: using: composite steps: - name: Build container image and push to Azure - uses: docker/build-push-action@1a162644f9a7e87d8f4b053101d1d9a712edc18c # v6.3.0 + uses: docker/build-push-action@1ca370b3a9802c92e886402e0dd88098a2533b12 # v6.4.1 with: file: ${{ inputs.DOCKER_FILE }} tags: ${{ inputs.DOCKER_REPO }}:latest From 80ad7f6cd50dc0cb90b5f24e82fe80eb4bd8df25 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 00:03:15 +0000 Subject: [PATCH 046/174] Bump github/codeql-action from 3.25.12 to 3.25.13 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.12 to 3.25.13. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/4fa2a7953630fd2f3fb380f21be14ede0169dd4f...2d790406f505036ef40ecba973cc774a50395aac) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index a764f9657..a744aba8b 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 + uses: github/codeql-action/init@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -59,6 +59,6 @@ jobs: ./mvnw --batch-mode clean install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 + uses: github/codeql-action/analyze@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13 with: category: "/language:${{matrix.language}}" From 268a19ed88d1bfbdc7ffb4d41bc289e1e60eaffb Mon Sep 17 00:00:00 2001 From: Xavier FACQ Date: Mon, 22 Jul 2024 09:00:04 +0200 Subject: [PATCH 047/174] Bump io.jsonwebtoken:jjwt-impl from 0.12.5 to 0.12.6 --- .../adoptium-github-datasource/pom.xml | 6 +++--- .../adoptium-http-client-datasource/pom.xml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/pom.xml b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/pom.xml index 4fe3a3957..ea3a9e2d3 100644 --- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/pom.xml +++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/pom.xml @@ -19,18 +19,18 @@ io.jsonwebtoken jjwt-api - 0.12.5 + 0.12.6 io.jsonwebtoken jjwt-impl - 0.12.5 + 0.12.6 runtime io.jsonwebtoken jjwt-jackson - 0.12.5 + 0.12.6 runtime diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/pom.xml b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/pom.xml index bce43c779..133661634 100644 --- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/pom.xml +++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/pom.xml @@ -51,18 +51,18 @@ io.jsonwebtoken jjwt-api - 0.12.5 + 0.12.6 io.jsonwebtoken jjwt-impl - 0.12.5 + 0.12.6 runtime io.jsonwebtoken jjwt-jackson - 0.12.5 + 0.12.6 runtime From 5ca2cb415e67be74387fa6560e4a513ad677052d Mon Sep 17 00:00:00 2001 From: Xavier FACQ Date: Mon, 22 Jul 2024 15:38:00 +0200 Subject: [PATCH 048/174] Bump io.smallrye:smallrye-open-api-* from 3.10.0 to 3.11.0 --- adoptium-api-versions/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml index 049577af5..e47489bf4 100644 --- a/adoptium-api-versions/pom.xml +++ b/adoptium-api-versions/pom.xml @@ -343,13 +343,13 @@ io.smallrye smallrye-open-api-core - 3.10.0 + 3.11.0 test io.smallrye smallrye-open-api-jaxrs - 3.10.0 + 3.11.0 test From 269f4718308f5980204be51a7a4034051f26e1bd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Jul 2024 00:10:18 +0000 Subject: [PATCH 049/174] Bump docker/build-push-action in /.github/actions/docker-build Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.4.1 to 6.5.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/1ca370b3a9802c92e886402e0dd88098a2533b12...5176d81f87c23d6fc96624dfdbcd9f3830bbe445) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/actions/docker-build/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/docker-build/action.yml b/.github/actions/docker-build/action.yml index 52e284087..3a71ee203 100644 --- a/.github/actions/docker-build/action.yml +++ b/.github/actions/docker-build/action.yml @@ -14,7 +14,7 @@ runs: using: composite steps: - name: Build container image and push to Azure - uses: docker/build-push-action@1ca370b3a9802c92e886402e0dd88098a2533b12 # v6.4.1 + uses: docker/build-push-action@5176d81f87c23d6fc96624dfdbcd9f3830bbe445 # v6.5.0 with: file: ${{ inputs.DOCKER_FILE }} tags: ${{ inputs.DOCKER_REPO }}:latest From c43d1dcca2789d7ba914a98a0027eee2e3968a92 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Jul 2024 00:18:27 +0000 Subject: [PATCH 050/174] Bump docker/login-action in /.github/actions/azure-login Bumps [docker/login-action](https://github.com/docker/login-action) from 3.2.0 to 3.3.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/0d4c9c5ea7693da7b068278f7b52bda2a190a446...9780b0c442fbb1117ed29e0efdff1e18412f7567) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/actions/azure-login/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/azure-login/action.yml b/.github/actions/azure-login/action.yml index 2992a5ebd..5b260ceff 100644 --- a/.github/actions/azure-login/action.yml +++ b/.github/actions/azure-login/action.yml @@ -27,7 +27,7 @@ runs: subscription-id: ${{ inputs.AZURE_SUBSCRIPTION_ID }} - name: Login to Azure Container Registry - uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0 + uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 with: registry: adoptopenjdkacr.azurecr.io username: ${{ inputs.AZURE_CLIENT_ID }} From eed4b650bba2b9029c056f1cc774b1652fa0fc4e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Jul 2024 00:20:05 +0000 Subject: [PATCH 051/174] Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.4.1 to 3.5.0 Bumps [org.apache.maven.plugins:maven-enforcer-plugin](https://github.com/apache/maven-enforcer) from 3.4.1 to 3.5.0. - [Release notes](https://github.com/apache/maven-enforcer/releases) - [Commits](https://github.com/apache/maven-enforcer/compare/enforcer-3.4.1...enforcer-3.5.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-enforcer-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- adoptium-api-versions/pom.xml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml index e47489bf4..26fcac7a3 100644 --- a/adoptium-api-versions/pom.xml +++ b/adoptium-api-versions/pom.xml @@ -29,7 +29,7 @@ org.apache.maven.plugins maven-enforcer-plugin - 3.4.1 + 3.5.0 enforce diff --git a/pom.xml b/pom.xml index b27c2b703..9f700c27c 100644 --- a/pom.xml +++ b/pom.xml @@ -36,7 +36,7 @@ 2.0.4 3.1.2 1.0 - 3.4.1 + 3.5.0 3.2.0 3.3.2 3.4.0 From e9e87a858b519d3ee0e70c138e0f849ade97515a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Jul 2024 00:20:15 +0000 Subject: [PATCH 052/174] Bump jackson.version from 2.17.1 to 2.17.2 Bumps `jackson.version` from 2.17.1 to 2.17.2. Updates `com.fasterxml.jackson.module:jackson-module-kotlin` from 2.17.1 to 2.17.2 - [Commits](https://github.com/FasterXML/jackson-module-kotlin/compare/jackson-module-kotlin-2.17.1...jackson-module-kotlin-2.17.2) Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.17.1 to 2.17.2 Updates `com.fasterxml.jackson.datatype:jackson-datatype-jakarta-jsonp` from 2.17.1 to 2.17.2 - [Commits](https://github.com/FasterXML/jackson-datatypes-misc/compare/jackson-datatypes-misc-parent-2.17.1...jackson-datatypes-misc-parent-2.17.2) Updates `com.fasterxml.jackson.core:jackson-databind` from 2.17.1 to 2.17.2 - [Commits](https://github.com/FasterXML/jackson/commits) Updates `com.fasterxml.jackson.core:jackson-annotations` from 2.17.1 to 2.17.2 - [Commits](https://github.com/FasterXML/jackson/commits) Updates `com.fasterxml.jackson.datatype:jackson-datatype-jdk8` from 2.17.1 to 2.17.2 --- updated-dependencies: - dependency-name: com.fasterxml.jackson.module:jackson-module-kotlin dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jsr310 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jakarta-jsonp dependency-type: direct:development update-type: version-update:semver-patch - dependency-name: com.fasterxml.jackson.core:jackson-databind dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.fasterxml.jackson.core:jackson-annotations dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jdk8 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- adoptium-api-versions/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml index e47489bf4..28ca3241e 100644 --- a/adoptium-api-versions/pom.xml +++ b/adoptium-api-versions/pom.xml @@ -9,7 +9,7 @@ 1.8.1 - 2.17.1 + 2.17.2 17 4.11.0 17 From 23e81afadd51860a8335cac4b5d4ecebf6767d41 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Jul 2024 00:20:16 +0000 Subject: [PATCH 053/174] Bump org.eclipse.jetty:jetty-client from 12.0.8 to 12.0.11 Bumps org.eclipse.jetty:jetty-client from 12.0.8 to 12.0.11. --- updated-dependencies: - dependency-name: org.eclipse.jetty:jetty-client dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- adoptium-api-versions/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml index e47489bf4..bf301ac72 100644 --- a/adoptium-api-versions/pom.xml +++ b/adoptium-api-versions/pom.xml @@ -361,7 +361,7 @@ org.eclipse.jetty jetty-client - 12.0.8 + 12.0.11 org.bouncycastle From 947c9b8445abb69cf5159a69615f80f9207ed79c Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Tue, 23 Jul 2024 19:56:30 +0100 Subject: [PATCH 054/174] Fix ubuntu 24 Docker update --- deploy/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deploy/Dockerfile b/deploy/Dockerfile index 680c99a3d..f026828ea 100644 --- a/deploy/Dockerfile +++ b/deploy/Dockerfile @@ -10,14 +10,14 @@ ENV REPOSITORY=$REPOSITORY ARG BRANCH="main" ENV BRANCH=$BRANCH -RUN useradd -ms /bin/bash api && \ +RUN apt-get update && apt-get -y install openssl adduser && \ + useradd -ms /bin/bash api && \ mkdir -p /home/api/deployment/ && \ mkdir -p /logs && \ mkdir -p /home/api/deployment/lib && \ mkdir -p /home/api/build && \ mkdir /tmp/build && \ - chown -R api: /home/api/ && \ - apt-get update && apt-get -y install openssl + chown -R api: /home/api/ WORKDIR /tmp/build From 0d8a248beeda4b6ac032495cdfa73804af126dc0 Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Tue, 23 Jul 2024 20:39:57 +0100 Subject: [PATCH 055/174] Convert to multi stage build --- deploy/Dockerfile | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/deploy/Dockerfile b/deploy/Dockerfile index f026828ea..b6085885c 100644 --- a/deploy/Dockerfile +++ b/deploy/Dockerfile @@ -1,4 +1,6 @@ -FROM eclipse-temurin:21 +###################################################### +## Build +FROM eclipse-temurin:21 as build # BUILDS FOR ADOPTIUM, NOT ADOPTOPENJDK ARG MAVEN_FLAGS="-Padoptium,-adoptopenjdk" @@ -13,9 +15,7 @@ ENV BRANCH=$BRANCH RUN apt-get update && apt-get -y install openssl adduser && \ useradd -ms /bin/bash api && \ mkdir -p /home/api/deployment/ && \ - mkdir -p /logs && \ mkdir -p /home/api/deployment/lib && \ - mkdir -p /home/api/build && \ mkdir /tmp/build && \ chown -R api: /home/api/ @@ -37,6 +37,22 @@ RUN ./mvnw clean install $MAVEN_FLAGS && \ rm -rf /tmp/build ~/.m2 && \ cd /home/api/ && find + +###################################################### +## Build Deployment +FROM eclipse-temurin:21 + +RUN apt-get update && apt-get -y install openssl adduser && \ + useradd -ms /bin/bash api && \ + mkdir -p /home/api/ && \ + mkdir -p /logs + +COPY --from=build /home/api/deployment /home/api/deployment + +RUN chown -R api: /home/api/ && find /home/api/ + +USER api + WORKDIR /home/api/deployment/ ENV JAVA_OPTS="" From 408aa49de5560f83cbc79ac38f381c5197990a38 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jul 2024 00:48:26 +0000 Subject: [PATCH 056/174] Bump io.quarkus:quarkus-maven-plugin from 3.11.2 to 3.12.3 Bumps io.quarkus:quarkus-maven-plugin from 3.11.2 to 3.12.3. --- updated-dependencies: - dependency-name: io.quarkus:quarkus-maven-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9f700c27c..daec27ba2 100644 --- a/pom.xml +++ b/pom.xml @@ -82,7 +82,7 @@ 4.7.3 UTF-8 UTF-8 - 3.11.2 + 3.12.3 From afbda1be1122c460f33b9f839fc3c6af9362349a Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Wed, 24 Jul 2024 15:25:23 +0100 Subject: [PATCH 057/174] Fix permisions in docker container --- deploy/Dockerfile | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/deploy/Dockerfile b/deploy/Dockerfile index b6085885c..7397b2033 100644 --- a/deploy/Dockerfile +++ b/deploy/Dockerfile @@ -49,7 +49,11 @@ RUN apt-get update && apt-get -y install openssl adduser && \ COPY --from=build /home/api/deployment /home/api/deployment -RUN chown -R api: /home/api/ && find /home/api/ +RUN chown -R api: /home/api/ && \ + chmod -R ug+r /home/api/ && \ + chmod u+rwx /home/api/ && \ + chmod u+rwx /home/api/deployment && \ + find /home/api/ USER api @@ -59,5 +63,5 @@ ENV JAVA_OPTS="" ARG type=frontend ENV typeEnv=$type -CMD cd /home/api/deployment/ && ./run.sh ${typeEnv} +CMD ./run.sh ${typeEnv} From 1dc94142b5ff8ea77459a6a948e8c25695b80a19 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Jul 2024 00:54:08 +0000 Subject: [PATCH 058/174] Bump com.microsoft.azure:applicationinsights-runtime-attach Bumps [com.microsoft.azure:applicationinsights-runtime-attach](https://github.com/Microsoft/ApplicationInsights-Java) from 3.5.2 to 3.5.3. - [Release notes](https://github.com/Microsoft/ApplicationInsights-Java/releases) - [Changelog](https://github.com/microsoft/ApplicationInsights-Java/blob/main/CHANGELOG.md) - [Commits](https://github.com/Microsoft/ApplicationInsights-Java/compare/3.5.2...3.5.3) --- updated-dependencies: - dependency-name: com.microsoft.azure:applicationinsights-runtime-attach dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- adoptium-api-versions/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml index dfbf4e2fe..3c4b637d0 100644 --- a/adoptium-api-versions/pom.xml +++ b/adoptium-api-versions/pom.xml @@ -263,7 +263,7 @@ com.microsoft.azure applicationinsights-runtime-attach - 3.5.2 + 3.5.3 io.opentelemetry.javaagent.instrumentation From 2529455023c6bc43e88500d9d177425f83970a37 Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Thu, 25 Jul 2024 15:23:39 +0100 Subject: [PATCH 059/174] Simplify permissions and move to 21-jammy --- deploy/Dockerfile | 37 +++++++++++-------------------------- 1 file changed, 11 insertions(+), 26 deletions(-) diff --git a/deploy/Dockerfile b/deploy/Dockerfile index 7397b2033..8243e657f 100644 --- a/deploy/Dockerfile +++ b/deploy/Dockerfile @@ -1,6 +1,6 @@ ###################################################### ## Build -FROM eclipse-temurin:21 as build +FROM eclipse-temurin:21-jammy as build # BUILDS FOR ADOPTIUM, NOT ADOPTOPENJDK ARG MAVEN_FLAGS="-Padoptium,-adoptopenjdk" @@ -12,48 +12,33 @@ ENV REPOSITORY=$REPOSITORY ARG BRANCH="main" ENV BRANCH=$BRANCH -RUN apt-get update && apt-get -y install openssl adduser && \ - useradd -ms /bin/bash api && \ - mkdir -p /home/api/deployment/ && \ - mkdir -p /home/api/deployment/lib && \ - mkdir /tmp/build && \ - chown -R api: /home/api/ +RUN mkdir /tmp/build WORKDIR /tmp/build COPY . /tmp/build -RUN chown -R api: /tmp/build - -USER api - RUN ./mvnw clean install $MAVEN_FLAGS && \ - cp adoptium-updater-parent/adoptium-api-v3-updater/target/adoptium-api-v3-updater-*-jar-with-dependencies.jar /home/api/deployment/updater.jar && \ - cp -r adoptium-frontend-parent/adoptium-api-v3-frontend/target/quarkus-app/* /home/api/deployment/ && \ - mv /home/api/deployment/quarkus-run.jar /home/api/deployment/frontend.jar && \ - cp deploy/run.sh /home/api/deployment/ && \ - chmod +x /home/api/deployment/run.sh && \ + mkdir -p /api/deployment && \ + cp adoptium-updater-parent/adoptium-api-v3-updater/target/adoptium-api-v3-updater-*-jar-with-dependencies.jar /api/deployment/updater.jar && \ + cp -r adoptium-frontend-parent/adoptium-api-v3-frontend/target/quarkus-app/* /api/deployment/ && \ + mv /api/deployment/quarkus-run.jar /api/deployment/frontend.jar && \ + cp deploy/run.sh /api/deployment/ && \ + chmod +x /api/deployment/run.sh && \ cd /tmp && \ rm -rf /tmp/build ~/.m2 && \ - cd /home/api/ && find + cd /api/ && find ###################################################### ## Build Deployment -FROM eclipse-temurin:21 +FROM eclipse-temurin:21-jammy RUN apt-get update && apt-get -y install openssl adduser && \ useradd -ms /bin/bash api && \ - mkdir -p /home/api/ && \ mkdir -p /logs -COPY --from=build /home/api/deployment /home/api/deployment - -RUN chown -R api: /home/api/ && \ - chmod -R ug+r /home/api/ && \ - chmod u+rwx /home/api/ && \ - chmod u+rwx /home/api/deployment && \ - find /home/api/ +COPY --chown=api:api --from=build /api/deployment /home/api/deployment USER api From 2ca4ec2cad0b161cba381862cea11f10ae879c20 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 Jul 2024 00:05:05 +0000 Subject: [PATCH 060/174] Bump maven.surefire-plugin.version from 3.3.0 to 3.3.1 Bumps `maven.surefire-plugin.version` from 3.3.0 to 3.3.1. Updates `org.apache.maven.plugins:maven-failsafe-plugin` from 3.3.0 to 3.3.1 - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.3.0...surefire-3.3.1) Updates `org.apache.maven.plugins:maven-surefire-plugin` from 3.3.0 to 3.3.1 - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.3.0...surefire-3.3.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-failsafe-plugin dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index daec27ba2..f5281cb22 100644 --- a/pom.xml +++ b/pom.xml @@ -68,7 +68,7 @@ 4.0.0-M13 3.3.1 4.8.5.0 - 3.3.0 + 3.3.1 1.0.10 1.2.0 3.2.0 From 630da2bf3bb74bd9d5a33fdd97d256c884980bd5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 Jul 2024 00:45:26 +0000 Subject: [PATCH 061/174] Bump github/codeql-action from 3.25.13 to 3.25.14 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.13 to 3.25.14. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/2d790406f505036ef40ecba973cc774a50395aac...5cf07d8b700b67e235fbb65cbc84f69c0cf10464) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index a744aba8b..923f21556 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13 + uses: github/codeql-action/init@5cf07d8b700b67e235fbb65cbc84f69c0cf10464 # v3.25.14 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -59,6 +59,6 @@ jobs: ./mvnw --batch-mode clean install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13 + uses: github/codeql-action/analyze@5cf07d8b700b67e235fbb65cbc84f69c0cf10464 # v3.25.14 with: category: "/language:${{matrix.language}}" From 20d661ef663e002964dd019d715c23619d5939cb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 00:21:15 +0000 Subject: [PATCH 062/174] Bump github/codeql-action from 3.25.14 to 3.25.15 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.14 to 3.25.15. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/5cf07d8b700b67e235fbb65cbc84f69c0cf10464...afb54ba388a7dca6ecae48f608c4ff05ff4cc77a) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 923f21556..318e78a5e 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@5cf07d8b700b67e235fbb65cbc84f69c0cf10464 # v3.25.14 + uses: github/codeql-action/init@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -59,6 +59,6 @@ jobs: ./mvnw --batch-mode clean install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@5cf07d8b700b67e235fbb65cbc84f69c0cf10464 # v3.25.14 + uses: github/codeql-action/analyze@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15 with: category: "/language:${{matrix.language}}" From 5d9d956c37da1e0ebb30fd2308d9fe8f8fdfa33a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 00:55:35 +0000 Subject: [PATCH 063/174] Bump org.apache.maven.plugins:maven-help-plugin from 3.4.0 to 3.4.1 Bumps [org.apache.maven.plugins:maven-help-plugin](https://github.com/apache/maven-help-plugin) from 3.4.0 to 3.4.1. - [Commits](https://github.com/apache/maven-help-plugin/compare/maven-help-plugin-3.4.0...maven-help-plugin-3.4.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-help-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f5281cb22..37f9700e1 100644 --- a/pom.xml +++ b/pom.xml @@ -39,7 +39,7 @@ 3.5.0 3.2.0 3.3.2 - 3.4.0 + 3.4.1 0.8.10 - 3.4.1 + 3.4.2 3.6.3 2.0 From e57156d2399719f2b382220a7aca491d6adb335b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2024 00:20:57 +0000 Subject: [PATCH 067/174] Bump org.skyscreamer:jsonassert from 1.5.1 to 1.5.3 Bumps [org.skyscreamer:jsonassert](https://github.com/skyscreamer/JSONassert) from 1.5.1 to 1.5.3. - [Release notes](https://github.com/skyscreamer/JSONassert/releases) - [Changelog](https://github.com/skyscreamer/JSONassert/blob/master/CHANGELOG.md) - [Commits](https://github.com/skyscreamer/JSONassert/compare/jsonassert-1.5.1...jsonassert-1.5.3) --- updated-dependencies: - dependency-name: org.skyscreamer:jsonassert dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- adoptium-api-versions/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml index 60ec98776..3ff7a6c75 100644 --- a/adoptium-api-versions/pom.xml +++ b/adoptium-api-versions/pom.xml @@ -257,7 +257,7 @@ org.skyscreamer jsonassert - 1.5.1 + 1.5.3 test From 67777624923bbd134b0bf4f9b04e479e964050ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 00:51:19 +0000 Subject: [PATCH 068/174] Bump org.kohsuke:github-api from 1.321 to 1.323 Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.321 to 1.323. - [Release notes](https://github.com/hub4j/github-api/releases) - [Changelog](https://github.com/hub4j/github-api/blob/main/CHANGELOG.md) - [Commits](https://github.com/hub4j/github-api/compare/github-api-1.321...github-api-1.323) --- updated-dependencies: - dependency-name: org.kohsuke:github-api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .../adoptium-github-datasource/pom.xml | 2 +- .../adoptium-http-client-datasource/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/pom.xml b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/pom.xml index ea3a9e2d3..d4547cc4d 100644 --- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/pom.xml +++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/pom.xml @@ -50,7 +50,7 @@ org.kohsuke github-api - 1.321 + 1.323 net.adoptium.api diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/pom.xml b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/pom.xml index 133661634..5a60e7b12 100644 --- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/pom.xml +++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/pom.xml @@ -68,7 +68,7 @@ org.kohsuke github-api - 1.321 + 1.323 From 902e311e38197ab39105870948fd1499d2206a23 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Aug 2024 00:21:12 +0000 Subject: [PATCH 069/174] Bump actions/setup-java from 4.2.1 to 4.2.2 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.2.1 to 4.2.2. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/99b8673ff64fbf99d8d325f52d9a5bdedb8483e9...6a0805fcefea3d4657a47ac4c165951e33482018) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/ci.yml | 2 +- .github/workflows/codeql.yml | 2 +- .github/workflows/publish.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 32cf64569..ffb83f0e4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: with: persist-credentials: false - - uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1 + - uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4.2.2 with: java-version: '21' distribution: 'temurin' diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 318e78a5e..ebdbcd12c 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -48,7 +48,7 @@ jobs: # Prefix the list here with "+" to use these queries and those in the config file. # queries: ./path/to/local/query, your-org/your-repo/queries@main - - uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1 + - uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4.2.2 with: java-version: '21' distribution: 'temurin' diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 41cd0a6e9..139bb785f 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1 + - uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4.2.2 with: java-version: '21' distribution: 'temurin' From c27d2ec083ba54ef4fdee8d7c3744e1313e34974 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Aug 2024 00:07:55 +0000 Subject: [PATCH 070/174] Bump github/codeql-action from 3.25.15 to 3.26.0 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.15 to 3.26.0. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/afb54ba388a7dca6ecae48f608c4ff05ff4cc77a...eb055d739abdc2e8de2e5f4ba1a8b246daa779aa) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index ebdbcd12c..615f036e7 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15 + uses: github/codeql-action/init@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -59,6 +59,6 @@ jobs: ./mvnw --batch-mode clean install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15 + uses: github/codeql-action/analyze@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0 with: category: "/language:${{matrix.language}}" From 3f690ea7856910b35ed26411b237155a712b68f5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 8 Aug 2024 00:34:28 +0000 Subject: [PATCH 071/174] Bump docker/build-push-action in /.github/actions/docker-build Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.5.0 to 6.6.1. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/5176d81f87c23d6fc96624dfdbcd9f3830bbe445...16ebe778df0e7752d2cfcbd924afdbbd89c1a755) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/actions/docker-build/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/docker-build/action.yml b/.github/actions/docker-build/action.yml index 3a71ee203..1ad2907ae 100644 --- a/.github/actions/docker-build/action.yml +++ b/.github/actions/docker-build/action.yml @@ -14,7 +14,7 @@ runs: using: composite steps: - name: Build container image and push to Azure - uses: docker/build-push-action@5176d81f87c23d6fc96624dfdbcd9f3830bbe445 # v6.5.0 + uses: docker/build-push-action@16ebe778df0e7752d2cfcbd924afdbbd89c1a755 # v6.6.1 with: file: ${{ inputs.DOCKER_FILE }} tags: ${{ inputs.DOCKER_REPO }}:latest From b225761048932221f51383f17d3d6cf0b9c405fa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Aug 2024 00:34:13 +0000 Subject: [PATCH 072/174] Bump github/codeql-action from 3.26.0 to 3.26.1 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.0 to 3.26.1. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/eb055d739abdc2e8de2e5f4ba1a8b246daa779aa...29d86d22a34ea372b1bbf3b2dced2e25ca6b3384) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 615f036e7..232f8ca30 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0 + uses: github/codeql-action/init@29d86d22a34ea372b1bbf3b2dced2e25ca6b3384 # v3.26.1 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -59,6 +59,6 @@ jobs: ./mvnw --batch-mode clean install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0 + uses: github/codeql-action/analyze@29d86d22a34ea372b1bbf3b2dced2e25ca6b3384 # v3.26.1 with: category: "/language:${{matrix.language}}" From 88327e4cd12466be665c7685f02522a68d361367 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Aug 2024 01:03:53 +0000 Subject: [PATCH 073/174] Bump docker/build-push-action in /.github/actions/docker-build Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.6.1 to 6.7.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/16ebe778df0e7752d2cfcbd924afdbbd89c1a755...5cd11c3a4ced054e52742c5fd54dca954e0edd85) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/actions/docker-build/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/docker-build/action.yml b/.github/actions/docker-build/action.yml index 1ad2907ae..efc0292b1 100644 --- a/.github/actions/docker-build/action.yml +++ b/.github/actions/docker-build/action.yml @@ -14,7 +14,7 @@ runs: using: composite steps: - name: Build container image and push to Azure - uses: docker/build-push-action@16ebe778df0e7752d2cfcbd924afdbbd89c1a755 # v6.6.1 + uses: docker/build-push-action@5cd11c3a4ced054e52742c5fd54dca954e0edd85 # v6.7.0 with: file: ${{ inputs.DOCKER_FILE }} tags: ${{ inputs.DOCKER_REPO }}:latest From 7606fe018ad9e1e862b15464cb44af4260364e0f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 15 Aug 2024 00:12:47 +0000 Subject: [PATCH 074/174] Bump github/codeql-action from 3.26.1 to 3.26.2 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.1 to 3.26.2. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/29d86d22a34ea372b1bbf3b2dced2e25ca6b3384...429e1977040da7a23b6822b13c129cd1ba93dbb2) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 232f8ca30..6418484a1 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@29d86d22a34ea372b1bbf3b2dced2e25ca6b3384 # v3.26.1 + uses: github/codeql-action/init@429e1977040da7a23b6822b13c129cd1ba93dbb2 # v3.26.2 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -59,6 +59,6 @@ jobs: ./mvnw --batch-mode clean install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@29d86d22a34ea372b1bbf3b2dced2e25ca6b3384 # v3.26.1 + uses: github/codeql-action/analyze@429e1977040da7a23b6822b13c129cd1ba93dbb2 # v3.26.2 with: category: "/language:${{matrix.language}}" From 06235b058c5728c3b3db27516388fcf05870225a Mon Sep 17 00:00:00 2001 From: Xavier FACQ Date: Mon, 19 Aug 2024 09:54:52 +0200 Subject: [PATCH 075/174] Bump quarkus.version from 3.11.2 to 3.13.0 --- adoptium-api-versions/pom.xml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml index 049577af5..d8d228d45 100644 --- a/adoptium-api-versions/pom.xml +++ b/adoptium-api-versions/pom.xml @@ -20,7 +20,7 @@ 3.5.0 UTF-8 UTF-8 - 3.11.2 + 3.13.0 5.4.0 diff --git a/pom.xml b/pom.xml index b27c2b703..2a418d9ed 100644 --- a/pom.xml +++ b/pom.xml @@ -82,7 +82,7 @@ 4.7.3 UTF-8 UTF-8 - 3.11.2 + 3.13.0 From b4b2c2b9ce5d0279878f1f32a5e29687e18b32ff Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Aug 2024 00:23:06 +0000 Subject: [PATCH 076/174] Bump org.apache.maven.plugins:maven-pmd-plugin from 3.22.0 to 3.24.0 Bumps [org.apache.maven.plugins:maven-pmd-plugin](https://github.com/apache/maven-pmd-plugin) from 3.22.0 to 3.24.0. - [Release notes](https://github.com/apache/maven-pmd-plugin/releases) - [Commits](https://github.com/apache/maven-pmd-plugin/compare/maven-pmd-plugin-3.22.0...maven-pmd-plugin-3.24.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-pmd-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ba0d31670..a64d8adc6 100644 --- a/pom.xml +++ b/pom.xml @@ -59,7 +59,7 @@ 2.4.0 7.7.0 1.16.1 - 3.22.0 + 3.24.0 3.6.2 0.16.1 3.0.1 From 7fad7ba69706fbe598547d7d7c90124cedbfd241 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Aug 2024 00:54:08 +0000 Subject: [PATCH 077/174] Bump github/codeql-action from 3.26.2 to 3.26.3 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.2 to 3.26.3. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/429e1977040da7a23b6822b13c129cd1ba93dbb2...883d8588e56d1753a8a58c1c86e88976f0c23449) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 6418484a1..c41325761 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,7 +40,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@429e1977040da7a23b6822b13c129cd1ba93dbb2 # v3.26.2 + uses: github/codeql-action/init@883d8588e56d1753a8a58c1c86e88976f0c23449 # v3.26.3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -59,6 +59,6 @@ jobs: ./mvnw --batch-mode clean install -Padoptium,-adoptopenjdk - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@429e1977040da7a23b6822b13c129cd1ba93dbb2 # v3.26.2 + uses: github/codeql-action/analyze@883d8588e56d1753a8a58c1c86e88976f0c23449 # v3.26.3 with: category: "/language:${{matrix.language}}" From 054509fdd17581545fac17e36db15b688440a0b6 Mon Sep 17 00:00:00 2001 From: Xavier FACQ Date: Tue, 20 Aug 2024 09:49:59 +0200 Subject: [PATCH 078/174] Bump com.expediagroup:graphql-kotlin-* from 7.1.1 to 7.1.4 --- adoptium-api-versions/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml index 7afbee242..e4cf09a00 100644 --- a/adoptium-api-versions/pom.xml +++ b/adoptium-api-versions/pom.xml @@ -411,7 +411,7 @@ com.expediagroup graphql-kotlin-ktor-client - 7.1.1 + 7.1.4 org.jetbrains.kotlinx @@ -422,7 +422,7 @@ com.expediagroup graphql-kotlin-client-jackson - 7.1.1 + 7.1.4 From 7c57def883503ee1dddcf0b245be4f4d8b706654 Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Wed, 21 Aug 2024 00:30:15 +0100 Subject: [PATCH 079/174] Update quarkus and Kotlin versions. Migrate away from kmongo. Code cleanup --- .mvn/wrapper/maven-wrapper.properties | 4 +- adoptium-api-v3-persistence/pom.xml | 19 +++++- .../adoptium/api/v3/DownloadStatsInterface.kt | 28 +++----- .../kotlin/net/adoptium/api/v3/JsonMapper.kt | 4 +- .../api/v3/dataSources/APIDataStoreImpl.kt | 5 +- .../persitence/mongo/MongoApiPersistence.kt | 47 +++++++------- .../persitence/mongo/MongoClient.kt | 25 +++++-- .../persitence/mongo/MongoInterface.kt | 21 ++++-- .../mongo/codecs/JacksonCodecProvider.kt | 65 +++++++++++++++++++ .../codecs/ZonedDateTimeCodecProvider.kt | 44 +++++++++++++ .../mongo/codecs/ZonedDateTimeDeserializer.kt | 32 +++++++++ adoptium-api-v3-telemetry/pom.xml | 12 +++- adoptium-api-versions/pom.xml | 46 +++---------- .../adoptium-api-v3-frontend/pom.xml | 37 +++++++---- .../api/v3/FrontEndVersionSupplier.kt | 4 +- .../kotlin/net/adoptium/api/v3/Pagination.kt | 2 +- .../api/v3/filters/VersionRangeFilter.kt | 6 +- .../routes/info/AvailableReleasesResource.kt | 10 ++- .../routes/info/TypesArchitecturesResource.kt | 2 +- .../info/TypesOperatingSystemsResource.kt | 2 +- .../api/v3/routes/packages/BinaryResource.kt | 2 +- .../v3/routes/stats/DownloadStatsResource.kt | 2 +- .../kotlin/net/adoptium/api/AssetsPathTest.kt | 15 +++-- ...ResourceFeatureReleasePathSortOrderTest.kt | 1 - .../AssetsResourceFeatureReleasePathTest.kt | 6 +- .../api/AssetsResourceReleaseNamePathTest.kt | 11 ++-- .../adoptium/api/AvailableReleasesPathTest.kt | 1 - .../kotlin/net/adoptium/api/TestRunner.kt | 2 +- .../api/TypesArchitecturesPathTest.kt | 4 +- .../api/TypesOperatingSystemsPathTest.kt | 4 +- .../kotlin/net/adoptium/api/V1RouteTest.kt | 4 +- .../test/kotlin/net/adoptium/api/V3Test.kt | 5 +- .../adoptium-api-v3-models/pom.xml | 11 ++++ .../api/v3/dataSources/models/AdoptRepos.kt | 9 +-- .../api/v3/dataSources/models/GitHubId.kt | 4 +- .../api/v3/dataSources/models/Releases.kt | 4 +- .../adoptium/api/v3/models/Architecture.kt | 4 +- .../net/adoptium/api/v3/models/DateTime.kt | 4 +- .../adoptium/api/v3/models/SourcePackage.kt | 4 +- .../net/adoptium/api/v3/models/VersionData.kt | 2 +- .../adoptium/api/v3/parser/VersionParser.kt | 15 ++--- .../api/v3/parser/maven/SemverParser.kt | 12 ++-- .../adoptium}/api/SemverParserTest.kt | 2 +- .../adoptium}/api/VersionParserTest.kt | 0 .../adoptium}/api/VersionRangeTest.kt | 0 .../adoptium-api-v3-updater/pom.xml | 11 ---- .../net/adoptium/api/v3/AdoptReposBuilder.kt | 1 - .../net/adoptium/api/v3/AdoptRepository.kt | 5 +- .../adoptium/api/v3/ReleaseIncludeFilter.kt | 9 +-- .../kotlin/net/adoptium/api/v3/V3Updater.kt | 14 ++-- .../v3/dataSources/ReleaseVersionResolver.kt | 4 +- .../UpdatableVersionSupplierImpl.kt | 2 +- .../v3/stats/GitHubDownloadStatsCalculator.kt | 33 +++++----- .../net/adoptium/api/APIDataStoreTest.kt | 4 +- .../api/AdoptMetadataVersionParsingTest.kt | 6 +- .../adoptium/api/AdoptReleaseMapperTest.kt | 4 +- .../net/adoptium/api/AdoptReleaseNotesTest.kt | 4 +- .../net/adoptium/api/AdoptReposBuilderTest.kt | 11 ++-- .../api/AdoptReposTestDataGenerator.kt | 28 ++++---- .../test/kotlin/net/adoptium/api/BaseTest.kt | 2 +- .../api/CachedGitHubHtmlClientTest.kt | 11 ++-- .../net/adoptium/api/DateTimeMigrationTest.kt | 43 ++++++------ .../adoptium/api/DockerStatsInterfaceTest.kt | 2 +- .../api/GraphQLGitHubReleaseClientTest.kt | 14 ++-- .../net/adoptium/api/InternalDbStoreTests.kt | 9 ++- .../adoptium/api/MetadataSerializationTest.kt | 2 +- .../adoptium/api/MongoAPIPersistenceTests.kt | 13 ++-- .../test/kotlin/net/adoptium/api/MongoTest.kt | 12 ++-- .../kotlin/net/adoptium/api/UpdateRunner.kt | 3 +- .../kotlin/net/adoptium/api/V3UpdaterTest.kt | 5 +- .../api/testDoubles/AdoptRepositoryStub.kt | 4 +- .../UpdatableVersionSupplierStub.kt | 2 +- .../adoptium-github-datasource/pom.xml | 15 +++++ .../api/v3/dataSources/UpdaterJsonMapper.kt | 22 +++++-- .../api/v3/dataSources/github/GitHubAuth.kt | 6 +- .../graphql/clients/GraphQLGitHubInterface.kt | 2 +- .../clients/GraphQLGitHubReleaseRequest.kt | 1 - .../graphql/clients/GraphQLRequestImpl.kt | 3 +- .../v3/dataSources/mongo/InternalDbStore.kt | 16 ++--- .../adoptium-http-client-datasource/pom.xml | 11 ++++ .../dataSources/DefaultUpdaterHtmlClient.kt | 2 +- .../adoptium/api/v3/dataSources/GitHubAuth.kt | 6 +- .../adopt-mappers/pom.xml | 12 +++- .../api/v3/mapping/adopt/AdoptBinaryMapper.kt | 41 ++++++------ .../v3/mapping/adopt/AdoptReleaseMapper.kt | 8 +-- .../mappers-common/pom.xml | 11 ++++ .../upstream-mappers/pom.xml | 12 +++- .../mapping/upstream/UpstreamBinaryMapper.kt | 8 +-- .../mapping/upstream/UpstreamReleaseMapper.kt | 2 +- pom.xml | 6 +- 90 files changed, 596 insertions(+), 389 deletions(-) create mode 100644 adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/codecs/JacksonCodecProvider.kt create mode 100644 adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/codecs/ZonedDateTimeCodecProvider.kt create mode 100644 adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/codecs/ZonedDateTimeDeserializer.kt rename adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/{ => net/adoptium}/api/SemverParserTest.kt (99%) rename adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/{ => net/adoptium}/api/VersionParserTest.kt (100%) rename adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/{ => net/adoptium}/api/VersionRangeTest.kt (100%) diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 346d645fd..61ed1e3da 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.8/apache-maven-3.9.8-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar diff --git a/adoptium-api-v3-persistence/pom.xml b/adoptium-api-v3-persistence/pom.xml index 9968b9275..776a3eabe 100644 --- a/adoptium-api-v3-persistence/pom.xml +++ b/adoptium-api-v3-persistence/pom.xml @@ -13,8 +13,12 @@ - org.litote.kmongo - kmongo-coroutine + org.mongodb + mongodb-driver-kotlin-coroutine + + + com.fasterxml.jackson.datatype + jackson-datatype-jakarta-jsonp net.adoptium.api @@ -41,6 +45,17 @@ jakarta.enterprise jakarta.enterprise.cdi-api + + org.jetbrains.kotlin + kotlin-stdlib-jdk8 + ${kotlin.version} + + + org.jetbrains.kotlin + kotlin-test + ${kotlin.version} + test + diff --git a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/DownloadStatsInterface.kt b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/DownloadStatsInterface.kt index 7dba12ad0..038f85ab7 100644 --- a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/DownloadStatsInterface.kt +++ b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/DownloadStatsInterface.kt @@ -119,8 +119,8 @@ class DownloadStatsInterface { return stats.groupBy { it.dateTime.toLocalDate() } .map { grouped -> StatEntry( - grouped.value.map { it.dateTime }.maxOrNull()!!, - grouped.value.map { it.count }.sum() + grouped.value.maxOf { it.dateTime }, + grouped.value.sumOf { it.count } ) } .sortedBy { it.dateTime } @@ -161,7 +161,7 @@ class DownloadStatsInterface { private fun calculateMonthlyDiff( stats: Collection ): List { - val toTwoChar = { value: Int -> if (value < 10) "0" + value else value.toString() } // Returns in MM format + val toTwoChar = { value: Int -> if (value < 10) "0$value" else value.toString() } // Returns in MM format return stats .windowed(2, 1, false) { @@ -244,16 +244,14 @@ class DownloadStatsInterface { return stats .groupBy { it.getId() } .map { grouped -> grouped.value.maxByOrNull { it.date } } - .map { it!!.getMetric() } - .sum() + .sumOf { it!!.getMetric() } } private fun formTotalDownloads(stats: List, jvmImpl: JvmImpl): Long { return stats .groupBy { it.getId() } .map { grouped -> grouped.value.maxByOrNull { it.date } } - .map { (it!!.jvmImplDownloads?.get(jvmImpl) ?: 0) } - .sum() + .sumOf { (it!!.jvmImplDownloads?.get(jvmImpl) ?: 0) } } suspend fun getTotalDownloadStats(): DownloadStats { @@ -261,21 +259,13 @@ class DownloadStatsInterface { val githubStats = getGithubStats() - val dockerPulls = dockerStats - .map { it.pulls } - .sum() + val dockerPulls = dockerStats.sumOf { it.pulls } - val githubDownloads = githubStats - .map { it.downloads } - .sum() + val githubDownloads = githubStats.sumOf { it.downloads } - val dockerBreakdown = dockerStats - .map { Pair(it.repo, it.pulls) } - .toMap() + val dockerBreakdown = dockerStats.associate { Pair(it.repo, it.pulls) } - val githubBreakdown = githubStats - .map { Pair(it.feature_version, it.downloads) } - .toMap() + val githubBreakdown = githubStats.associate { Pair(it.feature_version, it.downloads) } val totalStats = TotalStats(dockerPulls, githubDownloads, dockerPulls + githubDownloads) return DownloadStats(TimeSource.now(), totalStats, githubBreakdown, dockerBreakdown) diff --git a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/JsonMapper.kt b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/JsonMapper.kt index a4a0db970..592d15052 100644 --- a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/JsonMapper.kt +++ b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/JsonMapper.kt @@ -3,11 +3,9 @@ package net.adoptium.api.v3 import com.fasterxml.jackson.annotation.JsonInclude import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule -import com.fasterxml.jackson.module.kotlin.KotlinModule object JsonMapper { - val mapper: ObjectMapper = ObjectMapper() + val mapper: ObjectMapper = com.fasterxml.jackson.module.kotlin.jacksonObjectMapper() .setSerializationInclusion(JsonInclude.Include.NON_NULL) - .registerModule(KotlinModule.Builder().build()) .registerModule(JavaTimeModule()) } diff --git a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/APIDataStoreImpl.kt b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/APIDataStoreImpl.kt index cd90c6069..f4b7763ca 100644 --- a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/APIDataStoreImpl.kt +++ b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/APIDataStoreImpl.kt @@ -24,7 +24,10 @@ open class APIDataStoreImpl : APIDataStore { private var updatedAt: UpdatedInfo private var binaryRepos: AdoptRepos private var releaseInfo: ReleaseInfo - open var schedule: ScheduledFuture<*>? + private var schedule: ScheduledFuture<*>? + + // required as injection objects to the final field + open fun getSchedule() = schedule companion object { @JvmStatic diff --git a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoApiPersistence.kt b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoApiPersistence.kt index c97b21482..db5db6dab 100644 --- a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoApiPersistence.kt +++ b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoApiPersistence.kt @@ -1,10 +1,13 @@ package net.adoptium.api.v3.dataSources.persitence.mongo import com.mongodb.client.model.InsertManyOptions -import com.mongodb.client.model.UpdateOptions +import com.mongodb.client.model.ReplaceOptions +import com.mongodb.kotlin.client.coroutine.MongoCollection import jakarta.enterprise.context.ApplicationScoped -import jakarta.enterprise.inject.Model import jakarta.inject.Inject +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.flow.firstOrNull +import kotlinx.coroutines.flow.toList import net.adoptium.api.v3.TimeSource import net.adoptium.api.v3.dataSources.models.AdoptRepos import net.adoptium.api.v3.dataSources.models.FeatureRelease @@ -24,19 +27,18 @@ import org.bson.BsonDateTime import org.bson.BsonDocument import org.bson.BsonString import org.bson.Document -import org.litote.kmongo.coroutine.CoroutineCollection import org.slf4j.LoggerFactory import java.time.ZonedDateTime @ApplicationScoped open class MongoApiPersistence @Inject constructor(mongoClient: MongoClient) : MongoInterface(), ApiPersistence { - private val githubReleaseMetadataCollection: CoroutineCollection = createCollection(mongoClient.database, GH_RELEASE_METADATA) - private val releasesCollection: CoroutineCollection = createCollection(mongoClient.database, RELEASE_DB) - private val gitHubStatsCollection: CoroutineCollection = createCollection(mongoClient.database, GITHUB_STATS_DB) - private val dockerStatsCollection: CoroutineCollection = createCollection(mongoClient.database, DOCKER_STATS_DB) - private val releaseInfoCollection: CoroutineCollection = createCollection(mongoClient.database, RELEASE_INFO_DB) - private val updateTimeCollection: CoroutineCollection = createCollection(mongoClient.database, UPDATE_TIME_DB) - private val githubReleaseNotesCollection: CoroutineCollection = createCollection(mongoClient.database, GH_RELEASE_NOTES) + private val githubReleaseMetadataCollection: MongoCollection = createCollection(mongoClient.getDatabase(), GH_RELEASE_METADATA) + private val releasesCollection: MongoCollection = createCollection(mongoClient.getDatabase(), RELEASE_DB) + private val gitHubStatsCollection: MongoCollection = createCollection(mongoClient.getDatabase(), GITHUB_STATS_DB) + private val dockerStatsCollection: MongoCollection = createCollection(mongoClient.getDatabase(), DOCKER_STATS_DB) + private val releaseInfoCollection: MongoCollection = createCollection(mongoClient.getDatabase(), RELEASE_INFO_DB) + private val updateTimeCollection: MongoCollection = createCollection(mongoClient.getDatabase(), UPDATE_TIME_DB) + private val githubReleaseNotesCollection: MongoCollection = createCollection(mongoClient.getDatabase(), GH_RELEASE_NOTES) companion object { @JvmStatic @@ -119,7 +121,7 @@ open class MongoApiPersistence @Inject constructor(mongoClient: MongoClient) : M val repoNames = dockerStatsCollection.distinct("repo").toList() return repoNames - .mapNotNull { + .map { dockerStatsCollection .find(Document("repo", it)) .sort(Document("date", -1)) @@ -137,31 +139,31 @@ open class MongoApiPersistence @Inject constructor(mongoClient: MongoClient) : M override suspend fun setReleaseInfo(releaseInfo: ReleaseInfo) { releaseInfoCollection.deleteMany(releaseVersionDbEntryMatcher()) - releaseInfoCollection.updateOne( + releaseInfoCollection.replaceOne( releaseVersionDbEntryMatcher(), releaseInfo, - UpdateOptions().upsert(true) + ReplaceOptions().upsert(true) ) } // visible for testing open suspend fun updateUpdatedTime(dateTime: ZonedDateTime, checksum: String, hashCode: Int) { - updateTimeCollection.updateOne( + updateTimeCollection.replaceOne( Document(), UpdatedInfo(dateTime, checksum, hashCode), - UpdateOptions().upsert(true) + ReplaceOptions().upsert(true) ) updateTimeCollection.deleteMany(Document("time", BsonDocument("\$lt", BsonDateTime(dateTime.toInstant().toEpochMilli())))) } override suspend fun getUpdatedAt(): UpdatedInfo { - val info = updateTimeCollection.findOne() + val info = updateTimeCollection.find().firstOrNull() // if we have no existing time, make it 5 mins ago, should only happen on first time the db is used return info ?: UpdatedInfo(TimeSource.now().minusMinutes(5), "000", 0) } override suspend fun getReleaseInfo(): ReleaseInfo? { - return releaseInfoCollection.findOne(releaseVersionDbEntryMatcher()) + return releaseInfoCollection.find(releaseVersionDbEntryMatcher()).firstOrNull() } private fun releaseVersionDbEntryMatcher() = Document("tip_version", BsonDocument("\$exists", BsonBoolean(true))) @@ -181,20 +183,20 @@ open class MongoApiPersistence @Inject constructor(mongoClient: MongoClient) : M private fun majorVersionMatcher(featureVersion: Int) = Document("version_data.major", featureVersion) override suspend fun getGhReleaseMetadata(gitHubId: GitHubId): GHReleaseMetadata? { - return githubReleaseMetadataCollection.findOne(matchGithubId(gitHubId)) + return githubReleaseMetadataCollection.find(matchGithubId(gitHubId)).firstOrNull() } override suspend fun setGhReleaseMetadata(ghReleaseMetadata: GHReleaseMetadata) { githubReleaseMetadataCollection - .updateOne( + .replaceOne( matchGithubId(ghReleaseMetadata.gitHubId), ghReleaseMetadata, - UpdateOptions().upsert(true) + ReplaceOptions().upsert(true) ) } override suspend fun hasReleaseNotesForGithubId(gitHubId: GitHubId): Boolean { - return githubReleaseNotesCollection.findOne(Document("id", gitHubId.id)) != null + return githubReleaseNotesCollection.find(Document("id", gitHubId.id)).firstOrNull() != null } override suspend fun putReleaseNote(releaseNotes: ReleaseNotes) { @@ -203,7 +205,7 @@ open class MongoApiPersistence @Inject constructor(mongoClient: MongoClient) : M } override suspend fun getReleaseNotes(vendor: Vendor, releaseName: String): ReleaseNotes? { - return githubReleaseNotesCollection.findOne(Document( + return githubReleaseNotesCollection.find(Document( "\$and", BsonArray( listOf( @@ -213,6 +215,7 @@ open class MongoApiPersistence @Inject constructor(mongoClient: MongoClient) : M ) ) ) + .firstOrNull() } private fun matchGithubId(gitHubId: GitHubId) = Document("gitHubId.id", gitHubId.id) diff --git a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoClient.kt b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoClient.kt index 17ed9d23c..1bab7aa97 100644 --- a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoClient.kt +++ b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoClient.kt @@ -2,17 +2,21 @@ package net.adoptium.api.v3.dataSources.persitence.mongo import com.mongodb.ConnectionString import com.mongodb.MongoClientSettings +import com.mongodb.kotlin.client.coroutine.MongoDatabase import jakarta.enterprise.context.ApplicationScoped -import org.litote.kmongo.coroutine.CoroutineClient -import org.litote.kmongo.coroutine.CoroutineDatabase -import org.litote.kmongo.coroutine.coroutine -import org.litote.kmongo.reactivestreams.KMongo +import net.adoptium.api.v3.dataSources.persitence.mongo.codecs.JacksonCodecProvider +import net.adoptium.api.v3.dataSources.persitence.mongo.codecs.ZonedDateTimeCodecProvider +import org.bson.codecs.configuration.CodecRegistries import org.slf4j.LoggerFactory + @ApplicationScoped open class MongoClient { - open val database: CoroutineDatabase - open val client: CoroutineClient + private val database: MongoDatabase + private val client: com.mongodb.kotlin.client.coroutine.MongoClient + + // required as injection objects to the final field + open fun getDatabase() = database companion object { @JvmStatic @@ -65,6 +69,12 @@ open class MongoClient { serverSelectionTimeoutMills = System.getenv("MONGODB_SERVER_SELECTION_TIMEOUT_MILLIS") ) var settingsBuilder = MongoClientSettings.builder() + .codecRegistry(CodecRegistries.fromProviders( + MongoClientSettings.getDefaultCodecRegistry(), + ZonedDateTimeCodecProvider(), + JacksonCodecProvider() + ) + ) .applyConnectionString(ConnectionString(connectionString)) val sslEnabled = System.getenv("MONGODB_SSL")?.toBoolean() if (sslEnabled == true) { @@ -72,7 +82,8 @@ open class MongoClient { settingsBuilder = settingsBuilder.applyToSslSettings { it.enabled(true).invalidHostNameAllowed(checkMongoHostName) } } - client = KMongo.createClient(settingsBuilder.build()).coroutine + client = com.mongodb.kotlin.client.coroutine.MongoClient.create(settingsBuilder.build()) database = client.getDatabase(dbName) } + } diff --git a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoInterface.kt b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoInterface.kt index 4b1253101..9086ceaa2 100644 --- a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoInterface.kt +++ b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoInterface.kt @@ -1,18 +1,25 @@ package net.adoptium.api.v3.dataSources.persitence.mongo +import com.mongodb.MongoCommandException +import com.mongodb.kotlin.client.coroutine.MongoCollection +import com.mongodb.kotlin.client.coroutine.MongoDatabase import kotlinx.coroutines.runBlocking -import org.litote.kmongo.coroutine.CoroutineCollection -import org.litote.kmongo.coroutine.CoroutineDatabase abstract class MongoInterface { - inline fun createCollection(database: CoroutineDatabase, collectionName: String): CoroutineCollection { - return runBlocking { - if (!database.listCollectionNames().contains(collectionName)) { - // TODO add indexes + inline fun createCollection(database: MongoDatabase, collectionName: String): MongoCollection { + runBlocking { + try { database.createCollection(collectionName) + } catch (e: MongoCommandException) { + if (e.errorCode == 48) { + // collection already exists ... ignore + } else { + throw e + } } - return@runBlocking database.getCollection(collectionName) } + return database.getCollection(collectionName, T::class.java) + } } diff --git a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/codecs/JacksonCodecProvider.kt b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/codecs/JacksonCodecProvider.kt new file mode 100644 index 000000000..93df8c708 --- /dev/null +++ b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/codecs/JacksonCodecProvider.kt @@ -0,0 +1,65 @@ +package net.adoptium.api.v3.dataSources.persitence.mongo.codecs + +import com.fasterxml.jackson.annotation.JsonInclude +import com.fasterxml.jackson.databind.DeserializationFeature +import com.fasterxml.jackson.databind.ObjectMapper +import com.fasterxml.jackson.databind.module.SimpleModule +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule +import org.bson.BsonReader +import org.bson.BsonWriter +import org.bson.RawBsonDocument +import org.bson.codecs.Codec +import org.bson.codecs.DecoderContext +import org.bson.codecs.EncoderContext +import org.bson.codecs.configuration.CodecProvider +import org.bson.codecs.configuration.CodecRegistry +import java.io.IOException +import java.io.UncheckedIOException +import java.time.ZonedDateTime + +class JacksonCodecProvider : CodecProvider { + companion object { + private val objectMapper: ObjectMapper = com.fasterxml.jackson.module.kotlin.jacksonObjectMapper() + .setSerializationInclusion(JsonInclude.Include.NON_NULL) + .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) + .registerModule(JavaTimeModule()) + .registerModule(object : SimpleModule() { + init { + addDeserializer(ZonedDateTime::class.java, ZonedDateTimeDeserializer()) + } + }) + } + + override fun get(type: Class, registry: CodecRegistry): Codec? { + if (type == RawBsonDocument::class.java) { + return null + } + return JacksonCodec(objectMapper, registry, type) + } +} + +class JacksonCodec(private val objectMapper: ObjectMapper, private val registry: CodecRegistry, val type: Class) : Codec { + + private var rawBsonDocumentCodec: Codec = registry.get(RawBsonDocument::class.java) + + override fun encode(bsonWriter: BsonWriter?, value: T, encoderContext: EncoderContext?) { + val doc = RawBsonDocument.parse(objectMapper.writeValueAsString(value)) + + rawBsonDocumentCodec.encode(bsonWriter, doc, encoderContext) + } + + override fun getEncoderClass(): Class { + return type + } + + override fun decode(reader: BsonReader, decoderContext: DecoderContext): T { + try { + val codec = registry.get(RawBsonDocument::class.java) + val document: RawBsonDocument? = codec?.decode(reader, decoderContext) + val json = document?.toJson() + return objectMapper.readValue(json, type) + } catch (e: IOException) { + throw UncheckedIOException(e) + } + } +} diff --git a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/codecs/ZonedDateTimeCodecProvider.kt b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/codecs/ZonedDateTimeCodecProvider.kt new file mode 100644 index 000000000..7528d8043 --- /dev/null +++ b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/codecs/ZonedDateTimeCodecProvider.kt @@ -0,0 +1,44 @@ +package net.adoptium.api.v3.dataSources.persitence.mongo.codecs + +import net.adoptium.api.v3.TimeSource +import org.bson.BsonReader +import org.bson.BsonWriter +import org.bson.codecs.Codec +import org.bson.codecs.DecoderContext +import org.bson.codecs.EncoderContext +import org.bson.codecs.configuration.CodecProvider +import org.bson.codecs.configuration.CodecRegistry +import java.time.Instant +import java.time.ZonedDateTime + +class ZonedDateTimeCodecProvider : CodecProvider { + override fun get(type: Class?, registry: CodecRegistry?): Codec? { + if (type == ZonedDateTime::class.java) { + return ZonedDateTimeCodec() as Codec + } + return null + } +} + +class ZonedDateTimeCodec : Codec { + override fun encode(writer: BsonWriter?, value: ZonedDateTime?, encoder: EncoderContext?) { + if (value == null) { + writer?.writeNull() + } else { + writer?.writeDateTime(value.withZoneSameInstant(TimeSource.ZONE).toInstant().toEpochMilli()) + } + } + + override fun getEncoderClass(): Class { + return ZonedDateTime::class.java + } + + override fun decode(reader: BsonReader?, decoderContext: DecoderContext?): ZonedDateTime? { + val date = reader?.readDateTime() + return if (date == null) { + null + } else { + ZonedDateTime.ofInstant(Instant.ofEpochMilli(date), TimeSource.ZONE) + } + } +} diff --git a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/codecs/ZonedDateTimeDeserializer.kt b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/codecs/ZonedDateTimeDeserializer.kt new file mode 100644 index 000000000..0fe88b093 --- /dev/null +++ b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/codecs/ZonedDateTimeDeserializer.kt @@ -0,0 +1,32 @@ +package net.adoptium.api.v3.dataSources.persitence.mongo.codecs + +import com.fasterxml.jackson.core.JsonParser +import com.fasterxml.jackson.databind.DeserializationContext +import com.fasterxml.jackson.databind.JsonDeserializer +import com.fasterxml.jackson.databind.JsonNode +import com.fasterxml.jackson.databind.node.LongNode +import com.fasterxml.jackson.databind.node.ObjectNode +import com.fasterxml.jackson.databind.node.TextNode +import net.adoptium.api.v3.TimeSource +import java.time.ZonedDateTime + +class ZonedDateTimeDeserializer : JsonDeserializer() { + override fun deserialize(jsonParser: JsonParser?, context: DeserializationContext?): ZonedDateTime { + when (val value = jsonParser?.readValueAsTree()) { + is ObjectNode -> { + return ZonedDateTime.parse(value.get("\$date").asText()) + } + + is TextNode -> { + return ZonedDateTime.parse(value.asText()) + } + + is LongNode -> { + return ZonedDateTime.ofInstant(java.time.Instant.ofEpochMilli(value.asLong()), TimeSource.ZONE) + } + } + + throw IllegalArgumentException("Could not parse ZonedDateTime") + } + +} diff --git a/adoptium-api-v3-telemetry/pom.xml b/adoptium-api-v3-telemetry/pom.xml index fa1e05e24..bf6b22e79 100644 --- a/adoptium-api-v3-telemetry/pom.xml +++ b/adoptium-api-v3-telemetry/pom.xml @@ -32,10 +32,20 @@ org.slf4j slf4j-api + + org.jetbrains.kotlin + kotlin-stdlib-jdk8 + ${kotlin.version} + + + org.jetbrains.kotlin + kotlin-test + ${kotlin.version} + test + src/main/kotlin - src/test/kotlin diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml index e4cf09a00..f6479cd3a 100644 --- a/adoptium-api-versions/pom.xml +++ b/adoptium-api-versions/pom.xml @@ -11,16 +11,16 @@ 1.8.1 2.17.2 17 - 4.11.0 + 5.1.2 17 - 1.9.23 + 2.0.10 1.5.6 17 - 3.9.6 + 3.9.8 3.6.2 UTF-8 UTF-8 - 3.13.0 + 3.13.2 5.4.0 @@ -101,7 +101,7 @@ io.mockk mockk-jvm - 1.13.10 + 1.13.12 test @@ -164,39 +164,16 @@ - org.litote.kmongo - kmongo-coroutine - ${kmongo.version} - - - org.litote.kmongo - kmongo-flapdoodle - ${kmongo.version} - test - - - org.slf4j - slf4j-simple - - - - junit - junit - - - - org.jetbrains.kotlin - kotlin-test-junit - - + org.mongodb + mongodb-driver-kotlin-coroutine + 5.1.2 + org.jetbrains.kotlin kotlin-test-junit5 ${kotlin.version} - de.flapdoodle.embed de.flapdoodle.embed.mongo @@ -378,11 +355,6 @@ logback-classic ${logback.version} - - org.litote.kmongo - kmongo-id-jackson - ${kmongo.version} - jakarta.json.bind jakarta.json.bind-api diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/pom.xml b/adoptium-frontend-parent/adoptium-api-v3-frontend/pom.xml index 252aa99f0..50c78a48c 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/pom.xml +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/pom.xml @@ -80,17 +80,6 @@ jsonassert test - - org.litote.kmongo - kmongo-flapdoodle - test - - - org.slf4j - slf4j-simple - - - io.mockk mockk-jvm @@ -157,6 +146,17 @@ io.quarkus quarkus-smallrye-openapi + + org.jetbrains.kotlin + kotlin-stdlib-jdk8 + ${kotlin.version} + + + org.jetbrains.kotlin + kotlin-test-junit5 + ${kotlin.version} + test + @@ -195,18 +195,33 @@ org.jetbrains.kotlin kotlin-maven-plugin + ${kotlin.version} compile + compile compile + + + src/main/kotlin + target/generated-sources/annotations + + test-compile + test-compile test-compile + + + src/test/kotlin + target/generated-test-sources/test-annotations + + diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/FrontEndVersionSupplier.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/FrontEndVersionSupplier.kt index d6f788147..c9ddd6cae 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/FrontEndVersionSupplier.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/FrontEndVersionSupplier.kt @@ -1,4 +1,4 @@ -package net.adoptium.api.v3; +package net.adoptium.api.v3 import jakarta.enterprise.context.ApplicationScoped import jakarta.inject.Inject @@ -9,7 +9,7 @@ import net.adoptium.api.v3.dataSources.VersionSupplier class FrontEndVersionSupplier @Inject constructor( val apiDataStore: APIDataStore ) : VersionSupplier { - override fun getTipVersion(): Int? { + override fun getTipVersion(): Int { return apiDataStore.getReleaseInfo().tip_version } diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/Pagination.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/Pagination.kt index dd8296720..48fd70f5d 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/Pagination.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/Pagination.kt @@ -59,7 +59,7 @@ object Pagination { return try { - var totalPages: Int? = null; + var totalPages: Int? = null val chunked = if (showPageCount) { val releasesList = releases.toList() diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/filters/VersionRangeFilter.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/filters/VersionRangeFilter.kt index e8b940f24..4297aca52 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/filters/VersionRangeFilter.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/filters/VersionRangeFilter.kt @@ -23,10 +23,10 @@ class VersionRangeFilter(range: String?, val semver: Boolean) : Predicate { - return Architecture.values().map { it.name }.toList() + return Architecture.entries.map { it.name }.toList() } } diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/info/TypesOperatingSystemsResource.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/info/TypesOperatingSystemsResource.kt index 79dca7c37..d338c7f92 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/info/TypesOperatingSystemsResource.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/info/TypesOperatingSystemsResource.kt @@ -19,6 +19,6 @@ class TypesOperatingSystemsResource { @Path("/operating_systems") @Operation(summary = "Returns names of operating systems", operationId = "getOperatingSystems") fun get(): List { - return OperatingSystem.values().map { it.name }.toList() + return OperatingSystem.entries.map { it.name }.toList() } } diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/packages/BinaryResource.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/packages/BinaryResource.kt index 50fe7582f..addfdeb85 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/packages/BinaryResource.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/packages/BinaryResource.kt @@ -236,7 +236,7 @@ class BinaryResource @Inject constructor(private val packageEndpoint: PackageEnd return formResponse(if (release == null) emptyList() else listOf(release)) } - protected fun formResponse( + private fun formResponse( releases: List, createResponse: (Package) -> Response = packageEndpoint.redirectToAsset() ): Response { diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/stats/DownloadStatsResource.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/stats/DownloadStatsResource.kt index c48d545b8..92bbfc20a 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/stats/DownloadStatsResource.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/routes/stats/DownloadStatsResource.kt @@ -131,7 +131,7 @@ class DownloadStatsResource { .getReleases() .filter { it.vendor == Vendor.getDefault() } - if(releaseTypes != null && releaseTypes.isNotEmpty()) { + if(!releaseTypes.isNullOrEmpty()) { releases = releases.filter { releaseTypes.contains(it.release_type) } } diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsPathTest.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsPathTest.kt index f68c020f2..c34d22610 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsPathTest.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsPathTest.kt @@ -12,6 +12,7 @@ import net.adoptium.api.v3.models.Vendor import org.hamcrest.Matchers import org.junit.jupiter.api.DynamicTest import org.junit.jupiter.api.TestFactory +import java.util.* import java.util.stream.Stream abstract class AssetsPathTest : FrontendTest() { @@ -24,22 +25,22 @@ abstract class AssetsPathTest : FrontendTest() { @TestFactory fun filtersOs(): Stream { - return runFilterTest("os", OperatingSystem.values()) + return runFilterTest("os", OperatingSystem.entries.toTypedArray()) } @TestFactory fun filtersArchitecture(): Stream { - return runFilterTest("architecture", Architecture.values()) + return runFilterTest("architecture", Architecture.entries.toTypedArray()) } @TestFactory fun filtersImageType(): Stream { - return runFilterTest("image_type", ImageType.values()) + return runFilterTest("image_type", ImageType.entries.toTypedArray()) } @TestFactory fun `filters c_lib`(): Stream { - return runFilterTest("c_lib", CLib.values()) { _, query -> + return runFilterTest("c_lib", CLib.entries.toTypedArray()) { _, query -> "$query&image_type=staticlibs" } } @@ -48,7 +49,7 @@ abstract class AssetsPathTest : FrontendTest() { fun filtersJvmImpl(): Stream { return runFilterTest( "jvm_impl", - JvmImpl.values().filter { JvmImpl.validJvmImpl(it) }.toTypedArray() + JvmImpl.entries.filter { JvmImpl.validJvmImpl(it) }.toTypedArray() ) { value, query -> if (value == JvmImpl.dragonwell) { "$query&vendor=${Vendor.alibaba.name}" @@ -60,7 +61,7 @@ abstract class AssetsPathTest : FrontendTest() { @TestFactory fun filtersHeapSize(): Stream { - return runFilterTest("heap_size", HeapSize.values()) + return runFilterTest("heap_size", HeapSize.entries.toTypedArray()) } @TestFactory @@ -78,7 +79,7 @@ abstract class AssetsPathTest : FrontendTest() { return values .filter { !exclude(it) } .map { value -> - val path2 = customiseQuery(value, "$path?$filterParamName=${value.toString().toLowerCase()}") + val path2 = customiseQuery(value, "$path?$filterParamName=${value.toString().lowercase(Locale.getDefault())}") DynamicTest.dynamicTest(path2) { RestAssured.given() .`when`() diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceFeatureReleasePathSortOrderTest.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceFeatureReleasePathSortOrderTest.kt index 72ac4eb74..3e942984f 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceFeatureReleasePathSortOrderTest.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceFeatureReleasePathSortOrderTest.kt @@ -10,7 +10,6 @@ import net.adoptium.api.v3.dataSources.SortOrder import net.adoptium.api.v3.dataSources.models.AdoptRepos import net.adoptium.api.v3.dataSources.models.FeatureRelease import net.adoptium.api.v3.dataSources.models.Releases -import net.adoptium.api.v3.filters.ReleaseFilterFactory import net.adoptium.api.v3.models.Architecture import net.adoptium.api.v3.models.Binary import net.adoptium.api.v3.models.DateTime diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceFeatureReleasePathTest.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceFeatureReleasePathTest.kt index b6ec4b1e4..262c68b0b 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceFeatureReleasePathTest.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceFeatureReleasePathTest.kt @@ -35,7 +35,7 @@ class AssetsResourceFeatureReleasePathTest : AssetsPathTest() { .repos .keys .flatMap { version -> - ReleaseType.values() + ReleaseType.entries .map { "/v3/assets/feature_releases/$version/$it" } .map { DynamicTest.dynamicTest(it) { @@ -58,7 +58,7 @@ class AssetsResourceFeatureReleasePathTest : AssetsPathTest() { .repos .keys .flatMap { version -> - ReleaseType.values() + ReleaseType.entries .map { "/v3/assets/feature_releases/$version/$it?PAGE_SIZE=100" } .map { request -> DynamicTest.dynamicTest(request) { @@ -140,7 +140,7 @@ class AssetsResourceFeatureReleasePathTest : AssetsPathTest() { } override fun runFilterTest(filterParamName: String, values: Array, customiseQuery: (T, String) -> String): Stream { - return ReleaseType.values() + return ReleaseType.entries .flatMap { releaseType -> // test the ltses and 1 non-lts listOf(8, 11, 12) diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceReleaseNamePathTest.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceReleaseNamePathTest.kt index 2cc8b29c1..06988b5db 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceReleaseNamePathTest.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceReleaseNamePathTest.kt @@ -9,7 +9,6 @@ import net.adoptium.api.v3.dataSources.APIDataStore import net.adoptium.api.v3.dataSources.SortMethod import net.adoptium.api.v3.dataSources.SortOrder import net.adoptium.api.v3.filters.BinaryFilter -import net.adoptium.api.v3.filters.ReleaseFilterFactory import net.adoptium.api.v3.models.Architecture import net.adoptium.api.v3.models.Release import net.adoptium.api.v3.models.ReleaseType @@ -34,8 +33,7 @@ class AssetsResourceReleaseNamePathTest : FrontendTest() { @TestFactory fun filtersByReleaseNameCorrectly(): Stream { - return Vendor - .values() + return Vendor.entries .flatMap { vendor -> apiDataStore .getAdoptRepos() @@ -43,8 +41,7 @@ class AssetsResourceReleaseNamePathTest : FrontendTest() { .getReleases(releaseFilterFactory.createFilter(vendor = vendor), SortOrder.DESC, SortMethod.DEFAULT) .take(3) .flatMap { release -> - ReleaseType - .values() + ReleaseType.entries .map { "/v3/assets/release_name/$vendor/${release.release_name}" } .map { DynamicTest.dynamicTest(it) { @@ -103,8 +100,8 @@ class AssetsResourceReleaseNamePathTest : FrontendTest() { override fun matchesSafely(p0: String?): Boolean { val returnedRelease = JsonMapper.mapper.readValue(p0, Release::class.java) - return returnedRelease.binaries.filter { it.architecture == Architecture.x32 }.size > 0 && - returnedRelease.binaries.filter { it.architecture != Architecture.x32 }.size == 0 + return returnedRelease.binaries.filter { it.architecture == Architecture.x32 }.isNotEmpty() && + returnedRelease.binaries.filter { it.architecture != Architecture.x32 }.isEmpty() } }) } diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AvailableReleasesPathTest.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AvailableReleasesPathTest.kt index 0b86156bd..e9eed366d 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AvailableReleasesPathTest.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AvailableReleasesPathTest.kt @@ -2,7 +2,6 @@ package net.adoptium.api import io.quarkus.test.junit.QuarkusTest import io.restassured.RestAssured -import io.restassured.config.RedirectConfig import net.adoptium.api.v3.JsonMapper import net.adoptium.api.v3.models.ReleaseInfo import org.hamcrest.Description diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/TestRunner.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/TestRunner.kt index 1b2050df5..1ae0284ad 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/TestRunner.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/TestRunner.kt @@ -31,6 +31,6 @@ class TestRunner : BaseTest() { @Test @Inject fun run() { - Awaitility.await().atMost(Long.MAX_VALUE, TimeUnit.NANOSECONDS).until({ 4 === 5 }) + Awaitility.await().atMost(Long.MAX_VALUE, TimeUnit.NANOSECONDS).until { 4 === 5 } } } diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/TypesArchitecturesPathTest.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/TypesArchitecturesPathTest.kt index c0f6bab2c..c3c39f77f 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/TypesArchitecturesPathTest.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/TypesArchitecturesPathTest.kt @@ -18,7 +18,7 @@ class TypesArchitecturesPathTest : FrontendTest() { @Test fun getArchitecturesAreCorrect() { - var body = RestAssured.given() + val body = RestAssured.given() .`when`() .get("/v3/types/architectures") .body @@ -26,7 +26,7 @@ class TypesArchitecturesPathTest : FrontendTest() { val architectures = parseArchitectures(body.asString()) assert(architectures.contains(Architecture.x64.name)) - assert(architectures.size == Architecture.values().size) + assert(architectures.size == Architecture.entries.size) } private fun parseArchitectures(json: String?): List = diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/TypesOperatingSystemsPathTest.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/TypesOperatingSystemsPathTest.kt index d27d0ca19..b16c12280 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/TypesOperatingSystemsPathTest.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/TypesOperatingSystemsPathTest.kt @@ -18,7 +18,7 @@ class TypesOperatingSystemsPathTest : FrontendTest() { @Test fun getOperatingSystemsAreCorrect() { - var body = RestAssured.given() + val body = RestAssured.given() .`when`() .get("/v3/types/operating_systems") .body @@ -26,7 +26,7 @@ class TypesOperatingSystemsPathTest : FrontendTest() { val operatingSystems = parseOperatingSystems(body.asString()) assert(operatingSystems.contains(OperatingSystem.linux.name)) - assert(operatingSystems.size == OperatingSystem.values().size) + assert(operatingSystems.size == OperatingSystem.entries.size) } private fun parseOperatingSystems(json: String?): List = diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/V1RouteTest.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/V1RouteTest.kt index 1ba19ee57..d247ed019 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/V1RouteTest.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/V1RouteTest.kt @@ -17,12 +17,12 @@ class V1RouteTest : FrontendTest() { "/v1/foo", "/v1/foo/bar" ) - .forEach({ route -> + .forEach { route -> RestAssured.given() .`when`() .get(route) .then() .statusCode(Response.Status.GONE.statusCode) - }) + } } } diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/V3Test.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/V3Test.kt index a9e11eb89..81674bb6d 100644 --- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/V3Test.kt +++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/V3Test.kt @@ -2,11 +2,10 @@ package net.adoptium.api import net.adoptium.api.v3.Startup import net.adoptium.api.v3.Startup.Companion.ENABLE_PERIODIC_UPDATES -import net.adoptium.api.v3.dataSources.APIDataStore import org.jboss.weld.junit5.auto.AddPackages -import org.junit.jupiter.api.extension.ExtendWith -import org.junit.jupiter.api.Test import org.junit.jupiter.api.Assertions.assertNotNull +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.extension.ExtendWith @AddPackages(value=[ApiDataStoreStub::class]) @ExtendWith(value = [DbExtension::class]) diff --git a/adoptium-models-parent/adoptium-api-v3-models/pom.xml b/adoptium-models-parent/adoptium-api-v3-models/pom.xml index 2e3515db1..ffa0a3c27 100644 --- a/adoptium-models-parent/adoptium-api-v3-models/pom.xml +++ b/adoptium-models-parent/adoptium-api-v3-models/pom.xml @@ -38,6 +38,17 @@ org.slf4j slf4j-api + + org.jetbrains.kotlin + kotlin-stdlib-jdk8 + ${kotlin.version} + + + org.jetbrains.kotlin + kotlin-test + ${kotlin.version} + test + diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/dataSources/models/AdoptRepos.kt b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/dataSources/models/AdoptRepos.kt index 3e91e8216..fd20b556a 100644 --- a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/dataSources/models/AdoptRepos.kt +++ b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/dataSources/models/AdoptRepos.kt @@ -27,7 +27,6 @@ class AdoptRepos { val releases = repos .asSequence() - .filterNotNull() .map { it.value.releases } .flatMap { it.getReleases() } .toList() @@ -40,9 +39,7 @@ class AdoptRepos { } constructor(list: List) : this( - list - .map { Pair(it.featureVersion, it) } - .toMap() + list.associateBy { it.featureVersion } ) fun getReleases( @@ -99,9 +96,7 @@ class AdoptRepos { other as AdoptRepos - if (repos != other.repos) return false - - return true + return repos == other.repos } override fun hashCode(): Int { diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/dataSources/models/GitHubId.kt b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/dataSources/models/GitHubId.kt index 96ba5ecd1..f4d9ec8fb 100644 --- a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/dataSources/models/GitHubId.kt +++ b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/dataSources/models/GitHubId.kt @@ -20,9 +20,7 @@ class GitHubId { other as GitHubId - if (id != other.id) return false - - return true + return id == other.id } override fun hashCode(): Int { diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/dataSources/models/Releases.kt b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/dataSources/models/Releases.kt index e446498c4..ecb051a78 100644 --- a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/dataSources/models/Releases.kt +++ b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/dataSources/models/Releases.kt @@ -97,9 +97,7 @@ class Releases { other as Releases - if (nodes != other.nodes) return false - - return true + return nodes == other.nodes } override fun hashCode(): Int { diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/Architecture.kt b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/Architecture.kt index c9ff0032e..40f2c82df 100644 --- a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/Architecture.kt +++ b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/Architecture.kt @@ -31,9 +31,7 @@ enum class Architecture : FileNameMatcher { @JvmStatic @JsonCreator fun forValue(value: String): Architecture { - return values() - .filter { it.names.contains(value) } - .first() + return entries.first { it.names.contains(value) } } fun getValue(value: String): Architecture { diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/DateTime.kt b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/DateTime.kt index 0b66d12e4..db574735b 100644 --- a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/DateTime.kt +++ b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/DateTime.kt @@ -73,9 +73,7 @@ class DateTime { other as DateTime - if (dateTime != other.dateTime) return false - - return true + return dateTime == other.dateTime } override fun hashCode(): Int { diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/SourcePackage.kt b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/SourcePackage.kt index 5968e72a9..a5682ac9a 100644 --- a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/SourcePackage.kt +++ b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/SourcePackage.kt @@ -5,12 +5,12 @@ import org.eclipse.microprofile.openapi.annotations.media.Schema class SourcePackage( name: String, link: String, - size: Long) : FileAsset(name, link, size); + size: Long) : FileAsset(name, link, size) class ReleaseNotesPackage( name: String, link: String, - size: Long) : FileAsset(name, link, size); + size: Long) : FileAsset(name, link, size) open class FileAsset { diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/VersionData.kt b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/VersionData.kt index 252f72843..8b7937637 100644 --- a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/VersionData.kt +++ b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/models/VersionData.kt @@ -46,7 +46,7 @@ class VersionData : Comparable { // i.e 11.0.1+11.1 fun formSemver(): String { - var semver = major.toString() + "." + minor + "." + security + var semver = "$major.$minor.$security" if (pre?.isNotEmpty() == true) { semver += "-$pre" diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/parser/VersionParser.kt b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/parser/VersionParser.kt index 4ec0813e7..069e5e95d 100644 --- a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/parser/VersionParser.kt +++ b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/parser/VersionParser.kt @@ -1,10 +1,9 @@ package net.adoptium.api.v3.parser -import net.adoptium.api.v3.models.VersionData -import org.slf4j.LoggerFactory /* ktlint-disable no-wildcard-imports */ -import java.util.* /* ktlint-enable no-wildcard-imports */ +import net.adoptium.api.v3.models.VersionData +import org.slf4j.LoggerFactory import java.util.regex.Matcher import java.util.regex.Pattern @@ -52,7 +51,7 @@ object VersionParser { private fun jep223WithAdoptBuildNum(): List { val buildRegex = "(?[0-9]+)(\\.(?[0-9]+))?" - return Arrays.asList( + return listOf( "(?:jdk\\-)?(?$VNUM_REGEX(\\-$PRE_REGEX)?\\+$buildRegex(\\-$OPT_REGEX)?)", "(?:jdk\\-)?(?$VNUM_REGEX\\-$PRE_REGEX(\\-$OPT_REGEX)?)", "(?:jdk\\-)?(?$VNUM_REGEX(\\+\\-$OPT_REGEX)?)" @@ -60,7 +59,7 @@ object VersionParser { } private fun jep223(): List { - return Arrays.asList( + return listOf( "(?:jdk\\-)?(?$VNUM_REGEX(\\-$PRE_REGEX)?\\+$BUILD_REGEX(\\-$OPT_REGEX)?)", "(?:jdk\\-)?(?$VNUM_REGEX\\-$PRE_REGEX(\\-$OPT_REGEX)?)", "(?:jdk\\-)?(?$VNUM_REGEX(\\+\\-$OPT_REGEX)?)" @@ -104,7 +103,7 @@ object VersionParser { if (version != null) { return version } - } catch (e: Exception) { + } catch (_: Exception) { } throw FailedToParse("Failed to parse $publishName") } @@ -126,7 +125,7 @@ object VersionParser { if (!sanityCheck || sanityCheck(parsed)) { return parsed } - } catch (e: Exception) { + } catch (_: Exception) { } return null } @@ -185,7 +184,7 @@ object VersionParser { private fun sanityCheck(parsed: VersionData): Boolean { - if (!(parsed.major in 101 downTo 7)) { + if (parsed.major !in 101 downTo 7) { // Sanity check as javas parser can match a single number // sane range is 8 to 100 // TODO update me before 2062 and java 100 is released diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/parser/maven/SemverParser.kt b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/parser/maven/SemverParser.kt index 3aadc2618..69722c602 100644 --- a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/parser/maven/SemverParser.kt +++ b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/parser/maven/SemverParser.kt @@ -1,14 +1,14 @@ -package net.adoptium.api.v3.parser.maven; +package net.adoptium.api.v3.parser.maven import net.adoptium.api.v3.models.VersionData import net.adoptium.api.v3.parser.FailedToParse import java.util.regex.Pattern object SemverParser { - val PRE = """(\-(?
[\.A-Za-z0-9]+))?"""
-    val BUILD = """(\+(?[\.A-Za-z0-9]+))?"""
-    val VERSION_CORE = """(?[0-9]+)\.(?[0-9]+)\.(?[0-9]+)$PRE$BUILD"""
-    val MATCHER = Pattern.compile("^$VERSION_CORE$")
+    private const val PRE = """(\-(?
[\.A-Za-z0-9]+))?"""
+    private const val BUILD = """(\+(?[\.A-Za-z0-9]+))?"""
+    private const val VERSION_CORE = """(?[0-9]+)\.(?[0-9]+)\.(?[0-9]+)$PRE$BUILD"""
+    private val MATCHER = Pattern.compile("^$VERSION_CORE$")
 
     fun parseAdoptSemverNonNull(version: String): VersionData {
         return parseAdoptSemver(version) ?: throw FailedToParse("Failed to parse $version")
@@ -49,7 +49,7 @@ object SemverParser {
 
                         optional = if (parts.size > 2) parts[2] else null
                         adoptBuildNum = if (parts.size > 1) parts[1].toInt() else null
-                        build = if (parts.size > 0) parts[0].toInt() else null
+                        build = if (parts.isNotEmpty()) parts[0].toInt() else null
 
                         if (build != null) {
                             patch = build / 100
diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/api/SemverParserTest.kt b/adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/net/adoptium/api/SemverParserTest.kt
similarity index 99%
rename from adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/api/SemverParserTest.kt
rename to adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/net/adoptium/api/SemverParserTest.kt
index 5bb85b1ff..df1b28c60 100644
--- a/adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/api/SemverParserTest.kt
+++ b/adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/net/adoptium/api/SemverParserTest.kt
@@ -1,4 +1,4 @@
-package api;
+package net.adoptium.api
 
 import net.adoptium.api.v3.models.VersionData
 import net.adoptium.api.v3.parser.VersionParser
diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/api/VersionParserTest.kt b/adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/net/adoptium/api/VersionParserTest.kt
similarity index 100%
rename from adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/api/VersionParserTest.kt
rename to adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/net/adoptium/api/VersionParserTest.kt
diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/api/VersionRangeTest.kt b/adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/net/adoptium/api/VersionRangeTest.kt
similarity index 100%
rename from adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/api/VersionRangeTest.kt
rename to adoptium-models-parent/adoptium-api-v3-models/src/test/kotlin/net/adoptium/api/VersionRangeTest.kt
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/pom.xml b/adoptium-updater-parent/adoptium-api-v3-updater/pom.xml
index b4fbf4f96..a0bbbce6e 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/pom.xml
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/pom.xml
@@ -74,17 +74,6 @@
             weld-junit5
             test
         
-        
-            org.litote.kmongo
-            kmongo-flapdoodle
-            test
-            
-                
-                    org.slf4j
-                    slf4j-simple
-                
-            
-        
         
             io.mockk
             mockk-jvm
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptReposBuilder.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptReposBuilder.kt
index 1f64e338e..6a6a1bf4b 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptReposBuilder.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptReposBuilder.kt
@@ -1,6 +1,5 @@
 package net.adoptium.api.v3
 
-import ReleaseIncludeFilter
 import jakarta.enterprise.context.ApplicationScoped
 import jakarta.inject.Inject
 import net.adoptium.api.v3.dataSources.VersionSupplier
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptRepository.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptRepository.kt
index f528a0696..91e39fa09 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptRepository.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/AdoptRepository.kt
@@ -1,6 +1,5 @@
 package net.adoptium.api.v3
 
-import ReleaseIncludeFilter
 import jakarta.enterprise.context.ApplicationScoped
 import jakarta.inject.Inject
 import kotlinx.coroutines.Deferred
@@ -76,7 +75,7 @@ open class AdoptRepositoryImpl @Inject constructor(
     override suspend fun getReleaseById(gitHubId: GitHubId): ReleaseResult? {
         val release = client.getReleaseById(gitHubId)
 
-        if (release == null) return null;
+        if (release == null) return null
 
         return getMapperForRepo(release.url)
             .toAdoptRelease(release)
@@ -147,7 +146,7 @@ open class AdoptRepositoryImpl @Inject constructor(
         }
     }
 
-    private suspend fun  getDataForEachRepo(
+    private fun  getDataForEachRepo(
         version: Int,
         filter: ReleaseIncludeFilter,
         getFun: suspend (Vendor, String, String) -> E
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/ReleaseIncludeFilter.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/ReleaseIncludeFilter.kt
index 566c27f9e..949040caa 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/ReleaseIncludeFilter.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/ReleaseIncludeFilter.kt
@@ -1,4 +1,5 @@
-import net.adoptium.api.v3.TimeSource
+package net.adoptium.api.v3
+
 import net.adoptium.api.v3.config.APIConfig
 import net.adoptium.api.v3.mapping.ReleaseMapper
 import net.adoptium.api.v3.models.Vendor
@@ -24,10 +25,10 @@ class ReleaseIncludeFilter(
     }
 
     fun filterVendor(vendor: Vendor): Boolean {
-        if (includeAll || APIConfig.UPDATE_ADOPTOPENJDK) {
-            return true // include all vendors
+        return if (includeAll || APIConfig.UPDATE_ADOPTOPENJDK) {
+            true // include all vendors
         } else {
-            return !excludedVendors.contains(vendor)
+            !excludedVendors.contains(vendor)
         }
     }
 
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/V3Updater.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/V3Updater.kt
index a3ea1f1ba..1764c6ed8 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/V3Updater.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/V3Updater.kt
@@ -1,7 +1,5 @@
 package net.adoptium.api.v3
 
-import ReleaseFilterType
-import ReleaseIncludeFilter
 import io.quarkus.arc.profile.UnlessBuildProfile
 import io.quarkus.runtime.Startup
 import jakarta.enterprise.context.ApplicationScoped
@@ -76,10 +74,6 @@ class V3Updater @Inject constructor(
                 .toList())
     }
 
-    init {
-        //AppInsightsTelemetry.start()
-    }
-
     override fun addToUpdate(toUpdate: String): List {
         val repo = apiDataStore.loadDataFromDb(true)
         val toUpdateList = repo
@@ -145,10 +139,10 @@ class V3Updater @Inject constructor(
             .forEach { releaseA ->
                 val releaseB = repoB.allReleases.getReleaseById(releaseA.id)
                 if (releaseB == null) {
-                    LOGGER.debug("Release disapeared ${releaseA.id} ${releaseA.version_data.semver}")
+                    LOGGER.debug("Release disappeared ${releaseA.id} ${releaseA.version_data.semver}")
                 } else if (releaseA != releaseB) {
-                    LOGGER.debug("Release changedA $releaseA")
-                    LOGGER.debug("Release changedB $releaseB")
+                    LOGGER.debug("Release changedA {}", releaseA)
+                    LOGGER.debug("Release changedB {}", releaseB)
                     releaseA
                         .binaries
                         .forEach { binaryA ->
@@ -242,7 +236,7 @@ class V3Updater @Inject constructor(
         )
     }
 
-    fun fullUpdate(currentRepo: AdoptRepos, releasesOnly: Boolean): AdoptRepos? {
+    private fun fullUpdate(currentRepo: AdoptRepos, releasesOnly: Boolean): AdoptRepos? {
         // Must catch errors or may kill the scheduler
         try {
             return runBlocking {
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/ReleaseVersionResolver.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/ReleaseVersionResolver.kt
index 0c1ef8c0a..913c8dba3 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/ReleaseVersionResolver.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/ReleaseVersionResolver.kt
@@ -11,7 +11,7 @@ class ReleaseVersionResolver @Inject constructor(
     private val versionSupplier: VersionSupplier
 ) {
 
-    suspend fun formReleaseInfo(repo: AdoptRepos): ReleaseInfo {
+    fun formReleaseInfo(repo: AdoptRepos): ReleaseInfo {
         val gaReleases = repo
             .allReleases
             .getReleases()
@@ -26,7 +26,7 @@ class ReleaseVersionResolver @Inject constructor(
             .toTypedArray()
         val mostRecentFeatureRelease: Int = availableReleases.lastOrNull() ?: 0
 
-        val ltsVersions = versionSupplier.getLtsVersions();
+        val ltsVersions = versionSupplier.getLtsVersions()
 
         val availableLtsReleases: Array = gaReleases
             .asSequence()
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/UpdatableVersionSupplierImpl.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/UpdatableVersionSupplierImpl.kt
index eb15c6be7..6d51b22f9 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/UpdatableVersionSupplierImpl.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/dataSources/UpdatableVersionSupplierImpl.kt
@@ -9,7 +9,7 @@ import org.slf4j.LoggerFactory
 @ApplicationScoped
 class UpdatableVersionSupplierImpl @Inject constructor(val updaterHtmlClient: UpdaterHtmlClient) : VersionSupplier, UpdatableVersionSupplier {
     companion object {
-        private val LOGGER: Logger = LoggerFactory.getLogger(UpdatableVersionSupplierImpl::class.java);
+        private val LOGGER: Logger = LoggerFactory.getLogger(UpdatableVersionSupplierImpl::class.java)
     }
 
     private val DEFAULT_LATEST_JAVA_VERSION = 24
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/stats/GitHubDownloadStatsCalculator.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/stats/GitHubDownloadStatsCalculator.kt
index f56aa7eb6..552f1b1a7 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/stats/GitHubDownloadStatsCalculator.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/stats/GitHubDownloadStatsCalculator.kt
@@ -1,6 +1,7 @@
 package net.adoptium.api.v3.stats
 
 import jakarta.enterprise.context.ApplicationScoped
+import jakarta.inject.Inject
 import net.adoptium.api.v3.TimeSource
 import net.adoptium.api.v3.dataSources.models.AdoptRepos
 import net.adoptium.api.v3.dataSources.persitence.ApiPersistence
@@ -9,7 +10,6 @@ import net.adoptium.api.v3.models.JvmImpl
 import net.adoptium.api.v3.models.Vendor
 import org.slf4j.LoggerFactory
 import java.time.ZonedDateTime
-import jakarta.inject.Inject
 
 @ApplicationScoped
 open class GitHubDownloadStatsCalculator @Inject constructor(private val database: ApiPersistence) {
@@ -32,7 +32,7 @@ open class GitHubDownloadStatsCalculator @Inject constructor(private val databas
         val stats = repos
             .repos
             .values
-            .map { featureRelease ->
+            .sumOf { featureRelease ->
                 val total = featureRelease
                     .releases
                     .getReleases()
@@ -48,7 +48,6 @@ open class GitHubDownloadStatsCalculator @Inject constructor(private val databas
                 LOGGER.info("Stats ${featureRelease.featureVersion} $total")
                 total
             }
-            .sum()
         LOGGER.info("Stats total $stats")
     }
 
@@ -67,21 +66,21 @@ open class GitHubDownloadStatsCalculator @Inject constructor(private val databas
                     }
 
                 // Tally up jvmImpl download stats
-                val jvmImplMap: Map = JvmImpl.values().map { jvmImpl ->
-                    jvmImpl to
-                            featureRelease
-                                .releases
-                                .getReleases()
-                                .filter { it.vendor == Vendor.getDefault() }
-                                .sumOf {
-                                    it.binaries
-                                        .filter { binary -> binary.jvm_impl == jvmImpl }
-                                        .sumOf { binary ->
-                                            binary.download_count.toInt()
-                                        }
-                                }
+                val jvmImplMap: Map = JvmImpl.entries
+                    .associateWith { jvmImpl ->
+                        featureRelease
+                            .releases
+                            .getReleases()
+                            .filter { it.vendor == Vendor.getDefault() }
+                            .sumOf {
+                                it.binaries
+                                    .filter { binary -> binary.jvm_impl == jvmImpl }
+                                    .sumOf { binary ->
+                                        binary.download_count.toInt()
+                                    }
+                            }
                             .toLong()
-                }.toMap()
+                    }
 
                 GitHubDownloadStatsDbEntry(
                     date,
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/APIDataStoreTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/APIDataStoreTest.kt
index 86b6ac46a..0341f1097 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/APIDataStoreTest.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/APIDataStoreTest.kt
@@ -27,7 +27,7 @@ class APIDataStoreTest : MongoTest() {
     fun reposHasElements() {
         runBlocking {
             val repo = BaseTest.adoptRepos
-            assert(repo.getFeatureRelease(8)!!.releases.getReleases().toList().size > 0)
+            assert(repo.getFeatureRelease(8)!!.releases.getReleases().toList().isNotEmpty())
         }
     }
 
@@ -77,6 +77,6 @@ class APIDataStoreTest : MongoTest() {
 
     @Test
     fun `update is not scheduled by default`(apiDataStore: APIDataStoreImpl) {
-        assertNull(apiDataStore.schedule)
+        assertNull(apiDataStore.getSchedule())
     }
 }
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptMetadataVersionParsingTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptMetadataVersionParsingTest.kt
index d225eee13..b890a3c2a 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptMetadataVersionParsingTest.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptMetadataVersionParsingTest.kt
@@ -23,7 +23,7 @@ import org.junit.jupiter.api.Assertions.assertEquals
 class AdoptMetadataVersionParsingTest : BaseTest() {
 
     val client: UpdaterHtmlClient = object : UpdaterHtmlClient {
-        override suspend fun get(url: String): String? {
+        override suspend fun get(url: String): String {
             return """
                         {
                             "WARNING": "THIS METADATA FILE IS STILL IN ALPHA DO NOT USE ME",
@@ -49,10 +49,10 @@ class AdoptMetadataVersionParsingTest : BaseTest() {
             """.trimIndent()
         }
 
-        override suspend fun getFullResponse(request: UrlRequest): HttpResponse? {
+        override suspend fun getFullResponse(request: UrlRequest): HttpResponse {
             val metadataResponse = mockk()
             val entity = mockk()
-            every { entity.content } returns get(request.url)?.byteInputStream()
+            every { entity.content } returns get(request.url).byteInputStream()
             every { metadataResponse.statusLine } returns BasicStatusLine(ProtocolVersion("", 1, 1), 200, "")
             every { metadataResponse.entity } returns entity
             every { metadataResponse.getFirstHeader("Last-Modified") } returns BasicHeader("Last-Modified", "Thu, 01 Jan 1970 00:00:00 GMT")
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReleaseMapperTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReleaseMapperTest.kt
index 79e579bfd..1b88224ef 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReleaseMapperTest.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReleaseMapperTest.kt
@@ -197,11 +197,11 @@ class AdoptReleaseMapperTest : BaseTest() {
 
     private fun buildGhAssets(assetNames: List>) =
         GHAssets(assetNames
-            .map { it ->
+            .map {
                 GHAsset(
                     it.first,
                     1L,
-                    "${it.second}",
+                    it.second,
                     1L,
                     "2013-02-27T19:35:32Z"
                 )
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReleaseNotesTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReleaseNotesTest.kt
index f40b53612..8699ad6ca 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReleaseNotesTest.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReleaseNotesTest.kt
@@ -1,6 +1,6 @@
 package net.adoptium.api
 
-import ReleaseIncludeFilter
+import net.adoptium.api.v3.ReleaseIncludeFilter
 import kotlinx.coroutines.runBlocking
 import net.adoptium.api.testDoubles.InMemoryApiPersistence
 import net.adoptium.api.v3.AdoptRepository
@@ -57,7 +57,7 @@ class AdoptReleaseNotesTest : BaseTest() {
                                 ]
                             """.trimIndent()
             } else {
-                return null;
+                return null
             }
         }
 
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReposBuilderTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReposBuilderTest.kt
index 23a5a56a3..8e69ef132 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReposBuilderTest.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReposBuilderTest.kt
@@ -84,12 +84,9 @@ class AdoptReposBuilderTest : BaseTest() {
     fun updatedReleaseIsNotUpdatedWhenThingsDontChange() {
         runBlocking {
 
-            val updated2 = runBlocking {
-                adoptReposBuilder.incrementalUpdate(emptySet(), before) { null }
-            }
-            val updated3 = runBlocking {
-                adoptReposBuilder.incrementalUpdate(emptySet(), before) { null }
-            }
+            val updated2 = adoptReposBuilder.incrementalUpdate(emptySet(), before) { null }
+
+            val updated3 = adoptReposBuilder.incrementalUpdate(emptySet(), before) { null }
 
             assertTrue { updated == updated2 }
             assertTrue { updated2 == updated3 }
@@ -99,7 +96,7 @@ class AdoptReposBuilderTest : BaseTest() {
     @Test
     fun `young releases continue to be pulled`() {
         runBlocking {
-            val repo = stub.repo;
+            val repo = stub.repo
             val adoptRepository = AdoptRepositoryStub()
             val adoptRepo = spyk(adoptRepository)
             val adoptReposBuilder = AdoptReposBuilder(adoptRepo, UpdatableVersionSupplierStub())
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReposTestDataGenerator.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReposTestDataGenerator.kt
index 2144e8b24..831553cfc 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReposTestDataGenerator.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/AdoptReposTestDataGenerator.kt
@@ -28,7 +28,7 @@ object AdoptReposTestDataGenerator {
     private val TEST_VERSIONS = listOf(8, 10, 11, 12)
     private val TEST_RESOURCES = listOf(
         PermittedValues(
-            ReleaseType.values().asList(),
+            ReleaseType.entries,
             listOf(Vendor.adoptopenjdk),
             listOf(Project.jdk),
             listOf(JvmImpl.hotspot),
@@ -38,17 +38,17 @@ object AdoptReposTestDataGenerator {
             listOf(HeapSize.normal),
         ),
         PermittedValues(
-            ReleaseType.values().asList(),
+            ReleaseType.entries,
             listOf(Vendor.adoptopenjdk),
             listOf(Project.jdk),
             listOf(JvmImpl.openj9),
             listOf(ImageType.jre, ImageType.jdk),
             listOf(Architecture.x64, Architecture.x32, Architecture.arm),
             listOf(OperatingSystem.linux, OperatingSystem.mac, OperatingSystem.windows),
-            HeapSize.values().asList()
+            HeapSize.entries
         ),
         PermittedValues(
-            ReleaseType.values().asList(),
+            ReleaseType.entries,
             listOf(Vendor.openjdk),
             listOf(Project.jdk),
             listOf(JvmImpl.hotspot),
@@ -59,7 +59,7 @@ object AdoptReposTestDataGenerator {
             listOf(8, 11)
         ),
         PermittedValues(
-            ReleaseType.values().asList(),
+            ReleaseType.entries,
             listOf(Vendor.alibaba),
             listOf(Project.jdk),
             listOf(JvmImpl.dragonwell),
@@ -70,7 +70,7 @@ object AdoptReposTestDataGenerator {
             listOf(8, 11)
         ),
         PermittedValues(
-            ReleaseType.values().asList(),
+            ReleaseType.entries,
             listOf(Vendor.eclipse),
             listOf(Project.jdk),
             listOf(JvmImpl.hotspot),
@@ -81,7 +81,7 @@ object AdoptReposTestDataGenerator {
             listOf(8, 11, 12)
         ),
         PermittedValues(
-            ReleaseType.values().asList(),
+            ReleaseType.entries,
             listOf(Vendor.eclipse),
             listOf(Project.jdk),
             listOf(JvmImpl.hotspot),
@@ -232,7 +232,7 @@ object AdoptReposTestDataGenerator {
         }
 
         private fun exhaustiveBinaryList(): List {
-            return HeapSize.values()
+            return HeapSize.entries
                 .map {
                     Binary(
                         createPackage(),
@@ -250,7 +250,7 @@ object AdoptReposTestDataGenerator {
                     )
                 }
                 .union(
-                    OperatingSystem.values()
+                    OperatingSystem.entries
                         .map {
                             Binary(
                                 createPackage(),
@@ -269,7 +269,7 @@ object AdoptReposTestDataGenerator {
                         }
                 )
                 .union(
-                    Architecture.values()
+                    Architecture.entries
                         .map {
                             Binary(
                                 createPackage(),
@@ -288,7 +288,7 @@ object AdoptReposTestDataGenerator {
                         }
                 )
                 .union(
-                    ImageType.values()
+                    ImageType.entries
                         .map {
                             Binary(
                                 createPackage(),
@@ -307,7 +307,7 @@ object AdoptReposTestDataGenerator {
                         }
                 )
                 .union(
-                    JvmImpl.values()
+                    JvmImpl.entries
                         .map {
                             Binary(
                                 createPackage(),
@@ -326,7 +326,7 @@ object AdoptReposTestDataGenerator {
                         }
                 )
                 .union(
-                    Project.values()
+                    Project.entries
                         .map {
                             Binary(
                                 createPackage(),
@@ -383,6 +383,7 @@ object AdoptReposTestDataGenerator {
                 return emptyList()
             }
             return releaseType
+                .asSequence()
                 .map { releaseBuilder()(it) }
                 .flatMap { builder -> vendor.map { builder(it) } }
                 .flatMap { builder -> getVersions(majorVersion).map { builder(it) } }
@@ -390,6 +391,7 @@ object AdoptReposTestDataGenerator {
                 .filter {
                     Vendor.validVendor(it.vendor)
                 }
+                .toList()
         }
 
         private fun getBinaries(): Array {
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/BaseTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/BaseTest.kt
index aebee413f..d9a556d96 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/BaseTest.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/BaseTest.kt
@@ -52,7 +52,7 @@ abstract class BaseTest {
                 return null
             }
 
-            override suspend fun getFullResponse(request: UrlRequest): HttpResponse? {
+            override suspend fun getFullResponse(request: UrlRequest): HttpResponse {
                 val metadataResponse = mockk()
 
                 val entity = mockk()
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/CachedGitHubHtmlClientTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/CachedGitHubHtmlClientTest.kt
index 23cda7411..c8718de7c 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/CachedGitHubHtmlClientTest.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/CachedGitHubHtmlClientTest.kt
@@ -1,6 +1,5 @@
 package net.adoptium.api
 
-import io.mockk.Called
 import io.mockk.coEvery
 import io.mockk.coVerify
 import io.mockk.confirmVerified
@@ -15,14 +14,14 @@ import net.adoptium.api.v3.dataSources.UpdaterHtmlClient
 import net.adoptium.api.v3.dataSources.UrlRequest
 import net.adoptium.api.v3.dataSources.github.CachedGitHubHtmlClient
 import net.adoptium.api.v3.dataSources.mongo.CacheDbEntry
+import org.junit.jupiter.api.Assertions.assertEquals
+import org.junit.jupiter.api.Assertions.assertNull
 import org.junit.jupiter.api.DynamicTest
 import org.junit.jupiter.api.Test
 import org.junit.jupiter.api.TestFactory
 import org.junit.jupiter.api.extension.ExtendWith
 import java.time.ZonedDateTime
 import java.util.stream.Stream
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertNull
 
 @ExtendWith(MockKExtension::class)
 class CachedGitHubHtmlClientTest {
@@ -115,9 +114,11 @@ class CachedGitHubHtmlClientTest {
                 while (client.getQueueLength() > 0) {
                     delay(1000)
                 }
-                coVerify(timeout = 3000) {
-                    updaterHtmlClient.getFullResponse(request)?.wasNot(Called)
+
+                coVerify(timeout = 3000, exactly = 0) {
+                    updaterHtmlClient.getFullResponse(request)
                 }
+
                 confirmVerified(updaterHtmlClient)
             }
         }
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/DateTimeMigrationTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/DateTimeMigrationTest.kt
index 8064d0178..dbfcfca58 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/DateTimeMigrationTest.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/DateTimeMigrationTest.kt
@@ -1,23 +1,28 @@
 package net.adoptium.api
 
+import kotlinx.coroutines.flow.firstOrNull
 import kotlinx.coroutines.runBlocking
 import net.adoptium.api.v3.JsonMapper
 import net.adoptium.api.v3.TimeSource
 import net.adoptium.api.v3.dataSources.persitence.mongo.MongoClient
 import net.adoptium.api.v3.models.DateTime
+import org.bson.Document
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Test
 import java.time.Instant
 import java.time.ZoneOffset
 import java.time.ZonedDateTime
-import java.util.UUID
+import java.util.*
 import java.util.concurrent.TimeUnit
 
-class DateTimeMigrationTest : MongoTest() {
+data class HasZonedDateTime(
+    val zdt: ZonedDateTime)
+
+data class HasDateTime(
+    val zdt: DateTime)
 
-    class HasZonedDateTime(val zdt: ZonedDateTime)
+class DateTimeMigrationTest : MongoTest() {
 
-    class HasDateTime(val zdt: DateTime)
 
     @Test
     fun `can serialize as zdt and deserialize as DateTime`() {
@@ -39,17 +44,17 @@ class DateTimeMigrationTest : MongoTest() {
                     .minus(1, TimeUnit.MILLISECONDS.toChronoUnit())
 
                 val hzdt = HasZonedDateTime(date)
-                val client1 = mongoClient.database.getCollection(collectionName)
+                val client1 = mongoClient.getDatabase().getCollection(collectionName)
                 client1.insertOne(hzdt)
 
-                val hzdt2 = client1.findOne()
+                val hzdt2 = client1.find().firstOrNull()
                 assertEquals(hzdt.zdt, hzdt2?.zdt)
 
-                val client2 = mongoClient.database.getCollection(collectionName)
-                val fromDb = client2.findOne("{}")
-                assertEquals(hzdt.zdt, fromDb?.zdt?.dateTime)
+                val client2 = mongoClient.getDatabase().getCollection(collectionName)
+                val fromDb = client2.find().firstOrNull()
+                assertEquals(hzdt.zdt, fromDb?.zdt)
             } finally {
-                mongoClient.database.dropCollection(collectionName)
+                mongoClient.getDatabase().getCollection(collectionName).drop()
             }
         }
     }
@@ -67,22 +72,22 @@ class DateTimeMigrationTest : MongoTest() {
         runBlocking {
             try {
                 val hzdt = HasZonedDateTime(TimeSource.now())
-                val client1 = mongoClient.database.getCollection(collectionName)
+                val client1 = mongoClient.getDatabase().getCollection(collectionName)
                 client1.insertOne(hzdt)
 
-                val hzdt2 = client1.findOne()
+                val hzdt2 = client1.find().firstOrNull()
                 assertEquals(hzdt.zdt, hzdt2?.zdt)
 
-                val client2 = mongoClient.database.getCollection(collectionName)
-                val fromDb = client2.findOne("{}")
-                assertEquals(hzdt.zdt, fromDb?.zdt?.dateTime)
+                val client2 = mongoClient.getDatabase().getCollection(collectionName)
+                val fromDb = client2.find(Document.parse("{}")).firstOrNull()
+                assertEquals(hzdt.zdt, fromDb?.zdt)
 
-                client2.deleteMany()
+                client2.deleteMany(Document.parse("{}"))
                 client2.insertOne(fromDb!!)
-                val fromDb2 = client2.findOne("{}")
-                assertEquals(fromDb.zdt.dateTime, fromDb2?.zdt?.dateTime)
+                val fromDb2 = client2.find(Document.parse("{}")).firstOrNull()
+                assertEquals(fromDb.zdt, fromDb2?.zdt)
             } finally {
-                mongoClient.database.dropCollection(collectionName)
+                mongoClient.getDatabase().getCollection(collectionName).drop()
             }
         }
     }
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/DockerStatsInterfaceTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/DockerStatsInterfaceTest.kt
index 2eb616b07..04cd682e7 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/DockerStatsInterfaceTest.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/DockerStatsInterfaceTest.kt
@@ -34,7 +34,7 @@ class DockerStatsInterfaceTest : BaseTest() {
             dockerStatsInterface.updateDb()
 
             val stats = apiPersistence.getLatestAllDockerStats()
-            Assertions.assertTrue(stats.size > 0)
+            Assertions.assertTrue(stats.isNotEmpty())
         }
     }
 
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/GraphQLGitHubReleaseClientTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/GraphQLGitHubReleaseClientTest.kt
index bf1890a25..59ff296bb 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/GraphQLGitHubReleaseClientTest.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/GraphQLGitHubReleaseClientTest.kt
@@ -1,7 +1,7 @@
 package net.adoptium.api
 
-import ReleaseFilterType
-import ReleaseIncludeFilter
+import net.adoptium.api.v3.ReleaseFilterType
+import net.adoptium.api.v3.ReleaseIncludeFilter
 import com.expediagroup.graphql.client.types.GraphQLClientRequest
 import com.expediagroup.graphql.client.types.GraphQLClientResponse
 import io.mockk.coEvery
@@ -124,14 +124,14 @@ class GraphQLGitHubReleaseClientTest : BaseTest() {
                     every { builder.errors } returns null
                     return builder
                 }
-            };
+            }
 
             val graphQLGitHubInterface = GraphQLGitHubInterface(graphQLRequest, mockkHttpClient())
             val graphQLGitHubReleaseRequest = GraphQLGitHubReleaseRequest(graphQLGitHubInterface)
 
             val client = GraphQLGitHubRepositoryClient(graphQLGitHubInterface, graphQLGitHubReleaseRequest)
 
-            val repo = client.getRepository(AdoptRepositoryImpl.ADOPT_ORG, "a-repo-name", { _, _ -> true })
+            val repo = client.getRepository(AdoptRepositoryImpl.ADOPT_ORG, "a-repo-name") { _, _ -> true }
 
             assertEquals(Companion.repo, repo)
         }
@@ -208,7 +208,7 @@ class GraphQLGitHubReleaseClientTest : BaseTest() {
 
             val client = GraphQLGitHubRepositoryClient(graphQLGitHubInterface, graphQLGitHubReleaseRequest)
 
-            val repo = client.getRepository(AdoptRepositoryImpl.ADOPT_ORG, "a-repo-name", { _, _ -> true })
+            val repo = client.getRepository(AdoptRepositoryImpl.ADOPT_ORG, "a-repo-name") { _, _ -> true }
 
             assertEquals(2, repo.releases.releases.size)
         }
@@ -307,7 +307,7 @@ class GraphQLGitHubReleaseClientTest : BaseTest() {
                 every { builder.errors } returns null
                 return builder
             }
-        };
+        }
 
         val graphQLGitHubInterface = GraphQLGitHubInterface(graphQLRequest, mockkHttpClient())
         val graphQLGitHubReleaseRequest = GraphQLGitHubReleaseRequest(graphQLGitHubInterface)
@@ -315,7 +315,7 @@ class GraphQLGitHubReleaseClientTest : BaseTest() {
         val client = GraphQLGitHubRepositoryClient(graphQLGitHubInterface, graphQLGitHubReleaseRequest)
 
 
-        val htmlClient = mockk();
+        val htmlClient = mockk()
         coEvery { htmlClient.getUrl(any()) }.returns(null)
 
         val adoptReleaseMapperFactory = mockk()
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/InternalDbStoreTests.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/InternalDbStoreTests.kt
index a51196edc..639431528 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/InternalDbStoreTests.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/InternalDbStoreTests.kt
@@ -5,16 +5,15 @@ import net.adoptium.api.v3.TimeSource
 import net.adoptium.api.v3.dataSources.mongo.CacheDbEntry
 import net.adoptium.api.v3.dataSources.mongo.InternalDbStoreImpl
 import net.adoptium.api.v3.dataSources.persitence.mongo.MongoClient
-import org.junit.jupiter.api.Assertions
-import org.junit.jupiter.api.Test
 import org.junit.jupiter.api.Assertions.assertEquals
+import org.junit.jupiter.api.Test
 
 class InternalDbStoreTests : MongoTest() {
 
     @Test
-    fun `checked time is set`(mongoClient: MongoClient) {
+    fun `checked time is set`() {
         runBlocking {
-            val internalDbStore = InternalDbStoreImpl(mongoClient)
+            val internalDbStore = InternalDbStoreImpl(MongoClient())
 
             val now = TimeSource.now()
             val data = CacheDbEntry("foo", "bar", now, "some data")
@@ -30,7 +29,7 @@ class InternalDbStoreTests : MongoTest() {
             internalDbStore.updateCheckedTime("foo", newTime)
             val updated = internalDbStore.getCachedWebpage("foo")
 
-            Assertions.assertEquals(CacheDbEntry(data.url, data.lastModified, newTime, data.data), updated)
+            assertEquals(CacheDbEntry(data.url, data.lastModified, newTime, data.data), updated)
         }
     }
 }
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/MetadataSerializationTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/MetadataSerializationTest.kt
index d7e5aa52b..f56b4f692 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/MetadataSerializationTest.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/MetadataSerializationTest.kt
@@ -55,7 +55,7 @@ class MetadataSerializationTest {
         val metadata = generateMetadata()
 
         val serialized = UpdaterJsonMapper.mapper.writeValueAsString(metadata)
-        var json = UpdaterJsonMapper.mapper.readValue(serialized, ObjectNode::class.java)
+        val json = UpdaterJsonMapper.mapper.readValue(serialized, ObjectNode::class.java)
         json.remove("WARNING")
 
         val noWarning = GHMetaData(null, metadata.os, metadata.arch, metadata.variant, metadata.version, metadata.scmRef, metadata.version_data, metadata.binary_type, metadata.sha256)
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/MongoAPIPersistenceTests.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/MongoAPIPersistenceTests.kt
index 3cd0ee542..fc8082866 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/MongoAPIPersistenceTests.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/MongoAPIPersistenceTests.kt
@@ -4,16 +4,15 @@ import kotlinx.coroutines.runBlocking
 import net.adoptium.api.v3.TimeSource
 import net.adoptium.api.v3.dataSources.models.GitHubId
 import net.adoptium.api.v3.dataSources.persitence.mongo.MongoApiPersistence
+import net.adoptium.api.v3.dataSources.persitence.mongo.MongoClient
 import net.adoptium.api.v3.models.GHReleaseMetadata
-import org.junit.jupiter.api.Assertions
-import org.junit.jupiter.api.Test
 import org.junit.jupiter.api.Assertions.assertEquals
+import org.junit.jupiter.api.Test
 
 class MongoAPIPersistenceTests : MongoTest() {
     @Test
-    fun `update time is set`(apiPersistence: MongoApiPersistence) {
+    fun `update time is set`(api: MongoApiPersistence) {
         runBlocking {
-            val api = apiPersistence
             api.updateUpdatedTime(TimeSource.now(), "", 0)
             api.updateUpdatedTime(TimeSource.now(), "", 0)
             api.updateUpdatedTime(TimeSource.now(), "", 0)
@@ -22,19 +21,21 @@ class MongoAPIPersistenceTests : MongoTest() {
 
             val stored = api.getUpdatedAt()
 
-            Assertions.assertEquals(time, stored.time)
+            assertEquals(time, stored.time)
         }
     }
 
     @Test
-    fun `metadata is persisted`(apiPersistence: MongoApiPersistence) {
+    fun `metadata is persisted`() {
         runBlocking {
+            val apiPersistence = MongoApiPersistence(MongoClient())
 
             val metadata = GHReleaseMetadata(10, GitHubId("foo"))
             apiPersistence.setGhReleaseMetadata(metadata)
 
             val saved = apiPersistence.getGhReleaseMetadata(GitHubId("foo"))
 
+
             assertEquals(metadata, saved)
         }
     }
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/MongoTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/MongoTest.kt
index c823b2c99..7c1a6d854 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/MongoTest.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/MongoTest.kt
@@ -4,7 +4,6 @@ import de.flapdoodle.embed.mongo.config.Net
 import de.flapdoodle.embed.mongo.distribution.Version
 import de.flapdoodle.embed.mongo.transitions.Mongod
 import de.flapdoodle.embed.mongo.transitions.RunningMongodProcess
-import de.flapdoodle.embed.process.runtime.Network
 import de.flapdoodle.reverse.transitions.Start
 import net.adoptium.api.testDoubles.UpdatableVersionSupplierStub
 import net.adoptium.api.v3.dataSources.APIDataStoreImpl
@@ -34,12 +33,13 @@ abstract class MongoTest {
         @JvmStatic
         fun startFongo() {
             val bindIp = "localhost"
-            val net = Net.of("localhost",
-                Network.freeServerPort(Network.getLocalHost()),
-                Network.localhostIsIPv6()
-            )
 
-            val mongodbTestConnectionString = "mongodb://$bindIp:${net.port}"
+            val port = de.flapdoodle.net.Net.freeServerPort()
+
+            val net = Net.builder().bindIp(bindIp).port(port).isIpv6(false).build()
+
+            val mongodbTestConnectionString = "mongodb://$bindIp:$port"
+
             LOGGER.info("Mongo test connection string - $mongodbTestConnectionString")
             System.setProperty("MONGODB_TEST_CONNECTION_STRING", mongodbTestConnectionString)
 
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/UpdateRunner.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/UpdateRunner.kt
index 9c3c72f25..7f5c56121 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/UpdateRunner.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/UpdateRunner.kt
@@ -3,6 +3,7 @@ package net.adoptium.api
 import kotlinx.coroutines.runBlocking
 import net.adoptium.api.testDoubles.InMemoryInternalDbStore
 import net.adoptium.api.v3.AdoptRepositoryImpl
+import net.adoptium.api.v3.ReleaseIncludeFilter
 import net.adoptium.api.v3.V3Updater
 import net.adoptium.api.v3.dataSources.DefaultUpdaterHtmlClient
 import net.adoptium.api.v3.dataSources.HttpClientFactory
@@ -35,7 +36,7 @@ class UpdateRunner {
     fun run(updater: V3Updater) {
         System.clearProperty("GITHUB_TOKEN")
         updater.run(false)
-        Awaitility.await().atMost(Long.MAX_VALUE, TimeUnit.NANOSECONDS).until({ 4 == 5 })
+        Awaitility.await().atMost(Long.MAX_VALUE, TimeUnit.NANOSECONDS).until { 4 == 5 }
     }
 
     @Test
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/V3UpdaterTest.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/V3UpdaterTest.kt
index 852807df3..75997d588 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/V3UpdaterTest.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/V3UpdaterTest.kt
@@ -1,7 +1,8 @@
 package net.adoptium.api
 
-import ReleaseIncludeFilter
+import net.adoptium.api.v3.ReleaseIncludeFilter
 import kotlinx.coroutines.runBlocking
+import net.adoptium.api.v3.ReleaseFilterType
 import net.adoptium.api.v3.TimeSource
 import net.adoptium.api.v3.V3Updater
 import net.adoptium.api.v3.dataSources.models.AdoptRepos
@@ -33,7 +34,7 @@ class V3UpdaterTest {
     fun `adoptOpenJdk releases are copied over`() {
 
         runBlocking {
-            val repo = AdoptReposTestDataGenerator.generate();
+            val repo = AdoptReposTestDataGenerator.generate()
 
             val filter = ReleaseIncludeFilter(
                 TimeSource.now(),
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/testDoubles/AdoptRepositoryStub.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/testDoubles/AdoptRepositoryStub.kt
index 82c1bb420..b08bd2477 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/testDoubles/AdoptRepositoryStub.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/testDoubles/AdoptRepositoryStub.kt
@@ -1,6 +1,6 @@
 package net.adoptium.api.testDoubles
 
-import ReleaseIncludeFilter
+import net.adoptium.api.v3.ReleaseIncludeFilter
 import jakarta.annotation.Priority
 import jakarta.enterprise.context.ApplicationScoped
 import jakarta.enterprise.inject.Alternative
@@ -49,7 +49,7 @@ open class AdoptRepositoryStub : AdoptRepository {
         .addRelease(8, toAddSemiYoungRelease)
 
     companion object {
-        val unchangedIndex = 3
+        const val unchangedIndex = 3
 
         val toAdd = Release(
             "foo", ReleaseType.ga, "openjdk-8u", "jdk8u-2018-09-27-08-50",
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/testDoubles/UpdatableVersionSupplierStub.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/testDoubles/UpdatableVersionSupplierStub.kt
index f63238649..5e5db25c3 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/testDoubles/UpdatableVersionSupplierStub.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/test/kotlin/net/adoptium/api/testDoubles/UpdatableVersionSupplierStub.kt
@@ -13,7 +13,7 @@ class UpdatableVersionSupplierStub : UpdatableVersionSupplier {
         // NOP
     }
 
-    override fun getTipVersion(): Int? {
+    override fun getTipVersion(): Int {
         return 15
     }
 
diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/pom.xml b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/pom.xml
index d4547cc4d..7b2a7360e 100644
--- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/pom.xml
+++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/pom.xml
@@ -56,6 +56,21 @@
             net.adoptium.api
             adoptium-api-v3-persistence
         
+        
+            org.jetbrains.kotlin
+            kotlin-stdlib-jdk8
+            ${kotlin.version}
+        
+        
+            org.jetbrains.kotlin
+            kotlin-test
+            ${kotlin.version}
+            test
+        
+        
+            jakarta.ws.rs
+            jakarta.ws.rs-api
+        
     
 
     
diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/UpdaterJsonMapper.kt b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/UpdaterJsonMapper.kt
index 1a6bbaa20..27afdb0da 100644
--- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/UpdaterJsonMapper.kt
+++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/UpdaterJsonMapper.kt
@@ -5,11 +5,21 @@ import com.fasterxml.jackson.databind.ObjectMapper
 import com.fasterxml.jackson.datatype.jsonp.JSONPModule
 import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
 import com.fasterxml.jackson.module.kotlin.KotlinModule
+import jakarta.ws.rs.Produces
+import jakarta.ws.rs.ext.Provider
 
-object UpdaterJsonMapper {
-    val mapper: ObjectMapper = ObjectMapper()
-        .setSerializationInclusion(JsonInclude.Include.NON_NULL)
-        .registerModule(KotlinModule.Builder().build())
-        .registerModule(JavaTimeModule())
-        .registerModule(JSONPModule())
+@Provider
+class UpdaterJsonMapper {
+    companion object {
+        val mapper: ObjectMapper = ObjectMapper()
+            .setSerializationInclusion(JsonInclude.Include.NON_NULL)
+            .registerModule(KotlinModule.Builder().build())
+            .registerModule(JavaTimeModule())
+            .registerModule(JSONPModule())
+    }
+
+    @Produces
+    fun getObjectMapper(): ObjectMapper {
+        return mapper
+    }
 }
diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/GitHubAuth.kt b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/GitHubAuth.kt
index 354b9187b..c4b129b08 100644
--- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/GitHubAuth.kt
+++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/GitHubAuth.kt
@@ -75,7 +75,7 @@ class GitHubAuth {
             return token
         }
 
-        private suspend fun authenticateAsGitHubApp(appId: String, privateKey: String, installationId: String): GHAppInstallationToken {
+        private fun authenticateAsGitHubApp(appId: String, privateKey: String, installationId: String): GHAppInstallationToken {
             try {
                 // Remove the first and last lines
                 val sanitizedKey = privateKey
@@ -101,7 +101,7 @@ class GitHubAuth {
                     .compact()
 
                 val gitHubApp: GitHub = GitHubBuilder().withJwtToken(jwtToken).build()
-                val appInstallation: GHAppInstallation = gitHubApp.getApp().getInstallationById(installationId.toLong())
+                val appInstallation: GHAppInstallation = gitHubApp.app.getInstallationById(installationId.toLong())
                 return appInstallation.createToken().create()
             } catch (e: Exception) {
                 LOGGER.error("Error authenticating as GitHub App", e)
@@ -110,5 +110,5 @@ class GitHubAuth {
         }
     }
 
-    class FailedToAuthenticateException : Exception("Failed to authenticate to GitHub") {}
+    class FailedToAuthenticateException : Exception("Failed to authenticate to GitHub")
 }
diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLGitHubInterface.kt b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLGitHubInterface.kt
index 11ada77b3..d17f0b0e1 100644
--- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLGitHubInterface.kt
+++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLGitHubInterface.kt
@@ -188,7 +188,7 @@ open class GraphQLGitHubInterface @Inject constructor(
                 }
 
             } catch (e: MismatchedInputException) {
-                return null;
+                return null
             } catch (e: Exception) {
                 LOGGER.error("Query failed", e)
                 throw e
diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLGitHubReleaseRequest.kt b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLGitHubReleaseRequest.kt
index eff1d4cc1..05678ccad 100644
--- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLGitHubReleaseRequest.kt
+++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLGitHubReleaseRequest.kt
@@ -3,7 +3,6 @@ package net.adoptium.api.v3.dataSources.github.graphql.clients
 import com.expediagroup.graphql.client.types.GraphQLClientRequest
 import jakarta.enterprise.context.ApplicationScoped
 import jakarta.inject.Inject
-import net.adoptium.api.v3.dataSources.UpdaterHtmlClient
 import net.adoptium.api.v3.dataSources.github.graphql.models.GHAssets
 import net.adoptium.api.v3.dataSources.github.graphql.models.GHRelease
 import net.adoptium.api.v3.dataSources.github.graphql.models.PageInfo
diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLRequestImpl.kt b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLRequestImpl.kt
index ac2ea79f3..f044e55b6 100644
--- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLRequestImpl.kt
+++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/github/graphql/clients/GraphQLRequestImpl.kt
@@ -15,11 +15,10 @@ import java.net.URL
 open class GraphQLRequestImpl : GraphQLRequest {
 
     private val client: GraphQLKtorClient
-    private val httpClient: HttpClient
+    private val httpClient: HttpClient = HttpClient()
     val BASE_URL = "https://api.github.com/graphql"
 
     init {
-        httpClient = HttpClient()
         client = GraphQLKtorClient(
             url = URL(BASE_URL),
             httpClient = httpClient,
diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/mongo/InternalDbStore.kt b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/mongo/InternalDbStore.kt
index dc9779039..13f3f1f48 100644
--- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/mongo/InternalDbStore.kt
+++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/mongo/InternalDbStore.kt
@@ -1,11 +1,13 @@
 package net.adoptium.api.v3.dataSources.mongo
 
 import com.mongodb.client.model.IndexOptions
-import com.mongodb.client.model.UpdateOptions
+import com.mongodb.client.model.ReplaceOptions
+import com.mongodb.kotlin.client.coroutine.MongoCollection
 import jakarta.enterprise.context.ApplicationScoped
 import jakarta.inject.Inject
 import kotlinx.coroutines.GlobalScope
 import kotlinx.coroutines.Job
+import kotlinx.coroutines.flow.firstOrNull
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.runBlocking
 import net.adoptium.api.v3.dataSources.persitence.mongo.MongoClient
@@ -13,7 +15,6 @@ import net.adoptium.api.v3.dataSources.persitence.mongo.MongoInterface
 import org.bson.BsonDateTime
 import org.bson.BsonDocument
 import org.bson.Document
-import org.litote.kmongo.coroutine.CoroutineCollection
 import java.time.ZonedDateTime
 
 interface InternalDbStore {
@@ -24,27 +25,26 @@ interface InternalDbStore {
 
 @ApplicationScoped
 open class InternalDbStoreImpl @Inject constructor(mongoClient: MongoClient) : MongoInterface(), InternalDbStore {
-    private val webCache: CoroutineCollection = createCollection(mongoClient.database, "web-cache")
+    private val webCache: MongoCollection = createCollection(mongoClient.getDatabase(), "web-cache")
 
     init {
         runBlocking {
-            webCache.createIndex("""{"url":1}""", IndexOptions().background(true))
+            webCache.createIndex(Document.parse("""{"url":1}"""), IndexOptions().background(true))
         }
     }
 
     override fun putCachedWebpage(url: String, lastModified: String?, date: ZonedDateTime, data: String?): Job {
         return GlobalScope.launch {
-            webCache.updateOne(
+            webCache.replaceOne(
                 Document("url", url),
                 CacheDbEntry(url, lastModified, date, data),
-                UpdateOptions().upsert(true),
-                false
+                ReplaceOptions().upsert(true)
             )
         }
     }
 
     override suspend fun getCachedWebpage(url: String): CacheDbEntry? {
-        return webCache.findOne(Document("url", url))
+        return webCache.find(Document("url", url)).firstOrNull()
     }
 
     override suspend fun updateCheckedTime(url: String, dateTime: ZonedDateTime) {
diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/pom.xml b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/pom.xml
index 5a60e7b12..026ca9380 100644
--- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/pom.xml
+++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/pom.xml
@@ -70,6 +70,17 @@
             github-api
             1.323
         
+        
+            org.jetbrains.kotlin
+            kotlin-stdlib-jdk8
+            ${kotlin.version}
+        
+        
+            org.jetbrains.kotlin
+            kotlin-test
+            ${kotlin.version}
+            test
+        
     
 
     
diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/DefaultUpdaterHtmlClient.kt b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/DefaultUpdaterHtmlClient.kt
index 07e75b73e..9ca335361 100644
--- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/DefaultUpdaterHtmlClient.kt
+++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/DefaultUpdaterHtmlClient.kt
@@ -141,7 +141,7 @@ open class DefaultUpdaterHtmlClient @Inject constructor(
             try {
                 LOGGER.debug("Getting ${request.url} ${request.lastModified}")
                 val response: HttpResponse = withTimeout(REQUEST_TIMEOUT) {
-                    suspendCoroutine { continuation ->
+                    suspendCoroutine { continuation ->
                         getData(request, continuation, authInfo?.token)
                     }
                 }
diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/GitHubAuth.kt b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/GitHubAuth.kt
index c2cc24a74..0f5532943 100644
--- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/GitHubAuth.kt
+++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/src/main/kotlin/net/adoptium/api/v3/dataSources/GitHubAuth.kt
@@ -73,7 +73,7 @@ class GitHubAuth {
             return token
         }
 
-        private suspend fun authenticateAsGitHubApp(appId: String, privateKey: String, installationId: String): GHAppInstallationToken {
+        private fun authenticateAsGitHubApp(appId: String, privateKey: String, installationId: String): GHAppInstallationToken {
             try {
                 // Remove the first and last lines
                 val sanitizedKey = privateKey
@@ -99,7 +99,7 @@ class GitHubAuth {
                     .compact()
 
                 val gitHubApp: GitHub = GitHubBuilder().withJwtToken(jwtToken).build()
-                val appInstallation: GHAppInstallation = gitHubApp.getApp().getInstallationById(installationId.toLong())
+                val appInstallation: GHAppInstallation = gitHubApp.app.getInstallationById(installationId.toLong())
                 return appInstallation.createToken().create()
             } catch (e: Exception) {
                 LOGGER.error("Error authenticating as GitHub App", e)
@@ -108,5 +108,5 @@ class GitHubAuth {
         }
     }
 
-    class FailedToAuthenticateException : Exception("Failed to authenticate as GitHub App") {}
+    class FailedToAuthenticateException : Exception("Failed to authenticate as GitHub App")
 }
diff --git a/adoptium-updater-parent/adoptium-mappers-parent/adopt-mappers/pom.xml b/adoptium-updater-parent/adoptium-mappers-parent/adopt-mappers/pom.xml
index 0cf0cc5c1..2e63a2388 100644
--- a/adoptium-updater-parent/adoptium-mappers-parent/adopt-mappers/pom.xml
+++ b/adoptium-updater-parent/adoptium-mappers-parent/adopt-mappers/pom.xml
@@ -22,11 +22,21 @@
             adoptium-github-datasource
             ${project.version}
         
+        
+            org.jetbrains.kotlin
+            kotlin-stdlib-jdk8
+            ${kotlin.version}
+        
+        
+            org.jetbrains.kotlin
+            kotlin-test
+            ${kotlin.version}
+            test
+        
     
 
     
         src/main/kotlin
-        src/test/kotlin
     
 
 
diff --git a/adoptium-updater-parent/adoptium-mappers-parent/adopt-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/adopt/AdoptBinaryMapper.kt b/adoptium-updater-parent/adoptium-mappers-parent/adopt-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/adopt/AdoptBinaryMapper.kt
index adcac54d4..ab9dafe71 100644
--- a/adoptium-updater-parent/adoptium-mappers-parent/adopt-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/adopt/AdoptBinaryMapper.kt
+++ b/adoptium-updater-parent/adoptium-mappers-parent/adopt-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/adopt/AdoptBinaryMapper.kt
@@ -28,12 +28,13 @@ class AdoptBinaryMapper @Inject constructor(private val gitHubHtmlClient: GitHub
 
     companion object {
         @JvmStatic
-        private val LOGGER = LoggerFactory.getLogger(this::class.java)
+        private val LOGGER = LoggerFactory.getLogger(AdoptBinaryMapper::class.java)
         private const val HOTSPOT_JFR = "hotspot-jfr"
         private const val TEMURIN = "temurin"
+
+        private val EXCLUDED = listOf("corretto")
     }
 
-    private val EXCLUDED = listOf("corretto")
 
     suspend fun toBinaryList(ghBinaryAssets: List, allGhAssets: List, ghAssetsWithMetadata: Map): List {
         // probably whitelist rather than black list
@@ -55,9 +56,9 @@ class AdoptBinaryMapper @Inject constructor(private val gitHubHtmlClient: GitHub
 
                 val binaryMetadata = ghAssetsWithMetadata[ghBinaryAsset]
 
-                val heapSize = getEnumFromFileName(ghBinaryAsset.name, HeapSize.values(), HeapSize.normal)
+                val heapSize = getEnumFromFileName(ghBinaryAsset.name, HeapSize.entries.toTypedArray(), HeapSize.normal)
 
-                val cLib = getEnumFromFileNameNullable(ghBinaryAsset.name, CLib.values(), null)
+                val cLib = getEnumFromFileNameNullable(ghBinaryAsset.name, CLib.entries.toTypedArray(), null)
 
                 val installer = getInstaller(ghBinaryAsset, allGhAssets)
                 val `package` = getPackage(allGhAssets, ghBinaryAsset, binaryMetadata)
@@ -90,13 +91,13 @@ class AdoptBinaryMapper @Inject constructor(private val gitHubHtmlClient: GitHub
         val binarySize = binaryAsset.size
         val binaryChecksumLink = getCheckSumLink(fullAssetList, binaryName)
         val signatureLink = getSignatureLink(fullAssetList, binaryAsset.name)
-        val binaryChecksum: String?
 
-        binaryChecksum = if (binaryMetadata != null && binaryMetadata.sha256.isNotEmpty()) {
-            binaryMetadata.sha256
-        } else {
-            getChecksum(binaryChecksumLink)
-        }
+        val binaryChecksum: String? =
+            if (binaryMetadata != null && binaryMetadata.sha256.isNotEmpty()) {
+                binaryMetadata.sha256
+            } else {
+                getChecksum(binaryChecksumLink)
+            }
 
         val metadataLink = getMetadataLink(fullAssetList, binaryName)
 
@@ -115,7 +116,7 @@ class AdoptBinaryMapper @Inject constructor(private val gitHubHtmlClient: GitHub
     private suspend fun getInstaller(binaryAsset: GHAsset, fullAssetList: List): Installer? {
 
         val nameWithoutExtension =
-            BINARY_ASSET_WHITELIST.fold(binaryAsset.name, { assetName, extension -> assetName.replace(extension, "") })
+            BINARY_ASSET_WHITELIST.fold(binaryAsset.name) { assetName, extension -> assetName.replace(extension, "") }
 
         val installer = fullAssetList
             .filter { it.name.startsWith(nameWithoutExtension) }
@@ -171,10 +172,10 @@ class AdoptBinaryMapper @Inject constructor(private val gitHubHtmlClient: GitHub
     }
 
     private fun removeExtensionFromName(binary_name: String): String {
-        return BINARY_ASSET_WHITELIST.foldRight(binary_name, { extension, name -> name.removeSuffix(extension) })
+        return BINARY_ASSET_WHITELIST.foldRight(binary_name) { extension, name -> name.removeSuffix(extension) }
     }
 
-    private fun isBinaryAsset(asset: GHAsset) = ARCHIVE_WHITELIST.any { asset.name.endsWith(it) } || ( asset.name.endsWith(".json") && asset.name.contains("-sbom_") )
+    private fun isBinaryAsset(asset: GHAsset) = ARCHIVE_WHITELIST.any { asset.name.endsWith(it) } || (asset.name.endsWith(".json") && asset.name.contains("-sbom_"))
 
     private fun binaryFromName(
         asset: GHAsset,
@@ -186,11 +187,11 @@ class AdoptBinaryMapper @Inject constructor(private val gitHubHtmlClient: GitHub
         cLib: CLib?
     ): Binary {
         val scmRef = null
-        val os = getEnumFromFileName(asset.name, OperatingSystem.values())
-        val architecture = getEnumFromFileName(asset.name, Architecture.values())
-        val binaryType = getEnumFromFileName(asset.name, ImageType.values(), ImageType.jdk)
-        val jvmImpl = getEnumFromFileName(asset.name, JvmImpl.values(), JvmImpl.hotspot)
-        val project = getEnumFromFileName(asset.name, Project.values(), Project.jdk)
+        val os = getEnumFromFileName(asset.name, OperatingSystem.entries.toTypedArray())
+        val architecture = getEnumFromFileName(asset.name, Architecture.entries.toTypedArray())
+        val binaryType = getEnumFromFileName(asset.name, ImageType.entries.toTypedArray(), ImageType.jdk)
+        val jvmImpl = getEnumFromFileName(asset.name, JvmImpl.entries.toTypedArray(), JvmImpl.hotspot)
+        val project = getEnumFromFileName(asset.name, Project.entries.toTypedArray(), Project.jdk)
 
         return Binary(
             pack,
@@ -242,7 +243,7 @@ class AdoptBinaryMapper @Inject constructor(private val gitHubHtmlClient: GitHub
 
     private fun getImageType(asset: GHAsset, binaryMetadata: GHMetaData): ImageType {
         // static-libs incorrectly labeled as JDK, if the name tells us it's a static-lib, trust that over the metadata file
-        val binaryTypeFromName = getEnumFromFileName(asset.name, ImageType.values(), ImageType.jdk)
+        val binaryTypeFromName = getEnumFromFileName(asset.name, ImageType.entries.toTypedArray(), ImageType.jdk)
         return if (binaryTypeFromName == ImageType.staticlibs) {
             ImageType.staticlibs
         } else {
@@ -271,7 +272,7 @@ class AdoptBinaryMapper @Inject constructor(private val gitHubHtmlClient: GitHub
 
     private suspend fun getChecksum(binary_checksum_link: String?): String? {
         try {
-            if (!(binary_checksum_link == null || binary_checksum_link.isEmpty())) {
+            if (!binary_checksum_link.isNullOrEmpty()) {
                 LOGGER.debug("Pulling checksum for $binary_checksum_link")
                 val checksum = gitHubHtmlClient.getUrl(binary_checksum_link)
                 if (checksum != null) {
diff --git a/adoptium-updater-parent/adoptium-mappers-parent/adopt-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/adopt/AdoptReleaseMapper.kt b/adoptium-updater-parent/adoptium-mappers-parent/adopt-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/adopt/AdoptReleaseMapper.kt
index 6fa176ad8..036198742 100644
--- a/adoptium-updater-parent/adoptium-mappers-parent/adopt-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/adopt/AdoptReleaseMapper.kt
+++ b/adoptium-updater-parent/adoptium-mappers-parent/adopt-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/adopt/AdoptReleaseMapper.kt
@@ -1,7 +1,7 @@
 package net.adoptium.api.v3.mapping.adopt
 
 import jakarta.enterprise.context.ApplicationScoped
-import jakarta.enterprise.inject.Model
+import jakarta.inject.Inject
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.withContext
 import net.adoptium.api.v3.ReleaseResult
@@ -29,8 +29,6 @@ import java.security.MessageDigest
 import java.time.ZonedDateTime
 import java.util.*
 import java.util.regex.Pattern
-import jakarta.inject.Inject
-import jakarta.inject.Singleton
 
 @ApplicationScoped
 open class AdoptReleaseMapperFactory @Inject constructor(
@@ -50,7 +48,7 @@ open class AdoptReleaseMapperFactory @Inject constructor(
     }
 }
 
-private class AdoptReleaseMapper constructor(
+private class AdoptReleaseMapper(
     val adoptBinaryMapper: AdoptBinaryMapper,
     val htmlClient: GitHubHtmlClient,
     val vendor: Vendor
@@ -196,7 +194,7 @@ private class AdoptReleaseMapper constructor(
             .filter { asset ->
                 BinaryMapper.BINARY_EXTENSIONS.any { asset.name.endsWith(it) }
             }
-            .map { it.downloadCount }.sum()
+            .sumOf { it.downloadCount }
 
         return Release(
             id,
diff --git a/adoptium-updater-parent/adoptium-mappers-parent/mappers-common/pom.xml b/adoptium-updater-parent/adoptium-mappers-parent/mappers-common/pom.xml
index a417251cf..7e38b04d3 100644
--- a/adoptium-updater-parent/adoptium-mappers-parent/mappers-common/pom.xml
+++ b/adoptium-updater-parent/adoptium-mappers-parent/mappers-common/pom.xml
@@ -25,6 +25,17 @@
             net.adoptium.api
             adoptium-api-v3-persistence
         
+        
+            org.jetbrains.kotlin
+            kotlin-stdlib-jdk8
+            ${kotlin.version}
+        
+        
+            org.jetbrains.kotlin
+            kotlin-test
+            ${kotlin.version}
+            test
+        
     
 
     
diff --git a/adoptium-updater-parent/adoptium-mappers-parent/upstream-mappers/pom.xml b/adoptium-updater-parent/adoptium-mappers-parent/upstream-mappers/pom.xml
index 2f37b8434..947da21dd 100644
--- a/adoptium-updater-parent/adoptium-mappers-parent/upstream-mappers/pom.xml
+++ b/adoptium-updater-parent/adoptium-mappers-parent/upstream-mappers/pom.xml
@@ -22,11 +22,21 @@
             adoptium-github-datasource
             ${project.version}
         
+        
+            org.jetbrains.kotlin
+            kotlin-stdlib-jdk8
+            ${kotlin.version}
+        
+        
+            org.jetbrains.kotlin
+            kotlin-test
+            ${kotlin.version}
+            test
+        
     
 
     
         src/main/kotlin
-        src/test/kotlin
     
 
 
diff --git a/adoptium-updater-parent/adoptium-mappers-parent/upstream-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/upstream/UpstreamBinaryMapper.kt b/adoptium-updater-parent/adoptium-mappers-parent/upstream-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/upstream/UpstreamBinaryMapper.kt
index e86868d2e..b7f427dcc 100644
--- a/adoptium-updater-parent/adoptium-mappers-parent/upstream-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/upstream/UpstreamBinaryMapper.kt
+++ b/adoptium-updater-parent/adoptium-mappers-parent/upstream-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/upstream/UpstreamBinaryMapper.kt
@@ -39,11 +39,11 @@ object UpstreamBinaryMapper : BinaryMapper() {
                 val signatureLink = getSignatureLink(assets, asset.name)
                 val pack = Package(asset.name, asset.downloadUrl, asset.size, null, null, asset.downloadCount, signatureLink, null)
 
-                val os = getEnumFromFileName(asset.name, OperatingSystem.values())
-                val architecture = getEnumFromFileName(asset.name, Architecture.values())
-                val imageType = getEnumFromFileName(asset.name, ImageType.values(), ImageType.jdk)
+                val os = getEnumFromFileName(asset.name, OperatingSystem.entries.toTypedArray())
+                val architecture = getEnumFromFileName(asset.name, Architecture.entries.toTypedArray())
+                val imageType = getEnumFromFileName(asset.name, ImageType.entries.toTypedArray(), ImageType.jdk)
                 val updatedAt = getUpdatedTime(asset)
-                val projectType = getEnumFromFileName(asset.name, Project.values(), Project.jdk)
+                val projectType = getEnumFromFileName(asset.name, Project.entries.toTypedArray(), Project.jdk)
 
                 Binary(
                     pack,
diff --git a/adoptium-updater-parent/adoptium-mappers-parent/upstream-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/upstream/UpstreamReleaseMapper.kt b/adoptium-updater-parent/adoptium-mappers-parent/upstream-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/upstream/UpstreamReleaseMapper.kt
index cc44380b8..77ce74687 100644
--- a/adoptium-updater-parent/adoptium-mappers-parent/upstream-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/upstream/UpstreamReleaseMapper.kt
+++ b/adoptium-updater-parent/adoptium-mappers-parent/upstream-mappers/src/main/kotlin/net/adoptium/api/v3/mapping/upstream/UpstreamReleaseMapper.kt
@@ -31,7 +31,7 @@ object UpstreamReleaseMapper : ReleaseMapper() {
             .filter { asset ->
                 BinaryMapper.BINARY_EXTENSIONS.any { asset.name.endsWith(it) }
             }
-            .map { it.downloadCount }.sum()
+            .sumOf { it.downloadCount }
 
         val vendor = Vendor.openjdk
 
diff --git a/pom.xml b/pom.xml
index a64d8adc6..2dcad565c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
 
     
     
-        3.9.6
+        3.9.8
     
 
     
@@ -19,7 +19,7 @@
         0.8.12
         17
         17
-        1.9.23
+        2.0.10
         3.1.0
         3.7.1
         3.5.0
@@ -82,7 +82,7 @@
         4.7.3
         UTF-8
         UTF-8
-        3.13.0
+        3.13.2
     
 
     

From cad7b1e37c548e137f71261410e3ee3977b2db42 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 21 Aug 2024 00:46:36 +0000
Subject: [PATCH 080/174] Bump quarkus.version from 3.13.0 to 3.13.3

Bumps `quarkus.version` from 3.13.0 to 3.13.3.

Updates `io.quarkus:quarkus-bom` from 3.13.0 to 3.13.3
- [Release notes](https://github.com/quarkusio/quarkus/releases)
- [Commits](https://github.com/quarkusio/quarkus/compare/3.13.0...3.13.3)

Updates `io.quarkus:quarkus-security` from 3.13.0 to 3.13.3

Updates `io.quarkus:quarkus-core` from 3.13.0 to 3.13.3

Updates `io.quarkus:quarkus-elytron-security-properties-file` from 3.13.0 to 3.13.3

Updates `io.quarkus:quarkus-resteasy-reactive` from 3.13.0 to 3.13.3

---
updated-dependencies:
- dependency-name: io.quarkus:quarkus-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.quarkus:quarkus-security
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.quarkus:quarkus-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.quarkus:quarkus-elytron-security-properties-file
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.quarkus:quarkus-resteasy-reactive
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index e4cf09a00..2b365df72 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -20,7 +20,7 @@
         3.6.2
         UTF-8
         UTF-8
-        3.13.0
+        3.13.3
         5.4.0
     
 

From 90f42365ce4fa10181d4cee413bf1b31dfa05981 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 21 Aug 2024 00:47:13 +0000
Subject: [PATCH 081/174] Bump org.codehaus.mojo:versions-maven-plugin from
 2.16.2 to 2.17.1

Bumps [org.codehaus.mojo:versions-maven-plugin](https://github.com/mojohaus/versions) from 2.16.2 to 2.17.1.
- [Release notes](https://github.com/mojohaus/versions/releases)
- [Changelog](https://github.com/mojohaus/versions/blob/master/ReleaseNotes.md)
- [Commits](https://github.com/mojohaus/versions/compare/2.16.2...2.17.1)

---
updated-dependencies:
- dependency-name: org.codehaus.mojo:versions-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index a64d8adc6..cb7010c73 100644
--- a/pom.xml
+++ b/pom.xml
@@ -73,7 +73,7 @@
         1.2.0
         3.2.0
         3.9.6
-        2.16.2
+        2.17.1
         3.4.0
         0.9.1
         6.55.0

From 2141c9618c8dd6d78053df634bb44f0e646dd830 Mon Sep 17 00:00:00 2001
From: John Oliver <1615532+johnoliver@users.noreply.github.com>
Date: Wed, 21 Aug 2024 12:34:24 +0100
Subject: [PATCH 082/174] Catch Collection creation issues

---
 .../dataSources/persitence/mongo/MongoInterface.kt | 14 +++++++++++++-
 .../src/main/kotlin/net/adoptium/api/v3/Main.kt    |  4 ++++
 .../src/main/kotlin/net/adoptium/api/v3/Startup.kt |  2 ++
 .../kotlin/net/adoptium/api/v3/config/APIConfig.kt |  2 ++
 .../net/adoptium/api/v3/config/DeploymentType.kt   |  5 +++++
 .../src/main/kotlin/net/adoptium/api/v3/Main.kt    |  3 +++
 deploy/run.sh                                      |  2 ++
 7 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/config/DeploymentType.kt

diff --git a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoInterface.kt b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoInterface.kt
index 9086ceaa2..5b4e7d6f8 100644
--- a/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoInterface.kt
+++ b/adoptium-api-v3-persistence/src/main/kotlin/net/adoptium/api/v3/dataSources/persitence/mongo/MongoInterface.kt
@@ -4,10 +4,19 @@ import com.mongodb.MongoCommandException
 import com.mongodb.kotlin.client.coroutine.MongoCollection
 import com.mongodb.kotlin.client.coroutine.MongoDatabase
 import kotlinx.coroutines.runBlocking
+import net.adoptium.api.v3.config.APIConfig
+import net.adoptium.api.v3.config.DeploymentType
+import org.slf4j.LoggerFactory
 
 abstract class MongoInterface {
 
+    companion object {
+        @JvmStatic
+        val LOGGER = LoggerFactory.getLogger(MongoInterface::class.java)!!
+    }
+
     inline fun  createCollection(database: MongoDatabase, collectionName: String): MongoCollection {
+
         runBlocking {
             try {
                 database.createCollection(collectionName)
@@ -15,7 +24,10 @@ abstract class MongoInterface {
                 if (e.errorCode == 48) {
                     // collection already exists ... ignore
                 } else {
-                    throw e
+                    if (APIConfig.DEPLOYMENT_TYPE == DeploymentType.UPDATER) {
+                        LOGGER.warn("User does not have permission to create collection $collectionName", e)
+                        throw e
+                    }
                 }
             }
         }
diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/Main.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/Main.kt
index 58b711181..d8d30d4ea 100644
--- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/Main.kt
+++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/Main.kt
@@ -4,6 +4,8 @@ import io.quarkus.runtime.Quarkus
 
 import io.quarkus.runtime.annotations.QuarkusMain
 import net.adoptium.api.v3.ai.AppInsightsTelemetry
+import net.adoptium.api.v3.config.APIConfig
+import net.adoptium.api.v3.config.DeploymentType
 
 
 @QuarkusMain
@@ -12,6 +14,8 @@ object Main {
     fun main(args: Array) {
         // force eager startup of AppInsights, must be done from the main thread
         AppInsightsTelemetry.enabled
+        APIConfig.DEPLOYMENT_TYPE = DeploymentType.FRONTEND
+
         Quarkus.run(*args)
     }
 }
diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/Startup.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/Startup.kt
index b44c35691..d51386863 100644
--- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/Startup.kt
+++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/Startup.kt
@@ -4,6 +4,8 @@ import io.quarkus.runtime.Startup
 import jakarta.annotation.PostConstruct
 import jakarta.enterprise.context.ApplicationScoped
 import jakarta.inject.Inject
+import net.adoptium.api.v3.config.APIConfig
+import net.adoptium.api.v3.config.DeploymentType
 import net.adoptium.api.v3.dataSources.APIDataStore
 
 @ApplicationScoped
diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/config/APIConfig.kt b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/config/APIConfig.kt
index e522e05fb..dc7baf616 100644
--- a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/config/APIConfig.kt
+++ b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/config/APIConfig.kt
@@ -11,5 +11,7 @@ class APIConfig {
 
         // We will only update pre-releases if they are less than n days old
         var UPDATE_DAY_CUTOFF: Int = System.getenv("UPDATE_DAY_CUTOFF")?.toInt() ?: 90
+
+        var DEPLOYMENT_TYPE: DeploymentType = DeploymentType.valueOf((System.getenv("DEPLOYMENT_TYPE") ?: "FRONTEND").uppercase())
     }
 }
diff --git a/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/config/DeploymentType.kt b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/config/DeploymentType.kt
new file mode 100644
index 000000000..0acebdf6b
--- /dev/null
+++ b/adoptium-models-parent/adoptium-api-v3-models/src/main/kotlin/net/adoptium/api/v3/config/DeploymentType.kt
@@ -0,0 +1,5 @@
+package net.adoptium.api.v3.config
+
+enum class DeploymentType {
+    FRONTEND, UPDATER
+}
diff --git a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/Main.kt b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/Main.kt
index 0c08e89ad..e3e917337 100644
--- a/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/Main.kt
+++ b/adoptium-updater-parent/adoptium-api-v3-updater/src/main/kotlin/net/adoptium/api/v3/Main.kt
@@ -1,5 +1,7 @@
 package net.adoptium.api.v3
 
+import net.adoptium.api.v3.config.APIConfig
+import net.adoptium.api.v3.config.DeploymentType
 import org.jboss.weld.environment.se.Weld
 
 class Main {
@@ -8,6 +10,7 @@ class Main {
         fun main(args: Array) {
             // Force eager App insights loading
             // AppInsightsTelemetry.enabled
+            APIConfig.DEPLOYMENT_TYPE = DeploymentType.UPDATER
 
             val container = Weld().containerId("STATIC_INSTANCE").initialize()
             val v3Updater = container.select(V3Updater::class.java).get()
diff --git a/deploy/run.sh b/deploy/run.sh
index cc5e87f0b..14dd7f9b8 100644
--- a/deploy/run.sh
+++ b/deploy/run.sh
@@ -35,4 +35,6 @@ then
   export MONGODB_SSL="true"
 fi
 
+export DEPLOYMENT_TYPE="${deploymentType}"
+
 java $JAVA_OPTS -jar ${deploymentType}.jar

From a38cdb3d67cd8d7b85042326c2e6e67536539c4f Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 22 Aug 2024 00:32:25 +0000
Subject: [PATCH 083/174] Bump github/codeql-action from 3.26.3 to 3.26.4

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.3 to 3.26.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/883d8588e56d1753a8a58c1c86e88976f0c23449...f0f3afee809481da311ca3a6ff1ff51d81dbeb24)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 .github/workflows/codeql.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index c41325761..df045f6b5 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -40,7 +40,7 @@ jobs:
 
     # Initializes the CodeQL tools for scanning.
     - name: Initialize CodeQL
-      uses: github/codeql-action/init@883d8588e56d1753a8a58c1c86e88976f0c23449 # v3.26.3
+      uses: github/codeql-action/init@f0f3afee809481da311ca3a6ff1ff51d81dbeb24 # v3.26.4
       with:
         languages: ${{ matrix.language }}
         # If you wish to specify custom queries, you can do so here or in a config file.
@@ -59,6 +59,6 @@ jobs:
         ./mvnw --batch-mode clean install -Padoptium,-adoptopenjdk
 
     - name: Perform CodeQL Analysis
-      uses: github/codeql-action/analyze@883d8588e56d1753a8a58c1c86e88976f0c23449 # v3.26.3
+      uses: github/codeql-action/analyze@f0f3afee809481da311ca3a6ff1ff51d81dbeb24 # v3.26.4
       with:
         category: "/language:${{matrix.language}}"

From 07d672973b8ad9fcadd419d77f13566329f98c18 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 22 Aug 2024 00:42:44 +0000
Subject: [PATCH 084/174] Bump rest-assured.version from 5.4.0 to 5.5.0

Bumps `rest-assured.version` from 5.4.0 to 5.5.0.

Updates `io.rest-assured:rest-assured` from 5.4.0 to 5.5.0
- [Changelog](https://github.com/rest-assured/rest-assured/blob/master/changelog.txt)
- [Commits](https://github.com/rest-assured/rest-assured/compare/rest-assured-5.4.0...rest-assured-5.5.0)

Updates `io.rest-assured:json-path` from 5.4.0 to 5.5.0
- [Changelog](https://github.com/rest-assured/rest-assured/blob/master/changelog.txt)
- [Commits](https://github.com/rest-assured/rest-assured/compare/rest-assured-5.4.0...rest-assured-5.5.0)

---
updated-dependencies:
- dependency-name: io.rest-assured:rest-assured
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: io.rest-assured:json-path
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index ac4b330c6..6f0614772 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -21,7 +21,7 @@
         UTF-8
         UTF-8
         3.13.3
-        5.4.0
+        5.5.0
     
 
     

From 8472acabf9c2dab2518b4736d64dad88edbb5d76 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 22 Aug 2024 00:42:45 +0000
Subject: [PATCH 085/174] Bump org.slf4j:slf4j-api from 2.0.13 to 2.0.16

Bumps org.slf4j:slf4j-api from 2.0.13 to 2.0.16.

---
updated-dependencies:
- dependency-name: org.slf4j:slf4j-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index ac4b330c6..3c7744737 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -229,7 +229,7 @@
             
                 org.slf4j
                 slf4j-api
-                2.0.13
+                2.0.16
             
             
                 org.skyscreamer

From 995ef8d491a094bb4e2d629f177478dcf49d06d9 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 22 Aug 2024 00:42:47 +0000
Subject: [PATCH 086/174] Bump org.eclipse.jetty:jetty-server from 12.0.8 to
 12.0.12

Bumps org.eclipse.jetty:jetty-server from 12.0.8 to 12.0.12.

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-server
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index ac4b330c6..b898e44a9 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -332,7 +332,7 @@
             
                 org.eclipse.jetty
                 jetty-server
-                12.0.8
+                12.0.12
                 test
             
             

From fbf1dd261cc75ddcfd1553b8dc11b61409f5e01f Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 22 Aug 2024 00:42:53 +0000
Subject: [PATCH 087/174] Bump maven.surefire-plugin.version from 3.3.1 to
 3.4.0

Bumps `maven.surefire-plugin.version` from 3.3.1 to 3.4.0.

Updates `org.apache.maven.plugins:maven-failsafe-plugin` from 3.3.1 to 3.4.0
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.3.1...surefire-3.4.0)

Updates `org.apache.maven.plugins:maven-surefire-plugin` from 3.3.1 to 3.4.0
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.3.1...surefire-3.4.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-failsafe-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 24fb632b3..d689b960e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -68,7 +68,7 @@
         4.0.0-M13
         3.3.1
         4.8.5.0
-        3.3.1
+        3.4.0
         1.0.10
         1.2.0
         3.2.0

From 5c64e3357f5960e25cd44534adde7e8795b09e50 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 23 Aug 2024 00:31:38 +0000
Subject: [PATCH 088/174] Bump org.codehaus.mojo:tidy-maven-plugin from 1.2.0
 to 1.3.0

Bumps [org.codehaus.mojo:tidy-maven-plugin](https://github.com/mojohaus/tidy-maven-plugin) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/mojohaus/tidy-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/tidy-maven-plugin/compare/tidy-maven-plugin-1.2.0...1.3.0)

---
updated-dependencies:
- dependency-name: org.codehaus.mojo:tidy-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index d689b960e..b183d917a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -70,7 +70,7 @@
         4.8.5.0
         3.4.0
         1.0.10
-        1.2.0
+        1.3.0
         3.2.0
         3.9.6
         2.17.1

From 5bed8dad7744b09575137a13ed710b02eecfdc5c Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 23 Aug 2024 00:31:42 +0000
Subject: [PATCH 089/174] Bump org.apache.maven.plugins:maven-help-plugin from
 3.4.1 to 3.5.0

Bumps [org.apache.maven.plugins:maven-help-plugin](https://github.com/apache/maven-help-plugin) from 3.4.1 to 3.5.0.
- [Commits](https://github.com/apache/maven-help-plugin/compare/maven-help-plugin-3.4.1...maven-help-plugin-3.5.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-help-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index d689b960e..e325f375f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
         3.5.0
         3.2.0
         3.3.2
-        3.4.1
+        3.5.0
         
         0.8.10
         3.4.2
-        3.6.3
+        3.8.0
         
         2.0
         3.0.0-alpha-1

From e5168a93f1a82bb42b23a28003641e9118c95982 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 26 Aug 2024 00:05:18 +0000
Subject: [PATCH 095/174] Bump io.quarkus:quarkus-maven-plugin from 3.13.2 to
 3.14.0

Bumps io.quarkus:quarkus-maven-plugin from 3.13.2 to 3.14.0.

---
updated-dependencies:
- dependency-name: io.quarkus:quarkus-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 776da4cb2..7cc4745ac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -82,7 +82,7 @@
         4.7.3
         UTF-8
         UTF-8
-        3.13.2
+        3.14.0
     
 
     

From 5e1262b9640efc918fa42794c19c8a06e2c0e795 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 26 Aug 2024 00:18:58 +0000
Subject: [PATCH 096/174] Bump github/codeql-action from 3.26.4 to 3.26.5

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.4 to 3.26.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/f0f3afee809481da311ca3a6ff1ff51d81dbeb24...2c779ab0d087cd7fe7b826087247c2c81f27bfa6)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 .github/workflows/codeql.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index df045f6b5..cdb1b6081 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -40,7 +40,7 @@ jobs:
 
     # Initializes the CodeQL tools for scanning.
     - name: Initialize CodeQL
-      uses: github/codeql-action/init@f0f3afee809481da311ca3a6ff1ff51d81dbeb24 # v3.26.4
+      uses: github/codeql-action/init@2c779ab0d087cd7fe7b826087247c2c81f27bfa6 # v3.26.5
       with:
         languages: ${{ matrix.language }}
         # If you wish to specify custom queries, you can do so here or in a config file.
@@ -59,6 +59,6 @@ jobs:
         ./mvnw --batch-mode clean install -Padoptium,-adoptopenjdk
 
     - name: Perform CodeQL Analysis
-      uses: github/codeql-action/analyze@f0f3afee809481da311ca3a6ff1ff51d81dbeb24 # v3.26.4
+      uses: github/codeql-action/analyze@2c779ab0d087cd7fe7b826087247c2c81f27bfa6 # v3.26.5
       with:
         category: "/language:${{matrix.language}}"

From 472f405d5b3e2cec7c30e104197088ea90f02918 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 27 Aug 2024 00:54:58 +0000
Subject: [PATCH 097/174] Bump org.apache.maven.plugins:maven-install-plugin
 from 3.1.2 to 3.1.3

Bumps [org.apache.maven.plugins:maven-install-plugin](https://github.com/apache/maven-install-plugin) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/apache/maven-install-plugin/releases)
- [Commits](https://github.com/apache/maven-install-plugin/compare/maven-install-plugin-3.1.2...maven-install-plugin-3.1.3)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-install-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 225742156..a7061bdb0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -46,7 +46,7 @@
              The packaging plugin for this project did not assign a main
              file to the project but it has attachments. Change packaging to 'pom'
          -->
-        3.1.2
+        3.1.3
         
         0.8.10
         3.4.2

From a0e04795bea7a8563f0c4a1e91ec048dcf0fd6fc Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 27 Aug 2024 00:55:00 +0000
Subject: [PATCH 098/174] Bump
 com.microsoft.azure:applicationinsights-runtime-attach

Bumps [com.microsoft.azure:applicationinsights-runtime-attach](https://github.com/Microsoft/ApplicationInsights-Java) from 3.5.3 to 3.5.4.
- [Release notes](https://github.com/Microsoft/ApplicationInsights-Java/releases)
- [Changelog](https://github.com/microsoft/ApplicationInsights-Java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Microsoft/ApplicationInsights-Java/compare/3.5.3...3.5.4)

---
updated-dependencies:
- dependency-name: com.microsoft.azure:applicationinsights-runtime-attach
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 59165666a..f288c5d62 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -240,7 +240,7 @@
             
                 com.microsoft.azure
                 applicationinsights-runtime-attach
-                3.5.3
+                3.5.4
             
             
                 io.opentelemetry.javaagent.instrumentation

From 4bfea6f8252d3da530b5c2cfb8faa7af03a3edd3 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 27 Aug 2024 00:55:11 +0000
Subject: [PATCH 099/174] Bump logback.version from 1.5.6 to 1.5.7

Bumps `logback.version` from 1.5.6 to 1.5.7.

Updates `ch.qos.logback:logback-core` from 1.5.6 to 1.5.7
- [Commits](https://github.com/qos-ch/logback/compare/v_1.5.6...v_1.5.7)

Updates `ch.qos.logback:logback-classic` from 1.5.6 to 1.5.7
- [Commits](https://github.com/qos-ch/logback/compare/v_1.5.6...v_1.5.7)

---
updated-dependencies:
- dependency-name: ch.qos.logback:logback-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: ch.qos.logback:logback-classic
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 59165666a..ca8513ced 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -14,7 +14,7 @@
         5.1.2
         17
         2.0.20
-        1.5.6
+        1.5.7
         17
         3.9.8
         3.6.2

From 13c6d13b9a89c18d65e605c3c5491925c5afef35 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 28 Aug 2024 00:16:07 +0000
Subject: [PATCH 100/174] Bump maven.surefire-plugin.version from 3.4.0 to
 3.5.0

Bumps `maven.surefire-plugin.version` from 3.4.0 to 3.5.0.

Updates `org.apache.maven.plugins:maven-failsafe-plugin` from 3.4.0 to 3.5.0
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.4.0...surefire-3.5.0)

Updates `org.apache.maven.plugins:maven-surefire-plugin` from 3.4.0 to 3.5.0
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.4.0...surefire-3.5.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-failsafe-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index a7061bdb0..349d5524a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -68,7 +68,7 @@
         4.0.0-M13
         3.3.1
         4.8.5.0
-        3.4.0
+        3.5.0
         1.0.10
         1.3.0
         3.2.0

From 8bd9dd5ca187b9505c8798601ee26852b4893ac8 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 28 Aug 2024 00:16:09 +0000
Subject: [PATCH 101/174] Bump org.codehaus.groovy:groovy from 3.0.21 to 3.0.22

Bumps [org.codehaus.groovy:groovy](https://github.com/apache/groovy) from 3.0.21 to 3.0.22.
- [Commits](https://github.com/apache/groovy/commits)

---
updated-dependencies:
- dependency-name: org.codehaus.groovy:groovy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 22a0ced06..d5dd29b3b 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -272,7 +272,7 @@
             
                 org.codehaus.groovy
                 groovy
-                3.0.21
+                3.0.22
             
             
                 io.quarkiverse.logging.logback

From 52124617a6db0c5db978843e216ccfdc59e30074 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 28 Aug 2024 00:16:11 +0000
Subject: [PATCH 102/174] Bump io.smallrye:smallrye-open-api-jaxrs from 3.11.0
 to 3.12.0

Bumps io.smallrye:smallrye-open-api-jaxrs from 3.11.0 to 3.12.0.

---
updated-dependencies:
- dependency-name: io.smallrye:smallrye-open-api-jaxrs
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 22a0ced06..45a1671f1 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -326,7 +326,7 @@
             
                 io.smallrye
                 smallrye-open-api-jaxrs
-                3.11.0
+                3.12.0
                 test
             
             

From 380588de2eb4e7eaae0fbd0e02e0a4620d84e0db Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 29 Aug 2024 00:05:36 +0000
Subject: [PATCH 103/174] Bump org.codehaus.groovy:groovy-xml from 3.0.21 to
 3.0.22

Bumps [org.codehaus.groovy:groovy-xml](https://github.com/apache/groovy) from 3.0.21 to 3.0.22.
- [Commits](https://github.com/apache/groovy/commits)

---
updated-dependencies:
- dependency-name: org.codehaus.groovy:groovy-xml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index bb5b596e3..7df216ee7 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -217,7 +217,7 @@
             
                 org.codehaus.groovy
                 groovy-xml
-                3.0.21
+                3.0.22
             
 
 

From 1faa59e2606b5a87dee18586e4f68484c2ba931b Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 29 Aug 2024 00:05:37 +0000
Subject: [PATCH 104/174] Bump org.jooq:jooq from 3.19.10 to 3.19.11

Bumps org.jooq:jooq from 3.19.10 to 3.19.11.

---
updated-dependencies:
- dependency-name: org.jooq:jooq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index bb5b596e3..c83258177 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -224,7 +224,7 @@
             
                 org.jooq
                 jooq
-                3.19.10
+                3.19.11
             
             
                 org.slf4j

From 56decce23b95a105a8fc19a3776972e6cf26ab64 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 29 Aug 2024 00:05:39 +0000
Subject: [PATCH 105/174] Bump io.quarkus:quarkus-maven-plugin from 3.14.0 to
 3.14.1

Bumps io.quarkus:quarkus-maven-plugin from 3.14.0 to 3.14.1.

---
updated-dependencies:
- dependency-name: io.quarkus:quarkus-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 349d5524a..894c0b582 100644
--- a/pom.xml
+++ b/pom.xml
@@ -82,7 +82,7 @@
         4.7.3
         UTF-8
         UTF-8
-        3.14.0
+        3.14.1
     
 
     

From 1253ee92f44937de1b54b419fd9f8f3ba4e4d266 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 30 Aug 2024 00:08:54 +0000
Subject: [PATCH 106/174] Bump github/codeql-action from 3.26.5 to 3.26.6

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.5 to 3.26.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/2c779ab0d087cd7fe7b826087247c2c81f27bfa6...4dd16135b69a43b6c8efb853346f8437d92d3c93)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 .github/workflows/codeql.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index cdb1b6081..7b18232cb 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -40,7 +40,7 @@ jobs:
 
     # Initializes the CodeQL tools for scanning.
     - name: Initialize CodeQL
-      uses: github/codeql-action/init@2c779ab0d087cd7fe7b826087247c2c81f27bfa6 # v3.26.5
+      uses: github/codeql-action/init@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
       with:
         languages: ${{ matrix.language }}
         # If you wish to specify custom queries, you can do so here or in a config file.
@@ -59,6 +59,6 @@ jobs:
         ./mvnw --batch-mode clean install -Padoptium,-adoptopenjdk
 
     - name: Perform CodeQL Analysis
-      uses: github/codeql-action/analyze@2c779ab0d087cd7fe7b826087247c2c81f27bfa6 # v3.26.5
+      uses: github/codeql-action/analyze@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
       with:
         category: "/language:${{matrix.language}}"

From b84524bfa8e735aef412f6251e1085f2cbf79ae6 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 30 Aug 2024 00:30:54 +0000
Subject: [PATCH 107/174] Bump org.apache.maven.plugins:maven-jxr-plugin from
 3.4.0 to 3.5.0

Bumps [org.apache.maven.plugins:maven-jxr-plugin](https://github.com/apache/maven-jxr) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/apache/maven-jxr/releases)
- [Commits](https://github.com/apache/maven-jxr/compare/jxr-3.4.0...jxr-3.5.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-jxr-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 894c0b582..f948aea6c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -55,7 +55,7 @@
         2.0
         3.0.0-alpha-1
         3.1.2
-        3.4.0
+        3.5.0
         2.4.0
         7.7.0
         1.16.1

From 599ac9f860a7352930047d0feae125fd3e772306 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 30 Aug 2024 00:30:57 +0000
Subject: [PATCH 108/174] Bump org.apache.maven.plugins:maven-release-plugin
 from 3.0.1 to 3.1.1

Bumps [org.apache.maven.plugins:maven-release-plugin](https://github.com/apache/maven-release) from 3.0.1 to 3.1.1.
- [Release notes](https://github.com/apache/maven-release/releases)
- [Commits](https://github.com/apache/maven-release/compare/maven-release-3.0.1...maven-release-3.1.1)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-release-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 894c0b582..77e2b8f23 100644
--- a/pom.xml
+++ b/pom.xml
@@ -62,7 +62,7 @@
         3.24.0
         3.6.2
         0.16.1
-        3.0.1
+        3.1.1
         3.3.1
         2.1.0
         4.0.0-M13

From 7f516d58101f7f57c2fcae7db1db7ac5525e09a1 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 30 Aug 2024 00:30:59 +0000
Subject: [PATCH 109/174] Bump org.openapitools:openapi-generator-maven-plugin
 from 7.7.0 to 7.8.0

Bumps org.openapitools:openapi-generator-maven-plugin from 7.7.0 to 7.8.0.

---
updated-dependencies:
- dependency-name: org.openapitools:openapi-generator-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 894c0b582..4c74a20d5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,7 +57,7 @@
         3.1.2
         3.4.0
         2.4.0
-        7.7.0
+        7.8.0
         1.16.1
         3.24.0
         3.6.2

From 97f0e977c5cab60b26c60fe3086ee54a4a812306 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 2 Sep 2024 00:11:06 +0000
Subject: [PATCH 110/174] Bump org.apache.maven.plugins:maven-site-plugin

Bumps [org.apache.maven.plugins:maven-site-plugin](https://github.com/apache/maven-site-plugin) from 4.0.0-M13 to 4.0.0-M16.
- [Release notes](https://github.com/apache/maven-site-plugin/releases)
- [Commits](https://github.com/apache/maven-site-plugin/compare/maven-site-plugin-4.0.0-M13...maven-site-plugin-4.0.0-M16)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-site-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 6b1c21c88..f977d3f66 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,7 +65,7 @@
         3.1.1
         3.3.1
         2.1.0
-        4.0.0-M13
+        4.0.0-M16
         3.3.1
         4.8.5.0
         3.5.0

From 15e67f2e170dad343b2079340464e1556e130c4d Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 2 Sep 2024 00:11:09 +0000
Subject: [PATCH 111/174] Bump org.apache.maven.plugins:maven-pmd-plugin from
 3.24.0 to 3.25.0

Bumps [org.apache.maven.plugins:maven-pmd-plugin](https://github.com/apache/maven-pmd-plugin) from 3.24.0 to 3.25.0.
- [Release notes](https://github.com/apache/maven-pmd-plugin/releases)
- [Commits](https://github.com/apache/maven-pmd-plugin/compare/maven-pmd-plugin-3.24.0...maven-pmd-plugin-3.25.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-pmd-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 6b1c21c88..f397dc672 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,7 +59,7 @@
         2.4.0
         7.8.0
         1.16.1
-        3.24.0
+        3.25.0
         3.6.2
         0.16.1
         3.1.1

From 17f6a6665472c4022a084bbd69dacc93ca8e78e6 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 2 Sep 2024 00:11:12 +0000
Subject: [PATCH 112/174] Bump com.github.spotbugs:spotbugs-maven-plugin from
 4.8.5.0 to 4.8.6.2

Bumps [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) from 4.8.5.0 to 4.8.6.2.
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.8.5.0...spotbugs-maven-plugin-4.8.6.2)

---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 6b1c21c88..6119dc0c7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,7 +67,7 @@
         2.1.0
         4.0.0-M13
         3.3.1
-        4.8.5.0
+        4.8.6.2
         3.5.0
         1.0.10
         1.3.0

From f3cbd6f0f102e03188bf23ceff5a88ab9128514f Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 3 Sep 2024 00:49:29 +0000
Subject: [PATCH 113/174] Bump org.awaitility:awaitility from 4.2.1 to 4.2.2

Bumps [org.awaitility:awaitility](https://github.com/awaitility/awaitility) from 4.2.1 to 4.2.2.
- [Changelog](https://github.com/awaitility/awaitility/blob/master/changelog.txt)
- [Commits](https://github.com/awaitility/awaitility/compare/awaitility-4.2.1...awaitility-4.2.2)

---
updated-dependencies:
- dependency-name: org.awaitility:awaitility
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 3b282b09f..d5081b85a 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -209,7 +209,7 @@
             
                 org.awaitility
                 awaitility
-                4.2.1
+                4.2.2
                 test
             
 

From bb5bf7da55720a9c787715e0a2f97b25135abb11 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 3 Sep 2024 00:49:31 +0000
Subject: [PATCH 114/174] Bump org.codehaus.mojo:exec-maven-plugin from 3.2.0
 to 3.4.1

Bumps [org.codehaus.mojo:exec-maven-plugin](https://github.com/mojohaus/exec-maven-plugin) from 3.2.0 to 3.4.1.
- [Release notes](https://github.com/mojohaus/exec-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/exec-maven-plugin/compare/3.2.0...3.4.1)

---
updated-dependencies:
- dependency-name: org.codehaus.mojo:exec-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 1b044a8c3..7973c5caf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,7 +37,7 @@
         3.1.3
         1.0
         3.5.0
-        3.2.0
+        3.4.1
         3.3.2
         3.5.0
         
     
-        3.9.8
+        3.9.9
     
 
     
@@ -82,7 +82,7 @@
         4.7.3
         UTF-8
         UTF-8
-        3.14.1
+        3.16.0
     
 
     

From 760211f9174e961675e30ac128d9ddd955034fb8 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 28 Oct 2024 01:09:59 +0000
Subject: [PATCH 156/174] Bump com.expediagroup:graphql-kotlin-ktor-client from
 8.2.0 to 8.2.1

Bumps [com.expediagroup:graphql-kotlin-ktor-client](https://github.com/ExpediaGroup/graphql-kotlin) from 8.2.0 to 8.2.1.
- [Release notes](https://github.com/ExpediaGroup/graphql-kotlin/releases)
- [Commits](https://github.com/ExpediaGroup/graphql-kotlin/compare/8.2.0...8.2.1)

---
updated-dependencies:
- dependency-name: com.expediagroup:graphql-kotlin-ktor-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 23f1044ac..283e0df3c 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -383,7 +383,7 @@
             
                 com.expediagroup
                 graphql-kotlin-ktor-client
-                8.2.0
+                8.2.1
                 
                     
                         org.jetbrains.kotlinx

From edb958594371c8b5cd7588e69bcbc5cba733c842 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 30 Oct 2024 12:50:06 +0000
Subject: [PATCH 157/174] Bump io.quarkus:quarkus-maven-plugin from 3.16.0 to
 3.16.1

Bumps io.quarkus:quarkus-maven-plugin from 3.16.0 to 3.16.1.

---
updated-dependencies:
- dependency-name: io.quarkus:quarkus-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index f20278e30..41cac23a6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -82,7 +82,7 @@
         4.7.3
         UTF-8
         UTF-8
-        3.16.0
+        3.16.1
     
 
     

From d063fe66ae3e395db0f42a7d3ac1104ea3d827b4 Mon Sep 17 00:00:00 2001
From: George Adams 
Date: Wed, 30 Oct 2024 12:52:32 +0000
Subject: [PATCH 158/174] bump graphql-kotlin-client-jackson

---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 283e0df3c..7fb439b7c 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -394,7 +394,7 @@
             
                 com.expediagroup
                 graphql-kotlin-client-jackson
-                8.2.0
+                8.2.1
             
         
     

From 22cad98301b3c8e542ac3d72f5034acaa23ed0dd Mon Sep 17 00:00:00 2001
From: John Oliver <1615532+johnoliver@users.noreply.github.com>
Date: Wed, 30 Oct 2024 13:40:03 +0000
Subject: [PATCH 159/174] Reduce cache control max age

---
 .../adoptium/api/v3/CacheControlService.kt    | 64 +++++++++++--------
 .../AssetsResourceFeatureReleasePathTest.kt   |  2 +-
 2 files changed, 38 insertions(+), 28 deletions(-)

diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/CacheControlService.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/CacheControlService.kt
index 0532cf011..4d548f729 100644
--- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/CacheControlService.kt
+++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/main/kotlin/net/adoptium/api/v3/CacheControlService.kt
@@ -6,55 +6,65 @@ import jakarta.ws.rs.container.ContainerRequestContext
 import jakarta.ws.rs.container.ContainerRequestFilter
 import jakarta.ws.rs.container.ContainerResponseContext
 import jakarta.ws.rs.core.EntityTag
+import jakarta.ws.rs.core.Request
 import jakarta.ws.rs.ext.Provider
 import net.adoptium.api.v3.dataSources.APIDataStore
 import org.jboss.resteasy.reactive.common.headers.CacheControlDelegate
 import org.jboss.resteasy.reactive.common.util.ExtendedCacheControl
 import org.jboss.resteasy.reactive.server.ServerResponseFilter
 
+
 @Provider
 @ApplicationScoped
 class CacheControlService @Inject constructor(private var apiDataStore: APIDataStore) : ContainerRequestFilter {
 
     private val CACHE_CONTROLLED_PATHS = listOf("/v3/info", "/v3/assets")
+    private val MAX_CACHE_AGE_IN_SEC = 120
 
-    override fun filter(requestContext: ContainerRequestContext?) {
-        if (requestContext == null) return
+    private fun isCacheControlledPath(requestContext: ContainerRequestContext?): Boolean {
+        val path = requestContext?.uriInfo?.path
 
-        requestContext.uriInfo?.path?.let { path ->
-            if (CACHE_CONTROLLED_PATHS.any { path.startsWith(it) }) {
-                val etag = apiDataStore.getUpdateInfo().hexChecksum
-                val lastModified = apiDataStore.getUpdateInfo().lastModified
+        if (path == null) return false
 
-                if (lastModified == null || etag == null) {
-                    return
-                }
+        return CACHE_CONTROLLED_PATHS.any { path.startsWith(it) }
+    }
 
-                val builder =
-                    requestContext
-                        .request
-                        .evaluatePreconditions(lastModified, EntityTag(etag))
+    override fun filter(requestContext: ContainerRequestContext?) {
+        if (isCacheControlledPath(requestContext)) {
+            val etag = apiDataStore.getUpdateInfo().hexChecksum
+            val lastModified = apiDataStore.getUpdateInfo().lastModified
 
-                if (builder != null) {
-                    requestContext.abortWith(builder.build())
-                }
+            if (lastModified == null || etag == null) {
+                return
+            }
+
+            val builder =
+                requestContext!!
+                    .request
+                    .evaluatePreconditions(lastModified, EntityTag(etag))
+
+            if (builder != null) {
+                requestContext.abortWith(builder.build())
             }
         }
     }
 
     @ServerResponseFilter
-    fun responseFilter(responseContext: ContainerResponseContext?) {
-        val ecc = ExtendedCacheControl();
-        ecc.isPublic = true
+    fun responseFilter(requestContext: ContainerRequestContext?, responseContext: ContainerResponseContext?) {
+        if (isCacheControlledPath(requestContext)) {
+            val ecc = ExtendedCacheControl();
+            ecc.isPublic = true
+            ecc.maxAge = MAX_CACHE_AGE_IN_SEC
+            ecc.sMaxAge = MAX_CACHE_AGE_IN_SEC
 
-        if (apiDataStore.getUpdateInfo().hexChecksum == null ||
-            apiDataStore.getUpdateInfo().lastModifiedFormatted == null) {
-            return
-        }
+            if (apiDataStore.getUpdateInfo().hexChecksum == null ||
+                apiDataStore.getUpdateInfo().lastModifiedFormatted == null) {
+                return
+            }
 
-        responseContext?.headers?.add("ETag", apiDataStore.getUpdateInfo().hexChecksum)
-        responseContext?.headers?.add("Last-Modified", apiDataStore.getUpdateInfo().lastModifiedFormatted)
-        responseContext?.headers?.add("Cache-Control", CacheControlDelegate.INSTANCE.toString(ecc))
+            responseContext?.headers?.add("ETag", apiDataStore.getUpdateInfo().hexChecksum)
+            responseContext?.headers?.add("Last-Modified", apiDataStore.getUpdateInfo().lastModifiedFormatted)
+            responseContext?.headers?.add("Cache-Control", CacheControlDelegate.INSTANCE.toString(ecc))
+        }
     }
-
 }
diff --git a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceFeatureReleasePathTest.kt b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceFeatureReleasePathTest.kt
index 44fd22a19..bf1ea5040 100644
--- a/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceFeatureReleasePathTest.kt
+++ b/adoptium-frontend-parent/adoptium-api-v3-frontend/src/test/kotlin/net/adoptium/api/AssetsResourceFeatureReleasePathTest.kt
@@ -249,7 +249,7 @@ class AssetsResourceFeatureReleasePathTest : AssetsPathTest() {
             .then()
             .statusCode(200)
             .assertThat()
-            .header("Cache-Control", Matchers.equalTo("public, no-transform"))
+            .header("Cache-Control", Matchers.equalTo("public, no-transform, s-maxage=120, max-age=120"))
             .header("ETag", Matchers.equalTo("d76df8e7aefcf7"))
             .header("Last-Modified", Matchers.notNullValue())
     }

From bb8178465c1d5d2060a10741a13cd2f59e643c6e Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 31 Oct 2024 00:44:10 +0000
Subject: [PATCH 160/174] Bump kotlin.version from 2.0.20 to 2.0.21

Bumps `kotlin.version` from 2.0.20 to 2.0.21.

Updates `org.jetbrains.kotlin:kotlin-stdlib-jdk8` from 2.0.20 to 2.0.21
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.0.21)

Updates `org.jetbrains.kotlin:kotlin-maven-plugin` from 2.0.20 to 2.0.21

Updates `org.jetbrains.kotlin:kotlin-test-junit5` from 2.0.20 to 2.0.21
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.0.21)

Updates `org.jetbrains.kotlin:kotlin-test` from 2.0.20 to 2.0.21
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.0.21)

Updates `org.jetbrains.kotlin:kotlin-maven-allopen` from 2.0.20 to 2.0.21

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib-jdk8
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-test-junit5
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-maven-allopen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 pom.xml                       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 7fb439b7c..bf36c4ae3 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -13,7 +13,7 @@
         17
         5.1.2
         17
-        2.0.20
+        2.0.21
         1.5.8
         17
         3.9.9
diff --git a/pom.xml b/pom.xml
index 41cac23a6..d33864b25 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,7 +19,7 @@
         0.8.12
         17
         17
-        2.0.20
+        2.0.21
         3.1.0
         3.7.1
         3.6.0

From 53b64c40761144c41062764acff5eaf61cc70f20 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 31 Oct 2024 00:44:12 +0000
Subject: [PATCH 161/174] Bump com.github.spotbugs:spotbugs-maven-plugin from
 4.8.6.2 to 4.8.6.5

Bumps [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) from 4.8.6.2 to 4.8.6.5.
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.8.6.2...spotbugs-maven-plugin-4.8.6.5)

---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 41cac23a6..23f0db4f3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,7 +67,7 @@
         2.1.0
         4.0.0-M16
         3.3.1
-        4.8.6.2
+        4.8.6.5
         3.5.0
         1.0.10
         1.3.0

From 7745071835fd579386eac8249f82f8d4b996eb17 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 31 Oct 2024 00:44:24 +0000
Subject: [PATCH 162/174] Bump jackson.version from 2.17.2 to 2.18.1

Bumps `jackson.version` from 2.17.2 to 2.18.1.

Updates `com.fasterxml.jackson.module:jackson-module-kotlin` from 2.17.2 to 2.18.1
- [Commits](https://github.com/FasterXML/jackson-module-kotlin/compare/jackson-module-kotlin-2.17.2...jackson-module-kotlin-2.18.1)

Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.17.2 to 2.18.1

Updates `com.fasterxml.jackson.datatype:jackson-datatype-jakarta-jsonp` from 2.17.2 to 2.18.1
- [Commits](https://github.com/FasterXML/jackson-datatypes-misc/compare/jackson-datatypes-misc-parent-2.17.2...jackson-datatypes-misc-parent-2.18.1)

Updates `com.fasterxml.jackson.core:jackson-databind` from 2.17.2 to 2.18.1
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.core:jackson-annotations` from 2.17.2 to 2.18.1
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.datatype:jackson-datatype-jdk8` from 2.17.2 to 2.18.1

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.module:jackson-module-kotlin
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jsr310
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jakarta-jsonp
  dependency-type: direct:development
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.core:jackson-annotations
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jdk8
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 7fb439b7c..6b3139d7e 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -9,7 +9,7 @@
 
     
         1.8.1
-        2.17.2
+        2.18.1
         17
         5.1.2
         17

From e89da6259ee151d06072965ec1cd069c19fa0532 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 31 Oct 2024 00:44:27 +0000
Subject: [PATCH 163/174] Bump org.codehaus.mojo:jdepend-maven-plugin from 2.0
 to 2.1

Bumps [org.codehaus.mojo:jdepend-maven-plugin](https://github.com/mojohaus/jdepend-maven-plugin) from 2.0 to 2.1.
- [Release notes](https://github.com/mojohaus/jdepend-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/jdepend-maven-plugin/compare/jdepend-maven-plugin-2.0...2.1)

---
updated-dependencies:
- dependency-name: org.codehaus.mojo:jdepend-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 41cac23a6..7fc1c0319 100644
--- a/pom.xml
+++ b/pom.xml
@@ -52,7 +52,7 @@
         3.4.2
         3.8.0
         
-        2.0
+        2.1
         3.0.0-alpha-1
         3.1.2
         3.5.0

From 6c29ab4f5bcbdd5b94369b3399d9d85b3ebd7fee Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 31 Oct 2024 00:44:32 +0000
Subject: [PATCH 164/174] Bump
 io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-netty-4.1

Bumps [io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-netty-4.1](https://github.com/open-telemetry/opentelemetry-java-instrumentation) from 2.3.0-alpha to 2.9.0-alpha.
- [Release notes](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-java-instrumentation/commits)

---
updated-dependencies:
- dependency-name: io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-netty-4.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 7fb439b7c..b23015bd2 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -250,7 +250,7 @@
             
                 io.opentelemetry.javaagent.instrumentation
                 opentelemetry-javaagent-netty-4.1
-                2.3.0-alpha
+                2.9.0-alpha
             
             
                 org.jboss.weld

From 7a6cd0dec1e1b6dcaf6b89e5a407a07bf8defc42 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 4 Nov 2024 00:53:37 +0000
Subject: [PATCH 165/174] Bump org.jetbrains.kotlinx:kotlinx-coroutines-bom
 from 1.8.1 to 1.9.0

Bumps [org.jetbrains.kotlinx:kotlinx-coroutines-bom](https://github.com/Kotlin/kotlinx.coroutines) from 1.8.1 to 1.9.0.
- [Release notes](https://github.com/Kotlin/kotlinx.coroutines/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md)
- [Commits](https://github.com/Kotlin/kotlinx.coroutines/compare/1.8.1...1.9.0)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-bom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 1ce479a03..2c30b546c 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -8,7 +8,7 @@
     pom
 
     
-        1.8.1
+        1.9.0
         2.18.1
         17
         5.1.2

From b1afd1f6408ceee28595359670a0ee63ac60d279 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 4 Nov 2024 00:53:45 +0000
Subject: [PATCH 166/174] Bump
 com.microsoft.azure:applicationinsights-runtime-attach

Bumps [com.microsoft.azure:applicationinsights-runtime-attach](https://github.com/Microsoft/ApplicationInsights-Java) from 3.5.4 to 3.6.2.
- [Release notes](https://github.com/Microsoft/ApplicationInsights-Java/releases)
- [Changelog](https://github.com/microsoft/ApplicationInsights-Java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Microsoft/ApplicationInsights-Java/compare/3.5.4...3.6.2)

---
updated-dependencies:
- dependency-name: com.microsoft.azure:applicationinsights-runtime-attach
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 1ce479a03..44b1ca896 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -240,7 +240,7 @@
             
                 com.microsoft.azure
                 applicationinsights-runtime-attach
-                3.5.4
+                3.6.2
             
             
                 io.opentelemetry.javaagent.instrumentation

From f70411735d13ef9c389ff7c7cf5237c15e7cdb16 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 4 Nov 2024 00:53:46 +0000
Subject: [PATCH 167/174] Bump org.eclipse.jetty:jetty-client from 12.0.12 to
 12.0.14

Bumps org.eclipse.jetty:jetty-client from 12.0.12 to 12.0.14.

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 1ce479a03..52c7d77a0 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -338,7 +338,7 @@
             
                 org.eclipse.jetty
                 jetty-client
-                12.0.12
+                12.0.14
             
             
                 org.bouncycastle

From 921714ecea7c02fbd55d796415adc09f164900ac Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 4 Nov 2024 00:53:52 +0000
Subject: [PATCH 168/174] Bump io.mockk:mockk-jvm from 1.13.12 to 1.13.13

Bumps [io.mockk:mockk-jvm](https://github.com/mockk/mockk) from 1.13.12 to 1.13.13.
- [Release notes](https://github.com/mockk/mockk/releases)
- [Commits](https://github.com/mockk/mockk/compare/1.13.12...1.13.13)

---
updated-dependencies:
- dependency-name: io.mockk:mockk-jvm
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 1ce479a03..4cceb5874 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -101,7 +101,7 @@
             
                 io.mockk
                 mockk-jvm
-                1.13.12
+                1.13.13
                 test
             
 

From 016dfa2a9bd4c49f10a0f58abc00d72050cf5eb8 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 5 Nov 2024 00:42:57 +0000
Subject: [PATCH 169/174] Bump org.jooq:jooq from 3.19.11 to 3.19.15

Bumps org.jooq:jooq from 3.19.11 to 3.19.15.

---
updated-dependencies:
- dependency-name: org.jooq:jooq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 1ce479a03..d9d2976bb 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -224,7 +224,7 @@
             
                 org.jooq
                 jooq
-                3.19.11
+                3.19.15
             
             
                 org.slf4j

From 54b8b2254541ae0bf08b6f976f9e151cbe01aa7c Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 6 Nov 2024 00:45:13 +0000
Subject: [PATCH 170/174] Bump quarkus.version from 3.16.0 to 3.16.1

Bumps `quarkus.version` from 3.16.0 to 3.16.1.

Updates `io.quarkus:quarkus-bom` from 3.16.0 to 3.16.1
- [Release notes](https://github.com/quarkusio/quarkus/releases)
- [Commits](https://github.com/quarkusio/quarkus/compare/3.16.0...3.16.1)

Updates `io.quarkus:quarkus-security` from 3.16.0 to 3.16.1

Updates `io.quarkus:quarkus-core` from 3.16.0 to 3.16.1

Updates `io.quarkus:quarkus-elytron-security-properties-file` from 3.16.0 to 3.16.1

Updates `io.quarkus:quarkus-rest` from 3.16.0 to 3.16.1

---
updated-dependencies:
- dependency-name: io.quarkus:quarkus-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.quarkus:quarkus-security
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.quarkus:quarkus-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.quarkus:quarkus-elytron-security-properties-file
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.quarkus:quarkus-rest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 4e850caaf..0cc3528d1 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -20,7 +20,7 @@
         3.7.0
         UTF-8
         UTF-8
-        3.16.0
+        3.16.1
         5.5.0
     
 

From 4e28bbe1fa6f6661ec9cafc242cda772e41ab382 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 6 Nov 2024 00:45:16 +0000
Subject: [PATCH 171/174] Bump org.apache.maven.plugins:maven-dependency-plugin

Bumps [org.apache.maven.plugins:maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) from 3.8.0 to 3.8.1.
- [Release notes](https://github.com/apache/maven-dependency-plugin/releases)
- [Commits](https://github.com/apache/maven-dependency-plugin/compare/maven-dependency-plugin-3.8.0...maven-dependency-plugin-3.8.1)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-dependency-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index beb7a7907..524746a0f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,7 @@
         17
         17
         17
-        3.8.0
+        3.8.1
         2.0.4
         3.1.3
         1.0

From a09c6570ef1f01f814e5fbdc31d5a4aba7ed8974 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 6 Nov 2024 00:45:22 +0000
Subject: [PATCH 172/174] Bump org.junit.jupiter:junit-jupiter from 5.10.2 to
 5.11.3

Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5) from 5.10.2 to 5.11.3.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.2...r5.11.3)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 adoptium-api-versions/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/adoptium-api-versions/pom.xml b/adoptium-api-versions/pom.xml
index 4e850caaf..d6b6d263f 100644
--- a/adoptium-api-versions/pom.xml
+++ b/adoptium-api-versions/pom.xml
@@ -314,7 +314,7 @@
             
                 org.junit.jupiter
                 junit-jupiter
-                5.10.2
+                5.11.3
                 test
             
             

From 3df1769e41f350bfbb9184c36c44bd8468be8b48 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 6 Nov 2024 00:45:27 +0000
Subject: [PATCH 173/174] Bump org.kohsuke:github-api from 1.325 to 1.326

Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.325 to 1.326.
- [Release notes](https://github.com/hub4j/github-api/releases)
- [Changelog](https://github.com/hub4j/github-api/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326)

---
updated-dependencies:
- dependency-name: org.kohsuke:github-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 
---
 .../adoptium-github-datasource/pom.xml                          | 2 +-
 .../adoptium-http-client-datasource/pom.xml                     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/pom.xml b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/pom.xml
index 80353958e..7d32ca974 100644
--- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/pom.xml
+++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-github-datasource/pom.xml
@@ -50,7 +50,7 @@
         
             org.kohsuke
             github-api
-            1.325
+            1.326
         
         
             net.adoptium.api
diff --git a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/pom.xml b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/pom.xml
index 7c81a5a88..813146b4f 100644
--- a/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/pom.xml
+++ b/adoptium-updater-parent/adoptium-datasources-parent/adoptium-http-client-datasource/pom.xml
@@ -68,7 +68,7 @@
         
             org.kohsuke
             github-api
-            1.325
+            1.326
         
         
             org.jetbrains.kotlin

From a47e48e3322b3c8db56b1c702241e0ee430143c0 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 6 Nov 2024 00:45:33 +0000
Subject: [PATCH 174/174] Bump maven.surefire-plugin.version from 3.5.0 to
 3.5.2

Bumps `maven.surefire-plugin.version` from 3.5.0 to 3.5.2.

Updates `org.apache.maven.plugins:maven-failsafe-plugin` from 3.5.0 to 3.5.2
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.0...surefire-3.5.2)

Updates `org.apache.maven.plugins:maven-surefire-plugin` from 3.5.0 to 3.5.2
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.0...surefire-3.5.2)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-failsafe-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index beb7a7907..d5318860c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -68,7 +68,7 @@
         4.0.0-M16
         3.3.1
         4.8.6.5
-        3.5.0
+        3.5.2
         1.0.10
         1.3.0
         3.2.0