This is an automated email from the ASF dual-hosted git repository.
janhoy pushed a commit to branch branch_10x
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/branch_10x by this push:
new f5a33b64d84 Explicit version alignment between gradle configurations
(#4140)
f5a33b64d84 is described below
commit f5a33b64d84093681fbafa1c2adf106fa15e4dfb
Author: Jan Høydahl <[email protected]>
AuthorDate: Fri Feb 20 21:39:38 2026 +0100
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 a0c686fef976aaac47150313fb8a8e377ca466f4)
---
changelog/unreleased/PR#4140-gradle-sync-versions.yml | 11 +++++++++++
gradle/solr/packaging.gradle | 5 +++++
gradle/validation/dependencies.gradle | 15 +++++++++++++++
gradle/validation/jar-checks.gradle | 4 ++++
solr/cross-dc-manager/gradle.lockfile | 6 ++----
solr/licenses/grpc-api-1.70.0.jar.sha1 | 1 -
.../netty-tcnative-boringssl-static-2.0.73.Final.jar.sha1 | 1 -
.../licenses/netty-tcnative-classes-2.0.73.Final.jar.sha1 | 1 -
solr/modules/gcs-repository/gradle.lockfile | 3 +--
solr/modules/opentelemetry/gradle.lockfile | 6 ++----
solr/modules/s3-repository/gradle.lockfile | 4 ++--
11 files changed, 42 insertions(+), 15 deletions(-)
diff --git a/changelog/unreleased/PR#4140-gradle-sync-versions.yml
b/changelog/unreleased/PR#4140-gradle-sync-versions.yml
new file mode 100644
index 00000000000..ede61692caa
--- /dev/null
+++ b/changelog/unreleased/PR#4140-gradle-sync-versions.yml
@@ -0,0 +1,11 @@
+title: Gradle now syncs dependency versions across more configurations,
forcing the choosing of one version in most cases
+type: other
+authors:
+ - name: Jan Høydahl
+ - name: David Smiley
+ - name: Christos Malliaridis
+links:
+ - name: PR#4140
+ url: https://github.com/apache/solr/pull/4140
+
+
diff --git a/gradle/solr/packaging.gradle b/gradle/solr/packaging.gradle
index d1706b4c577..54823d80f0f 100644
--- a/gradle/solr/packaging.gradle
+++ b/gradle/solr/packaging.gradle
@@ -55,6 +55,11 @@ configure(allprojects
packaging
}
+ // Align packaging configurations with tested runtimeClasspath versions
+ // This ensures the distribution contains the same library versions that
were tested
+ alignWithRuntimeClasspath(configurations.runtimeLibs)
+ alignWithRuntimeClasspath(configurations.solrPlatformLibs)
+
dependencies {
solrPlatformLibs project(":solr:core")
solrPlatformLibs project(":solr:solrj")
diff --git a/gradle/validation/dependencies.gradle
b/gradle/validation/dependencies.gradle
index 87c00ae2ed7..73767e4ad95 100644
--- a/gradle/validation/dependencies.gradle
+++ b/gradle/validation/dependencies.gradle
@@ -41,6 +41,21 @@ allprojects {
ignoredDependencies.add("org.jetbrains.skiko:skiko-awt-runtime-*")
}
+ // Configure consistent dependency resolution across configurations
+ plugins.withType(JavaPlugin) {
+ project.java {
+ consistentResolution {
+ useCompileClasspathVersions()
+ }
+ }
+ }
+
+ // Helper to align a configuration to use the same dependency versions as
runtimeClasspath.
+ // This ensures that packaging/distribution and validation use the same
versions that were tested.
+ ext.alignWithRuntimeClasspath = { Configuration conf ->
+ conf.shouldResolveConsistentlyWith(project.configurations.runtimeClasspath)
+ }
+
dependencies {
modules {
module("org.hamcrest:hamcrest-core") {
diff --git a/gradle/validation/jar-checks.gradle
b/gradle/validation/jar-checks.gradle
index b0c97bb5158..152bc476ad7 100644
--- a/gradle/validation/jar-checks.gradle
+++ b/gradle/validation/jar-checks.gradle
@@ -91,6 +91,10 @@ subprojects {
extendsFrom testCompileClasspath
}
}
+
+ // Align jarValidation with tested runtimeClasspath versions
+ // This ensures validation uses the same versions that were tested
+ alignWithRuntimeClasspath(configurations.jarValidation)
}
// Collects dependency JAR information for a project and saves it in
diff --git a/solr/cross-dc-manager/gradle.lockfile
b/solr/cross-dc-manager/gradle.lockfile
index ca8999d0c32..a020c9f7bef 100644
--- a/solr/cross-dc-manager/gradle.lockfile
+++ b/solr/cross-dc-manager/gradle.lockfile
@@ -77,10 +77,8 @@
io.netty:netty-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspat
io.netty:netty-handler-proxy:4.2.6.Final=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath
io.netty:netty-handler:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
io.netty:netty-resolver:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-io.netty:netty-tcnative-boringssl-static:2.0.70.Final=compileClasspath,solrPlatformLibs,testCompileClasspath
-io.netty:netty-tcnative-boringssl-static:2.0.73.Final=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath
-io.netty:netty-tcnative-classes:2.0.70.Final=compileClasspath,solrPlatformLibs,testCompileClasspath
-io.netty:netty-tcnative-classes:2.0.73.Final=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath
+io.netty:netty-tcnative-boringssl-static:2.0.70.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+io.netty:netty-tcnative-classes:2.0.70.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
io.netty:netty-transport-classes-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
io.netty:netty-transport-native-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/licenses/grpc-api-1.70.0.jar.sha1
b/solr/licenses/grpc-api-1.70.0.jar.sha1
deleted file mode 100644
index 7897ebe6e39..00000000000
--- a/solr/licenses/grpc-api-1.70.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-c0d185f8435e2dbc9b0f430d1e89600858ee24ee
diff --git
a/solr/licenses/netty-tcnative-boringssl-static-2.0.73.Final.jar.sha1
b/solr/licenses/netty-tcnative-boringssl-static-2.0.73.Final.jar.sha1
deleted file mode 100644
index 0bea976dc34..00000000000
--- a/solr/licenses/netty-tcnative-boringssl-static-2.0.73.Final.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-de7380a74a7611e9937dd2106abfde5b405dbd15
diff --git a/solr/licenses/netty-tcnative-classes-2.0.73.Final.jar.sha1
b/solr/licenses/netty-tcnative-classes-2.0.73.Final.jar.sha1
deleted file mode 100644
index 048e8b91eba..00000000000
--- a/solr/licenses/netty-tcnative-classes-2.0.73.Final.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-f50d875a46e4a7768f35dbc26fb796fd791b8b09
diff --git a/solr/modules/gcs-repository/gradle.lockfile
b/solr/modules/gcs-repository/gradle.lockfile
index 12be94a7176..5587144fc86 100644
--- a/solr/modules/gcs-repository/gradle.lockfile
+++ b/solr/modules/gcs-repository/gradle.lockfile
@@ -69,8 +69,7 @@
io.dropwizard.metrics:metrics-jetty12:4.2.26=jarValidation,testRuntimeClasspath
io.github.eisop:dataflow-errorprone:3.41.0-eisop1=annotationProcessor,errorprone,testAnnotationProcessor
io.github.java-diff-utils:java-diff-utils:4.12=annotationProcessor,errorprone,testAnnotationProcessor
io.grpc:grpc-alts:1.65.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
-io.grpc:grpc-api:1.65.1=compileClasspath,testCompileClasspath
-io.grpc:grpc-api:1.70.0=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath
+io.grpc:grpc-api:1.65.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
io.grpc:grpc-auth:1.65.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
io.grpc:grpc-bom:1.65.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
io.grpc:grpc-context:1.70.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/modules/opentelemetry/gradle.lockfile
b/solr/modules/opentelemetry/gradle.lockfile
index 5212ab9c137..134b041b4aa 100644
--- a/solr/modules/opentelemetry/gradle.lockfile
+++ b/solr/modules/opentelemetry/gradle.lockfile
@@ -65,10 +65,8 @@
io.netty:netty-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspat
io.netty:netty-handler-proxy:4.2.6.Final=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath
io.netty:netty-handler:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
io.netty:netty-resolver:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-io.netty:netty-tcnative-boringssl-static:2.0.70.Final=solrPlatformLibs
-io.netty:netty-tcnative-boringssl-static:2.0.73.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
-io.netty:netty-tcnative-classes:2.0.70.Final=solrPlatformLibs
-io.netty:netty-tcnative-classes:2.0.73.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
+io.netty:netty-tcnative-boringssl-static:2.0.73.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+io.netty:netty-tcnative-classes:2.0.73.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
io.netty:netty-transport-classes-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
io.netty:netty-transport-native-epoll:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
io.netty:netty-transport-native-unix-common:4.2.6.Final=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
diff --git a/solr/modules/s3-repository/gradle.lockfile
b/solr/modules/s3-repository/gradle.lockfile
index d5527e8ea27..4ca58b62f6f 100644
--- a/solr/modules/s3-repository/gradle.lockfile
+++ b/solr/modules/s3-repository/gradle.lockfile
@@ -21,8 +21,8 @@
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.20.1=jarValidation,test
com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.20.1=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
com.fasterxml.jackson.module:jackson-module-parameter-names:2.20.1=jarValidation,testCompileClasspath,testRuntimeClasspath
com.fasterxml.jackson:jackson-bom:2.20.1=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-com.fasterxml.woodstox:woodstox-core:7.0.0=apiHelper,runtimeClasspath,runtimeLibs,solrPlatformLibs
-com.fasterxml.woodstox:woodstox-core:7.1.1=jarValidation,testCompileClasspath,testRuntimeClasspath
+com.fasterxml.woodstox:woodstox-core:7.0.0=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs
+com.fasterxml.woodstox:woodstox-core:7.1.1=testCompileClasspath,testRuntimeClasspath
com.github.ben-manes.caffeine:caffeine:3.2.2=annotationProcessor,apiHelper,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testRuntimeClasspath
com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone,testAnnotationProcessor
com.google.auto.service:auto-service-annotations:1.0.1=annotationProcessor,errorprone,testAnnotationProcessor