Skip to content

mvn bootstrapper plugin failing with NPE #2390

Closed
@cskinfill

Description

@cskinfill

Bug Report

What did you do?

From here, I ran

mvn io.javaoperatorsdk:bootstrapper:4.9.0:create -DprojectGroupId=org.acme -DprojectArtifactId=getting-started

which resulted in a NullPointerException. Running again with the -e and -X flags results in (with some of the stacktrace omitted)

[ERROR] Failed to execute goal io.javaoperatorsdk:bootstrapper:4.9.0:create (default-cli) on project standalone-pom: Execution default-cli of goal io.javaoperatorsdk:bootstrapper:4.9.0:create failed: inputStream -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal io.javaoperatorsdk:bootstrapper:4.9.0:create (default-cli) on project standalone-pom: Execution default-cli of goal io.javaoperatorsdk:bootstrapper:4.9.0:create failed: inputStream
...
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-cli of goal io.javaoperatorsdk:bootstrapper:4.9.0:create failed: inputStream
...
Caused by: java.lang.NullPointerException: inputStream
    at java.util.Objects.requireNonNull (Objects.java:248)
    at org.apache.commons.io.IOUtils.copyLarge (IOUtils.java:1479)
    at org.apache.commons.io.IOUtils.copy (IOUtils.java:1107)
    at org.apache.commons.io.IOUtils.copyLarge (IOUtils.java:1456)
    at org.apache.commons.io.IOUtils.copy (IOUtils.java:1085)
    at org.apache.commons.io.FileUtils.copyToFile (FileUtils.java:1078)
    at org.apache.commons.io.FileUtils.copyInputStreamToFile (FileUtils.java:986)
    at io.javaoperatorsdk.boostrapper.Bootstrapper.addStaticFile (Bootstrapper.java:124)
    at io.javaoperatorsdk.boostrapper.Bootstrapper.addStaticFile (Bootstrapper.java:113)
    at io.javaoperatorsdk.boostrapper.Bootstrapper.lambda$addStaticFiles$1 (Bootstrapper.java:109)
    at java.lang.Iterable.forEach (Iterable.java:75)
    at io.javaoperatorsdk.boostrapper.Bootstrapper.addStaticFiles (Bootstrapper.java:109)
    at io.javaoperatorsdk.boostrapper.Bootstrapper.create (Bootstrapper.java:37)
    at io.javaoperatorsdk.boostrapper.BootstrapperMojo.execute (BootstrapperMojo.java:23)
...
[ERROR] 
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException

It appears that the .gitignore file is missing from the bootstrapper-4.9.0.jar archive, but it is referenced in the boostrapper code here

$ jar -t -f bootstrapper-4.9.0.jar
META-INF/
META-INF/MANIFEST.MF
META-INF/maven/
META-INF/maven/io.javaoperatorsdk/
META-INF/maven/io.javaoperatorsdk/bootstrapper/
static/
io/
io/javaoperatorsdk/
io/javaoperatorsdk/boostrapper/
io/javaoperatorsdk/bootstrapper/
templates/
templates/k8s/
META-INF/maven/plugin.xml
META-INF/maven/io.javaoperatorsdk/bootstrapper/plugin-help.xml
static/README.md
log4j2.xml
io/javaoperatorsdk/boostrapper/Bootstrapper.class
io/javaoperatorsdk/boostrapper/BootstrapperMojo.class
io/javaoperatorsdk/bootstrapper/Versions.class
templates/Runner.java
templates/Status.java
templates/pom.xml
templates/CustomResource.java
templates/Reconciler.java
templates/k8s/test-resource.yaml
templates/log4j2.xml
templates/Spec.java
templates/ReconcilerIntegrationTest.java
templates/ConfigMapDependentResource.java
META-INF/maven/io.javaoperatorsdk/bootstrapper/pom.xml
META-INF/maven/io.javaoperatorsdk/bootstrapper/pom.properties

What did you expect to see?

Expectation was a "getting started" project for the java operator sdk.

What did you see instead? Under which circumstances?

[ERROR] Failed to execute goal io.javaoperatorsdk:bootstrapper:4.9.0:create (default-cli) on project standalone-pom: Execution default-cli of goal io.javaoperatorsdk:bootstrapper:4.9.0:create failed: inputStream -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal io.javaoperatorsdk:bootstrapper:4.9.0:create (default-cli) on project standalone-pom: Execution default-cli of goal io.javaoperatorsdk:bootstrapper:4.9.0:create failed: inputStream

Environment

Running local machine on an M3 Apple macbook pro.

Possible Solution

mvn assembly plugin is missing the .gitignore and it looks like the default exclusion policy ignores source-control related files (like .gitignore).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions