Browse Source

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

See gh-46926
pull/46973/head
Moritz Halbritter 4 months ago
parent
commit
8fa656d3da
  1. 4
      build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageMojo.java
  2. 3
      build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/PropertiesMergingResourceTransformer.java

4
build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageMojo.java

@ -51,6 +51,7 @@ import org.springframework.boot.loader.tools.ImagePackager; @@ -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 { @@ -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();

3
build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/PropertiesMergingResourceTransformer.java

@ -27,6 +27,8 @@ import org.apache.maven.plugins.shade.relocation.Relocator; @@ -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 @@ -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);

Loading…
Cancel
Save