From 7849d8ea75a76ae788a9846e8621c53fa852855d Mon Sep 17 00:00:00 2001 From: svc-excavator-bot Date: Tue, 10 Feb 2026 11:28:48 +0000 Subject: [PATCH 1/8] Excavator: Migrate Groovy nebula test `SlsPackagingCompatibilityIntegrationSpec` to the new Java Junit framework --- build.gradle | 2 + ...ckagingCompatibilityIntegrationSpec.groovy | 124 - .../CheckUnusedConstraintIntegrationTest.java | 1 + ...PackagingCompatibilityIntegrationTest.java | 136 + ...PackagingCompatibilityIntegrationSpec.html | 2992 +++++++++++++++++ 5 files changed, 3131 insertions(+), 124 deletions(-) delete mode 100644 src/test/groovy/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationSpec.groovy create mode 100644 src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java create mode 100644 test-migration-notes/SlsPackagingCompatibilityIntegrationSpec.html diff --git a/build.gradle b/build.gradle index a384e7f39..6b4dffc90 100644 --- a/build.gradle +++ b/build.gradle @@ -80,6 +80,8 @@ dependencies { testAnnotationProcessor "org.immutables:value" testCompileOnly "org.immutables:value::annotations" + + gradlePluginForTesting 'com.palantir.sls-packaging:gradle-sls-packaging:7.31.0' } tasks.withType(Test) { diff --git a/src/test/groovy/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationSpec.groovy b/src/test/groovy/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationSpec.groovy deleted file mode 100644 index b8d92efa4..000000000 --- a/src/test/groovy/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationSpec.groovy +++ /dev/null @@ -1,124 +0,0 @@ -/* - * (c) Copyright 2019 Palantir Technologies Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.palantir.gradle.versions - -import org.gradle.testkit.runner.TaskOutcome -import spock.lang.IgnoreIf - -import static com.palantir.gradle.versions.GradleTestVersions.GRADLE_VERSIONS - -/** - * https://github.com/palantir/sls-packaging does some funky stuff when resolving inter-project dependencies for the - * purposes of detecting published recommended product dependencies, so we want to make double sure that GCV doesn't - * accidentally break it. - */ -class SlsPackagingCompatibilityIntegrationSpec extends IntegrationSpec { - - static def PLUGIN_NAME = "com.palantir.consistent-versions" - - void setup() { - File mavenRepo = generateMavenRepo( - "org.slf4j:slf4j-api:1.7.24", - ) - buildFile << """ - buildscript { - repositories { - mavenCentral() - } - } - plugins { - id '${PLUGIN_NAME}' - id 'com.palantir.sls-java-service-distribution' version '7.31.0' apply false - } - allprojects { - repositories { - maven { url "file:///${mavenRepo.getAbsolutePath()}" } - } - } - """.stripIndent(true) - } - - @IgnoreIf( - reason = """ - sls-packaging is creating a configuration as part of a task input, which is happening far too late. \ - Once gradle has done a resolution, it will not look at any new Configurations that have popped up \ - since then. See https://github.com/palantir/gradle-consistent-versions/pull/1443 for more details.""", - value = { data.gradleVersionNumber.startsWith("9") }) - def '#gradleVersionNumber can consume recommended product dependencies project'() { - setup: - gradleVersion = gradleVersionNumber - - file("versions.props") << """ - org.slf4j:* = 1.7.24 - """.stripIndent(true) - - buildFile << """ - allprojects { - version = '1.0.0' - } - """.stripIndent(true) - - addSubproject('api', """ - apply plugin: 'java' - apply plugin: 'com.palantir.sls-recommended-dependencies' - - dependencies { - implementation 'org.slf4j:slf4j-api' - } - - recommendedProductDependencies { - productDependency { - productGroup = 'org' - productName = 'product' - minimumVersion = '1.1.0' - maximumVersion = '1.x.x' - } - } - """.stripIndent(true)) - - addSubproject('service', """ - apply plugin: 'java' - apply plugin: 'com.palantir.sls-java-service-distribution' - - dependencies { - // Gets picked up by the productDependenciesConfig which is runtimeClasspath - implementation project(':api') - } - """.stripIndent(true)) - - expect: - def wroteLocks = runTasks('--write-locks') - // Maybe this is a bit too much but for a fixed version of sls-packaging, we expect this to not change - wroteLocks.tasks(TaskOutcome.SUCCESS).collect { it.path } as Set == [ - ':api:compileRecommendedProductDependencies', - ':api:processResources', - ':service:mergeDiagnosticsJson', - ':service:resolveProductDependencies', - ':service:createManifest', - ':api:classes', - ':api:configureProductDependencies', - ':api:jar', - ':service:jar' - ] as Set - - runTasks('createManifest', 'verifyLocks') - - where: - gradleVersionNumber << GRADLE_VERSIONS - - } -} diff --git a/src/test/java/com/palantir/gradle/versions/CheckUnusedConstraintIntegrationTest.java b/src/test/java/com/palantir/gradle/versions/CheckUnusedConstraintIntegrationTest.java index 7e056313b..322090072 100644 --- a/src/test/java/com/palantir/gradle/versions/CheckUnusedConstraintIntegrationTest.java +++ b/src/test/java/com/palantir/gradle/versions/CheckUnusedConstraintIntegrationTest.java @@ -32,6 +32,7 @@ @GradlePluginTests @AdditionallyRunWithGradle("9.3.0") +@DisabledConfigurationCache class CheckUnusedConstraintIntegrationTest { @BeforeEach diff --git a/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java b/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java new file mode 100644 index 000000000..d425d0023 --- /dev/null +++ b/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java @@ -0,0 +1,136 @@ +/* + * (c) Copyright 2019 Palantir Technologies Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.palantir.gradle.versions; + +import static com.palantir.gradle.testing.assertion.GradlePluginTestAssertions.assertThat; +import static org.assertj.core.api.Assertions.assertThat; + +import com.palantir.gradle.testing.execution.GradleInvoker; +import com.palantir.gradle.testing.execution.InvocationResult; +import com.palantir.gradle.testing.junit.AdditionallyRunWithGradle; +import com.palantir.gradle.testing.junit.DisabledConfigurationCache; +import com.palantir.gradle.testing.junit.GradlePluginTests; +import com.palantir.gradle.testing.maven.MavenArtifact; +import com.palantir.gradle.testing.maven.MavenRepo; +import com.palantir.gradle.testing.project.RootProject; +import com.palantir.gradle.testing.project.SubProject; +import java.util.List; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +/** + * https://github.com/palantir/sls-packaging does some funky stuff when resolving inter-project dependencies for the + * purposes of detecting published recommended product dependencies, so we want to make double sure that GCV doesn't + * accidentally break it. + */ +@GradlePluginTests +@AdditionallyRunWithGradle({"7.6.4", "8.8"}) +@DisabledConfigurationCache +class SlsPackagingCompatibilityIntegrationTest { + + private static final String PLUGIN_NAME = "com.palantir.consistent-versions"; + + @BeforeEach + void setup(MavenRepo repo, RootProject rootProject) { + repo.publish(MavenArtifact.of("org.slf4j:slf4j-api:1.7.24")); + + // Note: sls-java-service-distribution requires a version, but the framework's plugins() API + // doesn't support versions. We need to add it via gradlePluginForTesting in build.gradle + // and then use addWithoutApply here. + rootProject + .buildGradle() + .plugins() + .add(PLUGIN_NAME) + .addWithoutApply("com.palantir.sls-java-service-distribution"); + + rootProject.buildGradle().append(""" + buildscript { + repositories { + mavenCentral() + } + } + allprojects { + repositories { + maven { url "file:///%s" } + } + } + """, repo.path()); + } + + /** + * sls-packaging is creating a configuration as part of a task input, which is happening far too late. + * Once gradle has done a resolution, it will not look at any new Configurations that have popped up + * since then. See https://github.com/palantir/gradle-consistent-versions/pull/1443 for more details. + */ + @Test + void can_consume_recommended_product_dependencies_project( + GradleInvoker gradle, RootProject rootProject, SubProject api, SubProject service) { + rootProject.propertiesFile("versions.props").appendProperty("org.slf4j:*", "1.7.24"); + + rootProject.buildGradle().append(""" + allprojects { + version = '1.0.0' + } + """); + + api.buildGradle().plugins().add("java").add("com.palantir.sls-recommended-dependencies"); + + api.buildGradle().append(""" + dependencies { + implementation 'org.slf4j:slf4j-api' + } + + recommendedProductDependencies { + productDependency { + productGroup = 'org' + productName = 'product' + minimumVersion = '1.1.0' + maximumVersion = '1.x.x' + } + } + """); + + service.buildGradle().plugins().add("java").add("com.palantir.sls-java-service-distribution"); + + service.buildGradle().append(""" + dependencies { + // Gets picked up by the productDependenciesConfig which is runtimeClasspath + implementation project(':api') + } + """); + + InvocationResult wroteLocks = gradle.withArgs("--write-locks").buildsSuccessfully(); + + // Maybe this is a bit too much but for a fixed version of sls-packaging, we expect this to not change + List expectedTasks = List.of( + ":api:compileRecommendedProductDependencies", + ":api:processResources", + ":service:mergeDiagnosticsJson", + ":service:resolveProductDependencies", + ":service:createManifest", + ":api:classes", + ":api:configureProductDependencies", + ":api:jar", + ":service:jar"); + + for (String taskPath : expectedTasks) { + assertThat(wroteLocks).task(taskPath).succeeded(); + } + + gradle.withArgs("createManifest", "verifyLocks").buildsSuccessfully(); + } +} diff --git a/test-migration-notes/SlsPackagingCompatibilityIntegrationSpec.html b/test-migration-notes/SlsPackagingCompatibilityIntegrationSpec.html new file mode 100644 index 000000000..4fa96e02f --- /dev/null +++ b/test-migration-notes/SlsPackagingCompatibilityIntegrationSpec.html @@ -0,0 +1,2992 @@ + + + + + Diff to HTML by rtfpessoa + + + + + + + + + + + + + +

Diff to HTML by rtfpessoa

+ +
+
+
+
+ + src/test/{groovy/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationSpec.groovy → java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java} + RENAMED + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
@@ -14,75 +14,89 @@
+
+ 14 + +
+   + * limitations under the License. +
+
+ 15 + +
+   + */ +
+
+ 16 + +
+   +
+
+
+ 17 + +
+ - + package com.palantir.gradle.versions +
+
+ 18 + +
+ - +
+
+
+ 19 + +
+ - + import org.gradle.testkit.runner.TaskOutcome +
+
+ 20 + +
+ - + import spock.lang.IgnoreIf +
+
+ 21 + +
+ - +
+
+
+ 22 + +
+ - + import static com.palantir.gradle.versions.GradleTestVersions.GRADLE_VERSIONS +
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ 23 + +
+   +
+
+
+ 24 + +
+   + /** +
+
+ 25 + +
+   + * https://github.com/palantir/sls-packaging does some funky stuff when resolving inter-project dependencies for the +
+
+ 26 + +
+   + * purposes of detecting published recommended product dependencies, so we want to make double sure that GCV doesn't +
+
+ 27 + +
+   + * accidentally break it. +
+
+ 28 + +
+   + */ +
+
+ 29 + +
+ - + class SlsPackagingCompatibilityIntegrationSpec extends IntegrationSpec { +
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ 30 + +
+   +
+
+
+ 31 + +
+   + // ***DELINEATOR FOR REVIEW: PLUGIN_NAME +
+
+ 32 + +
+ - + static def PLUGIN_NAME = "com.palantir.consistent-versions" +
+
+ 33 + +
+   +
+
+
+ 34 + +
+   + // ***DELINEATOR FOR REVIEW: setup +
+
+ 35 + +
+ - + void setup() { +
+
+ 36 + +
+ - + File mavenRepo = generateMavenRepo( +
+
+ 37 + +
+ - + "org.slf4j:slf4j-api:1.7.24", +
+
+ 38 + +
+ - + ) +
+
+ 39 + +
+ - + buildFile << """ +
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ 40 + +
+   + buildscript { +
+
+ 41 + +
+   + repositories { +
+
+ 42 + +
+   + mavenCentral() +
+
+ 43 + +
+   + } +
+
+ 44 + +
+ - + } +
+
+ 45 + +
+ - + plugins { +
+
+ 46 + +
+ - + id '${PLUGIN_NAME}' +
+
+ 47 + +
+ - + id 'com.palantir.sls-java-service-distribution' version '7.31.0' apply false +
+
+ 48 + +
+   + } +
+
+ 49 + +
+   + allprojects { +
+
+ 50 + +
+   + repositories { +
+
+ 51 + +
+ - + maven { url "file:///${mavenRepo.getAbsolutePath()}" } +
+
+ 52 + +
+   + } +
+
+ 53 + +
+   + } +
+
+ 54 + +
+ - + """.stripIndent(true) +
+
+ 55 + +
+   + } +
+
+ 56 + +
+   +
+
+
+ 57 + +
+   + // ***DELINEATOR FOR REVIEW: can_consume_recommended_product_dependencies_project +
+
+ 58 + +
+ - + @IgnoreIf( +
+
+ 59 + +
+ - + reason = """ +
+
+ 60 + +
+ - + sls-packaging is creating a configuration as part of a task input, which is happening far too late. \ +
+
+ 61 + +
+ - + Once gradle has done a resolution, it will not look at any new Configurations that have popped up \ +
+
+ 62 + +
+ - + since then. See https://github.com/palantir/gradle-consistent-versions/pull/1443 for more details.""", +
+
+ 63 + +
+ - + value = { data.gradleVersionNumber.startsWith("9") }) +
+
+ 64 + +
+ - + def '#gradleVersionNumber can consume recommended product dependencies project'() { +
+
+ 65 + +
+ - + setup: +
+
+ 66 + +
+ - + gradleVersion = gradleVersionNumber +
+
+ 67 + +
+ - +
+
+
+ 68 + +
+ - + file("versions.props") << """ +
+
+ 69 + +
+ - + org.slf4j:* = 1.7.24 +
+
+ 70 + +
+ - + """.stripIndent(true) +
+
+ 71 + +
+ - +
+
+
+ 72 + +
+ - + buildFile << """ +
+
+ 73 + +
+   + allprojects { +
+
+ 74 + +
+   + version = '1.0.0' +
+
+ 75 + +
+   + } +
+
+ 76 + +
+ - + """.stripIndent(true) +
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ 77 + +
+   +
+
+
+ 78 + +
+ - + addSubproject('api', """ +
+
+ 79 + +
+ - + apply plugin: 'java' +
+
+ 80 + +
+ - + apply plugin: 'com.palantir.sls-recommended-dependencies' +
+
+ 81 + +
+ - + +
+
+ 82 + +
+   + dependencies { +
+
+ 83 + +
+   + implementation 'org.slf4j:slf4j-api' +
+
+ 84 + +
+   + } +
+
+ 85 + +
+ - + +
+
+ 86 + +
+   + recommendedProductDependencies { +
+
+ 87 + +
+   + productDependency { +
+
+ 88 + +
+   + productGroup = 'org' +
+
+
@@ -91,39 +105,38 @@ class SlsPackagingCompatibilityIntegrationSpec extends IntegrationSpec {
+
+ 91 + +
+   + maximumVersion = '1.x.x' +
+
+ 92 + +
+   + } +
+
+ 93 + +
+   + } +
+
+ 94 + +
+ - + """.stripIndent(true)) +
+
+ 95 + +
+   +
+
+
+ 96 + +
+ - + addSubproject('service', """ +
+
+ 97 + +
+ - + apply plugin: 'java' +
+
+ 98 + +
+ - + apply plugin: 'com.palantir.sls-java-service-distribution' +
+
+ 99 + +
+   +
+
+
+ + +
+   +
+
+
+ 100 + +
+   + dependencies { +
+
+ 101 + +
+   + // Gets picked up by the productDependenciesConfig which is runtimeClasspath +
+
+ 102 + +
+   + implementation project(':api') +
+
+ 103 + +
+   + } +
+
+ 104 + +
+ - + """.stripIndent(true)) +
+
+ 105 + +
+   +
+
+
+ 106 + +
+   + // ***DELINEATOR FOR REVIEW: expect +
+
+ 107 + +
+ - + expect: +
+
+ 108 + +
+ - + def wroteLocks = runTasks('--write-locks') +
+
+ 109 + +
+   + // Maybe this is a bit too much but for a fixed version of sls-packaging, we expect this to not change +
+
+ 110 + +
+ - + wroteLocks.tasks(TaskOutcome.SUCCESS).collect { it.path } as Set == [ +
+
+ 111 + +
+ - + ':api:compileRecommendedProductDependencies', +
+
+ 112 + +
+ - + ':api:processResources', +
+
+ 113 + +
+ - + ':service:mergeDiagnosticsJson', +
+
+ 114 + +
+ - + ':service:resolveProductDependencies', +
+
+ 115 + +
+ - + ':service:createManifest', +
+
+ 116 + +
+ - + ':api:classes', +
+
+ 117 + +
+ - + ':api:configureProductDependencies', +
+
+ 118 + +
+ - + ':api:jar', +
+
+ 119 + +
+ - + ':service:jar' +
+
+ 120 + +
+ - + ] as Set +
+
+ 121 + +
+ - +
+
+
+ 122 + +
+ - + runTasks('createManifest', 'verifyLocks') +
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ 123 + +
+   +
+
+
+ 124 + +
+   + // ***DELINEATOR FOR REVIEW: where +
+
+ 125 + +
+ - + where: +
+
+ 126 + +
+ - + gradleVersionNumber << GRADLE_VERSIONS +
+
+ 127 + +
+ - +
+
+
+ 128 + +
+   + } +
+
+ 129 + +
+   + } +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
 
+
+ 14 + +
+   + * limitations under the License. +
+
+ 15 + +
+   + */ +
+
+ 16 + +
+   +
+
+
+ 17 + +
+ + + package com.palantir.gradle.versions; +
+
+ 18 + +
+ + +
+
+
+ 19 + +
+ + + import static com.palantir.gradle.testing.assertion.GradlePluginTestAssertions.assertThat; +
+
+ 20 + +
+ + + import static org.assertj.core.api.Assertions.assertThat; +
+
+ 21 + +
+ + +
+
+
+ 22 + +
+ + + import com.palantir.gradle.testing.execution.GradleInvoker; +
+
+ 23 + +
+ + + import com.palantir.gradle.testing.execution.InvocationResult; +
+
+ 24 + +
+ + + import com.palantir.gradle.testing.junit.AdditionallyRunWithGradle; +
+
+ 25 + +
+ + + import com.palantir.gradle.testing.junit.DisabledConfigurationCache; +
+
+ 26 + +
+ + + import com.palantir.gradle.testing.junit.GradlePluginTests; +
+
+ 27 + +
+ + + import com.palantir.gradle.testing.maven.MavenArtifact; +
+
+ 28 + +
+ + + import com.palantir.gradle.testing.maven.MavenRepo; +
+
+ 29 + +
+ + + import com.palantir.gradle.testing.project.RootProject; +
+
+ 30 + +
+ + + import com.palantir.gradle.testing.project.SubProject; +
+
+ 31 + +
+ + + import java.util.List; +
+
+ 32 + +
+ + + import org.junit.jupiter.api.BeforeEach; +
+
+ 33 + +
+ + + import org.junit.jupiter.api.Test; +
+
+ 34 + +
+   +
+
+
+ 35 + +
+   + /** +
+
+ 36 + +
+   + * https://github.com/palantir/sls-packaging does some funky stuff when resolving inter-project dependencies for the +
+
+ 37 + +
+   + * purposes of detecting published recommended product dependencies, so we want to make double sure that GCV doesn't +
+
+ 38 + +
+   + * accidentally break it. +
+
+ 39 + +
+   + */ +
+
+ 40 + +
+ + + @GradlePluginTests +
+
+ 41 + +
+ + + @AdditionallyRunWithGradle({"7.6.4", "8.8"}) +
+
+ 42 + +
+ + + @DisabledConfigurationCache +
+
+ 43 + +
+ + + class SlsPackagingCompatibilityIntegrationTest { +
+
+ 44 + +
+   +
+
+
+ 45 + +
+   + // ***DELINEATOR FOR REVIEW: PLUGIN_NAME +
+
+ 46 + +
+ + + private static final String PLUGIN_NAME = "com.palantir.consistent-versions"; +
+
+ 47 + +
+   +
+
+
+ 48 + +
+   + // ***DELINEATOR FOR REVIEW: setup +
+
+ 49 + +
+ + + @BeforeEach +
+
+ 50 + +
+ + + void setup(MavenRepo repo, RootProject rootProject) { +
+
+ 51 + +
+ + + repo.publish(MavenArtifact.of("org.slf4j:slf4j-api:1.7.24")); +
+
+ 52 + +
+ + +
+
+
+ 53 + +
+ + + // Note: sls-java-service-distribution requires a version, but the framework's plugins() API +
+
+ 54 + +
+ + + // doesn't support versions. We need to add it via gradlePluginForTesting in build.gradle +
+
+ 55 + +
+ + + // and then use addWithoutApply here. +
+
+ 56 + +
+ + + rootProject +
+
+ 57 + +
+ + + .buildGradle() +
+
+ 58 + +
+ + + .plugins() +
+
+ 59 + +
+ + + .add(PLUGIN_NAME) +
+
+ 60 + +
+ + + .addWithoutApply("com.palantir.sls-java-service-distribution"); +
+
+ 61 + +
+ + +
+
+
+ 62 + +
+ + + rootProject.buildGradle().append(""" +
+
+ 63 + +
+   + buildscript { +
+
+ 64 + +
+   + repositories { +
+
+ 65 + +
+   + mavenCentral() +
+
+ 66 + +
+   + } +
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ 67 + +
+   + } +
+
+ 68 + +
+   + allprojects { +
+
+ 69 + +
+   + repositories { +
+
+ 70 + +
+ + + maven { url "file:///%s" } +
+
+ 71 + +
+   + } +
+
+ 72 + +
+   + } +
+
+ 73 + +
+ + + """, repo.path()); +
+
+ 74 + +
+   + } +
+
+ 75 + +
+   +
+
+
+ 76 + +
+   + // ***DELINEATOR FOR REVIEW: can_consume_recommended_product_dependencies_project +
+
+ 77 + +
+ + + /** +
+
+ 78 + +
+ + + * sls-packaging is creating a configuration as part of a task input, which is happening far too late. +
+
+ 79 + +
+ + + * Once gradle has done a resolution, it will not look at any new Configurations that have popped up +
+
+ 80 + +
+ + + * since then. See https://github.com/palantir/gradle-consistent-versions/pull/1443 for more details. +
+
+ 81 + +
+ + + */ +
+
+ 82 + +
+ + + @Test +
+
+ 83 + +
+ + + void can_consume_recommended_product_dependencies_project( +
+
+ 84 + +
+ + + GradleInvoker gradle, RootProject rootProject, SubProject api, SubProject service) { +
+
+ 85 + +
+ + + rootProject.propertiesFile("versions.props").appendProperty("org.slf4j:*", "1.7.24"); +
+
+ 86 + +
+ + +
+
+
+ 87 + +
+ + + rootProject.buildGradle().append(""" +
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ 88 + +
+   + allprojects { +
+
+ 89 + +
+   + version = '1.0.0' +
+
+ 90 + +
+   + } +
+
+ 91 + +
+ + + """); +
+
+ 92 + +
+ + +
+
+
+ 93 + +
+ + + api.buildGradle().plugins().add("java").add("com.palantir.sls-recommended-dependencies"); +
+
+ 94 + +
+   +
+
+
+ 95 + +
+ + + api.buildGradle().append(""" +
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ 96 + +
+   + dependencies { +
+
+ 97 + +
+   + implementation 'org.slf4j:slf4j-api' +
+
+ 98 + +
+   + } +
+
+ 99 + +
+ + +
+
+
+ 100 + +
+   + recommendedProductDependencies { +
+
+ 101 + +
+   + productDependency { +
+
+ 102 + +
+   + productGroup = 'org' +
+
+
 
+
+ 105 + +
+   + maximumVersion = '1.x.x' +
+
+ 106 + +
+   + } +
+
+ 107 + +
+   + } +
+
+ 108 + +
+ + + """); +
+
+ 109 + +
+   +
+
+
+ 110 + +
+ + + service.buildGradle().plugins().add("java").add("com.palantir.sls-java-service-distribution"); +
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ 111 + +
+   +
+
+
+ 112 + +
+ + + service.buildGradle().append(""" +
+
+ 113 + +
+   + dependencies { +
+
+ 114 + +
+   + // Gets picked up by the productDependenciesConfig which is runtimeClasspath +
+
+ 115 + +
+   + implementation project(':api') +
+
+ 116 + +
+   + } +
+
+ 117 + +
+ + + """); +
+
+ 118 + +
+   +
+
+
+ 119 + +
+   + // ***DELINEATOR FOR REVIEW: expect +
+
+ 120 + +
+ + + InvocationResult wroteLocks = gradle.withArgs("--write-locks").buildsSuccessfully(); +
+
+ 121 + +
+ + +
+
+
+ 122 + +
+   + // Maybe this is a bit too much but for a fixed version of sls-packaging, we expect this to not change +
+
+ 123 + +
+ + + List<String> expectedTasks = List.of( +
+
+ 124 + +
+ + + ":api:compileRecommendedProductDependencies", +
+
+ 125 + +
+ + + ":api:processResources", +
+
+ 126 + +
+ + + ":service:mergeDiagnosticsJson", +
+
+ 127 + +
+ + + ":service:resolveProductDependencies", +
+
+ 128 + +
+ + + ":service:createManifest", +
+
+ 129 + +
+ + + ":api:classes", +
+
+ 130 + +
+ + + ":api:configureProductDependencies", +
+
+ 131 + +
+ + + ":api:jar", +
+
+ 132 + +
+ + + ":service:jar"); +
+
+ 133 + +
+ + +
+
+
+ 134 + +
+ + + for (String taskPath : expectedTasks) { +
+
+ 135 + +
+ + + assertThat(wroteLocks).task(taskPath).succeeded(); +
+
+ 136 + +
+ + + } +
+
+ 137 + +
+ + +
+
+
+ 138 + +
+ + + gradle.withArgs("createManifest", "verifyLocks").buildsSuccessfully(); +
+
+ 139 + +
+   +
+
+
+ 140 + +
+   + // ***DELINEATOR FOR REVIEW: where +
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ + +
+   +
+
+
+ 141 + +
+   + } +
+
+ 142 + +
+   + } +
+
+
+
+
+
+
+
+ + From bdd629d4c60d939e71d0ef19a49077359d2ea615 Mon Sep 17 00:00:00 2001 From: svc-nit Date: Tue, 10 Feb 2026 11:37:34 +0000 Subject: [PATCH 2/8] Resolve nit writeVersionsLocks --- versions.lock | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/versions.lock b/versions.lock index 6ea61cf3b..715758b79 100644 --- a/versions.lock +++ b/versions.lock @@ -1,24 +1,24 @@ # Run ./gradlew writeVersionsLocks to regenerate this file. Blank lines are to minimize merge conflicts. -com.fasterxml.jackson.core:jackson-annotations:2.21 (4 constraints: 4844f0b2) +com.fasterxml.jackson.core:jackson-annotations:2.21 (5 constraints: 38558244) -com.fasterxml.jackson.core:jackson-core:2.21.0 (4 constraints: 84566201) +com.fasterxml.jackson.core:jackson-core:2.21.0 (5 constraints: 4e6e84c6) -com.fasterxml.jackson.core:jackson-databind:2.21.0 (4 constraints: 3649eb3a) +com.fasterxml.jackson.core:jackson-databind:2.21.0 (7 constraints: 699087eb) com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.21.0 (2 constraints: db1f6cde) -com.fasterxml.jackson.datatype:jackson-datatype-guava:2.21.0 (2 constraints: db1f6cde) +com.fasterxml.jackson.datatype:jackson-datatype-guava:2.21.0 (3 constraints: bf336866) -com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.21.0 (1 constraints: a51a8b21) +com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.21.0 (2 constraints: 892e6380) com.fasterxml.woodstox:woodstox-core:7.1.1 (1 constraints: 3d174926) -com.google.errorprone:error_prone_annotations:2.41.0 (2 constraints: 7e0f1fa1) +com.google.errorprone:error_prone_annotations:2.41.0 (6 constraints: c04e6932) com.google.guava:failureaccess:1.0.3 (1 constraints: 160ae3b4) -com.google.guava:guava:33.5.0-jre (4 constraints: cc51abef) +com.google.guava:guava:33.5.0-jre (6 constraints: 4d83c181) com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava (1 constraints: bd17c918) @@ -44,6 +44,8 @@ org.jspecify:jspecify:1.0.0 (8 constraints: c9803ac0) cglib:cglib-nodep:3.2.2 (1 constraints: 490ded24) +com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.21.0 (1 constraints: e513fa6f) + com.netflix.nebula:nebula-test:10.6.2 (2 constraints: d61de72d) com.palantir.gradle.plugintesting:configuration-cache-spec:0.54.0 (1 constraints: 3b053f3b) @@ -54,6 +56,22 @@ com.palantir.gradle.plugintesting:gradle-plugin-testing-junit:0.54.0 (1 constrai com.palantir.gradle.plugintesting:plugin-testing-core:0.54.0 (1 constraints: 3b053f3b) +com.palantir.safe-logging:logger:3.2.0 (1 constraints: be107db2) + +com.palantir.safe-logging:logger-slf4j:3.2.0 (1 constraints: 000e5942) + +com.palantir.safe-logging:logger-spi:3.2.0 (2 constraints: 0f1e997a) + +com.palantir.safe-logging:preconditions:3.2.0 (3 constraints: bf3f2af0) + +com.palantir.safe-logging:safe-logging:3.2.0 (4 constraints: 353f88be) + +com.palantir.sls-packaging:gradle-recommended-product-dependencies:7.31.0 (1 constraints: e7131570) + +com.palantir.sls-packaging:gradle-sls-packaging:7.31.0 (1 constraints: 3d05583b) + +com.palantir.sls.versions:sls-versions:1.5.0 (1 constraints: 531bd145) + commons-io:commons-io:2.19.0 (1 constraints: db190cdf) info.picocli:picocli:4.7.7 (1 constraints: 2816dcdd) @@ -64,6 +82,8 @@ net.bytebuddy:byte-buddy:1.18.3 (2 constraints: 9c16b43e) net.bytebuddy:byte-buddy-agent:1.17.7 (1 constraints: 4a0b4ede) +org.apache.commons:commons-lang3:3.12.0 (1 constraints: e213f86f) + org.apiguardian:apiguardian-api:1.1.2 (7 constraints: cc761de9) org.assertj:assertj-core:3.27.7 (2 constraints: 221f6290) @@ -74,7 +94,7 @@ org.hamcrest:hamcrest:2.2 (1 constraints: d20cdc04) org.hamcrest:hamcrest-core:1.3 (1 constraints: cc05fe3f) -org.jetbrains:annotations:26.0.2 (1 constraints: d9190fdf) +org.jetbrains:annotations:26.0.2 (2 constraints: 092b1fa3) org.junit:junit-bom:6.0.2 (1 constraints: 0a050b36) @@ -100,6 +120,10 @@ org.objenesis:objenesis:3.3 (2 constraints: 9b17f557) org.opentest4j:opentest4j:1.3.0 (2 constraints: cf209249) +org.slf4j:slf4j-api:1.7.31 (1 constraints: 471091b6) + org.spockframework:spock-core:2.3-groovy-3.0 (3 constraints: 2c3deb38) org.spockframework:spock-junit4:2.3-groovy-3.0 (1 constraints: 7a1000b0) + +org.yaml:snakeyaml:2.4 (1 constraints: 3e178d10) From 3c0a0c104f94a2c524e3190b6270324b7a38151e Mon Sep 17 00:00:00 2001 From: Finlay Williams Date: Tue, 10 Feb 2026 11:50:42 +0000 Subject: [PATCH 3/8] fixup for gradle 9 --- build.gradle | 2 +- ...PackagingCompatibilityIntegrationTest.java | 13 +----- versions.lock | 44 +++++++++++++++---- versions.props | 1 + 4 files changed, 38 insertions(+), 22 deletions(-) diff --git a/build.gradle b/build.gradle index 6b4dffc90..548c2e028 100644 --- a/build.gradle +++ b/build.gradle @@ -81,7 +81,7 @@ dependencies { testAnnotationProcessor "org.immutables:value" testCompileOnly "org.immutables:value::annotations" - gradlePluginForTesting 'com.palantir.sls-packaging:gradle-sls-packaging:7.31.0' + gradlePluginForTesting 'com.palantir.sls-packaging:gradle-sls-packaging' } tasks.withType(Test) { diff --git a/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java b/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java index d425d0023..864603af9 100644 --- a/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java +++ b/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java @@ -17,11 +17,9 @@ package com.palantir.gradle.versions; import static com.palantir.gradle.testing.assertion.GradlePluginTestAssertions.assertThat; -import static org.assertj.core.api.Assertions.assertThat; import com.palantir.gradle.testing.execution.GradleInvoker; import com.palantir.gradle.testing.execution.InvocationResult; -import com.palantir.gradle.testing.junit.AdditionallyRunWithGradle; import com.palantir.gradle.testing.junit.DisabledConfigurationCache; import com.palantir.gradle.testing.junit.GradlePluginTests; import com.palantir.gradle.testing.maven.MavenArtifact; @@ -38,7 +36,6 @@ * accidentally break it. */ @GradlePluginTests -@AdditionallyRunWithGradle({"7.6.4", "8.8"}) @DisabledConfigurationCache class SlsPackagingCompatibilityIntegrationTest { @@ -48,9 +45,6 @@ class SlsPackagingCompatibilityIntegrationTest { void setup(MavenRepo repo, RootProject rootProject) { repo.publish(MavenArtifact.of("org.slf4j:slf4j-api:1.7.24")); - // Note: sls-java-service-distribution requires a version, but the framework's plugins() API - // doesn't support versions. We need to add it via gradlePluginForTesting in build.gradle - // and then use addWithoutApply here. rootProject .buildGradle() .plugins() @@ -65,17 +59,12 @@ void setup(MavenRepo repo, RootProject rootProject) { } allprojects { repositories { - maven { url "file:///%s" } + maven { url = uri('%s') } } } """, repo.path()); } - /** - * sls-packaging is creating a configuration as part of a task input, which is happening far too late. - * Once gradle has done a resolution, it will not look at any new Configurations that have popped up - * since then. See https://github.com/palantir/gradle-consistent-versions/pull/1443 for more details. - */ @Test void can_consume_recommended_product_dependencies_project( GradleInvoker gradle, RootProject rootProject, SubProject api, SubProject service) { diff --git a/versions.lock b/versions.lock index 6ea61cf3b..e9d5f9a9b 100644 --- a/versions.lock +++ b/versions.lock @@ -1,30 +1,30 @@ # Run ./gradlew writeVersionsLocks to regenerate this file. Blank lines are to minimize merge conflicts. -com.fasterxml.jackson.core:jackson-annotations:2.21 (4 constraints: 4844f0b2) +com.fasterxml.jackson.core:jackson-annotations:2.21 (5 constraints: d654329a) -com.fasterxml.jackson.core:jackson-core:2.21.0 (4 constraints: 84566201) +com.fasterxml.jackson.core:jackson-core:2.21.0 (5 constraints: 4e6e84c6) -com.fasterxml.jackson.core:jackson-databind:2.21.0 (4 constraints: 3649eb3a) +com.fasterxml.jackson.core:jackson-databind:2.21.0 (8 constraints: a8a5f81c) com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.21.0 (2 constraints: db1f6cde) -com.fasterxml.jackson.datatype:jackson-datatype-guava:2.21.0 (2 constraints: db1f6cde) +com.fasterxml.jackson.datatype:jackson-datatype-guava:2.21.0 (3 constraints: bb335f66) -com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.21.0 (1 constraints: a51a8b21) +com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.21.0 (2 constraints: 852e5a80) com.fasterxml.woodstox:woodstox-core:7.1.1 (1 constraints: 3d174926) -com.google.errorprone:error_prone_annotations:2.41.0 (2 constraints: 7e0f1fa1) +com.google.errorprone:error_prone_annotations:2.41.0 (6 constraints: a94ea8eb) com.google.guava:failureaccess:1.0.3 (1 constraints: 160ae3b4) -com.google.guava:guava:33.5.0-jre (4 constraints: cc51abef) +com.google.guava:guava:33.5.0-jre (6 constraints: 1584b37b) com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava (1 constraints: bd17c918) com.google.j2objc:j2objc-annotations:3.1 (1 constraints: b809f1a0) -com.palantir.gradle.failure-reports:gradle-failure-reports-exceptions:1.2.0 (1 constraints: 0505f635) +com.palantir.gradle.failure-reports:gradle-failure-reports-exceptions:1.2.0 (2 constraints: b318eeaa) com.palantir.gradle.idea-configuration:gradle-idea-configuration:0.7.0 (1 constraints: 09050036) @@ -44,6 +44,8 @@ org.jspecify:jspecify:1.0.0 (8 constraints: c9803ac0) cglib:cglib-nodep:3.2.2 (1 constraints: 490ded24) +com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.21.0 (1 constraints: e113f16f) + com.netflix.nebula:nebula-test:10.6.2 (2 constraints: d61de72d) com.palantir.gradle.plugintesting:configuration-cache-spec:0.54.0 (1 constraints: 3b053f3b) @@ -54,6 +56,24 @@ com.palantir.gradle.plugintesting:gradle-plugin-testing-junit:0.54.0 (1 constrai com.palantir.gradle.plugintesting:plugin-testing-core:0.54.0 (1 constraints: 3b053f3b) +com.palantir.safe-logging:logger:3.9.0 (1 constraints: c51092b2) + +com.palantir.safe-logging:logger-slf4j:3.9.0 (1 constraints: 070e6e42) + +com.palantir.safe-logging:logger-spi:3.9.0 (2 constraints: 1d1e0c7c) + +com.palantir.safe-logging:preconditions:3.11.0 (4 constraints: 6d55d953) + +com.palantir.safe-logging:safe-logging:3.11.0 (4 constraints: 7a3fbbfc) + +com.palantir.sls-packaging:gradle-recommended-product-dependencies:7.87.0 (1 constraints: f2133b70) + +com.palantir.sls-packaging:gradle-sls-packaging:7.87.0 (1 constraints: 48057e3b) + +com.palantir.sls-packaging:gradle-sls-packaging-api:7.87.0 (1 constraints: f2133b70) + +com.palantir.sls.versions:sls-versions:1.9.0 (1 constraints: 571bdd45) + commons-io:commons-io:2.19.0 (1 constraints: db190cdf) info.picocli:picocli:4.7.7 (1 constraints: 2816dcdd) @@ -64,6 +84,8 @@ net.bytebuddy:byte-buddy:1.18.3 (2 constraints: 9c16b43e) net.bytebuddy:byte-buddy-agent:1.17.7 (1 constraints: 4a0b4ede) +org.apache.commons:commons-lang3:3.20.0 (1 constraints: e113f66f) + org.apiguardian:apiguardian-api:1.1.2 (7 constraints: cc761de9) org.assertj:assertj-core:3.27.7 (2 constraints: 221f6290) @@ -74,7 +96,7 @@ org.hamcrest:hamcrest:2.2 (1 constraints: d20cdc04) org.hamcrest:hamcrest-core:1.3 (1 constraints: cc05fe3f) -org.jetbrains:annotations:26.0.2 (1 constraints: d9190fdf) +org.jetbrains:annotations:26.0.2 (2 constraints: 0e2b30a3) org.junit:junit-bom:6.0.2 (1 constraints: 0a050b36) @@ -100,6 +122,10 @@ org.objenesis:objenesis:3.3 (2 constraints: 9b17f557) org.opentest4j:opentest4j:1.3.0 (2 constraints: cf209249) +org.slf4j:slf4j-api:1.7.31 (1 constraints: 471091b6) + org.spockframework:spock-core:2.3-groovy-3.0 (3 constraints: 2c3deb38) org.spockframework:spock-junit4:2.3-groovy-3.0 (1 constraints: 7a1000b0) + +org.yaml:snakeyaml:2.4 (1 constraints: 3e178d10) diff --git a/versions.props b/versions.props index 34299f325..b9ff4395a 100644 --- a/versions.props +++ b/versions.props @@ -13,6 +13,7 @@ com.palantir.gradle.failure-reports:* = 1.2.0 one.util:streamex = 0.8.4 com.palantir.gradle.idea-configuration:gradle-idea-configuration = 0.7.0 com.palantir.gradle.utils:dependency-graph-utils = 0.22.0 +com.palantir.sls-packaging:gradle-sls-packaging = 7.87.0 # Unnecessary once we have lock files com.google.code.findbugs:jsr305 = 3.0.2 From 4a5187c2ed88b52ab6bc17dde02538401093f24f Mon Sep 17 00:00:00 2001 From: Finlay Williams Date: Tue, 10 Feb 2026 11:52:44 +0000 Subject: [PATCH 4/8] why all done this? --- .../gradle/versions/CheckUnusedConstraintIntegrationTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/test/java/com/palantir/gradle/versions/CheckUnusedConstraintIntegrationTest.java b/src/test/java/com/palantir/gradle/versions/CheckUnusedConstraintIntegrationTest.java index 322090072..7e056313b 100644 --- a/src/test/java/com/palantir/gradle/versions/CheckUnusedConstraintIntegrationTest.java +++ b/src/test/java/com/palantir/gradle/versions/CheckUnusedConstraintIntegrationTest.java @@ -32,7 +32,6 @@ @GradlePluginTests @AdditionallyRunWithGradle("9.3.0") -@DisabledConfigurationCache class CheckUnusedConstraintIntegrationTest { @BeforeEach From d596185337dada530d9eca501bba6433e50ed179 Mon Sep 17 00:00:00 2001 From: Finlay Williams Date: Tue, 10 Feb 2026 14:10:39 +0000 Subject: [PATCH 5/8] tidy --- .../versions/SlsPackagingCompatibilityIntegrationTest.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java b/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java index 864603af9..ca5deed24 100644 --- a/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java +++ b/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java @@ -52,11 +52,6 @@ void setup(MavenRepo repo, RootProject rootProject) { .addWithoutApply("com.palantir.sls-java-service-distribution"); rootProject.buildGradle().append(""" - buildscript { - repositories { - mavenCentral() - } - } allprojects { repositories { maven { url = uri('%s') } From 239d5925dda951b62fd307c026fecc81f459aad5 Mon Sep 17 00:00:00 2001 From: svc-nit Date: Mon, 16 Feb 2026 09:42:36 +0000 Subject: [PATCH 6/8] Resolve nit check-unused-constraints --- versions.props | 1 - 1 file changed, 1 deletion(-) diff --git a/versions.props b/versions.props index 0062dd1e6..d4e893468 100644 --- a/versions.props +++ b/versions.props @@ -12,7 +12,6 @@ com.netflix.nebula:nebula-test = 10.6.2 com.palantir.gradle.failure-reports:* = 1.2.0 one.util:streamex = 0.8.4 com.palantir.gradle.idea-configuration:gradle-idea-configuration = 0.7.0 -com.palantir.gradle.utils:dependency-graph-utils = 0.22.0 com.palantir.sls-packaging:gradle-sls-packaging = 7.87.0 # Unnecessary once we have lock files From b3aefd947d49621d7c1b6df25b8da677623d6155 Mon Sep 17 00:00:00 2001 From: svc-nit Date: Mon, 16 Feb 2026 09:43:16 +0000 Subject: [PATCH 7/8] Resolve nit error-prone-apply-suppress --- .../versions/SlsPackagingCompatibilityIntegrationTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java b/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java index ca5deed24..c76aaf37c 100644 --- a/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java +++ b/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java @@ -60,6 +60,7 @@ void setup(MavenRepo repo, RootProject rootProject) { """, repo.path()); } + @SuppressWarnings("for-rollout:deprecation") @Test void can_consume_recommended_product_dependencies_project( GradleInvoker gradle, RootProject rootProject, SubProject api, SubProject service) { From 197f76963488be9ae629e96ca61d19ac67951b23 Mon Sep 17 00:00:00 2001 From: Finlay Williams Date: Mon, 16 Mar 2026 11:33:51 +0000 Subject: [PATCH 8/8] fix deprecation --- .../versions/SlsPackagingCompatibilityIntegrationTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java b/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java index c76aaf37c..3dd5a9660 100644 --- a/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java +++ b/src/test/java/com/palantir/gradle/versions/SlsPackagingCompatibilityIntegrationTest.java @@ -60,11 +60,10 @@ void setup(MavenRepo repo, RootProject rootProject) { """, repo.path()); } - @SuppressWarnings("for-rollout:deprecation") @Test void can_consume_recommended_product_dependencies_project( GradleInvoker gradle, RootProject rootProject, SubProject api, SubProject service) { - rootProject.propertiesFile("versions.props").appendProperty("org.slf4j:*", "1.7.24"); + rootProject.propertiesFile("versions.props").setProperty("org.slf4j:*", "1.7.24"); rootProject.buildGradle().append(""" allprojects {