prepare goal fails if "localRepoDirectory" doesn't exist, should instead create 
it
----------------------------------------------------------------------------------

                 Key: MRELEASE-566
                 URL: http://jira.codehaus.org/browse/MRELEASE-566
             Project: Maven 2.x Release Plugin
          Issue Type: Bug
            Reporter: luke w patterson
         Attachments: maven-release-plugin-local-repo.patch

(patch attached, no testcase but it is fairly straightforward)

if the directory listed in the "localRepoDirectory" [1] parameter of 
release:prepare doesn't exist, the build fails

e.g. if I set {code} 
<localRepoDirectory>${project.build.directory}\local-repo-during-release</localRepoDirectory>
 {code}

I get error:

{code}
java.lang.IllegalArgumentException: Local repository location: 
'blah\target\local-repo-during-release' is NOT a directory.
        at 
org.apache.maven.shared.invoker.MavenCommandLineBuilder.setEnvironmentPaths(MavenCommandLineBuilder.java:359)
        at 
org.apache.maven.shared.invoker.MavenCommandLineBuilder.build(MavenCommandLineBuilder.java:90)
        at 
org.apache.maven.shared.invoker.DefaultInvoker.execute(DefaultInvoker.java:91)
        at 
org.apache.maven.shared.release.exec.InvokerMavenExecutor.executeGoals(InvokerMavenExecutor.java:387)
        at 
org.apache.maven.shared.release.exec.InvokerMavenExecutor.executeGoals(InvokerMavenExecutor.java:413)
        at 
org.apache.maven.shared.release.phase.AbstractRunGoalsPhase.execute(AbstractRunGoalsPhase.java:82)
        at 
org.apache.maven.shared.release.phase.RunPrepareGoalsPhase.execute(RunPrepareGoalsPhase.java:42)
        at 
org.apache.maven.shared.release.phase.RunPrepareGoalsPhase.simulate(RunPrepareGoalsPhase.java:54)
        at 
org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:199)
        at 
org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:140)
        at 
org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:103)
        at 
org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:211)
        at 
org.apache.maven.plugins.release.PrepareReleaseMojo.execute(PrepareReleaseMojo.java:181)
        at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
        at 
org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
{code}

Ideally, one could avoid the null check in the patch, but then a lot of tests 
would have to be updated, and I wasn't sure if it was worth it.


Thanks


[1] 
http://maven.apache.org/plugins/maven-release-plugin/prepare-mojo.html#localRepoDirectory

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to