diff --git a/.github/actions/run-gradle/action.yml b/.github/actions/run-gradle/action.yml index e8c88659c4..201428fd02 100644 --- a/.github/actions/run-gradle/action.yml +++ b/.github/actions/run-gradle/action.yml @@ -65,7 +65,7 @@ runs: echo "JDK_CI=$JAVA_HOME" >> $GITHUB_ENV echo "JDK_EA=${{ inputs.early-access == inputs.java }}" >> $GITHUB_ENV - name: Setup Gradle - uses: gradle/actions/setup-gradle@d156388eb19639ec20ade50009f3d199ce1e2808 # v4.1.0 + uses: gradle/actions/setup-gradle@473878a77f1b98e2b5ac4af93489d1656a80a5ed # v4.2.0 env: ORG_GRADLE_PROJECT_org.gradle.java.installations.auto-download: 'false' with: diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e948a3ccea..879ef3b3c3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -250,7 +250,7 @@ jobs: cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} continue-on-error: true - name: Publish to Codecov - uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + uses: codecov/codecov-action@5c47607acb93fed5485fdbf7232e8a31425f672a # v5.0.2 with: token: ${{ secrets.CODECOV_TOKEN }} - name: Publish to Codacy diff --git a/.github/workflows/codacy.yml b/.github/workflows/codacy.yml index 448159605c..3154be6bda 100644 --- a/.github/workflows/codacy.yml +++ b/.github/workflows/codacy.yml @@ -47,7 +47,7 @@ jobs: if: steps.check_files.outputs.files_exists == 'true' run: jq -c '.runs |= unique_by({tool, invocations, results})' < results.sarif > codacy.sarif - name: Upload result to GitHub Code Scanning - uses: github/codeql-action/upload-sarif@4f3212b61783c3c68e8309a0f18a699764811cda # v3.27.1 + uses: github/codeql-action/upload-sarif@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4 if: steps.check_files.outputs.files_exists == 'true' continue-on-error: true with: diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index c9849c8bfe..a848d4e9ef 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -57,10 +57,10 @@ jobs: java: ${{ env.JAVA_VERSION }} cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} - name: Initialize CodeQL - uses: github/codeql-action/init@4f3212b61783c3c68e8309a0f18a699764811cda # v3.27.1 + uses: github/codeql-action/init@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4 with: languages: java - name: Autobuild - uses: github/codeql-action/autobuild@4f3212b61783c3c68e8309a0f18a699764811cda # v3.27.1 + uses: github/codeql-action/autobuild@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@4f3212b61783c3c68e8309a0f18a699764811cda # v3.27.1 + uses: github/codeql-action/analyze@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4 diff --git a/.github/workflows/dependency-check.yml b/.github/workflows/dependency-check.yml index 007ffaddd8..c2fbfe97e6 100644 --- a/.github/workflows/dependency-check.yml +++ b/.github/workflows/dependency-check.yml @@ -61,7 +61,7 @@ jobs: with: files: build/reports/dependency-check-report.sarif - name: Upload result to GitHub Code Scanning - uses: github/codeql-action/upload-sarif@4f3212b61783c3c68e8309a0f18a699764811cda # v3.27.1 + uses: github/codeql-action/upload-sarif@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4 if: steps.check_files.outputs.files_exists == 'true' with: sarif_file: build/reports/dependency-check-report.sarif diff --git a/.github/workflows/dependency-submission-pr-retreive.yml b/.github/workflows/dependency-submission-pr-retreive.yml index e9547f4ba5..59601749f0 100644 --- a/.github/workflows/dependency-submission-pr-retreive.yml +++ b/.github/workflows/dependency-submission-pr-retreive.yml @@ -35,6 +35,6 @@ jobs: repo1.maven.org:443 services.gradle.org:443 - name: Retrieve and submit dependency graph - uses: gradle/actions/dependency-submission@d156388eb19639ec20ade50009f3d199ce1e2808 # v4.1.0 + uses: gradle/actions/dependency-submission@473878a77f1b98e2b5ac4af93489d1656a80a5ed # v4.2.0 with: dependency-graph: download-and-submit diff --git a/.github/workflows/dependency-submission-pr-submit.yml b/.github/workflows/dependency-submission-pr-submit.yml index cedca7fa61..164966368e 100644 --- a/.github/workflows/dependency-submission-pr-submit.yml +++ b/.github/workflows/dependency-submission-pr-submit.yml @@ -38,7 +38,7 @@ jobs: java-version: ${{ env.JAVA_VERSION }} distribution: temurin - name: Submit Dependency Graph - uses: gradle/actions/dependency-submission@d156388eb19639ec20ade50009f3d199ce1e2808 # v4.1.0 + uses: gradle/actions/dependency-submission@473878a77f1b98e2b5ac4af93489d1656a80a5ed # v4.2.0 with: cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} dependency-graph: generate-and-upload diff --git a/.github/workflows/dependency-submission.yml b/.github/workflows/dependency-submission.yml index d81ce7da8f..a83ec2c614 100644 --- a/.github/workflows/dependency-submission.yml +++ b/.github/workflows/dependency-submission.yml @@ -38,6 +38,6 @@ jobs: java-version: ${{ env.JAVA_VERSION }} distribution: temurin - name: Submit Dependency Graph - uses: gradle/actions/dependency-submission@d156388eb19639ec20ade50009f3d199ce1e2808 # v4.1.0 + uses: gradle/actions/dependency-submission@473878a77f1b98e2b5ac4af93489d1656a80a5ed # v4.2.0 with: cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} diff --git a/.github/workflows/devskim.yml b/.github/workflows/devskim.yml index bf0eeb55ca..8521d3e4a1 100644 --- a/.github/workflows/devskim.yml +++ b/.github/workflows/devskim.yml @@ -31,6 +31,6 @@ jobs: - name: Run DevSkim scanner uses: microsoft/DevSkim-Action@914fa647b406c387000300b2f09bb28691be2b6d # v1.0.14 - name: Upload DevSkim scan results to GitHub Security tab - uses: github/codeql-action/upload-sarif@4f3212b61783c3c68e8309a0f18a699764811cda # v3.27.1 + uses: github/codeql-action/upload-sarif@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4 with: sarif_file: devskim-results.sarif diff --git a/.github/workflows/gradle-wrapper-validation.yml b/.github/workflows/gradle-wrapper-validation.yml index a623a669eb..34e2e491dd 100644 --- a/.github/workflows/gradle-wrapper-validation.yml +++ b/.github/workflows/gradle-wrapper-validation.yml @@ -18,4 +18,4 @@ jobs: github.com:443 services.gradle.org:443 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - uses: gradle/actions/wrapper-validation@d156388eb19639ec20ade50009f3d199ce1e2808 # v4.1.0 + - uses: gradle/actions/wrapper-validation@473878a77f1b98e2b5ac4af93489d1656a80a5ed # v4.2.0 diff --git a/.github/workflows/qodana.yml b/.github/workflows/qodana.yml index f30e2ca64b..531eacc9da 100644 --- a/.github/workflows/qodana.yml +++ b/.github/workflows/qodana.yml @@ -70,6 +70,6 @@ jobs: upload-result: true github-token: ${{ secrets.GITHUB_TOKEN }} - name: Upload SARIF file for GitHub Advanced Security Dashboard - uses: github/codeql-action/upload-sarif@4f3212b61783c3c68e8309a0f18a699764811cda # v3.27.1 + uses: github/codeql-action/upload-sarif@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4 with: sarif_file: ${{ runner.temp }}/qodana/results/qodana.sarif.json diff --git a/.github/workflows/scorecards-analysis.yml b/.github/workflows/scorecards-analysis.yml index 1750affe25..da8acb52af 100644 --- a/.github/workflows/scorecards-analysis.yml +++ b/.github/workflows/scorecards-analysis.yml @@ -58,6 +58,6 @@ jobs: path: results.sarif retention-days: 5 - name: Upload to code-scanning - uses: github/codeql-action/upload-sarif@4f3212b61783c3c68e8309a0f18a699764811cda # v3.27.1 + uses: github/codeql-action/upload-sarif@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4 with: sarif_file: results.sarif diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index ac33cb8e38..30a690bb3f 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -34,7 +34,7 @@ jobs: if: steps.check_files.outputs.files_exists == 'true' run: jq -c '.runs[0].tool.driver.rules |= unique_by(.id)' < results.sarif > semgrep.sarif - name: Upload SARIF file for GitHub Advanced Security Dashboard - uses: github/codeql-action/upload-sarif@4f3212b61783c3c68e8309a0f18a699764811cda # v3.27.1 + uses: github/codeql-action/upload-sarif@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4 if: steps.check_files.outputs.files_exists == 'true' continue-on-error: true with: diff --git a/.github/workflows/snyk.yml b/.github/workflows/snyk.yml index ac1490814a..a5d7c4b010 100644 --- a/.github/workflows/snyk.yml +++ b/.github/workflows/snyk.yml @@ -42,7 +42,7 @@ jobs: with: files: snyk.sarif - name: Upload result to GitHub Code Scanning - uses: github/codeql-action/upload-sarif@4f3212b61783c3c68e8309a0f18a699764811cda # v3.27.1 + uses: github/codeql-action/upload-sarif@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4 if: steps.check_files.outputs.files_exists == 'true' with: sarif_file: snyk.sarif diff --git a/.github/workflows/trivy.yml b/.github/workflows/trivy.yml index 160045e7d1..5b807100bc 100644 --- a/.github/workflows/trivy.yml +++ b/.github/workflows/trivy.yml @@ -36,7 +36,7 @@ jobs: with: files: results.sarif - name: Upload result to GitHub Code Scanning - uses: github/codeql-action/upload-sarif@4f3212b61783c3c68e8309a0f18a699764811cda # v3.27.1 + uses: github/codeql-action/upload-sarif@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4 if: steps.check_files.outputs.files_exists == 'true' with: sarif_file: results.sarif diff --git a/caffeine/src/jmh/java/com/github/benmanes/caffeine/cache/SketchType.java b/caffeine/src/jmh/java/com/github/benmanes/caffeine/cache/SketchType.java index 271e1c9f55..f57b17b272 100644 --- a/caffeine/src/jmh/java/com/github/benmanes/caffeine/cache/SketchType.java +++ b/caffeine/src/jmh/java/com/github/benmanes/caffeine/cache/SketchType.java @@ -27,7 +27,19 @@ public enum SketchType { Flat { @Override public TinyLfuSketch create(long estimatedSize) { - return new CountMinSketch<>(estimatedSize); + var frequencySketch = new CountMinSketch(); + frequencySketch.ensureCapacity(estimatedSize); + return new TinyLfuSketch<>() { + @Override public int frequency(E e) { + return frequencySketch.frequency(e); + } + @Override public void increment(E e) { + frequencySketch.increment(e); + } + @Override public void reset() { + frequencySketch.reset(); + } + }; } }, Block { diff --git a/caffeine/src/jmh/java/com/github/benmanes/caffeine/cache/sketch/CountMinSketch.java b/caffeine/src/jmh/java/com/github/benmanes/caffeine/cache/sketch/CountMinSketch.java index b2990fb789..49db9d33c8 100644 --- a/caffeine/src/jmh/java/com/github/benmanes/caffeine/cache/sketch/CountMinSketch.java +++ b/caffeine/src/jmh/java/com/github/benmanes/caffeine/cache/sketch/CountMinSketch.java @@ -28,7 +28,7 @@ * * @author ben.manes@gmail.com (Ben Manes) */ -public final class CountMinSketch implements TinyLfuSketch { +public final class CountMinSketch { /* * This class maintains a 4-bit CountMinSketch [1] with periodic aging to provide the popularity @@ -63,9 +63,27 @@ public final class CountMinSketch implements TinyLfuSketch { long[] table; int size; - public CountMinSketch(@NonNegative long maximumSize) { + /** + * Creates a lazily initialized frequency sketch, requiring {@link #ensureCapacity} be called + * when the maximum size of the cache has been determined. + */ + @SuppressWarnings({"NullAway.Init", "PMD.UnnecessaryConstructor"}) + public CountMinSketch() {} + + /** + * Initializes and increases the capacity of this FrequencySketch instance, if necessary, + * to ensure that it can accurately estimate the popularity of elements given the maximum size of + * the cache. This operation forgets all previous counts when resizing. + * + * @param maximumSize the maximum size of the cache + */ + public void ensureCapacity(@NonNegative long maximumSize) { checkArgument(maximumSize >= 0); int maximum = (int) Math.min(maximumSize, Integer.MAX_VALUE >>> 1); + if ((table != null) && (table.length >= maximum)) { + return; + } + table = new long[(maximum == 0) ? 1 : IntMath.ceilingPowerOfTwo(maximum)]; tableMask = Math.max(0, table.length - 1); sampleSize = (maximumSize == 0) ? 10 : (10 * maximum); @@ -75,14 +93,25 @@ public CountMinSketch(@NonNegative long maximumSize) { size = 0; } + /** + * Returns if the sketch has not yet been initialized, requiring that {@link #ensureCapacity} is + * called before it begins to track frequencies. + */ + public boolean isNotInitialized() { + return (table == null); + } + /** * Returns the estimated number of occurrences of an element, up to the maximum (15). * * @param e the element to count occurrences of * @return the estimated number of occurrences of the element; possibly zero but never negative */ - @Override public @NonNegative int frequency(E e) { + if (isNotInitialized()) { + return 0; + } + int hash = spread(e.hashCode()); int start = (hash & 3) << 2; int frequency = Integer.MAX_VALUE; @@ -101,12 +130,15 @@ public CountMinSketch(@NonNegative long maximumSize) { * * @param e the element to add */ - @Override public void increment(E e) { + if (isNotInitialized()) { + return; + } + int hash = spread(e.hashCode()); int start = (hash & 3) << 2; - // Loop unrolling improves throughput + // Loop unrolling improves throughput by 5m ops/s int index0 = indexOf(hash, 0); int index1 = indexOf(hash, 1); int index2 = indexOf(hash, 2); @@ -140,7 +172,6 @@ boolean incrementAt(int i, int j) { } /** Reduces every counter by half of its original value. */ - @Override public void reset() { int count = 0; for (int i = 0; i < table.length; i++) { diff --git a/caffeine/src/main/java/com/github/benmanes/caffeine/cache/FrequencySketch.java b/caffeine/src/main/java/com/github/benmanes/caffeine/cache/FrequencySketch.java index 39c5e05d54..d3a40e893a 100644 --- a/caffeine/src/main/java/com/github/benmanes/caffeine/cache/FrequencySketch.java +++ b/caffeine/src/main/java/com/github/benmanes/caffeine/cache/FrequencySketch.java @@ -118,12 +118,13 @@ public boolean isNotInitialized() { * @param e the element to count occurrences of * @return the estimated number of occurrences of the element; possibly zero but never negative */ + @SuppressWarnings("Varifier") public @NonNegative int frequency(E e) { if (isNotInitialized()) { return 0; } - int[] count = new int[4]; + @Var int frequency = Integer.MAX_VALUE; int blockHash = spread(e.hashCode()); int counterHash = rehash(blockHash); int block = (blockHash & blockMask) << 3; @@ -131,9 +132,11 @@ public boolean isNotInitialized() { int h = counterHash >>> (i << 3); int index = (h >>> 1) & 15; int offset = h & 1; - count[i] = (int) ((table[block + offset + (i << 1)] >>> (index << 2)) & 0xfL); + int slot = block + offset + (i << 1); + int count = (int) ((table[slot] >>> (index << 2)) & 0xfL); + frequency = Math.min(frequency, count); } - return Math.min(Math.min(count[0], count[1]), Math.min(count[2], count[3])); + return frequency; } /** @@ -143,27 +146,37 @@ public boolean isNotInitialized() { * * @param e the element to add */ - @SuppressWarnings("ShortCircuitBoolean") + @SuppressWarnings({"ShortCircuitBoolean", "UnnecessaryLocalVariable"}) public void increment(E e) { if (isNotInitialized()) { return; } - int[] index = new int[8]; int blockHash = spread(e.hashCode()); int counterHash = rehash(blockHash); int block = (blockHash & blockMask) << 3; - for (int i = 0; i < 4; i++) { - int h = counterHash >>> (i << 3); - index[i] = (h >>> 1) & 15; - int offset = h & 1; - index[i + 4] = block + offset + (i << 1); - } + + // Loop unrolling improves throughput by 10m ops/s + int h0 = counterHash; + int h1 = counterHash >>> 8; + int h2 = counterHash >>> 16; + int h3 = counterHash >>> 24; + + int index0 = (h0 >>> 1) & 15; + int index1 = (h1 >>> 1) & 15; + int index2 = (h2 >>> 1) & 15; + int index3 = (h3 >>> 1) & 15; + + int slot0 = block + (h0 & 1); + int slot1 = block + (h1 & 1) + 2; + int slot2 = block + (h2 & 1) + 4; + int slot3 = block + (h3 & 1) + 6; + boolean added = - incrementAt(index[4], index[0]) - | incrementAt(index[5], index[1]) - | incrementAt(index[6], index[2]) - | incrementAt(index[7], index[3]); + incrementAt(slot0, index0) + | incrementAt(slot1, index1) + | incrementAt(slot2, index2) + | incrementAt(slot3, index3); if (added && (++size == sampleSize)) { reset(); diff --git a/examples/coalescing-bulkloader-reactor/gradle/libs.versions.toml b/examples/coalescing-bulkloader-reactor/gradle/libs.versions.toml index fbb72a7b9e..8ccad706c3 100644 --- a/examples/coalescing-bulkloader-reactor/gradle/libs.versions.toml +++ b/examples/coalescing-bulkloader-reactor/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] caffeine = "3.1.8" junit = "5.11.3" -reactor = "3.6.11" +reactor = "3.7.0" truth = "1.4.4" versions = "0.51.0" diff --git a/examples/coalescing-bulkloader-reactor/settings.gradle.kts b/examples/coalescing-bulkloader-reactor/settings.gradle.kts index a6d7b11339..149babf6c3 100644 --- a/examples/coalescing-bulkloader-reactor/settings.gradle.kts +++ b/examples/coalescing-bulkloader-reactor/settings.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("com.gradle.develocity") version "3.18.1" + id("com.gradle.develocity") version "3.18.2" id("com.gradle.common-custom-user-data-gradle-plugin") version "2.0.2" id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" } diff --git a/examples/graal-native/settings.gradle.kts b/examples/graal-native/settings.gradle.kts index 02882d1f2f..a5e4cd278c 100644 --- a/examples/graal-native/settings.gradle.kts +++ b/examples/graal-native/settings.gradle.kts @@ -5,7 +5,7 @@ pluginManagement { } } plugins { - id("com.gradle.develocity") version "3.18.1" + id("com.gradle.develocity") version "3.18.2" id("com.gradle.common-custom-user-data-gradle-plugin") version "2.0.2" id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" } diff --git a/examples/hibernate/gradle/libs.versions.toml b/examples/hibernate/gradle/libs.versions.toml index 3c59bb80ba..7a55326197 100644 --- a/examples/hibernate/gradle/libs.versions.toml +++ b/examples/hibernate/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] caffeine = "3.1.8" h2 = "2.3.232" -hibernate = "7.0.0.Beta1" +hibernate = "7.0.0.Beta2" junit = "5.11.3" log4j2 = "3.0.0-beta2" truth = "1.4.4" @@ -16,7 +16,7 @@ hibernate-jpamodelgen = { module = "org.hibernate.orm:hibernate-jpamodelgen", ve hibernate-hikaricp = { module = "org.hibernate.orm:hibernate-hikaricp", version.ref = "hibernate" } junit = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit" } log4j2-core = { module = "org.apache.logging.log4j:log4j-core", version.ref = "log4j2" } -log4j2-slf4j = { module = "org.apache.logging.log4j:log4j-slf4j-impl", version.ref = "log4j2" } +log4j2-slf4j = { module = "org.apache.logging.log4j:log4j-slf4j2-impl", version.ref = "log4j2" } truth = { module = "com.google.truth:truth", version.ref = "truth" } [bundles] diff --git a/examples/hibernate/settings.gradle.kts b/examples/hibernate/settings.gradle.kts index 7977731409..8a0dbec0f9 100644 --- a/examples/hibernate/settings.gradle.kts +++ b/examples/hibernate/settings.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("com.gradle.develocity") version "3.18.1" + id("com.gradle.develocity") version "3.18.2" id("com.gradle.common-custom-user-data-gradle-plugin") version "2.0.2" id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" } diff --git a/examples/indexable/settings.gradle.kts b/examples/indexable/settings.gradle.kts index 1f249f3f71..e17d97cef9 100644 --- a/examples/indexable/settings.gradle.kts +++ b/examples/indexable/settings.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("com.gradle.develocity") version "3.18.1" + id("com.gradle.develocity") version "3.18.2" id("com.gradle.common-custom-user-data-gradle-plugin") version "2.0.2" id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" } diff --git a/examples/resilience-failsafe/settings.gradle.kts b/examples/resilience-failsafe/settings.gradle.kts index 713d741f55..0ddb809517 100644 --- a/examples/resilience-failsafe/settings.gradle.kts +++ b/examples/resilience-failsafe/settings.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("com.gradle.develocity") version "3.18.1" + id("com.gradle.develocity") version "3.18.2" id("com.gradle.common-custom-user-data-gradle-plugin") version "2.0.2" id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" } diff --git a/examples/write-behind-rxjava/settings.gradle.kts b/examples/write-behind-rxjava/settings.gradle.kts index 420b8b47eb..d04c4ad195 100644 --- a/examples/write-behind-rxjava/settings.gradle.kts +++ b/examples/write-behind-rxjava/settings.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("com.gradle.develocity") version "3.18.1" + id("com.gradle.develocity") version "3.18.2" id("com.gradle.common-custom-user-data-gradle-plugin") version "2.0.2" id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" } diff --git a/gradle/config/spotbugs/exclude.xml b/gradle/config/spotbugs/exclude.xml index 7b7c99d0b8..45442f1632 100644 --- a/gradle/config/spotbugs/exclude.xml +++ b/gradle/config/spotbugs/exclude.xml @@ -299,6 +299,11 @@ + + + + + diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7bb06e2640..4184e3a7c0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -41,7 +41,7 @@ hamcrest = "3.0" hazelcast = "5.3.7" httpclient = "4.5.14" idea = "1.1.9" -jackrabbit = "1.70.0" +jackrabbit = "1.72.0" jackson = "2.18.1" jacoco = "0.8.12" jakarta-inject = "2.0.1" @@ -85,7 +85,7 @@ slf4j-test = "3.0.1" snakeyaml = "2.3" sonarqube = "5.1.0.4882" spotbugs = "4.8.6" -spotbugs-contrib = "7.6.6" +spotbugs-contrib = "7.6.8" spotbugs-plugin = "6.0.26" stream = "2.9.8" tcache = "2.0.1" @@ -95,7 +95,7 @@ univocity-parsers = "2.9.1" versions = "0.51.0" xz = "1.10" ycsb = "0.17.0" -zero-allocation-hashing = "0.26ea0" +zero-allocation-hashing = "0.27ea0" zstd = "1.5.6-7" [libraries] diff --git a/gradle/plugins/settings.gradle.kts b/gradle/plugins/settings.gradle.kts index d83f2ad927..613c7e28ec 100644 --- a/gradle/plugins/settings.gradle.kts +++ b/gradle/plugins/settings.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("com.gradle.develocity") version "3.18.1" + id("com.gradle.develocity") version "3.18.2" id("com.gradle.common-custom-user-data-gradle-plugin") version "2.0.2" id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" } diff --git a/settings.gradle.kts b/settings.gradle.kts index ceec1445ef..cab1d2d545 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -2,7 +2,7 @@ pluginManagement { includeBuild("gradle/plugins") } plugins { - id("com.gradle.develocity") version "3.18.1" + id("com.gradle.develocity") version "3.18.2" id("com.gradle.common-custom-user-data-gradle-plugin") version "2.0.2" id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" }