Mirror of Apache Kafka
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

265 lines
13 KiB

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
ext {
versions = [:]
libs = [:]
// Available if -PscalaVersion is used. This is useful when we want to support a Scala version that has
// a higher minimum Java requirement than Kafka. This was previously the case for Scala 2.12 and Java 7.
availableScalaVersions = [ '2.12', '2.13' ]
}
// Add Scala version
def defaultScala212Version = '2.12.18'
def defaultScala213Version = '2.13.12'
if (hasProperty('scalaVersion')) {
if (scalaVersion == '2.12') {
versions["scala"] = defaultScala212Version
} else if (scalaVersion == '2.13') {
versions["scala"] = defaultScala213Version
} else {
versions["scala"] = scalaVersion
}
} else {
versions["scala"] = defaultScala212Version
}
/* Resolve base Scala version according to these patterns:
1. generally available Scala versions (such as: 2.12.y and 2.13.z) corresponding base versions will be: 2.12 and 2.13 (respectively)
2. pre-release Scala versions (i.e. milestone/rc, such as: 2.13.0-M5, 2.13.0-RC1, 2.14.0-M1, etc.) will have identical base versions;
rationale: pre-release Scala versions are not binary compatible with each other and that's the reason why libraries include the full
Scala release string in their name for pre-releases (see dependencies below with an artifact name suffix '_$versions.baseScala')
*/
if ( !versions.scala.contains('-') ) {
versions["baseScala"] = versions.scala.substring(0, versions.scala.lastIndexOf("."))
} else {
versions["baseScala"] = versions.scala
}
MINOR: Upgrade gradle, plugins and test libraries (#14431) To prepare Java 21 support, upgrade gradle, its plugins and test libraries. Release notes for major and minor updates included below. The highlight is faster Java compilation by not shutting down the daemon at the end of the build. Gradle's internal performance tests show up to a 30% build time improvement for builds that are dominated by compiling Java sources. Mockito turns out to be a complex case where we use one of 3 different versions depending on the Scala and Java versions used. In addition, the default mocking strategy changed from `subclass` to `inline` in Mockito 5.0. We now use `inline` across the board (we previously used both `subclass` and `inline`). See comments in the relevant parts of the code for more details. * Gradle 8.3 release notes: https://docs.gradle.org/8.3/release-notes.html * jmh 1.37: virtual thread support and various bug fixes * JUnit 5.10.0 release notes: https://junit.org/junit5/docs/5.10.0/release-notes/index.html * Mockito 5.x release notes: * https://github.com/mockito/mockito/releases/tag/v5.0.0 * https://github.com/mockito/mockito/releases/tag/v5.1.0 * https://github.com/mockito/mockito/releases/tag/v5.2.0 * https://github.com/mockito/mockito/releases/tag/v5.3.0 * https://github.com/mockito/mockito/releases/tag/v5.4.0 * https://github.com/mockito/mockito/releases/tag/v5.5.0 * EasyMock 5.2.0 release notes: https://github.com/easymock/easymock/releases/tag/easymock-5.2.0 Reviewers: Divij Vaidya <diviv@amazon.com>
1 year ago
// mockito 5.5 is required for Java 21 and mockito 5.x requires at least Java 11
// mockito 4.9 is required for Scala 2.12 as a workaround for compiler errors due to ambiguous reference to `Mockito.spy`
// since Scala 2.12 support is going away soon, this is simpler than adjusting the code.
// mockito 4.11 is used with Java 8 and Scala 2.13
String mockitoVersion
if (scalaVersion == "2.12")
mockitoVersion = "4.9.0"
MINOR: Upgrade gradle, plugins and test libraries (#14431) To prepare Java 21 support, upgrade gradle, its plugins and test libraries. Release notes for major and minor updates included below. The highlight is faster Java compilation by not shutting down the daemon at the end of the build. Gradle's internal performance tests show up to a 30% build time improvement for builds that are dominated by compiling Java sources. Mockito turns out to be a complex case where we use one of 3 different versions depending on the Scala and Java versions used. In addition, the default mocking strategy changed from `subclass` to `inline` in Mockito 5.0. We now use `inline` across the board (we previously used both `subclass` and `inline`). See comments in the relevant parts of the code for more details. * Gradle 8.3 release notes: https://docs.gradle.org/8.3/release-notes.html * jmh 1.37: virtual thread support and various bug fixes * JUnit 5.10.0 release notes: https://junit.org/junit5/docs/5.10.0/release-notes/index.html * Mockito 5.x release notes: * https://github.com/mockito/mockito/releases/tag/v5.0.0 * https://github.com/mockito/mockito/releases/tag/v5.1.0 * https://github.com/mockito/mockito/releases/tag/v5.2.0 * https://github.com/mockito/mockito/releases/tag/v5.3.0 * https://github.com/mockito/mockito/releases/tag/v5.4.0 * https://github.com/mockito/mockito/releases/tag/v5.5.0 * EasyMock 5.2.0 release notes: https://github.com/easymock/easymock/releases/tag/easymock-5.2.0 Reviewers: Divij Vaidya <diviv@amazon.com>
1 year ago
else if (JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_11))
mockitoVersion = "5.5.0"
else
mockitoVersion = "4.11.0"
MINOR: Upgrade gradle, plugins and test libraries (#14431) To prepare Java 21 support, upgrade gradle, its plugins and test libraries. Release notes for major and minor updates included below. The highlight is faster Java compilation by not shutting down the daemon at the end of the build. Gradle's internal performance tests show up to a 30% build time improvement for builds that are dominated by compiling Java sources. Mockito turns out to be a complex case where we use one of 3 different versions depending on the Scala and Java versions used. In addition, the default mocking strategy changed from `subclass` to `inline` in Mockito 5.0. We now use `inline` across the board (we previously used both `subclass` and `inline`). See comments in the relevant parts of the code for more details. * Gradle 8.3 release notes: https://docs.gradle.org/8.3/release-notes.html * jmh 1.37: virtual thread support and various bug fixes * JUnit 5.10.0 release notes: https://junit.org/junit5/docs/5.10.0/release-notes/index.html * Mockito 5.x release notes: * https://github.com/mockito/mockito/releases/tag/v5.0.0 * https://github.com/mockito/mockito/releases/tag/v5.1.0 * https://github.com/mockito/mockito/releases/tag/v5.2.0 * https://github.com/mockito/mockito/releases/tag/v5.3.0 * https://github.com/mockito/mockito/releases/tag/v5.4.0 * https://github.com/mockito/mockito/releases/tag/v5.5.0 * EasyMock 5.2.0 release notes: https://github.com/easymock/easymock/releases/tag/easymock-5.2.0 Reviewers: Divij Vaidya <diviv@amazon.com>
1 year ago
// mockito 4.x has two mocking strategies: subclass (mockito-core) and inline (mockito-inline).
// mockito 5.x has two mocking strategies: inline (mockito-core) and subclass (mockito-subclass).
// The default strategy (i.e. what `mockito-core` uses) changed to `inline` in 5.x because it works better with newer
// Java versions.
// We always use the `inline` strategy.
String mockitoArtifactName
if (JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_11))
mockitoArtifactName = "mockito-core"
else
mockitoArtifactName = "mockito-inline"
// easymock 5.2 is required for Java 21 support, but it breaks tests using powermock
// powermock doesn't work with Java 16 or newer and hence it's safe to use the newer version in this case only
String easymockVersion
if (JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_16))
MINOR: Upgrade gradle, plugins and test libraries (#14431) To prepare Java 21 support, upgrade gradle, its plugins and test libraries. Release notes for major and minor updates included below. The highlight is faster Java compilation by not shutting down the daemon at the end of the build. Gradle's internal performance tests show up to a 30% build time improvement for builds that are dominated by compiling Java sources. Mockito turns out to be a complex case where we use one of 3 different versions depending on the Scala and Java versions used. In addition, the default mocking strategy changed from `subclass` to `inline` in Mockito 5.0. We now use `inline` across the board (we previously used both `subclass` and `inline`). See comments in the relevant parts of the code for more details. * Gradle 8.3 release notes: https://docs.gradle.org/8.3/release-notes.html * jmh 1.37: virtual thread support and various bug fixes * JUnit 5.10.0 release notes: https://junit.org/junit5/docs/5.10.0/release-notes/index.html * Mockito 5.x release notes: * https://github.com/mockito/mockito/releases/tag/v5.0.0 * https://github.com/mockito/mockito/releases/tag/v5.1.0 * https://github.com/mockito/mockito/releases/tag/v5.2.0 * https://github.com/mockito/mockito/releases/tag/v5.3.0 * https://github.com/mockito/mockito/releases/tag/v5.4.0 * https://github.com/mockito/mockito/releases/tag/v5.5.0 * EasyMock 5.2.0 release notes: https://github.com/easymock/easymock/releases/tag/easymock-5.2.0 Reviewers: Divij Vaidya <diviv@amazon.com>
1 year ago
easymockVersion = "5.2.0"
else
easymockVersion = "4.3"
// When adding, removing or updating dependencies, please also update the LICENSE-binary file accordingly.
// See https://issues.apache.org/jira/browse/KAFKA-12622 for steps to verify the LICENSE-binary file is correct.
versions += [
activation: "1.1.1",
apacheda: "1.0.2",
apacheds: "2.0.0-M24",
argparse4j: "0.7.0",
bcpkix: "1.75",
caffeine: "2.9.3", // 3.x supports JDK 11 and above
// when updating checkstyle, check whether the exclusion of
// CVE-2023-2976 and CVE-2020-8908 can be dropped from
// gradle/resources/dependencycheck-suppressions.xml
checkstyle: "8.36.2",
commonsCli: "1.4",
commonsValidator: "1.7",
dropwizardMetrics: "4.1.12.1",
MINOR: Upgrade gradle, plugins and test libraries (#14431) To prepare Java 21 support, upgrade gradle, its plugins and test libraries. Release notes for major and minor updates included below. The highlight is faster Java compilation by not shutting down the daemon at the end of the build. Gradle's internal performance tests show up to a 30% build time improvement for builds that are dominated by compiling Java sources. Mockito turns out to be a complex case where we use one of 3 different versions depending on the Scala and Java versions used. In addition, the default mocking strategy changed from `subclass` to `inline` in Mockito 5.0. We now use `inline` across the board (we previously used both `subclass` and `inline`). See comments in the relevant parts of the code for more details. * Gradle 8.3 release notes: https://docs.gradle.org/8.3/release-notes.html * jmh 1.37: virtual thread support and various bug fixes * JUnit 5.10.0 release notes: https://junit.org/junit5/docs/5.10.0/release-notes/index.html * Mockito 5.x release notes: * https://github.com/mockito/mockito/releases/tag/v5.0.0 * https://github.com/mockito/mockito/releases/tag/v5.1.0 * https://github.com/mockito/mockito/releases/tag/v5.2.0 * https://github.com/mockito/mockito/releases/tag/v5.3.0 * https://github.com/mockito/mockito/releases/tag/v5.4.0 * https://github.com/mockito/mockito/releases/tag/v5.5.0 * EasyMock 5.2.0 release notes: https://github.com/easymock/easymock/releases/tag/easymock-5.2.0 Reviewers: Divij Vaidya <diviv@amazon.com>
1 year ago
gradle: "8.3",
grgit: "4.1.1",
httpclient: "4.5.14",
jackson: "2.13.5",
jacksonDatabind: "2.13.5",
jacoco: "0.8.10",
javassist: "3.29.2-GA",
jetty: "9.4.52.v20230823",
jersey: "2.39.1",
jline: "3.22.0",
MINOR: Upgrade gradle, plugins and test libraries (#14431) To prepare Java 21 support, upgrade gradle, its plugins and test libraries. Release notes for major and minor updates included below. The highlight is faster Java compilation by not shutting down the daemon at the end of the build. Gradle's internal performance tests show up to a 30% build time improvement for builds that are dominated by compiling Java sources. Mockito turns out to be a complex case where we use one of 3 different versions depending on the Scala and Java versions used. In addition, the default mocking strategy changed from `subclass` to `inline` in Mockito 5.0. We now use `inline` across the board (we previously used both `subclass` and `inline`). See comments in the relevant parts of the code for more details. * Gradle 8.3 release notes: https://docs.gradle.org/8.3/release-notes.html * jmh 1.37: virtual thread support and various bug fixes * JUnit 5.10.0 release notes: https://junit.org/junit5/docs/5.10.0/release-notes/index.html * Mockito 5.x release notes: * https://github.com/mockito/mockito/releases/tag/v5.0.0 * https://github.com/mockito/mockito/releases/tag/v5.1.0 * https://github.com/mockito/mockito/releases/tag/v5.2.0 * https://github.com/mockito/mockito/releases/tag/v5.3.0 * https://github.com/mockito/mockito/releases/tag/v5.4.0 * https://github.com/mockito/mockito/releases/tag/v5.5.0 * EasyMock 5.2.0 release notes: https://github.com/easymock/easymock/releases/tag/easymock-5.2.0 Reviewers: Divij Vaidya <diviv@amazon.com>
1 year ago
jmh: "1.37",
hamcrest: "2.2",
MINOR: Update library dependencies (Q1 2022) (#11306) - scala 2.13: 2.13.6 -> 2.13.8 * Support Java 18 and improve Android compatibility * https://www.scala-lang.org/news/2.13.7 * https://www.scala-lang.org/news/2.13.8 - scala 2.12: 2.12.14 -> 2.12.15. * The `-release` flag now works with Scala 2.12, backend parallelism can be enabled via `-Ybackend-parallelism N` and string interpolation is more efficient. * https://www.scala-lang.org/news/2.12.5 - gradle versions plugin: 0.38.0 -> 0.42.0 * Minor fixes * https://github.com/ben-manes/gradle-versions-plugin/releases/tag/v0.40.0 * https://github.com/ben-manes/gradle-versions-plugin/releases/tag/v0.41.0 * https://github.com/ben-manes/gradle-versions-plugin/releases/tag/v0.42.0 - gradle dependency check plugin: 6.1.6 -> 6.5.3 * Minor fixes - gradle spotbugs plugin: 4.7.1 -> 5.0.5 * Fixes and minor improvements * There were too many releases to include all the links, include the major version bump * https://github.com/spotbugs/spotbugs-gradle-plugin/releases/tag/5.0.0 - gradle scoverage plugin: 5.0.0 -> 7.0.0 * Support newer Gradle versions and other improvements * https://github.com/scoverage/gradle-scoverage/releases/tag/6.0.0 * https://github.com/scoverage/gradle-scoverage/releases/tag/6.1.0 * https://github.com/scoverage/gradle-scoverage/releases/tag/7.0.0 - gradle shadow plugin: 7.0.0 -> 7.1.2 * Support gradle toolchains and security fixes * https://github.com/johnrengelman/shadow/releases/tag/7.1.0 * https://github.com/johnrengelman/shadow/releases/tag/7.1.1 * https://github.com/johnrengelman/shadow/releases/tag/7.1.2 - bcpkix: 1.66 -> 1.70 * Several improvements and fixes * https://www.bouncycastle.org/releasenotes.html - jline: 3.12.1 -> 3.21.0 * Various fixes and improvements - jmh: 1.32 -> 1.34 * Compiler blackhole enabled by default when using Java 17 and improved gradle incremental compilation * https://mail.openjdk.java.net/pipermail/jmh-dev/2021-August/003355.html * https://mail.openjdk.java.net/pipermail/jmh-dev/2021-December/003406.html - scalaLogging: 3.9.3 -> 3.9.4 * Support for Scala 3.0 - jose4j: 0.7.8 -> 0.7.9 * Minor fixes - junit: 5.7.1 -> 5.8.2 * Minor improvements and fixes * https://junit.org/junit5/docs/current/release-notes/index.html#release-notes-5.8.0 * https://junit.org/junit5/docs/current/release-notes/index.html#release-notes-5.8.1 * https://junit.org/junit5/docs/current/release-notes/index.html#release-notes-5.8.2 - jqwik: 1.5.0 -> 1.6.3 * Numerous improvements * https://github.com/jlink/jqwik/releases/tag/1.6.0 - mavenArtifact: 3.8.1 -> 3.8.4 - mockito: 3.12.4 -> 4.3.1 * Removed deprecated methods, `DoNotMock` annotation and minor fixes/improvements * https://github.com/mockito/mockito/releases/tag/v4.0.0 * https://github.com/mockito/mockito/releases/tag/v4.1.0 * https://github.com/mockito/mockito/releases/tag/v4.2.0 * https://github.com/mockito/mockito/releases/tag/v4.3.0 - scalaCollectionCompat: 2.4.4 -> 2.6.0 * Minor fixes * https://github.com/scala/scala-collection-compat/releases/tag/v2.5.0 * https://github.com/scala/scala-collection-compat/releases/tag/v2.6.0 - scalaJava8Compat: 1.0.0 -> 1.0.2 * Minor changes - scoverage: 1.4.1 -> 1.4.11 * Support for newer Scala versions - slf4j: 1.7.30 -> 1.7.32 * Minor fixes, 1.7.35 automatically uses reload4j and 1.7.33/1.7.34 cause build failures, so we stick with 1.7.32 for now. - zstd: 1.5.0-4 -> 1.5.2-1 * zstd 1.5.2 * Small refinements and performance improvements * https://github.com/facebook/zstd/releases/tag/v1.5.1 * https://github.com/facebook/zstd/releases/tag/v1.5.2 Checkstyle, spotBugs and spotless will be upgraded separately as they either require non trivial code changes or they have regressions that affect us. Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>
3 years ago
scalaLogging: "3.9.4",
jaxAnnotation: "1.3.2",
jaxb: "2.3.1",
jaxrs: "2.1.1",
jfreechart: "1.0.0",
jopt: "5.0.4",
jose4j: "0.9.3",
MINOR: Upgrade gradle, plugins and test libraries (#14431) To prepare Java 21 support, upgrade gradle, its plugins and test libraries. Release notes for major and minor updates included below. The highlight is faster Java compilation by not shutting down the daemon at the end of the build. Gradle's internal performance tests show up to a 30% build time improvement for builds that are dominated by compiling Java sources. Mockito turns out to be a complex case where we use one of 3 different versions depending on the Scala and Java versions used. In addition, the default mocking strategy changed from `subclass` to `inline` in Mockito 5.0. We now use `inline` across the board (we previously used both `subclass` and `inline`). See comments in the relevant parts of the code for more details. * Gradle 8.3 release notes: https://docs.gradle.org/8.3/release-notes.html * jmh 1.37: virtual thread support and various bug fixes * JUnit 5.10.0 release notes: https://junit.org/junit5/docs/5.10.0/release-notes/index.html * Mockito 5.x release notes: * https://github.com/mockito/mockito/releases/tag/v5.0.0 * https://github.com/mockito/mockito/releases/tag/v5.1.0 * https://github.com/mockito/mockito/releases/tag/v5.2.0 * https://github.com/mockito/mockito/releases/tag/v5.3.0 * https://github.com/mockito/mockito/releases/tag/v5.4.0 * https://github.com/mockito/mockito/releases/tag/v5.5.0 * EasyMock 5.2.0 release notes: https://github.com/easymock/easymock/releases/tag/easymock-5.2.0 Reviewers: Divij Vaidya <diviv@amazon.com>
1 year ago
junit: "5.10.0",
jqwik: "1.7.4",
kafka_0100: "0.10.0.1",
kafka_0101: "0.10.1.1",
kafka_0102: "0.10.2.2",
kafka_0110: "0.11.0.3",
kafka_10: "1.0.2",
kafka_11: "1.1.1",
kafka_20: "2.0.1",
kafka_21: "2.1.1",
kafka_22: "2.2.2",
kafka_23: "2.3.1",
kafka_24: "2.4.1",
kafka_25: "2.5.1",
kafka_26: "2.6.2",
kafka_27: "2.7.1",
kafka_28: "2.8.2",
kafka_30: "3.0.2",
kafka_31: "3.1.2",
kafka_32: "3.2.3",
kafka_33: "3.3.1",
kafka_34: "3.4.1",
kafka_35: "3.5.1",
kafka_36: "3.6.0",
lz4: "1.8.0",
mavenArtifact: "3.8.8",
metrics: "2.2.0",
netty: "4.1.100.Final",
pcollections: "4.0.1",
MINOR: Update build and test dependencies (#9645) The spotbugs upgrade means we can re-enable RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE and RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE. These uncovered one bug, one unnecessary null check and one false positive. Addressed them all, including a test for the bug. * gradle (6.7.0 -> 6.7.1): minor fixes. * gradle versions plugin (0.29.0 -> 0.36.0): minor fixes. * grgit (4.0.2 -> 4.1.0): a few small fixes and dependency bumps. * owasp dependency checker plugin (5.3.2.1 -> 6.0.3): improved db schema, data and several fixes. * scoverage plugin (4.0.2 -> 5.0.0): support Scala 2.13. * shadow plugin (6.0.0 -> 6.1.0): require Java 8, support for Java 16. * spotbugs plugin (4.4.4 -> 4.6.0): support SARIF reporting standard. * spotbugs (4.0.6 -> 4.1.4): support for Java 16 and various fixes including try with resources false positive. * spotless plugin (5.1.0 -> 5.8.2): minor fixes. * test retry plugin (1.1.6 -> 1.1.9): newer gradle and java version compatibility fixes. * mockito (3.5.7 -> 3.6.0): minor fixes. * powermock (2.0.7 -> 2.0.9): minor fixes. Release notes links: * https://docs.gradle.org/6.7.1/release-notes.html * https://github.com/spotbugs/spotbugs/blob/4.1.4/CHANGELOG.md * https://github.com/scoverage/gradle-scoverage/releases/tag/5.0.0 * https://github.com/johnrengelman/shadow/releases/tag/6.1.0 * https://github.com/spotbugs/spotbugs-gradle-plugin/releases/tag/4.6.0 * https://github.com/spotbugs/spotbugs-gradle-plugin/releases/tag/4.6.0 * https://github.com/spotbugs/spotbugs-gradle-plugin/releases/tag/4.5.0 * https://github.com/ben-manes/gradle-versions-plugin/releases * https://github.com/ajoberstar/grgit/releases/tag/4.1.0 * https://github.com/jeremylong/DependencyCheck/blob/main/RELEASE_NOTES.md#version-603-2020-11-03 * https://github.com/powermock/powermock/releases/tag/powermock-2.0.8 * https://github.com/powermock/powermock/releases/tag/powermock-2.0.9 * https://github.com/mockito/mockito/blob/v3.6.0/doc/release-notes/official.md * https://github.com/gradle/test-retry-gradle-plugin/releases * https://github.com/diffplug/spotless/blob/main/plugin-gradle/CHANGES.md Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
4 years ago
powermock: "2.0.9",
reflections: "0.10.2",
reload4j: "1.2.25",
rocksDB: "7.9.2",
scalaCollectionCompat: "2.10.0",
// When updating the scalafmt version please also update the version field in checkstyle/.scalafmt.conf. scalafmt now
// has the version field as mandatory in its configuration, see
// https://github.com/scalameta/scalafmt/releases/tag/v3.1.0.
scalafmt: "3.7.14",
MINOR: Update library dependencies (Q1 2022) (#11306) - scala 2.13: 2.13.6 -> 2.13.8 * Support Java 18 and improve Android compatibility * https://www.scala-lang.org/news/2.13.7 * https://www.scala-lang.org/news/2.13.8 - scala 2.12: 2.12.14 -> 2.12.15. * The `-release` flag now works with Scala 2.12, backend parallelism can be enabled via `-Ybackend-parallelism N` and string interpolation is more efficient. * https://www.scala-lang.org/news/2.12.5 - gradle versions plugin: 0.38.0 -> 0.42.0 * Minor fixes * https://github.com/ben-manes/gradle-versions-plugin/releases/tag/v0.40.0 * https://github.com/ben-manes/gradle-versions-plugin/releases/tag/v0.41.0 * https://github.com/ben-manes/gradle-versions-plugin/releases/tag/v0.42.0 - gradle dependency check plugin: 6.1.6 -> 6.5.3 * Minor fixes - gradle spotbugs plugin: 4.7.1 -> 5.0.5 * Fixes and minor improvements * There were too many releases to include all the links, include the major version bump * https://github.com/spotbugs/spotbugs-gradle-plugin/releases/tag/5.0.0 - gradle scoverage plugin: 5.0.0 -> 7.0.0 * Support newer Gradle versions and other improvements * https://github.com/scoverage/gradle-scoverage/releases/tag/6.0.0 * https://github.com/scoverage/gradle-scoverage/releases/tag/6.1.0 * https://github.com/scoverage/gradle-scoverage/releases/tag/7.0.0 - gradle shadow plugin: 7.0.0 -> 7.1.2 * Support gradle toolchains and security fixes * https://github.com/johnrengelman/shadow/releases/tag/7.1.0 * https://github.com/johnrengelman/shadow/releases/tag/7.1.1 * https://github.com/johnrengelman/shadow/releases/tag/7.1.2 - bcpkix: 1.66 -> 1.70 * Several improvements and fixes * https://www.bouncycastle.org/releasenotes.html - jline: 3.12.1 -> 3.21.0 * Various fixes and improvements - jmh: 1.32 -> 1.34 * Compiler blackhole enabled by default when using Java 17 and improved gradle incremental compilation * https://mail.openjdk.java.net/pipermail/jmh-dev/2021-August/003355.html * https://mail.openjdk.java.net/pipermail/jmh-dev/2021-December/003406.html - scalaLogging: 3.9.3 -> 3.9.4 * Support for Scala 3.0 - jose4j: 0.7.8 -> 0.7.9 * Minor fixes - junit: 5.7.1 -> 5.8.2 * Minor improvements and fixes * https://junit.org/junit5/docs/current/release-notes/index.html#release-notes-5.8.0 * https://junit.org/junit5/docs/current/release-notes/index.html#release-notes-5.8.1 * https://junit.org/junit5/docs/current/release-notes/index.html#release-notes-5.8.2 - jqwik: 1.5.0 -> 1.6.3 * Numerous improvements * https://github.com/jlink/jqwik/releases/tag/1.6.0 - mavenArtifact: 3.8.1 -> 3.8.4 - mockito: 3.12.4 -> 4.3.1 * Removed deprecated methods, `DoNotMock` annotation and minor fixes/improvements * https://github.com/mockito/mockito/releases/tag/v4.0.0 * https://github.com/mockito/mockito/releases/tag/v4.1.0 * https://github.com/mockito/mockito/releases/tag/v4.2.0 * https://github.com/mockito/mockito/releases/tag/v4.3.0 - scalaCollectionCompat: 2.4.4 -> 2.6.0 * Minor fixes * https://github.com/scala/scala-collection-compat/releases/tag/v2.5.0 * https://github.com/scala/scala-collection-compat/releases/tag/v2.6.0 - scalaJava8Compat: 1.0.0 -> 1.0.2 * Minor changes - scoverage: 1.4.1 -> 1.4.11 * Support for newer Scala versions - slf4j: 1.7.30 -> 1.7.32 * Minor fixes, 1.7.35 automatically uses reload4j and 1.7.33/1.7.34 cause build failures, so we stick with 1.7.32 for now. - zstd: 1.5.0-4 -> 1.5.2-1 * zstd 1.5.2 * Small refinements and performance improvements * https://github.com/facebook/zstd/releases/tag/v1.5.1 * https://github.com/facebook/zstd/releases/tag/v1.5.2 Checkstyle, spotBugs and spotless will be upgraded separately as they either require non trivial code changes or they have regressions that affect us. Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>
3 years ago
scalaJava8Compat : "1.0.2",
scoverage: "1.9.3",
slf4j: "1.7.36",
snappy: "1.1.10.5",
spotbugs: "4.8.0",
zinc: "1.9.2",
zookeeper: "3.8.3",
zstd: "1.5.5-6"
]
libs += [
activation: "javax.activation:activation:$versions.activation",
apacheda: "org.apache.directory.api:api-all:$versions.apacheda",
apachedsCoreApi: "org.apache.directory.server:apacheds-core-api:$versions.apacheds",
apachedsInterceptorKerberos: "org.apache.directory.server:apacheds-interceptor-kerberos:$versions.apacheds",
apachedsProtocolShared: "org.apache.directory.server:apacheds-protocol-shared:$versions.apacheds",
apachedsProtocolKerberos: "org.apache.directory.server:apacheds-protocol-kerberos:$versions.apacheds",
apachedsProtocolLdap: "org.apache.directory.server:apacheds-protocol-ldap:$versions.apacheds",
apachedsLdifPartition: "org.apache.directory.server:apacheds-ldif-partition:$versions.apacheds",
apachedsMavibotPartition: "org.apache.directory.server:apacheds-mavibot-partition:$versions.apacheds",
apachedsJdbmPartition: "org.apache.directory.server:apacheds-jdbm-partition:$versions.apacheds",
argparse4j: "net.sourceforge.argparse4j:argparse4j:$versions.argparse4j",
bcpkix: "org.bouncycastle:bcpkix-jdk18on:$versions.bcpkix",
caffeine: "com.github.ben-manes.caffeine:caffeine:$versions.caffeine",
commonsCli: "commons-cli:commons-cli:$versions.commonsCli",
commonsValidator: "commons-validator:commons-validator:$versions.commonsValidator",
easymock: "org.easymock:easymock:$easymockVersion",
jacksonAnnotations: "com.fasterxml.jackson.core:jackson-annotations:$versions.jackson",
jacksonDatabind: "com.fasterxml.jackson.core:jackson-databind:$versions.jacksonDatabind",
jacksonDataformatCsv: "com.fasterxml.jackson.dataformat:jackson-dataformat-csv:$versions.jackson",
jacksonModuleScala: "com.fasterxml.jackson.module:jackson-module-scala_$versions.baseScala:$versions.jackson",
jacksonJDK8Datatypes: "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:$versions.jackson",
jacksonJaxrsJsonProvider: "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:$versions.jackson",
jaxAnnotationApi: "javax.annotation:javax.annotation-api:$versions.jaxAnnotation",
jaxbApi: "javax.xml.bind:jaxb-api:$versions.jaxb",
jaxrsApi: "javax.ws.rs:javax.ws.rs-api:$versions.jaxrs",
javassist: "org.javassist:javassist:$versions.javassist",
jettyServer: "org.eclipse.jetty:jetty-server:$versions.jetty",
jettyClient: "org.eclipse.jetty:jetty-client:$versions.jetty",
jettyServlet: "org.eclipse.jetty:jetty-servlet:$versions.jetty",
jettyServlets: "org.eclipse.jetty:jetty-servlets:$versions.jetty",
jerseyContainerServlet: "org.glassfish.jersey.containers:jersey-container-servlet:$versions.jersey",
jerseyHk2: "org.glassfish.jersey.inject:jersey-hk2:$versions.jersey",
jline: "org.jline:jline:$versions.jline",
jmhCore: "org.openjdk.jmh:jmh-core:$versions.jmh",
jmhCoreBenchmarks: "org.openjdk.jmh:jmh-core-benchmarks:$versions.jmh",
jmhGeneratorAnnProcess: "org.openjdk.jmh:jmh-generator-annprocess:$versions.jmh",
joptSimple: "net.sf.jopt-simple:jopt-simple:$versions.jopt",
jose4j: "org.bitbucket.b_c:jose4j:$versions.jose4j",
junitJupiter: "org.junit.jupiter:junit-jupiter:$versions.junit",
junitJupiterApi: "org.junit.jupiter:junit-jupiter-api:$versions.junit",
junitVintageEngine: "org.junit.vintage:junit-vintage-engine:$versions.junit",
jqwik: "net.jqwik:jqwik:$versions.jqwik",
hamcrest: "org.hamcrest:hamcrest:$versions.hamcrest",
kafkaStreams_0100: "org.apache.kafka:kafka-streams:$versions.kafka_0100",
kafkaStreams_0101: "org.apache.kafka:kafka-streams:$versions.kafka_0101",
kafkaStreams_0102: "org.apache.kafka:kafka-streams:$versions.kafka_0102",
kafkaStreams_0110: "org.apache.kafka:kafka-streams:$versions.kafka_0110",
kafkaStreams_10: "org.apache.kafka:kafka-streams:$versions.kafka_10",
kafkaStreams_11: "org.apache.kafka:kafka-streams:$versions.kafka_11",
kafkaStreams_20: "org.apache.kafka:kafka-streams:$versions.kafka_20",
kafkaStreams_21: "org.apache.kafka:kafka-streams:$versions.kafka_21",
kafkaStreams_22: "org.apache.kafka:kafka-streams:$versions.kafka_22",
kafkaStreams_23: "org.apache.kafka:kafka-streams:$versions.kafka_23",
kafkaStreams_24: "org.apache.kafka:kafka-streams:$versions.kafka_24",
kafkaStreams_25: "org.apache.kafka:kafka-streams:$versions.kafka_25",
kafkaStreams_26: "org.apache.kafka:kafka-streams:$versions.kafka_26",
kafkaStreams_27: "org.apache.kafka:kafka-streams:$versions.kafka_27",
kafkaStreams_28: "org.apache.kafka:kafka-streams:$versions.kafka_28",
kafkaStreams_30: "org.apache.kafka:kafka-streams:$versions.kafka_30",
kafkaStreams_31: "org.apache.kafka:kafka-streams:$versions.kafka_31",
kafkaStreams_32: "org.apache.kafka:kafka-streams:$versions.kafka_32",
kafkaStreams_33: "org.apache.kafka:kafka-streams:$versions.kafka_33",
kafkaStreams_34: "org.apache.kafka:kafka-streams:$versions.kafka_34",
kafkaStreams_35: "org.apache.kafka:kafka-streams:$versions.kafka_35",
kafkaStreams_36: "org.apache.kafka:kafka-streams:$versions.kafka_36",
log4j: "ch.qos.reload4j:reload4j:$versions.reload4j",
lz4: "org.lz4:lz4-java:$versions.lz4",
metrics: "com.yammer.metrics:metrics-core:$versions.metrics",
dropwizardMetrics: "io.dropwizard.metrics:metrics-core:$versions.dropwizardMetrics",
MINOR: Upgrade gradle, plugins and test libraries (#14431) To prepare Java 21 support, upgrade gradle, its plugins and test libraries. Release notes for major and minor updates included below. The highlight is faster Java compilation by not shutting down the daemon at the end of the build. Gradle's internal performance tests show up to a 30% build time improvement for builds that are dominated by compiling Java sources. Mockito turns out to be a complex case where we use one of 3 different versions depending on the Scala and Java versions used. In addition, the default mocking strategy changed from `subclass` to `inline` in Mockito 5.0. We now use `inline` across the board (we previously used both `subclass` and `inline`). See comments in the relevant parts of the code for more details. * Gradle 8.3 release notes: https://docs.gradle.org/8.3/release-notes.html * jmh 1.37: virtual thread support and various bug fixes * JUnit 5.10.0 release notes: https://junit.org/junit5/docs/5.10.0/release-notes/index.html * Mockito 5.x release notes: * https://github.com/mockito/mockito/releases/tag/v5.0.0 * https://github.com/mockito/mockito/releases/tag/v5.1.0 * https://github.com/mockito/mockito/releases/tag/v5.2.0 * https://github.com/mockito/mockito/releases/tag/v5.3.0 * https://github.com/mockito/mockito/releases/tag/v5.4.0 * https://github.com/mockito/mockito/releases/tag/v5.5.0 * EasyMock 5.2.0 release notes: https://github.com/easymock/easymock/releases/tag/easymock-5.2.0 Reviewers: Divij Vaidya <diviv@amazon.com>
1 year ago
mockitoCore: "org.mockito:$mockitoArtifactName:$mockitoVersion",
mockitoJunitJupiter: "org.mockito:mockito-junit-jupiter:$mockitoVersion",
nettyHandler: "io.netty:netty-handler:$versions.netty",
nettyTransportNativeEpoll: "io.netty:netty-transport-native-epoll:$versions.netty",
pcollections: "org.pcollections:pcollections:$versions.pcollections",
powermockJunit4: "org.powermock:powermock-module-junit4:$versions.powermock",
powermockEasymock: "org.powermock:powermock-api-easymock:$versions.powermock",
reflections: "org.reflections:reflections:$versions.reflections",
rocksDBJni: "org.rocksdb:rocksdbjni:$versions.rocksDB",
MINOR: Make the build compile with Scala 2.13 (#6989) Scala 2.13 support was added to build via #5454. This PR adjusts the code so that it compiles with 2.11, 2.12 and 2.13. Changes: * Add `scala-collection-compat` dependency. * Import `scala.collection.Seq` in a number of places for consistent behavior between Scala 2.11, 2.12 and 2.13. * Remove wildcard imports that were causing the Java classes to have priority over the Scala ones, related Scala issue: https://github.com/scala/scala/pull/6589. * Replace parallel collection usage with `Future`. The former is no longer included by default in the standard library. * Replace val _: Unit workaround with one that is more concise and works with Scala 2.13 * Replace `filterKeys` with `filter` when we expect a `Map`. `filterKeys` returns a view that doesn't implement the `Map` trait in Scala 2.13. * Replace `mapValues` with `map` or add a `toMap` as an additional transformation when we expect a `Map`. `mapValues` returns a view that doesn't implement the `Map` trait in Scala 2.13. * Replace `breakOut` with `iterator` and `to`, `breakOut` was removed in Scala 2.13. * Replace to() with toMap, toIndexedSeq and toSet * Replace `mutable.Buffer.--` with `filterNot`. * ControlException is an abstract class in Scala 2.13. * Variable arguments can only receive arrays or immutable.Seq in Scala 2.13. * Use `Factory` instead of `CanBuildFrom` in DecodeJson. `CanBuildFrom` behaves a bit differently in Scala 2.13 and it's been deprecated. `Factory` has the behavior we need and it's available via the compat library. * Fix failing tests due to behavior change in Scala 2.13, "Map.values.map is not strict in Scala 2.13" (https://github.com/scala/bug/issues/11589). * Use Java collections instead of Scala ones in StreamResetter (a Java class). * Adjust CheckpointFile.write to take an `Iterable` instead of `Seq` to avoid unnecessary collection copies. * Fix DelayedElectLeader to use a Map instead of Set and avoid `to` call that doesn't work in Scala 2.13. * Use unordered map for mapping in SimpleAclAuthorizer, mapping of ordered maps require an `Ordering` in Scala 2.13 for safety reasons. * Adapt `ConsumerGroupCommand` to compile with Scala 2.13. * CoreUtils.min takes an `Iterable` instead of `TraversableOnce`, the latter does not exist in Scala 2.13. * Replace `Unit` with `()` in a couple places. Scala 2.13 is stricter when it expects a value instead of a type. * Fix bug in CustomQuotaCallbackTest where we did not necessarily set `partitionRatio` correctly, `forall` can terminate early. * Add a couple of spotbugs exclusions that are needed by code generated by Scala 2.13 * Remove unused variables, simplify some code and remove procedure syntax in a few places. * Remove unused `CoreUtils.JSONEscapeString`. Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>, José Armando García Sancio <jsancio@users.noreply.github.com>
5 years ago
scalaCollectionCompat: "org.scala-lang.modules:scala-collection-compat_$versions.baseScala:$versions.scalaCollectionCompat",
scalaJava8Compat: "org.scala-lang.modules:scala-java8-compat_$versions.baseScala:$versions.scalaJava8Compat",
scalaLibrary: "org.scala-lang:scala-library:$versions.scala",
scalaLogging: "com.typesafe.scala-logging:scala-logging_$versions.baseScala:$versions.scalaLogging",
scalaReflect: "org.scala-lang:scala-reflect:$versions.scala",
slf4jApi: "org.slf4j:slf4j-api:$versions.slf4j",
slf4jlog4j: "org.slf4j:slf4j-log4j12:$versions.slf4j",
snappy: "org.xerial.snappy:snappy-java:$versions.snappy",
swaggerAnnotations: "io.swagger.core.v3:swagger-annotations:$swaggerVersion",
swaggerJaxrs2: "io.swagger.core.v3:swagger-jaxrs2:$swaggerVersion",
zookeeper: "org.apache.zookeeper:zookeeper:$versions.zookeeper",
jfreechart: "jfreechart:jfreechart:$versions.jfreechart",
mavenArtifact: "org.apache.maven:maven-artifact:$versions.mavenArtifact",
zstd: "com.github.luben:zstd-jni:$versions.zstd",
httpclient: "org.apache.httpcomponents:httpclient:$versions.httpclient"
]