From 6ebc9b887e52cb4635477adf59fc0995bc645506 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 22 Aug 2024 13:03:02 +0100 Subject: [PATCH] Use ArchiveOperations instead of Project's zipTree Closes gh-41999 --- .../build/mavenplugin/PrepareMavenBinaries.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/buildSrc/src/main/java/org/springframework/boot/build/mavenplugin/PrepareMavenBinaries.java b/buildSrc/src/main/java/org/springframework/boot/build/mavenplugin/PrepareMavenBinaries.java index 0d17113ed2c..8eeb291bc70 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/mavenplugin/PrepareMavenBinaries.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/mavenplugin/PrepareMavenBinaries.java @@ -21,6 +21,7 @@ import javax.inject.Inject; import org.gradle.api.DefaultTask; import org.gradle.api.Task; import org.gradle.api.artifacts.Configuration; +import org.gradle.api.file.ArchiveOperations; import org.gradle.api.file.DirectoryProperty; import org.gradle.api.file.FileSystemOperations; import org.gradle.api.provider.SetProperty; @@ -37,9 +38,12 @@ public abstract class PrepareMavenBinaries extends DefaultTask { private final FileSystemOperations fileSystemOperations; + private final ArchiveOperations archiveOperations; + @Inject - public PrepareMavenBinaries(FileSystemOperations fileSystemOperations) { + public PrepareMavenBinaries(FileSystemOperations fileSystemOperations, ArchiveOperations archiveOperations) { this.fileSystemOperations = fileSystemOperations; + this.archiveOperations = archiveOperations; } @OutputDirectory @@ -53,10 +57,9 @@ public abstract class PrepareMavenBinaries extends DefaultTask { this.fileSystemOperations.sync((sync) -> { sync.into(getOutputDir()); for (String version : getVersions().get()) { - Configuration configuration = getProject().getConfigurations() - .detachedConfiguration(getProject().getDependencies() - .create("org.apache.maven:apache-maven:" + version + ":bin@zip")); - sync.from(getProject().zipTree(configuration.getSingleFile())); + Configuration configuration = getProject().getConfigurations().detachedConfiguration( + getProject().getDependencies().create("org.apache.maven:apache-maven:" + version + ":bin@zip")); + sync.from(this.archiveOperations.zipTree(configuration.getSingleFile())); } });