Browse Source

Minimize scope of version management for commons-compress

See gh-39368
pull/39630/head
Andy Wilkinson 2 years ago
parent
commit
5ae533a00d
  1. 1
      gradle.properties
  2. 7
      spring-boot-project/spring-boot-parent/build.gradle
  3. 13
      spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/build.gradle
  4. 13
      spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/build.gradle
  5. 2
      spring-boot-project/spring-boot-tools/spring-boot-gradle-test-support/build.gradle
  6. 8
      spring-boot-project/spring-boot-tools/spring-boot-loader-tools/build.gradle
  7. 8
      spring-boot-system-tests/spring-boot-image-tests/src/systemTest/java/org/springframework/boot/image/assertions/ImageAssert.java

1
gradle.properties

@ -6,6 +6,7 @@ org.gradle.jvmargs=-Xmx2g -Dfile.encoding=UTF-8 @@ -6,6 +6,7 @@ org.gradle.jvmargs=-Xmx2g -Dfile.encoding=UTF-8
assertjVersion=3.24.2
commonsCodecVersion=1.16.0
commonsCompressVersion=1.21
hamcrestVersion=2.2
jacksonVersion=2.15.3
junitJupiterVersion=5.10.1

7
spring-boot-project/spring-boot-parent/build.gradle

@ -34,13 +34,6 @@ bom { @@ -34,13 +34,6 @@ bom {
]
}
}
library("Commons Compress", "1.21") {
group("org.apache.commons") {
modules = [
"commons-compress"
]
}
}
library("Commons FileUpload", "1.5") {
group("commons-fileupload") {
modules = [

13
spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/build.gradle

@ -19,6 +19,17 @@ configurations.all { @@ -19,6 +19,17 @@ configurations.all {
if (dependency.requested.group.equals("org.springframework")) {
dependency.useVersion("6.0.10")
}
// We manage the version of commons-compress here rather than
// in spring-boot-parent to minimize conflicts with Testcontainers
if (dependency.requested.group.equals("org.apache.commons")
&& dependency.requested.name.equals("commons-compress")) {
dependency.useVersion("$commonsCompressVersion")
}
// Downgrade Testcontainers for compatibility with the managed
// version of Commons Compress.
if (dependency.requested.group.equals("org.testcontainers")) {
dependency.useVersion("1.19.3")
}
}
}
}
@ -27,7 +38,7 @@ dependencies { @@ -27,7 +38,7 @@ dependencies {
api("com.fasterxml.jackson.core:jackson-databind")
api("com.fasterxml.jackson.module:jackson-module-parameter-names")
api("net.java.dev.jna:jna-platform")
api("org.apache.commons:commons-compress")
api("org.apache.commons:commons-compress:$commonsCompressVersion")
api("org.apache.httpcomponents.client5:httpclient5")
api("org.springframework:spring-core")
api("org.tomlj:tomlj:1.0.0")

13
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/build.gradle

@ -28,6 +28,17 @@ configurations { @@ -28,6 +28,17 @@ configurations {
if (dependency.requested.group.equals("org.springframework")) {
dependency.useVersion("6.0.10")
}
// We manage the version of commons-compress here rather than
// in spring-boot-parent to minimize conflicts with Testcontainers
if (dependency.requested.group.equals("org.apache.commons")
&& dependency.requested.name.equals("commons-compress")) {
dependency.useVersion("$commonsCompressVersion")
}
// Downgrade Testcontainers for compatibility with the managed
// version of Commons Compress.
if (dependency.requested.group.equals("org.testcontainers")) {
dependency.useVersion("1.19.3")
}
}
}
}
@ -39,7 +50,7 @@ dependencies { @@ -39,7 +50,7 @@ dependencies {
implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-buildpack-platform"))
implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-loader-tools"))
implementation("io.spring.gradle:dependency-management-plugin")
implementation("org.apache.commons:commons-compress")
implementation("org.apache.commons:commons-compress:$commonsCompressVersion")
implementation("org.springframework:spring-core")
optional("org.graalvm.buildtools:native-gradle-plugin")

2
spring-boot-project/spring-boot-tools/spring-boot-gradle-test-support/build.gradle

@ -17,7 +17,7 @@ dependencies { @@ -17,7 +17,7 @@ dependencies {
implementation("org.jetbrains.kotlin:kotlin-compiler-embeddable:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-compiler-runner:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-daemon-client:$kotlinVersion")
implementation("org.apache.commons:commons-compress")
implementation("org.apache.commons:commons-compress:$commonsCompressVersion")
implementation("org.assertj:assertj-core")
}

8
spring-boot-project/spring-boot-tools/spring-boot-loader-tools/build.gradle

@ -29,13 +29,19 @@ configurations { @@ -29,13 +29,19 @@ configurations {
if (dependency.requested.group.equals("org.springframework")) {
dependency.useVersion("6.0.10")
}
// We manage the version of commons-compress here rather than
// in spring-boot-parent to minimize conflicts with Testcontainers
if (dependency.requested.group.equals("org.apache.commons")
&& dependency.requested.name.equals("commons-compress")) {
dependency.useVersion("$commonsCompressVersion")
}
}
}
}
}
dependencies {
api("org.apache.commons:commons-compress")
api("org.apache.commons:commons-compress:$commonsCompressVersion")
api("org.springframework:spring-core")
compileOnly("ch.qos.logback:logback-classic")

8
spring-boot-system-tests/spring-boot-image-tests/src/systemTest/java/org/springframework/boot/image/assertions/ImageAssert.java

@ -80,12 +80,12 @@ public class ImageAssert extends AbstractAssert<ImageAssert, ImageReference> { @@ -80,12 +80,12 @@ public class ImageAssert extends AbstractAssert<ImageAssert, ImageReference> {
this.actual.writeTo(out);
try (TarArchiveInputStream in = new TarArchiveInputStream(
new ByteArrayInputStream(out.toByteArray()))) {
TarArchiveEntry entry = in.getNextTarEntry();
TarArchiveEntry entry = in.getNextEntry();
while (entry != null) {
if (!entry.isDirectory()) {
entryNames.add(entry.getName().replaceFirst("^/workspace/", ""));
}
entry = in.getNextTarEntry();
entry = in.getNextEntry();
}
}
}
@ -101,7 +101,7 @@ public class ImageAssert extends AbstractAssert<ImageAssert, ImageReference> { @@ -101,7 +101,7 @@ public class ImageAssert extends AbstractAssert<ImageAssert, ImageReference> {
this.actual.writeTo(out);
try (TarArchiveInputStream in = new TarArchiveInputStream(
new ByteArrayInputStream(out.toByteArray()))) {
TarArchiveEntry entry = in.getNextTarEntry();
TarArchiveEntry entry = in.getNextEntry();
while (entry != null) {
if (entry.getName().equals(name)) {
ByteArrayOutputStream entryOut = new ByteArrayOutputStream();
@ -109,7 +109,7 @@ public class ImageAssert extends AbstractAssert<ImageAssert, ImageReference> { @@ -109,7 +109,7 @@ public class ImageAssert extends AbstractAssert<ImageAssert, ImageReference> {
assertConsumer.accept(new JsonContentAssert(LayerContentAssert.class, entryOut.toString()));
return;
}
entry = in.getNextTarEntry();
entry = in.getNextEntry();
}
}
failWithMessage("Expected JSON entry '%s' in layer with digest '%s'", name, this.actual.getId());

Loading…
Cancel
Save