From 98773cdde92100950ab567d1db07b8b081990acf Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 15 Aug 2024 16:58:21 +0100 Subject: [PATCH] Sync Maven binaries rather than copying them This prevents binaries accumulating in build/maven-binaries when the versions of Maven that are tested changes. Closes gh-41649 --- .../build/mavenplugin/PrepareMavenBinaries.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 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 69c741739d..ff21e553c2 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 @@ -40,13 +40,16 @@ public abstract class PrepareMavenBinaries extends DefaultTask { @TaskAction public void prepareBinaries() { - for (String version : getVersions().get()) { - Configuration configuration = getProject().getConfigurations() - .detachedConfiguration( - getProject().getDependencies().create("org.apache.maven:apache-maven:" + version + ":bin@zip")); - getProject() - .copy((copy) -> copy.into(getOutputDir()).from(getProject().zipTree(configuration.getSingleFile()))); - } + getProject().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())); + } + }); + } }