Skip to content

Commit

Permalink
Use servicetalk-dependencies BOM internally (#2217)
Browse files Browse the repository at this point in the history
Motivation:
The new `dependencies` BOM introduced in #2210 can be used to improve
the management of external dependencies by reducing use of explicit
versions within the module `build.gradle` files.
Modification:
Use `dependencies` BOM for every module which includes `api` or
`implementation` external dependencies. The BOM is imported as `api`
platform only in cases where the external dependency is also imported
`api`. `implementation` platform is used in cases where the external
dependencies are only `implementation` dependencies themselves.
The Jackson-BOM is no longer used because of issues with how it is
versioned and our desire for a narrower dependency on
`jackson-databind` only.
Result:
Fewer explicit version specifications and better managed dependency
versioning.
  • Loading branch information
bondolo authored May 17, 2022
1 parent 05fbfa2 commit 0f0f86e
Show file tree
Hide file tree
Showing 61 changed files with 205 additions and 142 deletions.
4 changes: 3 additions & 1 deletion servicetalk-annotations/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,7 @@
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation platform(project(":servicetalk-dependencies"))

implementation "com.google.code.findbugs:jsr305"
}
8 changes: 5 additions & 3 deletions servicetalk-benchmarks/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ plugins {
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
implementation platform(project(":servicetalk-dependencies"))

implementation project(":servicetalk-annotations")
implementation project(":servicetalk-buffer-netty")
implementation project(":servicetalk-concurrent-api")
Expand All @@ -30,9 +32,9 @@ dependencies {
implementation project(":servicetalk-http-netty")
implementation project(":servicetalk-transport-netty-internal")
implementation project(":servicetalk-loadbalancer")
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "io.netty:netty-codec-http:$nettyVersion"
implementation "org.openjdk.jmh:jmh-core:$jmhCoreVersion"
implementation "com.google.code.findbugs:jsr305"
implementation "io.netty:netty-codec-http"
implementation "org.openjdk.jmh:jmh-core"

testImplementation testFixtures(project(":servicetalk-concurrent-internal"))
testImplementation project(":servicetalk-concurrent-internal")
Expand Down
3 changes: 2 additions & 1 deletion servicetalk-buffer-api/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,12 @@
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
implementation platform(project(":servicetalk-dependencies"))
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")

implementation project(":servicetalk-annotations")

implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "com.google.code.findbugs:jsr305"

testImplementation "org.junit.jupiter:junit-jupiter-api"
testImplementation "org.junit.jupiter:junit-jupiter-params"
Expand Down
6 changes: 3 additions & 3 deletions servicetalk-buffer-netty/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,16 @@
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
api platform("io.netty:netty-bom:$nettyVersion")
api platform(project(":servicetalk-dependencies"))
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")

api project(":servicetalk-buffer-api")
api "io.netty:netty-buffer"

implementation project(":servicetalk-annotations")
implementation project(":servicetalk-utils-internal")
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "org.slf4j:slf4j-api:$slf4jVersion"
implementation "com.google.code.findbugs:jsr305"
implementation "org.slf4j:slf4j-api"

testImplementation project(":servicetalk-test-resources")
testImplementation "org.junit.jupiter:junit-jupiter-api"
Expand Down
5 changes: 3 additions & 2 deletions servicetalk-client-api-internal/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
implementation platform(project(":servicetalk-dependencies"))
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")

api project(":servicetalk-client-api")
Expand All @@ -25,8 +26,8 @@ dependencies {
implementation project(":servicetalk-annotations")
implementation project(":servicetalk-concurrent-api-internal")
implementation project(":servicetalk-concurrent-internal")
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "org.slf4j:slf4j-api:$slf4jVersion"
implementation "com.google.code.findbugs:jsr305"
implementation "org.slf4j:slf4j-api"

testImplementation testFixtures(project(":servicetalk-concurrent-api"))
testImplementation testFixtures(project(":servicetalk-concurrent-internal"))
Expand Down
5 changes: 3 additions & 2 deletions servicetalk-client-api/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
api platform(project(":servicetalk-dependencies"))
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")

api project(":servicetalk-concurrent-api")
Expand All @@ -25,8 +26,8 @@ dependencies {
implementation project(":servicetalk-annotations")
implementation project(":servicetalk-concurrent-api-internal")
implementation project(":servicetalk-concurrent-internal")
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "org.slf4j:slf4j-api:$slf4jVersion"
implementation "com.google.code.findbugs:jsr305"
implementation "org.slf4j:slf4j-api"

testImplementation testFixtures(project(":servicetalk-concurrent-api"))
testImplementation testFixtures(project(":servicetalk-concurrent-internal"))
Expand Down
5 changes: 3 additions & 2 deletions servicetalk-concurrent-api-internal/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
implementation platform(project(":servicetalk-dependencies"))
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")

api project(":servicetalk-concurrent-api")
Expand All @@ -27,8 +28,8 @@ dependencies {
implementation project(":servicetalk-concurrent-api")
implementation project(":servicetalk-concurrent-internal")
implementation project(":servicetalk-utils-internal")
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "org.slf4j:slf4j-api:$slf4jVersion"
implementation "com.google.code.findbugs:jsr305"
implementation "org.slf4j:slf4j-api"

testImplementation testFixtures(project(":servicetalk-concurrent-api"))
testImplementation testFixtures(project(":servicetalk-concurrent-internal"))
Expand Down
3 changes: 2 additions & 1 deletion servicetalk-concurrent-api-test/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
implementation platform(project(":servicetalk-dependencies"))
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")

api project(":servicetalk-concurrent-api")
Expand All @@ -25,7 +26,7 @@ dependencies {
implementation project(":servicetalk-concurrent-internal")
implementation project(":servicetalk-concurrent-test-internal")
implementation project(":servicetalk-utils-internal")
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "com.google.code.findbugs:jsr305"

testImplementation testFixtures(project(":servicetalk-concurrent-internal"))
testImplementation testFixtures(project(":servicetalk-concurrent-api"))
Expand Down
5 changes: 3 additions & 2 deletions servicetalk-concurrent-api/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
api platform(project(":servicetalk-dependencies"))
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")
testFixturesImplementation platform("org.junit:junit-bom:$junit5Version")

Expand All @@ -26,8 +27,8 @@ dependencies {
implementation project(":servicetalk-annotations")
implementation project(":servicetalk-concurrent-internal")
implementation project(":servicetalk-utils-internal")
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "org.slf4j:slf4j-api:$slf4jVersion"
implementation "com.google.code.findbugs:jsr305"
implementation "org.slf4j:slf4j-api"

testImplementation testFixtures(project(":servicetalk-concurrent-internal"))
testImplementation project(":servicetalk-concurrent-test-internal")
Expand Down
5 changes: 3 additions & 2 deletions servicetalk-concurrent-internal/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
implementation platform(project(":servicetalk-dependencies"))
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")
testFixturesImplementation platform("org.junit:junit-bom:$junit5Version")

Expand All @@ -25,8 +26,8 @@ dependencies {

implementation project(":servicetalk-annotations")
implementation project(":servicetalk-utils-internal")
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "org.slf4j:slf4j-api:$slf4jVersion"
implementation "com.google.code.findbugs:jsr305"
implementation "org.slf4j:slf4j-api"

testImplementation project(":servicetalk-test-resources")
testImplementation "org.junit.jupiter:junit-jupiter-api"
Expand Down
5 changes: 3 additions & 2 deletions servicetalk-concurrent-jdkflow/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,14 @@ compileJava {
}

dependencies {
implementation platform(project(":servicetalk-dependencies"))
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")

api project(":servicetalk-concurrent-api")

implementation project(":servicetalk-annotations")
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "org.slf4j:slf4j-api:$slf4jVersion"
implementation "com.google.code.findbugs:jsr305"
implementation "org.slf4j:slf4j-api"

testImplementation testFixtures(project(":servicetalk-concurrent-api"))
testImplementation testFixtures(project(":servicetalk-concurrent-internal"))
Expand Down
5 changes: 3 additions & 2 deletions servicetalk-concurrent-reactivestreams/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
implementation platform(project(":servicetalk-dependencies"))
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")

api project(":servicetalk-concurrent-api")
Expand All @@ -25,8 +26,8 @@ dependencies {
implementation project(":servicetalk-annotations")
implementation project(":servicetalk-serializer-utils")
implementation project(":servicetalk-buffer-netty")
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "org.slf4j:slf4j-api:$slf4jVersion"
implementation "com.google.code.findbugs:jsr305"
implementation "org.slf4j:slf4j-api"

testImplementation testFixtures(project(":servicetalk-concurrent-api"))
testImplementation testFixtures(project(":servicetalk-concurrent-internal"))
Expand Down
3 changes: 2 additions & 1 deletion servicetalk-concurrent-test-internal/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,15 @@
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
api platform(project(":servicetalk-dependencies"))
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")

api project(":servicetalk-concurrent")

implementation project(":servicetalk-annotations")
implementation project(":servicetalk-concurrent-internal")
implementation project(":servicetalk-utils-internal")
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "com.google.code.findbugs:jsr305"

testImplementation testFixtures(project(":servicetalk-concurrent-internal"))
testImplementation project(":servicetalk-test-resources")
Expand Down
3 changes: 2 additions & 1 deletion servicetalk-concurrent/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
api platform(project(":servicetalk-dependencies"))
implementation project(":servicetalk-annotations")

implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "com.google.code.findbugs:jsr305"
}
3 changes: 2 additions & 1 deletion servicetalk-context-api/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
api platform(project(":servicetalk-dependencies"))
implementation project(":servicetalk-annotations")

implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "com.google.code.findbugs:jsr305"
}
8 changes: 4 additions & 4 deletions servicetalk-data-jackson-jersey/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
implementation platform("org.glassfish.jersey:jersey-bom:$jerseyVersion")
api platform(project(":servicetalk-dependencies"))
testImplementation enforcedPlatform("org.glassfish.jersey:jersey-bom:$jerseyVersion")
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")

api project(":servicetalk-data-jackson")
api "jakarta.ws.rs:jakarta.ws.rs-api:$jaxRsVersion" // MediaType, Feature
api "jakarta.ws.rs:jakarta.ws.rs-api" // MediaType, Feature
api "org.glassfish.jersey.core:jersey-common" // AutoDiscoverable

implementation project(":servicetalk-annotations")
Expand All @@ -34,9 +34,9 @@ dependencies {
implementation project(":servicetalk-http-router-jersey-internal")
implementation project(":servicetalk-http-utils")
implementation project(":servicetalk-transport-netty")
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "com.google.code.findbugs:jsr305"
implementation "org.glassfish.jersey.core:jersey-server"
implementation "org.slf4j:slf4j-api:$slf4jVersion"
implementation "org.slf4j:slf4j-api"

testImplementation testFixtures(project(":servicetalk-concurrent-api"))
testImplementation testFixtures(project(":servicetalk-concurrent-internal"))
Expand Down
5 changes: 3 additions & 2 deletions servicetalk-data-jackson/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,18 @@
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
api platform(project(":servicetalk-dependencies"))
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")

api project(":servicetalk-serialization-api")
api project(":servicetalk-serializer-api")
api "com.fasterxml.jackson.core:jackson-databind:$jacksonVersion"
api "com.fasterxml.jackson.core:jackson-databind"

implementation project(":servicetalk-annotations")
implementation project(":servicetalk-concurrent-api-internal")
implementation project(":servicetalk-concurrent-internal")
implementation project(":servicetalk-utils-internal")
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "com.google.code.findbugs:jsr305"

testImplementation testFixtures(project(":servicetalk-concurrent-api"))
testImplementation testFixtures(project(":servicetalk-concurrent-internal"))
Expand Down
10 changes: 5 additions & 5 deletions servicetalk-data-protobuf-jersey/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"
apply plugin: "com.google.protobuf"

dependencies {
implementation platform("org.glassfish.jersey:jersey-bom:$jerseyVersion")
api platform(project(":servicetalk-dependencies"))
testImplementation enforcedPlatform("org.glassfish.jersey:jersey-bom:$jerseyVersion")
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")

api "jakarta.ws.rs:jakarta.ws.rs-api:$jaxRsVersion" // MediaType, Feature
api "jakarta.ws.rs:jakarta.ws.rs-api" // MediaType, Feature
api "org.glassfish.jersey.core:jersey-common" // AutoDiscoverable

implementation project(":servicetalk-annotations")
Expand All @@ -41,10 +41,10 @@ dependencies {
implementation project(":servicetalk-http-router-jersey-internal")
implementation project(":servicetalk-http-utils")
implementation project(":servicetalk-transport-netty")
implementation "com.google.protobuf:protobuf-java:$protobufVersion"
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "com.google.protobuf:protobuf-java"
implementation "com.google.code.findbugs:jsr305"
implementation "org.glassfish.jersey.core:jersey-server"
implementation "org.slf4j:slf4j-api:$slf4jVersion"
implementation "org.slf4j:slf4j-api"

testImplementation testFixtures(project(":servicetalk-concurrent-api"))
testImplementation testFixtures(project(":servicetalk-concurrent-internal"))
Expand Down
5 changes: 3 additions & 2 deletions servicetalk-data-protobuf/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,20 @@ apply plugin: "com.google.protobuf"
ideaModule.dependsOn "generateTestProto"

dependencies {
api platform(project(":servicetalk-dependencies"))
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")

api project(":servicetalk-buffer-api")
api project(":servicetalk-concurrent-api")
api project(":servicetalk-serializer-api")
api "com.google.protobuf:protobuf-java:$protobufVersion"
api "com.google.protobuf:protobuf-java"

implementation project(":servicetalk-annotations")
implementation project(":servicetalk-concurrent-api-internal")
implementation project(":servicetalk-concurrent-internal")
implementation project(":servicetalk-serialization-api")
implementation project(":servicetalk-serializer-utils")
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
implementation "com.google.code.findbugs:jsr305"

testImplementation testFixtures(project(":servicetalk-concurrent-api"))
testImplementation testFixtures(project(":servicetalk-concurrent-internal"))
Expand Down
18 changes: 10 additions & 8 deletions servicetalk-dependencies/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,28 +26,30 @@ javaPlatform {
dependencies {
api platform(project(":servicetalk-bom"))
api platform("io.netty:netty-bom:${nettyVersion}")
api platform("com.fasterxml.jackson:jackson-bom:${jacksonVersion}")
api platform("com.google.protobuf:protobuf-bom:${protobufVersion}")
api platform("org.apache.logging.log4j:log4j-bom:${log4jVersion}")
api platform("org.glassfish.jersey:jersey-bom:${jerseyVersion}")

constraints {
// We don't use the jackson-bom because we want to target specifically jackson-databind
api "com.fasterxml.jackson.core:jackson-databind:$jacksonVersion"
api "com.google.api.grpc:proto-google-common-protos:$protoGoogleCommonProtosVersion"
api "com.google.code.findbugs:jsr305:$jsr305Version"
api "com.sun.activation:jakarta.activation:$javaxActivationVersion"
api "com.sun.xml.bind:jaxb-core:$javaxJaxbCoreVersion"
api "io.opentracing:opentracing-api:$openTracingVersion"
api "io.zipkin.reporter2:zipkin-reporter:$zipkinReporterVersion"
api "jakarta.ws.rs:jakarta.ws.rs-api:$jaxRsVersion"
api "jakarta.xml.bind:jakarta.xml.bind-api:$javaxJaxbApiVersion"
// Matchers are exposed by `servicetalk-test-resources`
api "org.hamcrest:hamcrest:$hamcrestVersion"
api "org.jctools:jctools-core:$jcToolsVersion"
api "org.openjdk.jmh:jmh-core:$jmhCoreVersion"
api "org.reactivestreams:reactive-streams:$reactiveStreamsVersion"
api "org.slf4j:slf4j-api:$slf4jVersion"

// Use `runtime` for dependencies which are used ONLY at runtime
runtime "com.google.code.findbugs:jsr305:$jsr305Version"
runtime "com.sun.activation:jakarta.activation:$javaxActivationVersion"
runtime "com.sun.xml.bind:jaxb-core:$javaxJaxbCoreVersion"
runtime "com.sun.xml.bind:jaxb-impl:$javaxJaxbImplVersion"
runtime "jakarta.xml.bind:jakarta.xml.bind-api:$javaxJaxbApiVersion"
runtime "org.jctools:jctools-core:$jcToolsVersion"
runtime "org.openjdk.jmh:jmh-core:$jmhCoreVersion"
runtime "org.slf4j:slf4j-api:$slf4jVersion"
}
}

Expand Down
Loading

0 comments on commit 0f0f86e

Please sign in to comment.