Skip to content

Commit

Permalink
Explicitly declare transitive dependencies that we use directly (#3164)
Browse files Browse the repository at this point in the history
Motivation:

Dependency-analysis plugin detected that some dependencies that we use
directly not declared in our build configuration.

Modifications:

1. This PR only adds missing dependencies. It does not remove anything.
If you see a removed line, it only means I sorted existing dependencies
in alphabetical order.
2. Adds `opentelemetry-instrumentation-bom` to
`servicetalk-dependencies`.

Result:

Addresses "These transitive dependencies should be declared directly"
warning from dependency-analysis plugin.

Risk:

Because we only add missed dependencies, there is no risk of breaking existing
users.
  • Loading branch information
idelpivnitskiy authored Jan 10, 2025
1 parent 8951931 commit 373299a
Show file tree
Hide file tree
Showing 60 changed files with 453 additions and 37 deletions.
9 changes: 8 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -40,25 +40,31 @@ slf4jVersion=1.7.36

# Jersey 2
javaxActivationVersion=1.2.2
javaxAnnotationsApiVersion=1.3.5
javaxJaxbApiVersion=2.3.3
javaxJaxbCoreVersion=2.3.0.1
javaxJaxbImplVersion=2.3.3
javaxInjectVersion=2.6.1
jaxRsVersion=2.1.6
jerseyVersion=2.41

#Jersey 3.0 - Jakarta EE 9
javaxActivationVersionEE9=2.0.1
javaxAnnotationsApiVersionEE9=2.0.0
javaxJaxbApiVersionEE9=3.0.1
javaxJaxbCoreVersionEE9=3.0.2
javaxJaxbImplVersionEE9=3.0.2
javaxInjectVersionEE9=2.0.1
jaxRsVersionEE9=3.0.0
jersey3VersionEE9=3.0.17

#Jersey 3.1 - Jakarta EE 10
javaxActivationVersionEE10=2.1.3
javaxAnnotationsApiVersionEE10=2.1.1
javaxJaxbApiVersionEE10=4.0.2
javaxJaxbCoreVersionEE10=4.0.5
javaxJaxbImplVersionEE10=4.0.5
javaxInjectVersionEE10=2.0.1
jaxRsVersionEE10=3.1.0
jersey3VersionEE10=3.1.9

Expand All @@ -69,8 +75,9 @@ jacksonVersion=2.16.2

openTracingVersion=0.33.0
zipkinReporterVersion=2.17.2
zipkinVersion=2.27.0
opentelemetryVersion=1.38.0
opentelemetryInstrumentationVersion=1.33.3-alpha
opentelemetryInstrumentationVersion=1.33.3

# gRPC
protobufGradlePluginVersion=0.9.4
Expand Down
16 changes: 14 additions & 2 deletions servicetalk-benchmarks/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,30 @@ plugins {
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
implementation platform("com.fasterxml.jackson:jackson-bom:$jacksonVersion")
implementation platform("io.netty:netty-bom:$nettyVersion")
implementation project(":servicetalk-annotations")
implementation project(":servicetalk-buffer-api")
implementation project(":servicetalk-buffer-netty")
implementation project(":servicetalk-client-api")
implementation project(":servicetalk-concurrent")
implementation project(":servicetalk-concurrent-api")
implementation project(":servicetalk-concurrent-api-internal")
implementation project(":servicetalk-concurrent-internal")
implementation project(":servicetalk-context-api")
implementation project(":servicetalk-data-jackson")
implementation project(":servicetalk-http-api")
implementation project(":servicetalk-http-netty")
implementation project(":servicetalk-transport-netty-internal")
implementation project(":servicetalk-loadbalancer")
implementation project(":servicetalk-data-jackson")
implementation project(":servicetalk-serializer-api")
implementation project(":servicetalk-transport-api")
implementation project(":servicetalk-transport-netty-internal")
implementation "com.fasterxml.jackson.core:jackson-core"
implementation "com.fasterxml.jackson.core:jackson-databind"
implementation "io.netty:netty-buffer"
implementation "io.netty:netty-codec-http"
implementation "io.netty:netty-common"
implementation "io.netty:netty-transport"
implementation "org.openjdk.jmh:jmh-core:$jmhCoreVersion"
}

Expand Down
1 change: 1 addition & 0 deletions servicetalk-circuit-breaker-resilience4j/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ dependencies {
api "io.github.resilience4j:resilience4j-circuitbreaker:$resilience4jVersion"

implementation project(":servicetalk-annotations")
implementation "io.github.resilience4j:resilience4j-core:$resilience4jVersion"

testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")
testImplementation "org.junit.jupiter:junit-jupiter-api"
Expand Down
1 change: 1 addition & 0 deletions servicetalk-client-api-internal/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ dependencies {
api project(":servicetalk-concurrent-api")

implementation project(":servicetalk-annotations")
implementation project(":servicetalk-concurrent")
implementation project(":servicetalk-concurrent-api-internal")
implementation project(":servicetalk-concurrent-internal")
implementation "org.slf4j:slf4j-api:$slf4jVersion"
Expand Down
2 changes: 2 additions & 0 deletions servicetalk-client-api/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,11 @@ apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
api project(":servicetalk-concurrent-api")
api project(":servicetalk-context-api")
api project(":servicetalk-transport-api")

implementation project(":servicetalk-annotations")
implementation project(":servicetalk-concurrent")
implementation project(":servicetalk-concurrent-api-internal")
implementation project(":servicetalk-concurrent-internal")
implementation "org.slf4j:slf4j-api:$slf4jVersion"
Expand Down
4 changes: 3 additions & 1 deletion 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 {
api project(":servicetalk-concurrent")
api project(":servicetalk-concurrent-api")
api project(":servicetalk-oio-api")

Expand All @@ -31,8 +32,9 @@ dependencies {
testImplementation testFixtures(project(":servicetalk-concurrent-api"))
testImplementation testFixtures(project(":servicetalk-concurrent-internal"))
testImplementation project(":servicetalk-buffer-netty")
testImplementation project(":servicetalk-test-resources")
testImplementation project(":servicetalk-concurrent-test-internal")
testImplementation project(":servicetalk-context-api")
testImplementation project(":servicetalk-test-resources")
testImplementation "org.junit.jupiter:junit-jupiter-api"
testImplementation "org.junit.jupiter:junit-jupiter-params"
testImplementation "org.hamcrest:hamcrest:$hamcrestVersion"
Expand Down
2 changes: 2 additions & 0 deletions 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 {
api project(":servicetalk-concurrent")
api project(":servicetalk-concurrent-api")

implementation project(":servicetalk-annotations")
Expand All @@ -27,6 +28,7 @@ dependencies {
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")
testImplementation testFixtures(project(":servicetalk-concurrent-internal"))
testImplementation testFixtures(project(":servicetalk-concurrent-api"))
testImplementation project(":servicetalk-context-api")
testImplementation project(":servicetalk-test-resources")
testImplementation "org.junit.jupiter:junit-jupiter-api"
testImplementation "org.hamcrest:hamcrest:$hamcrestVersion"
Expand Down
2 changes: 2 additions & 0 deletions servicetalk-concurrent-api/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ dependencies {
testImplementation "org.hamcrest:hamcrest:$hamcrestVersion"
testImplementation "org.mockito:mockito-core:$mockitoCoreVersion"

testFixturesApi project(":servicetalk-concurrent")

testFixturesImplementation platform("org.junit:junit-bom:$junit5Version")
testFixturesImplementation project(":servicetalk-concurrent-internal")
testFixturesImplementation project(":servicetalk-utils-internal")
Expand Down
1 change: 1 addition & 0 deletions servicetalk-concurrent-jdkflow/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ compileTestJava {
}

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

implementation project(":servicetalk-annotations")
Expand Down
5 changes: 5 additions & 0 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 {
api project(":servicetalk-concurrent")
api project(":servicetalk-concurrent-api")
api "org.reactivestreams:reactive-streams:$reactiveStreamsVersion"

Expand All @@ -28,12 +29,16 @@ dependencies {
testImplementation enforcedPlatform("org.junit:junit-bom:$junit5Version")
testImplementation testFixtures(project(":servicetalk-concurrent-api"))
testImplementation testFixtures(project(":servicetalk-concurrent-internal"))
testImplementation project(":servicetalk-buffer-api")
testImplementation project(":servicetalk-serializer-api")
testImplementation project(":servicetalk-test-resources")
testImplementation "org.junit.jupiter:junit-jupiter-api"
testImplementation "org.mockito:mockito-core:$mockitoCoreVersion"
testImplementation "org.hamcrest:hamcrest:$hamcrestVersion"
testImplementation "org.testng:testng:$testngVersion"

testFixturesApi project(":servicetalk-concurrent-api")
testFixturesApi "org.reactivestreams:reactive-streams:$reactiveStreamsVersion"
testFixturesApi "org.reactivestreams:reactive-streams-tck:$reactiveStreamsVersion"
testFixturesImplementation testFixtures(project(":servicetalk-concurrent-internal"))
}
Expand Down
12 changes: 12 additions & 0 deletions servicetalk-data-jackson-jersey/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,24 +17,36 @@
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

def actualJerseyVersion = "${jerseyVersion}"
def actualJavaxAnnotationsApiVersion = "${javaxAnnotationsApiVersion}"
def actualJavaxInjectVersion = "${javaxInjectVersion}"
def actualJaxRsVersion = "${jaxRsVersion}"

// Dependencies must remain consistent between servicetalk-data-jackson-jerseyX modules
dependencies {
api platform("org.glassfish.jersey:jersey-bom:$actualJerseyVersion")
api platform("com.fasterxml.jackson:jackson-bom:$jacksonVersion")
api project(":servicetalk-data-jackson")
api "jakarta.annotation:jakarta.annotation-api:$actualJavaxAnnotationsApiVersion" // Priority
api "jakarta.ws.rs:jakarta.ws.rs-api:$actualJaxRsVersion" // MediaType, Feature
api "com.fasterxml.jackson.core:jackson-databind" // ObjectMapper
api "org.glassfish.jersey.core:jersey-common" // AutoDiscoverable

implementation project(":servicetalk-annotations")
implementation project(":servicetalk-buffer-api")
implementation project(":servicetalk-buffer-netty")
implementation project(":servicetalk-concurrent-api")
implementation project(":servicetalk-concurrent-api-internal")
implementation project(":servicetalk-concurrent-internal")
implementation project(":servicetalk-http-api")
implementation project(":servicetalk-http-router-jersey")
implementation project(":servicetalk-http-router-jersey-internal")
implementation project(":servicetalk-http-utils")
implementation project(":servicetalk-serialization-api")
implementation project(":servicetalk-serializer-api")
implementation project(":servicetalk-transport-api")
implementation project(":servicetalk-transport-netty")
implementation "com.fasterxml.jackson.core:jackson-core"
implementation "org.glassfish.hk2.external:jakarta.inject:$actualJavaxInjectVersion"
implementation "org.glassfish.jersey.core:jersey-server"
implementation "org.slf4j:slf4j-api:$slf4jVersion"

Expand Down
12 changes: 12 additions & 0 deletions servicetalk-data-jackson-jersey3-jakarta10/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -77,24 +77,36 @@ afterEvaluate {
}

def actualJerseyVersion = "${jersey3VersionEE10}"
def actualJavaxAnnotationsApiVersion = "${javaxAnnotationsApiVersionEE10}"
def actualJavaxInjectVersion = "${javaxInjectVersionEE10}"
def actualJaxRsVersion = "${jaxRsVersionEE10}"

// Dependencies must remain consistent between servicetalk-data-jackson-jerseyX modules
dependencies {
api platform("org.glassfish.jersey:jersey-bom:$actualJerseyVersion")
api platform("com.fasterxml.jackson:jackson-bom:$jacksonVersion")
api project(":servicetalk-data-jackson")
api "jakarta.annotation:jakarta.annotation-api:$actualJavaxAnnotationsApiVersion" // Priority
api "jakarta.ws.rs:jakarta.ws.rs-api:$actualJaxRsVersion" // MediaType, Feature
api "com.fasterxml.jackson.core:jackson-databind" // ObjectMapper
api "org.glassfish.jersey.core:jersey-common" // AutoDiscoverable

implementation project(":servicetalk-annotations")
implementation project(":servicetalk-buffer-api")
implementation project(":servicetalk-buffer-netty")
implementation project(":servicetalk-concurrent-api")
implementation project(":servicetalk-concurrent-api-internal")
implementation project(":servicetalk-concurrent-internal")
implementation project(":servicetalk-http-api")
implementation project(":servicetalk-http-router-jersey3-jakarta10")
implementation project(":servicetalk-http-router-jersey3-jakarta10-internal")
implementation project(":servicetalk-http-utils")
implementation project(":servicetalk-serialization-api")
implementation project(":servicetalk-serializer-api")
implementation project(":servicetalk-transport-api")
implementation project(":servicetalk-transport-netty")
implementation "com.fasterxml.jackson.core:jackson-core"
implementation "jakarta.inject:jakarta.inject-api:$actualJavaxInjectVersion"
implementation "org.glassfish.jersey.core:jersey-server"
implementation "org.slf4j:slf4j-api:$slf4jVersion"

Expand Down
12 changes: 12 additions & 0 deletions servicetalk-data-jackson-jersey3-jakarta9/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -77,24 +77,36 @@ afterEvaluate {
}

def actualJerseyVersion = "${jersey3VersionEE9}"
def actualJavaxAnnotationsApiVersion = "${javaxAnnotationsApiVersionEE9}"
def actualJavaxInjectVersion = "${javaxInjectVersionEE9}"
def actualJaxRsVersion = "${jaxRsVersionEE9}"

// Dependencies must remain consistent between servicetalk-data-jackson-jerseyX modules
dependencies {
api platform("org.glassfish.jersey:jersey-bom:$actualJerseyVersion")
api platform("com.fasterxml.jackson:jackson-bom:$jacksonVersion")
api project(":servicetalk-data-jackson")
api "jakarta.annotation:jakarta.annotation-api:$actualJavaxAnnotationsApiVersion" // Priority
api "jakarta.ws.rs:jakarta.ws.rs-api:$actualJaxRsVersion" // MediaType, Feature
api "com.fasterxml.jackson.core:jackson-databind" // ObjectMapper
api "org.glassfish.jersey.core:jersey-common" // AutoDiscoverable

implementation project(":servicetalk-annotations")
implementation project(":servicetalk-buffer-api")
implementation project(":servicetalk-buffer-netty")
implementation project(":servicetalk-concurrent-api")
implementation project(":servicetalk-concurrent-api-internal")
implementation project(":servicetalk-concurrent-internal")
implementation project(":servicetalk-http-api")
implementation project(":servicetalk-http-router-jersey3-jakarta9")
implementation project(":servicetalk-http-router-jersey3-jakarta9-internal")
implementation project(":servicetalk-http-utils")
implementation project(":servicetalk-serialization-api")
implementation project(":servicetalk-serializer-api")
implementation project(":servicetalk-transport-api")
implementation project(":servicetalk-transport-netty")
implementation "com.fasterxml.jackson.core:jackson-core"
implementation "jakarta.inject:jakarta.inject-api:$actualJavaxInjectVersion"
implementation "org.glassfish.jersey.core:jersey-server"
implementation "org.slf4j:slf4j-api:$slf4jVersion"

Expand Down
4 changes: 4 additions & 0 deletions servicetalk-data-jackson/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,15 @@ apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"

dependencies {
api platform("com.fasterxml.jackson:jackson-bom:$jacksonVersion")
api project(":servicetalk-buffer-api")
api project(":servicetalk-serialization-api")
api project(":servicetalk-serializer-api")
api "com.fasterxml.jackson.core:jackson-core"
api "com.fasterxml.jackson.core:jackson-databind"

implementation project(":servicetalk-annotations")
implementation project(":servicetalk-concurrent")
implementation project(":servicetalk-concurrent-api")
implementation project(":servicetalk-concurrent-api-internal")
implementation project(":servicetalk-concurrent-internal")
implementation project(":servicetalk-utils-internal")
Expand Down
8 changes: 8 additions & 0 deletions servicetalk-data-protobuf-jersey/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,26 +24,34 @@ apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-library"
apply plugin: "com.google.protobuf"

def actualJerseyVersion = "${jerseyVersion}"
def actualJavaxAnnotationsApiVersion = "${javaxAnnotationsApiVersion}"
def actualJavaxInjectVersion = "${javaxInjectVersion}"
def actualJaxRsVersion = "${jaxRsVersion}"

// Dependencies must remain consistent between servicetalk-data-protobuf-jerseyX modules
dependencies {
api platform("org.glassfish.jersey:jersey-bom:$actualJerseyVersion")
api "jakarta.annotation:jakarta.annotation-api:$actualJavaxAnnotationsApiVersion" // Priority
api "jakarta.ws.rs:jakarta.ws.rs-api:$actualJaxRsVersion" // MediaType, Feature
api "org.glassfish.jersey.core:jersey-common" // AutoDiscoverable

implementation platform("com.google.protobuf:protobuf-bom:$protobufVersion")
implementation project(":servicetalk-annotations")
implementation project(":servicetalk-buffer-api")
implementation project(":servicetalk-buffer-netty")
implementation project(":servicetalk-concurrent-api")
implementation project(":servicetalk-concurrent-api-internal")
implementation project(":servicetalk-concurrent-internal")
implementation project(":servicetalk-data-protobuf")
implementation project(":servicetalk-http-api")
implementation project(":servicetalk-http-router-jersey")
implementation project(":servicetalk-http-router-jersey-internal")
implementation project(":servicetalk-http-utils")
implementation project(":servicetalk-serializer-api")
implementation project(":servicetalk-transport-api")
implementation project(":servicetalk-transport-netty")
implementation "com.google.protobuf:protobuf-java"
implementation "org.glassfish.hk2.external:jakarta.inject:$actualJavaxInjectVersion"
implementation "org.glassfish.jersey.core:jersey-server"
implementation "org.slf4j:slf4j-api:$slf4jVersion"

Expand Down
8 changes: 8 additions & 0 deletions servicetalk-data-protobuf-jersey3-jakarta10/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -85,26 +85,34 @@ afterEvaluate {
}

def actualJerseyVersion = "${jersey3VersionEE10}"
def actualJavaxAnnotationsApiVersion = "${javaxAnnotationsApiVersionEE10}"
def actualJavaxInjectVersion = "${javaxInjectVersionEE10}"
def actualJaxRsVersion = "${jaxRsVersionEE10}"

// Dependencies must remain consistent between servicetalk-data-protobuf-jerseyX modules
dependencies {
api platform("org.glassfish.jersey:jersey-bom:$actualJerseyVersion")
api "jakarta.annotation:jakarta.annotation-api:$actualJavaxAnnotationsApiVersion" // Priority
api "jakarta.ws.rs:jakarta.ws.rs-api:$actualJaxRsVersion" // MediaType, Feature
api "org.glassfish.jersey.core:jersey-common" // AutoDiscoverable

implementation platform("com.google.protobuf:protobuf-bom:$protobufVersion")
implementation project(":servicetalk-annotations")
implementation project(":servicetalk-buffer-api")
implementation project(":servicetalk-buffer-netty")
implementation project(":servicetalk-concurrent-api")
implementation project(":servicetalk-concurrent-api-internal")
implementation project(":servicetalk-concurrent-internal")
implementation project(":servicetalk-data-protobuf")
implementation project(":servicetalk-http-api")
implementation project(":servicetalk-http-router-jersey3-jakarta10")
implementation project(":servicetalk-http-router-jersey3-jakarta10-internal")
implementation project(":servicetalk-http-utils")
implementation project(":servicetalk-serializer-api")
implementation project(":servicetalk-transport-api")
implementation project(":servicetalk-transport-netty")
implementation "com.google.protobuf:protobuf-java"
implementation "jakarta.inject:jakarta.inject-api:$actualJavaxInjectVersion"
implementation "org.glassfish.jersey.core:jersey-server"
implementation "org.slf4j:slf4j-api:$slf4jVersion"

Expand Down
Loading

0 comments on commit 373299a

Please sign in to comment.