Continuum
  1. Continuum
  2. CONTINUUM-2322

Unable to release project using distributed build if <scm> is not configured in the project's pom

    Details

    • Complexity:
      Intermediate
    • Number of attachments :
      0

      Description

      The following error occurs if you try to release a project without an <scm> configured in the pom itself (even if there is one configured in its parent pom):

      2009-08-11 12:31:51,096 [Thread-17] ERROR taskQueueExecutor#prepare-release  - Error executing task
      edu.emory.mathcs.backport.java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: 77
      	at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.getResult(FutureTask.java:299)
      	at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.get(FutureTask.java:118)
      	at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.waitForTask(ThreadedTaskQueueExecutor.java:159)
      	at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.run(ThreadedTaskQueueExecutor.java:127)
      Caused by: java.lang.ArrayIndexOutOfBoundsException: 77
      	at org.apache.maven.shared.release.phase.RewritePomsForReleasePhase.translateUrlPath(RewritePomsForReleasePhase.java:249)
      	at org.apache.maven.shared.release.phase.RewritePomsForReleasePhase.translateScm(RewritePomsForReleasePhase.java:124)
      	at org.apache.maven.shared.release.phase.RewritePomsForReleasePhase.transformScm(RewritePomsForReleasePhase.java:79)
      	at org.apache.maven.shared.release.phase.AbstractRewritePomsPhase.transformDocument(AbstractRewritePomsPhase.java:271)
      	at org.apache.maven.shared.release.phase.AbstractRewritePomsPhase.transformProject(AbstractRewritePomsPhase.java:180)
      	at org.apache.maven.shared.release.phase.AbstractRewritePomsPhase.transform(AbstractRewritePomsPhase.java:116)
      	at org.apache.maven.shared.release.phase.AbstractRewritePomsPhase.execute(AbstractRewritePomsPhase.java:99)
      	at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:194)
      	at org.apache.maven.shared.release.DefaultReleaseManager.prepareWithResult(DefaultReleaseManager.java:107)
      	at org.apache.maven.continuum.release.executors.PrepareReleaseTaskExecutor.execute(PrepareReleaseTaskExecutor.java:44)
      	at org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:68)
      	at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116)
      	at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
      	at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
      	at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:987)
      	at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:528)
      	at java.lang.Thread.run(Thread.java:595)
      

      See CONTINUUM-2317 for the set up/configuration of the project.

        Activity

        Hide
        Maria Odea Ching added a comment -

        Workaround is to add <scm> configuration in the POM file itself of the project being built.

        Show
        Maria Odea Ching added a comment - Workaround is to add <scm> configuration in the POM file itself of the project being built.
        Hide
        Maria Catherine Tan added a comment - - edited

        This is not a Continuum bug. We should file this in MRELEASE Jira instead.

        In RewritePomsForReleasePhase.translateUrlPath(), it looks for the common path of the trunk path and the tag path.

                
                while ( tagPathChars[i] == trunkPathChars[i] )
                {
                    ++i;
                }
        

        When I prepare release the selenium module from the project attached,

        the trunk path is based on the scm connection of it's parent which is scm:svn:http://host/repos/multi-module/CONTINUUM-2317/simple-project/tags/simple-project-1.2/simple-project-modules/simple-webapp-tests

        while the tag path is scm:svn:http://host/repos/multi-module/CONTINUUM-2317/simple-project/tags.

        So performing the above code snippet will cause an ArrayIndexOutOfBoundsException.

        Show
        Maria Catherine Tan added a comment - - edited This is not a Continuum bug. We should file this in MRELEASE Jira instead. In RewritePomsForReleasePhase.translateUrlPath(), it looks for the common path of the trunk path and the tag path. while ( tagPathChars[i] == trunkPathChars[i] ) { ++i; } When I prepare release the selenium module from the project attached, the trunk path is based on the scm connection of it's parent which is scm:svn: http://host/repos/multi-module/CONTINUUM-2317/simple-project/tags/simple-project-1.2/simple-project-modules/simple-webapp-tests while the tag path is scm:svn: http://host/repos/multi-module/CONTINUUM-2317/simple-project/tags . So performing the above code snippet will cause an ArrayIndexOutOfBoundsException.
        Hide
        Maria Catherine Tan added a comment -

        This has been fixed in 1.0-alpha-4 of maven-release-manager.

        Show
        Maria Catherine Tan added a comment - This has been fixed in 1.0-alpha-4 of maven-release-manager.
        Hide
        Maria Catherine Tan added a comment -

        Need to verify if this is fix in trunk since we're using 2.0-beta-9 of release manager.

        Show
        Maria Catherine Tan added a comment - Need to verify if this is fix in trunk since we're using 2.0-beta-9 of release manager.
        Hide
        Brett Porter added a comment -

        I think this needs to be backported to 1.3.x

        Show
        Brett Porter added a comment - I think this needs to be backported to 1.3.x
        Hide
        Maria Catherine Tan added a comment -

        use maven-release-manager 1.0-alpha-4 in r812781 of 1.3.x branch

        Show
        Maria Catherine Tan added a comment - use maven-release-manager 1.0-alpha-4 in r812781 of 1.3.x branch

          People

          • Assignee:
            Maria Catherine Tan
            Reporter:
            Maria Odea Ching
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: