Skip to content

mvn bootstrapper plugin failing with NPE #2390

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
cskinfill opened this issue May 20, 2024 · 0 comments · Fixed by #2409
Closed

mvn bootstrapper plugin failing with NPE #2390

cskinfill opened this issue May 20, 2024 · 0 comments · Fixed by #2409

Comments

@cskinfill
Copy link
Contributor

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant