Update BootWar to support Gradle's configuration cache
See gh-22922
This commit is contained in:
@@ -18,6 +18,7 @@ package org.springframework.boot.gradle.tasks.bundling;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.function.Function;
|
||||
|
||||
import org.gradle.api.Action;
|
||||
import org.gradle.api.Project;
|
||||
@@ -59,7 +60,7 @@ public class BootWar extends War implements BootArchive {
|
||||
* Creates a new {@code BootWar} task.
|
||||
*/
|
||||
public BootWar() {
|
||||
this.support = new BootArchiveSupport(LAUNCHER, this::isLibrary, this::resolveZipCompression);
|
||||
this.support = new BootArchiveSupport(LAUNCHER, new LibrarySpec(), new ZipCompressionResolver());
|
||||
this.mainClass = getProject().getObjects().property(String.class);
|
||||
getWebInf().into("lib-provided", fromCallTo(this::getProvidedLibFiles));
|
||||
this.support.moveModuleInfoToRoot(getRootSpec());
|
||||
@@ -232,4 +233,22 @@ public class BootWar extends War implements BootArchive {
|
||||
return callable;
|
||||
}
|
||||
|
||||
private final class LibrarySpec implements Spec<FileCopyDetails> {
|
||||
|
||||
@Override
|
||||
public boolean isSatisfiedBy(FileCopyDetails details) {
|
||||
return isLibrary(details);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private final class ZipCompressionResolver implements Function<FileCopyDetails, ZipCompression> {
|
||||
|
||||
@Override
|
||||
public ZipCompression apply(FileCopyDetails details) {
|
||||
return resolveZipCompression(details);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user