[MRELEASE-872] NPE in release:perform when specifying svn tag as param
- Dominant language
- Java
- Stars
- 128
- Forks
- 145
- Avg merge
- 7h 7m
- Merged PRs (30d)
- 3
Description
**[Anders Hammar](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=afloom)** opened **[MRELEASE-872](https://issues.apache.org/jira/browse/MRELEASE-872?redirect=false)** and commented
When executing release:perform and specifying the Svn tag via the 'connectionUrl' parameter, the execution fails with a NullPointerException. This happens for an execution without an existing Maven project (e.g. in an empty directory).
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5:perform (default-cli) on project standalone-pom: Execution default-cli of goal org.apache.maven.plugins:maven-release-plugin:2.5:perform failed. NullPointerException -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5:perform (default-cli) on project standalone-pom: Execution default-cli
> of goal org.apache.maven.plugins:maven-release-plugin:2.5:perform failed.
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
> at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
> at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
> at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:611)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
> Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-cli of goal org.apache.maven.plugins:maven-release-plugin:2.5:perform failed.
> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
> ... 19 more
> Caused by: java.lang.NullPointerException
> at org.apache.maven.shared.release.util.ReleaseUtil.getCommonBasedir(ReleaseUtil.java:210)
> at org.apache.maven.shared.release.util.ReleaseUtil.getCommonBasedir(ReleaseUtil.java:200)
> at org.apache.maven.shared.release.phase.CheckoutProjectFromScm.performCheckout(CheckoutProjectFromScm.java:230)
> at org.apache.maven.shared.release.phase.CheckoutProjectFromScm.execute(CheckoutProjectFromScm.java:131)
> at org.apache.maven.shared.release.DefaultReleaseManager.perform(DefaultReleaseManager.java:429)
> at org.apache.maven.shared.release.DefaultReleaseManager.perform(DefaultReleaseManager.java:381)
> at org.apache.maven.plugins.release.PerformReleaseMojo.execute(PerformReleaseMojo.java:177)
> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
> ... 20 more
---
**Affects:** 2.4.2, 2.5
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce release:perform from an empty directory with connectionUrl set to an SVN tag. Start with ReleaseUtil.getCommonBasedir and CheckoutProjectFromScm.performCheckout, the locations shown in the stack trace. Done means this scenario no longer fails with a NullPointerException and has an appropriate release:perform result.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system, release
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100