2121import org .gradle .api .DefaultTask ;
2222import org .gradle .api .Task ;
2323import org .gradle .api .artifacts .Configuration ;
24+ import org .gradle .api .file .ArchiveOperations ;
2425import org .gradle .api .file .DirectoryProperty ;
2526import org .gradle .api .file .FileSystemOperations ;
2627import org .gradle .api .provider .SetProperty ;
@@ -37,9 +38,12 @@ public abstract class PrepareMavenBinaries extends DefaultTask {
3738
3839 private final FileSystemOperations fileSystemOperations ;
3940
41+ private final ArchiveOperations archiveOperations ;
42+
4043 @ Inject
41- public PrepareMavenBinaries (FileSystemOperations fileSystemOperations ) {
44+ public PrepareMavenBinaries (FileSystemOperations fileSystemOperations , ArchiveOperations archiveOperations ) {
4245 this .fileSystemOperations = fileSystemOperations ;
46+ this .archiveOperations = archiveOperations ;
4347 }
4448
4549 @ OutputDirectory
@@ -53,10 +57,9 @@ public void prepareBinaries() {
5357 this .fileSystemOperations .sync ((sync ) -> {
5458 sync .into (getOutputDir ());
5559 for (String version : getVersions ().get ()) {
56- Configuration configuration = getProject ().getConfigurations ()
57- .detachedConfiguration (getProject ().getDependencies ()
58- .create ("org.apache.maven:apache-maven:" + version + ":bin@zip" ));
59- sync .from (getProject ().zipTree (configuration .getSingleFile ()));
60+ Configuration configuration = getProject ().getConfigurations ().detachedConfiguration (
61+ getProject ().getDependencies ().create ("org.apache.maven:apache-maven:" + version + ":bin@zip" ));
62+ sync .from (this .archiveOperations .zipTree (configuration .getSingleFile ()));
6063 }
6164 });
6265
0 commit comments