Improve null-safety of build-plugin/spring-boot-maven-plugin

See gh-46926
This commit is contained in:
Moritz Halbritter
2025-08-26 14:22:53 +02:00
parent 2a907ba369
commit 8fa656d3da
2 changed files with 6 additions and 1 deletions
@@ -51,6 +51,7 @@ import org.springframework.boot.loader.tools.ImagePackager;
import org.springframework.boot.loader.tools.LayoutFactory;
import org.springframework.boot.loader.tools.Libraries;
import org.springframework.boot.loader.tools.LoaderImplementation;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
/**
@@ -454,11 +455,12 @@ public abstract class BuildImageMojo extends AbstractPackagerMojo {
}
}
private void write(ZipEntry jarEntry, EntryWriter entryWriter, TarArchiveOutputStream tar) {
private void write(ZipEntry jarEntry, @Nullable EntryWriter entryWriter, TarArchiveOutputStream tar) {
try {
TarArchiveEntry tarEntry = convert(jarEntry);
tar.putArchiveEntry(tarEntry);
if (tarEntry.isFile()) {
Assert.state(entryWriter != null, "'entryWriter' must not be null");
entryWriter.write(tar);
}
tar.closeArchiveEntry();
@@ -27,6 +27,8 @@ import org.apache.maven.plugins.shade.relocation.Relocator;
import org.apache.maven.plugins.shade.resource.ReproducibleResourceTransformer;
import org.jspecify.annotations.Nullable;
import org.springframework.util.Assert;
/**
* Extension for the <a href="https://maven.apache.org/plugins/maven-shade-plugin/">Maven
* shade plugin</a> to allow properties files (e.g. {@literal META-INF/spring.factories})
@@ -88,6 +90,7 @@ public class PropertiesMergingResourceTransformer implements ReproducibleResourc
@Override
public void modifyOutputStream(JarOutputStream os) throws IOException {
Assert.state(this.resource != null, "'resource' must not be null");
JarEntry jarEntry = new JarEntry(this.resource);
jarEntry.setTime(this.time);
os.putNextEntry(jarEntry);