diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/docs/asciidoc/packaging-oci-image.adoc b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/docs/asciidoc/packaging-oci-image.adoc index f59509e187..7aa2462927 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/docs/asciidoc/packaging-oci-image.adoc +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/docs/asciidoc/packaging-oci-image.adoc @@ -153,7 +153,7 @@ Acceptable values are `ALWAYS`, `NEVER`, and `IF_NOT_PRESENT`. | `cleanCache` | Whether to clean the cache before building. -| +| `spring-boot.build-image.cleanCache` | `false` | `verboseLogging` diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageMojo.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageMojo.java index 7b85d7aa68..e094d2abbe 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageMojo.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageMojo.java @@ -130,6 +130,14 @@ public class BuildImageMojo extends AbstractPackagerMojo { @Parameter(property = "spring-boot.build-image.runImage", readonly = true) String runImage; + /** + * Alias for {@link Image#cleanCache} to support configuration via command-line + * property. + * @since 2.4.0 + */ + @Parameter(property = "spring-boot.build-image.cleanCache", readonly = true) + Boolean cleanCache; + /** * Alias for {@link Image#pullPolicy} to support configuration via command-line * property. @@ -189,6 +197,9 @@ public class BuildImageMojo extends AbstractPackagerMojo { if (image.runImage == null && this.runImage != null) { image.setRunImage(this.runImage); } + if (image.cleanCache == null && this.cleanCache != null) { + image.setCleanCache(this.cleanCache); + } if (image.pullPolicy == null && this.pullPolicy != null) { image.setPullPolicy(this.pullPolicy); } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/Image.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/Image.java index 83ca2f0a94..bdec55f3e1 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/Image.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/Image.java @@ -46,7 +46,7 @@ public class Image { Map env; - boolean cleanCache; + Boolean cleanCache; boolean verboseLogging; @@ -102,10 +102,14 @@ public class Image { * If the cache should be cleaned before building. * @return {@code true} if the cache should be cleaned */ - public boolean isCleanCache() { + public Boolean getCleanCache() { return this.cleanCache; } + void setCleanCache(Boolean cleanCache) { + this.cleanCache = cleanCache; + } + /** * If verbose logging is required. * @return {@code true} for verbose logging @@ -160,7 +164,9 @@ public class Image { if (this.env != null && !this.env.isEmpty()) { request = request.withEnv(this.env); } - request = request.withCleanCache(this.cleanCache); + if (this.cleanCache != null) { + request = request.withCleanCache(this.cleanCache); + } request = request.withVerboseLogging(this.verboseLogging); if (this.pullPolicy != null) { request = request.withPullPolicy(this.pullPolicy);