Skip to content

Commit

Permalink
chore: Remove unnecessary dependency, add missing direct dependencies (
Browse files Browse the repository at this point in the history
…#6670)

Authentication unnecessarily depends on our generated proto/grpc types,
which means all manner of other projects must wait for our proto project
to build, and pick up all sorts of transitive dependencies. This patch
removes that build dependency (improving build parallelization
slightly), and also identified various direct dependencies that should
have previously been declared.

This mostly comes from grpc-api - for reasons that I don't yet
understand, even though grpc-api declares guava to be an
`implementation` dependency, when grpc-api itself is an `api` dependency
this causes Gradle to pick up transitive guava as an implementation
dependency, so all downstream projects end up getting it on their
classpath for free. The jsr305 dependency at least is explicitly
declared as `api` in grpc-api, so that one makes sense.
  • Loading branch information
niloc132 authored Mar 3, 2025
1 parent 5ae5e35 commit 0e5a012
Show file tree
Hide file tree
Showing 9 changed files with 19 additions and 2 deletions.
1 change: 1 addition & 0 deletions Integrations/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ dependencies {
implementation project(':log-factory')
implementation project(":util-thread")
implementation libs.commons.lang3
implementation libs.google.findbugs.jsr305

testImplementation project(':engine-test-utils')
testImplementation project(path: ':Base', configuration: 'tests')
Expand Down
1 change: 0 additions & 1 deletion authentication/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ plugins {
description 'authentication: Deephaven authentication and identity'

dependencies {
api project(':proto:proto-backplane-grpc')
implementation project(':log-factory')
implementation project(':Configuration')

Expand Down
2 changes: 2 additions & 0 deletions authentication/example-providers/mtls/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,6 @@ plugins {

dependencies {
shadow project(':grpc-java:grpc-mtls')
shadow platform(libs.grpc.bom)
shadow libs.grpc.api
}
2 changes: 2 additions & 0 deletions authorization-codegen/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,6 @@ dependencies {
implementation libs.grpc.services

implementation libs.squareup.javapoet

implementation libs.protobuf.java
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,20 @@ PublishingTools.setupPublications(project) { publication ->
def dependenciesNode = root.appendNode('dependencies')

project.configurations.shadow.allDependencies.each {
if ((it instanceof ProjectDependency) || ! (it instanceof SelfResolvingDependency)) {
if ((it instanceof ProjectDependency)) {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
BasePluginConvention base = it.dependencyProject.convention.getPlugin(BasePluginConvention)

dependencyNode.appendNode('artifactId', base.archivesBaseName)
dependencyNode.appendNode('version', it.version)
dependencyNode.appendNode('scope', 'runtime')
} else if (! (it instanceof SelfResolvingDependency)) {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
dependencyNode.appendNode('scope', 'runtime')
}
}
}
Expand Down
2 changes: 2 additions & 0 deletions extensions/iceberg/s3/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ dependencies {
// actually calls it?), but we need to be able to compile against it to implement AwsClientFactory
compileOnly libs.awssdk.kms

implementation libs.guava

compileOnly libs.autoservice
annotationProcessor libs.autoservice.compiler

Expand Down
2 changes: 2 additions & 0 deletions extensions/parquet/table/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ dependencies {
implementation libs.jackson.dataformat.yaml
implementation libs.jackson.datatype.jdk8

implementation libs.guava

compileOnly project(':util-immutables')
annotationProcessor libs.immutables.value

Expand Down
1 change: 1 addition & 0 deletions extensions/performance/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ dependencies {
implementation project(':DHProcess')
implementation project(':engine-table')
implementation project(':Plot')
implementation libs.guava
compileOnly libs.autoservice
annotationProcessor libs.autoservice.compiler
implementation libs.groovy
Expand Down
2 changes: 2 additions & 0 deletions web/client-api/client-api.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ dependencies {

js project(path: ':proto:raw-js-openapi', configuration: 'js')

implementation libs.guava

testImplementation libs.junit4
testImplementation libs.selenium.remote.driver

Expand Down

0 comments on commit 0e5a012

Please sign in to comment.