Skip to content

Commit f5a33b6

Browse files
committed
Explicit version alignment between gradle configurations (#4140)
These gradle changes ensure that *one* version of each library is chosen. It will align the compile, runtime, runtimeLibs and solrPlatformLibs. This gives less risk of drift, and more often let BOM decide effective version chosen (cherry picked from commit a0c686f)
1 parent 7830acb commit f5a33b6

File tree

11 files changed

+42
-15
lines changed

11 files changed

+42
-15
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
title: Gradle now syncs dependency versions across more configurations, forcing the choosing of one version in most cases
2+
type: other
3+
authors:
4+
- name: Jan Høydahl
5+
- name: David Smiley
6+
- name: Christos Malliaridis
7+
links:
8+
- name: PR#4140
9+
url: https://github.com/apache/solr/pull/4140
10+
11+

gradle/solr/packaging.gradle

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ configure(allprojects
5555
packaging
5656
}
5757

58+
// Align packaging configurations with tested runtimeClasspath versions
59+
// This ensures the distribution contains the same library versions that were tested
60+
alignWithRuntimeClasspath(configurations.runtimeLibs)
61+
alignWithRuntimeClasspath(configurations.solrPlatformLibs)
62+
5863
dependencies {
5964
solrPlatformLibs project(":solr:core")
6065
solrPlatformLibs project(":solr:solrj")

gradle/validation/dependencies.gradle

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,21 @@ allprojects {
4141
ignoredDependencies.add("org.jetbrains.skiko:skiko-awt-runtime-*")
4242
}
4343

44+
// Configure consistent dependency resolution across configurations
45+
plugins.withType(JavaPlugin) {
46+
project.java {
47+
consistentResolution {
48+
useCompileClasspathVersions()
49+
}
50+
}
51+
}
52+
53+
// Helper to align a configuration to use the same dependency versions as runtimeClasspath.
54+
// This ensures that packaging/distribution and validation use the same versions that were tested.
55+
ext.alignWithRuntimeClasspath = { Configuration conf ->
56+
conf.shouldResolveConsistentlyWith(project.configurations.runtimeClasspath)
57+
}
58+
4459
dependencies {
4560
modules {
4661
module("org.hamcrest:hamcrest-core") {

gradle/validation/jar-checks.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,10 @@ subprojects {
9191
extendsFrom testCompileClasspath
9292
}
9393
}
94+
95+
// Align jarValidation with tested runtimeClasspath versions
96+
// This ensures validation uses the same versions that were tested
97+
alignWithRuntimeClasspath(configurations.jarValidation)
9498
}
9599

96100
// Collects dependency JAR information for a project and saves it in

solr/cross-dc-manager/gradle.lockfile

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,8 @@ io.netty:netty-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspat
7777
io.netty:netty-handler-proxy:4.2.6.Final=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath
7878
io.netty:netty-handler:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
7979
io.netty:netty-resolver:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
80-
io.netty:netty-tcnative-boringssl-static:2.0.70.Final=compileClasspath,solrPlatformLibs,testCompileClasspath
81-
io.netty:netty-tcnative-boringssl-static:2.0.73.Final=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath
82-
io.netty:netty-tcnative-classes:2.0.70.Final=compileClasspath,solrPlatformLibs,testCompileClasspath
83-
io.netty:netty-tcnative-classes:2.0.73.Final=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath
80+
io.netty:netty-tcnative-boringssl-static:2.0.70.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
81+
io.netty:netty-tcnative-classes:2.0.70.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
8482
io.netty:netty-transport-classes-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
8583
io.netty:netty-transport-native-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
8684
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath

solr/licenses/grpc-api-1.70.0.jar.sha1

Lines changed: 0 additions & 1 deletion
This file was deleted.

solr/licenses/netty-tcnative-boringssl-static-2.0.73.Final.jar.sha1

Lines changed: 0 additions & 1 deletion
This file was deleted.

solr/licenses/netty-tcnative-classes-2.0.73.Final.jar.sha1

Lines changed: 0 additions & 1 deletion
This file was deleted.

solr/modules/gcs-repository/gradle.lockfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,7 @@ io.dropwizard.metrics:metrics-jetty12:4.2.26=jarValidation,testRuntimeClasspath
6969
io.github.eisop:dataflow-errorprone:3.41.0-eisop1=annotationProcessor,errorprone,testAnnotationProcessor
7070
io.github.java-diff-utils:java-diff-utils:4.12=annotationProcessor,errorprone,testAnnotationProcessor
7171
io.grpc:grpc-alts:1.65.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
72-
io.grpc:grpc-api:1.65.1=compileClasspath,testCompileClasspath
73-
io.grpc:grpc-api:1.70.0=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath
72+
io.grpc:grpc-api:1.65.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
7473
io.grpc:grpc-auth:1.65.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
7574
io.grpc:grpc-bom:1.65.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
7675
io.grpc:grpc-context:1.70.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath

solr/modules/opentelemetry/gradle.lockfile

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,8 @@ io.netty:netty-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspat
6565
io.netty:netty-handler-proxy:4.2.6.Final=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath
6666
io.netty:netty-handler:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
6767
io.netty:netty-resolver:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
68-
io.netty:netty-tcnative-boringssl-static:2.0.70.Final=solrPlatformLibs
69-
io.netty:netty-tcnative-boringssl-static:2.0.73.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
70-
io.netty:netty-tcnative-classes:2.0.70.Final=solrPlatformLibs
71-
io.netty:netty-tcnative-classes:2.0.73.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
68+
io.netty:netty-tcnative-boringssl-static:2.0.73.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
69+
io.netty:netty-tcnative-classes:2.0.73.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
7270
io.netty:netty-transport-classes-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
7371
io.netty:netty-transport-native-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
7472
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath

0 commit comments

Comments
 (0)