You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@continuum.apache.org by Marica Tan <ct...@exist.com> on 2008/04/17 03:37:25 UTC

Error in Release Prepare of Continuum

Hi,

I'm getting the following error in the release prepare of continuum (trunk).

[ERROR] org.apache.maven.shared.release.ReleaseExecutionException:
Unable to find phase '<preparePhases>
          <phase>update-working-copy</phase>
          <phase>generate-reactor-projects</phase>
          <phase>check-poms</phase>
          <phase>scm-check-modifications</phase>
          <phase>check-dependency-snapshots</phase>
          <phase>create-backup-poms</phase>
          <phase>map-release-versions</phase>
          <phase>input-variables</phase>
          <phase>map-development-versions</phase>
          <phase>rewrite-poms-for-release</phase>
          <phase>generate-release-poms</phase>
          <phase>run-preparation-goals</phase>
          <phase>scm-commit-release</phase>
          <phase>scm-tag</phase>
          <phase>rewrite-poms-for-development</phase>
          <phase>remove-release-poms</phase>
          <phase>scm-commit-development</phase>
          <phase>end-release</phase>
        </preparePhases>' to execute
	at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:180)
	at org.apache.maven.shared.release.DefaultReleaseManager.prepareWithResult(DefaultReleaseManager.java:107)
	at org.apache.maven.continuum.release.executors.PrepareReleaseTaskExecutor.execute(PrepareReleaseTaskExecutor.java:43)
	at org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67)
	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)


I tried to check the plexus spring configurations and I don't see anything
wrong :(  I see that there's a ContinuumStartup class which replaces the
following in application.xml

<load-on-start>
    <component>
      <role>org.apache.maven.continuum.Continuum</role>
    </component>
    <component>
      <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
      <role-hint>build-project</role-hint>
    </component>
    <component>
      <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
      <role-hint>check-out-project</role-hint>
    </component>
    <component>
      <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
      <role-hint>prepare-release</role-hint>
    </component>
    <component>
      <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
      <role-hint>perform-release</role-hint>
    </component>
    <component>
      <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
      <role-hint>rollback-release</role-hint>
    </component>
</load-on-start>

I'm not yet familiar with plexus so I may be missing something here...

Can anyone guide me on this and be my shining light? :D

Thanks,
Marica

Re: Error in Release Prepare of Continuum

Posted by Brett Porter <br...@apache.org>.
It's ok for continuum-release to still depend on "plexus components" -  
you just need to use the id that plexus-spring generates  
(rollClassName#role-hint, I think).

- Brett

On 19/04/2008, at 4:03 AM, Edwin Punzalan wrote:

> that may be a problem.  continuum-release have other components/ 
> beans from
> maven-release-manager and it goes all the way back to maven and  
> maven-scm.
>
> Maybe if we can submit a patch, for plexus-spring to support  
> Collections
> (List of Strings at least), maybe someone here can apply it in there.
>
> On Fri, Apr 18, 2008 at 8:01 AM, Olivier Lamy <ol...@apache.org>  
> wrote:
>
>> I think we have to move this to a Spring bean (if possible).
>> Because currently plexus-spring component doesn't support ("yet")
>> complex object object in a plexus component configuration.
>>
>> It's documented here
>> http://plexus.codehaus.org/plexus-components/plexus-spring/ .
>> "Injection of configuration, limited to String and simple types ".
>>
>> --
>> Olivier
>>
>>
>> 2008/4/18, Edwin Punzalan <el...@gmail.com>:
>>> Or it could be that the dependencyValue should already be a List  
>>> object.
>>>
>>> Maybe others can shed more light into this?
>>>
>>>
>>> On Fri, Apr 18, 2008 at 5:21 AM, Edwin Punzalan <elpunzalan@gmail.com 
>>> >
>>> wrote:
>>>
>>>
>>>> Hi, Marica.
>>>>
>>>>
>>>> I've started looking into this...
>>>>
>>>> I think its a problem with the plexus-spring.  Below is what I've
>> found in
>>>> PlexusNamespaceHandler:
>>>>
>>>>                    StringWriter xml = new StringWriter();
>>>>                    xml.write( '<' + name + '>' );
>>>>                    flatten( child.getChildNodes(), new PrintWriter(
>> xml )
>>>> );
>>>>                    xml.write( "</" + name + '>' );
>>>>                    String dependencyValue = StringUtils.replace(
>>>> xml.toString(), "${basedir}", PlexusToSpringUtils.getBasedir() );
>>>>                    dependencies.put( name, dependencyValue );
>>>>                    value.append( xml.toString());
>>>>
>>>> "name" is the plexus <configuration> name.  And "value" is supposed
>> to be
>>>> its value, Nothing wrong there.
>>>>
>>>> But notice the parameters being passed to the "dependencies" Map.
>> The
>>>> dependencyValue would also contain the configuration name... as  
>>>> shown
>> in the
>>>> stacktrace you gave us.  And I think this is what's causing the
>> problem.
>>>>
>>>> I have no time to try it out, but if you could replace it instead
>> with:
>>>>
>>>>                    StringWriter xml = new StringWriter();
>>>>                    flatten( child.getChildNodes(), new PrintWriter(
>> xml )
>>>> );
>>>>                    String dependencyValue = xml.toString();
>>>>                    value.append( '<' + name + '>' );
>>>>                    value.append( dependencyValue );
>>>>                    value.append( "</" + name + '>' );
>>>>                    dependencyValue = StringUtils.replace(
>> xml.toString(),
>>>> "${basedir}", PlexusToSpringUtils.getBasedir() );
>>>>                    dependencies.put( name, dependencyValue );
>>>>
>>>> and build, test, and create a patch... it would really be helpful.
>>>> Thanks!
>>>>
>>>> ^_^
>>>>
>>>>
>>>>
>>>>
>>>> On Wed, Apr 16, 2008 at 6:37 PM, Marica Tan <ct...@exist.com> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I'm getting the following error in the release prepare of  
>>>>> continuum
>>>>> (trunk).
>>>>>
>>>>> [ERROR] org.apache.maven.shared.release.ReleaseExecutionException:
>>>>> Unable to find phase '<preparePhases>
>>>>>         <phase>update-working-copy</phase>
>>>>>         <phase>generate-reactor-projects</phase>
>>>>>         <phase>check-poms</phase>
>>>>>         <phase>scm-check-modifications</phase>
>>>>>         <phase>check-dependency-snapshots</phase>
>>>>>         <phase>create-backup-poms</phase>
>>>>>         <phase>map-release-versions</phase>
>>>>>         <phase>input-variables</phase>
>>>>>         <phase>map-development-versions</phase>
>>>>>         <phase>rewrite-poms-for-release</phase>
>>>>>         <phase>generate-release-poms</phase>
>>>>>         <phase>run-preparation-goals</phase>
>>>>>         <phase>scm-commit-release</phase>
>>>>>         <phase>scm-tag</phase>
>>>>>         <phase>rewrite-poms-for-development</phase>
>>>>>         <phase>remove-release-poms</phase>
>>>>>         <phase>scm-commit-development</phase>
>>>>>         <phase>end-release</phase>
>>>>>       </preparePhases>' to execute
>>>>>       at
>>>>>
>> org 
>> .apache 
>> .maven 
>> .shared 
>> .release.DefaultReleaseManager.prepare(DefaultReleaseManager.java: 
>> 180)
>>>>>       at
>>>>>
>> org 
>> .apache 
>> .maven 
>> .shared 
>> .release 
>> .DefaultReleaseManager.prepareWithResult(DefaultReleaseManager.java: 
>> 107)
>>>>>       at
>>>>>
>> org 
>> .apache 
>> .maven 
>> .continuum 
>> .release 
>> .executors 
>> .PrepareReleaseTaskExecutor.execute(PrepareReleaseTaskExecutor.java: 
>> 43)
>>>>>       at
>>>>>
>> org 
>> .apache 
>> .maven 
>> .continuum 
>> .release 
>> .executors 
>> .AbstractReleaseTaskExecutor 
>> .executeTask(AbstractReleaseTaskExecutor.java:67)
>>>>>       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)
>>>>>
>>>>>
>>>>> I tried to check the plexus spring configurations and I don't see
>>>>> anything
>>>>> wrong :(  I see that there's a ContinuumStartup class which
>> replaces the
>>>>> following in application.xml
>>>>>
>>>>> <load-on-start>
>>>>>   <component>
>>>>>     <role>org.apache.maven.continuum.Continuum</role>
>>>>>   </component>
>>>>>   <component>
>>>>>
>>>>>
>> <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</ 
>> role>
>>>>>     <role-hint>build-project</role-hint>
>>>>>   </component>
>>>>>   <component>
>>>>>
>>>>>
>> <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</ 
>> role>
>>>>>     <role-hint>check-out-project</role-hint>
>>>>>   </component>
>>>>>   <component>
>>>>>
>>>>>
>> <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</ 
>> role>
>>>>>     <role-hint>prepare-release</role-hint>
>>>>>   </component>
>>>>>   <component>
>>>>>
>>>>>
>> <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</ 
>> role>
>>>>>     <role-hint>perform-release</role-hint>
>>>>>   </component>
>>>>>   <component>
>>>>>
>>>>>
>> <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</ 
>> role>
>>>>>     <role-hint>rollback-release</role-hint>
>>>>>   </component>
>>>>> </load-on-start>
>>>>>
>>>>> I'm not yet familiar with plexus so I may be missing something
>> here...
>>>>>
>>>>> Can anyone guide me on this and be my shining light? :D
>>>>>
>>>>> Thanks,
>>>>> Marica
>>>>>
>>>>
>>>>
>>>
>>

--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/


Re: Error in Release Prepare of Continuum

Posted by Edwin Punzalan <el...@gmail.com>.
that may be a problem.  continuum-release have other components/beans from
maven-release-manager and it goes all the way back to maven and maven-scm.

Maybe if we can submit a patch, for plexus-spring to support Collections
(List of Strings at least), maybe someone here can apply it in there.

On Fri, Apr 18, 2008 at 8:01 AM, Olivier Lamy <ol...@apache.org> wrote:

> I think we have to move this to a Spring bean (if possible).
> Because currently plexus-spring component doesn't support ("yet")
> complex object object in a plexus component configuration.
>
> It's documented here
> http://plexus.codehaus.org/plexus-components/plexus-spring/ .
> "Injection of configuration, limited to String and simple types ".
>
> --
> Olivier
>
>
> 2008/4/18, Edwin Punzalan <el...@gmail.com>:
> > Or it could be that the dependencyValue should already be a List object.
> >
> >  Maybe others can shed more light into this?
> >
> >
> >  On Fri, Apr 18, 2008 at 5:21 AM, Edwin Punzalan <el...@gmail.com>
> >  wrote:
> >
> >
> >  > Hi, Marica.
> >  >
> >  >
> >  > I've started looking into this...
> >  >
> >  > I think its a problem with the plexus-spring.  Below is what I've
> found in
> >  > PlexusNamespaceHandler:
> >  >
> >  >                     StringWriter xml = new StringWriter();
> >  >                     xml.write( '<' + name + '>' );
> >  >                     flatten( child.getChildNodes(), new PrintWriter(
> xml )
> >  > );
> >  >                     xml.write( "</" + name + '>' );
> >  >                     String dependencyValue = StringUtils.replace(
> >  > xml.toString(), "${basedir}", PlexusToSpringUtils.getBasedir() );
> >  >                     dependencies.put( name, dependencyValue );
> >  >                     value.append( xml.toString());
> >  >
> >  > "name" is the plexus <configuration> name.  And "value" is supposed
> to be
> >  > its value, Nothing wrong there.
> >  >
> >  > But notice the parameters being passed to the "dependencies" Map.
>  The
> >  > dependencyValue would also contain the configuration name... as shown
> in the
> >  > stacktrace you gave us.  And I think this is what's causing the
> problem.
> >  >
> >  > I have no time to try it out, but if you could replace it instead
> with:
> >  >
> >  >                     StringWriter xml = new StringWriter();
> >  >                     flatten( child.getChildNodes(), new PrintWriter(
> xml )
> >  > );
> >  >                     String dependencyValue = xml.toString();
> >  >                     value.append( '<' + name + '>' );
> >  >                     value.append( dependencyValue );
> >  >                     value.append( "</" + name + '>' );
> >  >                     dependencyValue = StringUtils.replace(
> xml.toString(),
> >  > "${basedir}", PlexusToSpringUtils.getBasedir() );
> >  >                     dependencies.put( name, dependencyValue );
> >  >
> >  > and build, test, and create a patch... it would really be helpful.
> >  > Thanks!
> >  >
> >  > ^_^
> >  >
> >  >
> >  >
> >  >
> >  > On Wed, Apr 16, 2008 at 6:37 PM, Marica Tan <ct...@exist.com> wrote:
> >  >
> >  > > Hi,
> >  > >
> >  > > I'm getting the following error in the release prepare of continuum
> >  > > (trunk).
> >  > >
> >  > > [ERROR] org.apache.maven.shared.release.ReleaseExecutionException:
> >  > > Unable to find phase '<preparePhases>
> >  > >          <phase>update-working-copy</phase>
> >  > >          <phase>generate-reactor-projects</phase>
> >  > >          <phase>check-poms</phase>
> >  > >          <phase>scm-check-modifications</phase>
> >  > >          <phase>check-dependency-snapshots</phase>
> >  > >          <phase>create-backup-poms</phase>
> >  > >          <phase>map-release-versions</phase>
> >  > >          <phase>input-variables</phase>
> >  > >          <phase>map-development-versions</phase>
> >  > >          <phase>rewrite-poms-for-release</phase>
> >  > >          <phase>generate-release-poms</phase>
> >  > >          <phase>run-preparation-goals</phase>
> >  > >          <phase>scm-commit-release</phase>
> >  > >          <phase>scm-tag</phase>
> >  > >          <phase>rewrite-poms-for-development</phase>
> >  > >          <phase>remove-release-poms</phase>
> >  > >          <phase>scm-commit-development</phase>
> >  > >          <phase>end-release</phase>
> >  > >        </preparePhases>' to execute
> >  > >        at
> >  > >
> org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:180)
> >  > >        at
> >  > >
> org.apache.maven.shared.release.DefaultReleaseManager.prepareWithResult(DefaultReleaseManager.java:107)
> >  > >        at
> >  > >
> org.apache.maven.continuum.release.executors.PrepareReleaseTaskExecutor.execute(PrepareReleaseTaskExecutor.java:43)
> >  > >        at
> >  > >
> org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67)
> >  > >        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)
> >  > >
> >  > >
> >  > > I tried to check the plexus spring configurations and I don't see
> >  > > anything
> >  > > wrong :(  I see that there's a ContinuumStartup class which
> replaces the
> >  > > following in application.xml
> >  > >
> >  > > <load-on-start>
> >  > >    <component>
> >  > >      <role>org.apache.maven.continuum.Continuum</role>
> >  > >    </component>
> >  > >    <component>
> >  > >
> >  > >
>  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
> >  > >      <role-hint>build-project</role-hint>
> >  > >    </component>
> >  > >    <component>
> >  > >
> >  > >
>  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
> >  > >      <role-hint>check-out-project</role-hint>
> >  > >    </component>
> >  > >    <component>
> >  > >
> >  > >
>  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
> >  > >      <role-hint>prepare-release</role-hint>
> >  > >    </component>
> >  > >    <component>
> >  > >
> >  > >
>  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
> >  > >      <role-hint>perform-release</role-hint>
> >  > >    </component>
> >  > >    <component>
> >  > >
> >  > >
>  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
> >  > >      <role-hint>rollback-release</role-hint>
> >  > >    </component>
> >  > > </load-on-start>
> >  > >
> >  > > I'm not yet familiar with plexus so I may be missing something
> here...
> >  > >
> >  > > Can anyone guide me on this and be my shining light? :D
> >  > >
> >  > > Thanks,
> >  > > Marica
> >  > >
> >  >
> >  >
> >
>

Re: Error in Release Prepare of Continuum

Posted by Brett Porter <br...@apache.org>.
On 21/04/2008, at 6:38 AM, Edwin Punzalan wrote:

> Any suggestion on how to do this?  I can only think of the  
> straightforward
> conversion to spring, which is to translate all components.xml into  
> the
> spring context.  But even that may have its own problems.

That's exactly it, but you only need to do it for the single bean. The  
plexus-spring integration automatically converts components.xml into  
spring context's, it just doesn't know how to handle this particular  
one :)

- Brett

>
>
> But since you're all suggesting this route.  Maybe you guys know a  
> shortcut
> that you'd want to share?  ^_^
>
> On Fri, Apr 18, 2008 at 7:13 PM, Brett Porter <br...@apache.org>  
> wrote:
>
>> I agree - the plexus-spring module is just meant to be a migration  
>> tool -
>> it would be better to convert this rather than to implement it there.
>>
>> - Brett
>>
>>
>> On 18/04/2008, at 11:01 PM, Olivier Lamy wrote:
>>
>> I think we have to move this to a Spring bean (if possible).
>>> Because currently plexus-spring component doesn't support ("yet")
>>> complex object object in a plexus component configuration.
>>>
>>> It's documented here
>>> http://plexus.codehaus.org/plexus-components/plexus-spring/ .
>>> "Injection of configuration, limited to String and simple types ".
>>>
>>> --
>>> Olivier
>>>
>>>
>>> 2008/4/18, Edwin Punzalan <el...@gmail.com>:
>>>
>>>> Or it could be that the dependencyValue should already be a List
>>>> object.
>>>>
>>>> Maybe others can shed more light into this?
>>>>
>>>>
>>>> On Fri, Apr 18, 2008 at 5:21 AM, Edwin Punzalan <elpunzalan@gmail.com 
>>>> >
>>>> wrote:
>>>>
>>>>
>>>> Hi, Marica.
>>>>>
>>>>>
>>>>> I've started looking into this...
>>>>>
>>>>> I think its a problem with the plexus-spring.  Below is what I've
>>>>> found in
>>>>> PlexusNamespaceHandler:
>>>>>
>>>>>                  StringWriter xml = new StringWriter();
>>>>>                  xml.write( '<' + name + '>' );
>>>>>                  flatten( child.getChildNodes(), new PrintWriter(
>>>>> xml )
>>>>> );
>>>>>                  xml.write( "</" + name + '>' );
>>>>>                  String dependencyValue = StringUtils.replace(
>>>>> xml.toString(), "${basedir}", PlexusToSpringUtils.getBasedir() );
>>>>>                  dependencies.put( name, dependencyValue );
>>>>>                  value.append( xml.toString());
>>>>>
>>>>> "name" is the plexus <configuration> name.  And "value" is  
>>>>> supposed
>>>>> to be
>>>>> its value, Nothing wrong there.
>>>>>
>>>>> But notice the parameters being passed to the "dependencies" Map.
>>>>> The
>>>>> dependencyValue would also contain the configuration name... as
>>>>> shown in the
>>>>> stacktrace you gave us.  And I think this is what's causing the
>>>>> problem.
>>>>>
>>>>> I have no time to try it out, but if you could replace it instead
>>>>> with:
>>>>>
>>>>>                  StringWriter xml = new StringWriter();
>>>>>                  flatten( child.getChildNodes(), new PrintWriter(
>>>>> xml )
>>>>> );
>>>>>                  String dependencyValue = xml.toString();
>>>>>                  value.append( '<' + name + '>' );
>>>>>                  value.append( dependencyValue );
>>>>>                  value.append( "</" + name + '>' );
>>>>>                  dependencyValue = StringUtils.replace(
>>>>> xml.toString(),
>>>>> "${basedir}", PlexusToSpringUtils.getBasedir() );
>>>>>                  dependencies.put( name, dependencyValue );
>>>>>
>>>>> and build, test, and create a patch... it would really be helpful.
>>>>> Thanks!
>>>>>
>>>>> ^_^
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Apr 16, 2008 at 6:37 PM, Marica Tan <ct...@exist.com>  
>>>>> wrote:
>>>>>
>>>>> Hi,
>>>>>>
>>>>>> I'm getting the following error in the release prepare of
>>>>>> continuum
>>>>>> (trunk).
>>>>>>
>>>>>> [ERROR]  
>>>>>> org.apache.maven.shared.release.ReleaseExecutionException:
>>>>>> Unable to find phase '<preparePhases>
>>>>>>       <phase>update-working-copy</phase>
>>>>>>       <phase>generate-reactor-projects</phase>
>>>>>>       <phase>check-poms</phase>
>>>>>>       <phase>scm-check-modifications</phase>
>>>>>>       <phase>check-dependency-snapshots</phase>
>>>>>>       <phase>create-backup-poms</phase>
>>>>>>       <phase>map-release-versions</phase>
>>>>>>       <phase>input-variables</phase>
>>>>>>       <phase>map-development-versions</phase>
>>>>>>       <phase>rewrite-poms-for-release</phase>
>>>>>>       <phase>generate-release-poms</phase>
>>>>>>       <phase>run-preparation-goals</phase>
>>>>>>       <phase>scm-commit-release</phase>
>>>>>>       <phase>scm-tag</phase>
>>>>>>       <phase>rewrite-poms-for-development</phase>
>>>>>>       <phase>remove-release-poms</phase>
>>>>>>       <phase>scm-commit-development</phase>
>>>>>>       <phase>end-release</phase>
>>>>>>     </preparePhases>' to execute
>>>>>>     at
>>>>>>
>>>>>> org 
>>>>>> .apache 
>>>>>> .maven 
>>>>>> .shared 
>>>>>> .release 
>>>>>> .DefaultReleaseManager.prepare(DefaultReleaseManager.java:180)
>>>>>>     at
>>>>>>
>>>>>> org 
>>>>>> .apache 
>>>>>> .maven 
>>>>>> .shared 
>>>>>> .release 
>>>>>> .DefaultReleaseManager 
>>>>>> .prepareWithResult(DefaultReleaseManager.java:107)
>>>>>>     at
>>>>>>
>>>>>> org 
>>>>>> .apache 
>>>>>> .maven 
>>>>>> .continuum 
>>>>>> .release 
>>>>>> .executors 
>>>>>> .PrepareReleaseTaskExecutor 
>>>>>> .execute(PrepareReleaseTaskExecutor.java:43)
>>>>>>     at
>>>>>>
>>>>>> org 
>>>>>> .apache 
>>>>>> .maven 
>>>>>> .continuum 
>>>>>> .release 
>>>>>> .executors 
>>>>>> .AbstractReleaseTaskExecutor 
>>>>>> .executeTask(AbstractReleaseTaskExecutor.java:67)
>>>>>>     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)
>>>>>>
>>>>>>
>>>>>> I tried to check the plexus spring configurations and I don't see
>>>>>> anything
>>>>>> wrong :(  I see that there's a ContinuumStartup class which
>>>>>> replaces the
>>>>>> following in application.xml
>>>>>>
>>>>>> <load-on-start>
>>>>>> <component>
>>>>>>   <role>org.apache.maven.continuum.Continuum</role>
>>>>>> </component>
>>>>>> <component>
>>>>>>
>>>>>>
>>>>>> < 
>>>>>> role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</ 
>>>>>> role>
>>>>>>   <role-hint>build-project</role-hint>
>>>>>> </component>
>>>>>> <component>
>>>>>>
>>>>>>
>>>>>> < 
>>>>>> role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</ 
>>>>>> role>
>>>>>>   <role-hint>check-out-project</role-hint>
>>>>>> </component>
>>>>>> <component>
>>>>>>
>>>>>>
>>>>>> < 
>>>>>> role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</ 
>>>>>> role>
>>>>>>   <role-hint>prepare-release</role-hint>
>>>>>> </component>
>>>>>> <component>
>>>>>>
>>>>>>
>>>>>> < 
>>>>>> role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</ 
>>>>>> role>
>>>>>>   <role-hint>perform-release</role-hint>
>>>>>> </component>
>>>>>> <component>
>>>>>>
>>>>>>
>>>>>> < 
>>>>>> role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</ 
>>>>>> role>
>>>>>>   <role-hint>rollback-release</role-hint>
>>>>>> </component>
>>>>>> </load-on-start>
>>>>>>
>>>>>> I'm not yet familiar with plexus so I may be missing something
>>>>>> here...
>>>>>>
>>>>>> Can anyone guide me on this and be my shining light? :D
>>>>>>
>>>>>> Thanks,
>>>>>> Marica
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>> --
>> Brett Porter
>> brett@apache.org
>> http://blogs.exist.com/bporter/
>>
>>

--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/


Re: Error in Release Prepare of Continuum

Posted by Edwin Punzalan <ep...@apache.org>.
Any suggestion on how to do this?  I can only think of the straightforward
conversion to spring, which is to translate all components.xml into the
spring context.  But even that may have its own problems.

But since you're all suggesting this route.  Maybe you guys know a shortcut
that you'd want to share?  ^_^

On Fri, Apr 18, 2008 at 7:13 PM, Brett Porter <br...@apache.org> wrote:

> I agree - the plexus-spring module is just meant to be a migration tool -
> it would be better to convert this rather than to implement it there.
>
> - Brett
>
>
> On 18/04/2008, at 11:01 PM, Olivier Lamy wrote:
>
>  I think we have to move this to a Spring bean (if possible).
> > Because currently plexus-spring component doesn't support ("yet")
> > complex object object in a plexus component configuration.
> >
> > It's documented here
> > http://plexus.codehaus.org/plexus-components/plexus-spring/ .
> > "Injection of configuration, limited to String and simple types ".
> >
> > --
> > Olivier
> >
> >
> > 2008/4/18, Edwin Punzalan <el...@gmail.com>:
> >
> > > Or it could be that the dependencyValue should already be a List
> > > object.
> > >
> > > Maybe others can shed more light into this?
> > >
> > >
> > > On Fri, Apr 18, 2008 at 5:21 AM, Edwin Punzalan <el...@gmail.com>
> > > wrote:
> > >
> > >
> > >  Hi, Marica.
> > > >
> > > >
> > > > I've started looking into this...
> > > >
> > > > I think its a problem with the plexus-spring.  Below is what I've
> > > > found in
> > > > PlexusNamespaceHandler:
> > > >
> > > >                   StringWriter xml = new StringWriter();
> > > >                   xml.write( '<' + name + '>' );
> > > >                   flatten( child.getChildNodes(), new PrintWriter(
> > > > xml )
> > > > );
> > > >                   xml.write( "</" + name + '>' );
> > > >                   String dependencyValue = StringUtils.replace(
> > > > xml.toString(), "${basedir}", PlexusToSpringUtils.getBasedir() );
> > > >                   dependencies.put( name, dependencyValue );
> > > >                   value.append( xml.toString());
> > > >
> > > > "name" is the plexus <configuration> name.  And "value" is supposed
> > > > to be
> > > > its value, Nothing wrong there.
> > > >
> > > > But notice the parameters being passed to the "dependencies" Map.
> > > >  The
> > > > dependencyValue would also contain the configuration name... as
> > > > shown in the
> > > > stacktrace you gave us.  And I think this is what's causing the
> > > > problem.
> > > >
> > > > I have no time to try it out, but if you could replace it instead
> > > > with:
> > > >
> > > >                   StringWriter xml = new StringWriter();
> > > >                   flatten( child.getChildNodes(), new PrintWriter(
> > > > xml )
> > > > );
> > > >                   String dependencyValue = xml.toString();
> > > >                   value.append( '<' + name + '>' );
> > > >                   value.append( dependencyValue );
> > > >                   value.append( "</" + name + '>' );
> > > >                   dependencyValue = StringUtils.replace(
> > > > xml.toString(),
> > > > "${basedir}", PlexusToSpringUtils.getBasedir() );
> > > >                   dependencies.put( name, dependencyValue );
> > > >
> > > > and build, test, and create a patch... it would really be helpful.
> > > > Thanks!
> > > >
> > > > ^_^
> > > >
> > > >
> > > >
> > > >
> > > > On Wed, Apr 16, 2008 at 6:37 PM, Marica Tan <ct...@exist.com> wrote:
> > > >
> > > >  Hi,
> > > > >
> > > > > I'm getting the following error in the release prepare of
> > > > > continuum
> > > > > (trunk).
> > > > >
> > > > > [ERROR] org.apache.maven.shared.release.ReleaseExecutionException:
> > > > > Unable to find phase '<preparePhases>
> > > > >        <phase>update-working-copy</phase>
> > > > >        <phase>generate-reactor-projects</phase>
> > > > >        <phase>check-poms</phase>
> > > > >        <phase>scm-check-modifications</phase>
> > > > >        <phase>check-dependency-snapshots</phase>
> > > > >        <phase>create-backup-poms</phase>
> > > > >        <phase>map-release-versions</phase>
> > > > >        <phase>input-variables</phase>
> > > > >        <phase>map-development-versions</phase>
> > > > >        <phase>rewrite-poms-for-release</phase>
> > > > >        <phase>generate-release-poms</phase>
> > > > >        <phase>run-preparation-goals</phase>
> > > > >        <phase>scm-commit-release</phase>
> > > > >        <phase>scm-tag</phase>
> > > > >        <phase>rewrite-poms-for-development</phase>
> > > > >        <phase>remove-release-poms</phase>
> > > > >        <phase>scm-commit-development</phase>
> > > > >        <phase>end-release</phase>
> > > > >      </preparePhases>' to execute
> > > > >      at
> > > > >
> > > > > org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:180)
> > > > >      at
> > > > >
> > > > > org.apache.maven.shared.release.DefaultReleaseManager.prepareWithResult(DefaultReleaseManager.java:107)
> > > > >      at
> > > > >
> > > > > org.apache.maven.continuum.release.executors.PrepareReleaseTaskExecutor.execute(PrepareReleaseTaskExecutor.java:43)
> > > > >      at
> > > > >
> > > > > org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67)
> > > > >      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)
> > > > >
> > > > >
> > > > > I tried to check the plexus spring configurations and I don't see
> > > > > anything
> > > > > wrong :(  I see that there's a ContinuumStartup class which
> > > > > replaces the
> > > > > following in application.xml
> > > > >
> > > > > <load-on-start>
> > > > >  <component>
> > > > >    <role>org.apache.maven.continuum.Continuum</role>
> > > > >  </component>
> > > > >  <component>
> > > > >
> > > > >
> > > > > <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
> > > > >    <role-hint>build-project</role-hint>
> > > > >  </component>
> > > > >  <component>
> > > > >
> > > > >
> > > > > <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
> > > > >    <role-hint>check-out-project</role-hint>
> > > > >  </component>
> > > > >  <component>
> > > > >
> > > > >
> > > > > <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
> > > > >    <role-hint>prepare-release</role-hint>
> > > > >  </component>
> > > > >  <component>
> > > > >
> > > > >
> > > > > <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
> > > > >    <role-hint>perform-release</role-hint>
> > > > >  </component>
> > > > >  <component>
> > > > >
> > > > >
> > > > > <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
> > > > >    <role-hint>rollback-release</role-hint>
> > > > >  </component>
> > > > > </load-on-start>
> > > > >
> > > > > I'm not yet familiar with plexus so I may be missing something
> > > > > here...
> > > > >
> > > > > Can anyone guide me on this and be my shining light? :D
> > > > >
> > > > > Thanks,
> > > > > Marica
> > > > >
> > > > >
> > > >
> > > >
> > >
> --
> Brett Porter
> brett@apache.org
> http://blogs.exist.com/bporter/
>
>

Re: Error in Release Prepare of Continuum

Posted by Brett Porter <br...@apache.org>.
I agree - the plexus-spring module is just meant to be a migration  
tool - it would be better to convert this rather than to implement it  
there.

- Brett

On 18/04/2008, at 11:01 PM, Olivier Lamy wrote:

> I think we have to move this to a Spring bean (if possible).
> Because currently plexus-spring component doesn't support ("yet")
> complex object object in a plexus component configuration.
>
> It's documented here
> http://plexus.codehaus.org/plexus-components/plexus-spring/ .
> "Injection of configuration, limited to String and simple types ".
>
> --
> Olivier
>
>
> 2008/4/18, Edwin Punzalan <el...@gmail.com>:
>> Or it could be that the dependencyValue should already be a List  
>> object.
>>
>> Maybe others can shed more light into this?
>>
>>
>> On Fri, Apr 18, 2008 at 5:21 AM, Edwin Punzalan  
>> <el...@gmail.com>
>> wrote:
>>
>>
>>> Hi, Marica.
>>>
>>>
>>> I've started looking into this...
>>>
>>> I think its a problem with the plexus-spring.  Below is what I've  
>>> found in
>>> PlexusNamespaceHandler:
>>>
>>>                    StringWriter xml = new StringWriter();
>>>                    xml.write( '<' + name + '>' );
>>>                    flatten( child.getChildNodes(), new  
>>> PrintWriter( xml )
>>> );
>>>                    xml.write( "</" + name + '>' );
>>>                    String dependencyValue = StringUtils.replace(
>>> xml.toString(), "${basedir}", PlexusToSpringUtils.getBasedir() );
>>>                    dependencies.put( name, dependencyValue );
>>>                    value.append( xml.toString());
>>>
>>> "name" is the plexus <configuration> name.  And "value" is  
>>> supposed to be
>>> its value, Nothing wrong there.
>>>
>>> But notice the parameters being passed to the "dependencies" Map.   
>>> The
>>> dependencyValue would also contain the configuration name... as  
>>> shown in the
>>> stacktrace you gave us.  And I think this is what's causing the  
>>> problem.
>>>
>>> I have no time to try it out, but if you could replace it instead  
>>> with:
>>>
>>>                    StringWriter xml = new StringWriter();
>>>                    flatten( child.getChildNodes(), new  
>>> PrintWriter( xml )
>>> );
>>>                    String dependencyValue = xml.toString();
>>>                    value.append( '<' + name + '>' );
>>>                    value.append( dependencyValue );
>>>                    value.append( "</" + name + '>' );
>>>                    dependencyValue =  
>>> StringUtils.replace( xml.toString(),
>>> "${basedir}", PlexusToSpringUtils.getBasedir() );
>>>                    dependencies.put( name, dependencyValue );
>>>
>>> and build, test, and create a patch... it would really be helpful.
>>> Thanks!
>>>
>>> ^_^
>>>
>>>
>>>
>>>
>>> On Wed, Apr 16, 2008 at 6:37 PM, Marica Tan <ct...@exist.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm getting the following error in the release prepare of continuum
>>>> (trunk).
>>>>
>>>> [ERROR] org.apache.maven.shared.release.ReleaseExecutionException:
>>>> Unable to find phase '<preparePhases>
>>>>         <phase>update-working-copy</phase>
>>>>         <phase>generate-reactor-projects</phase>
>>>>         <phase>check-poms</phase>
>>>>         <phase>scm-check-modifications</phase>
>>>>         <phase>check-dependency-snapshots</phase>
>>>>         <phase>create-backup-poms</phase>
>>>>         <phase>map-release-versions</phase>
>>>>         <phase>input-variables</phase>
>>>>         <phase>map-development-versions</phase>
>>>>         <phase>rewrite-poms-for-release</phase>
>>>>         <phase>generate-release-poms</phase>
>>>>         <phase>run-preparation-goals</phase>
>>>>         <phase>scm-commit-release</phase>
>>>>         <phase>scm-tag</phase>
>>>>         <phase>rewrite-poms-for-development</phase>
>>>>         <phase>remove-release-poms</phase>
>>>>         <phase>scm-commit-development</phase>
>>>>         <phase>end-release</phase>
>>>>       </preparePhases>' to execute
>>>>       at
>>>> org 
>>>> .apache 
>>>> .maven 
>>>> .shared 
>>>> .release.DefaultReleaseManager.prepare(DefaultReleaseManager.java: 
>>>> 180)
>>>>       at
>>>> org 
>>>> .apache 
>>>> .maven 
>>>> .shared 
>>>> .release 
>>>> .DefaultReleaseManager 
>>>> .prepareWithResult(DefaultReleaseManager.java:107)
>>>>       at
>>>> org 
>>>> .apache 
>>>> .maven 
>>>> .continuum 
>>>> .release 
>>>> .executors 
>>>> .PrepareReleaseTaskExecutor 
>>>> .execute(PrepareReleaseTaskExecutor.java:43)
>>>>       at
>>>> org 
>>>> .apache 
>>>> .maven 
>>>> .continuum 
>>>> .release 
>>>> .executors 
>>>> .AbstractReleaseTaskExecutor 
>>>> .executeTask(AbstractReleaseTaskExecutor.java:67)
>>>>       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)
>>>>
>>>>
>>>> I tried to check the plexus spring configurations and I don't see
>>>> anything
>>>> wrong :(  I see that there's a ContinuumStartup class which  
>>>> replaces the
>>>> following in application.xml
>>>>
>>>> <load-on-start>
>>>>   <component>
>>>>     <role>org.apache.maven.continuum.Continuum</role>
>>>>   </component>
>>>>   <component>
>>>>
>>>> <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</ 
>>>> role>
>>>>     <role-hint>build-project</role-hint>
>>>>   </component>
>>>>   <component>
>>>>
>>>> <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</ 
>>>> role>
>>>>     <role-hint>check-out-project</role-hint>
>>>>   </component>
>>>>   <component>
>>>>
>>>> <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</ 
>>>> role>
>>>>     <role-hint>prepare-release</role-hint>
>>>>   </component>
>>>>   <component>
>>>>
>>>> <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</ 
>>>> role>
>>>>     <role-hint>perform-release</role-hint>
>>>>   </component>
>>>>   <component>
>>>>
>>>> <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</ 
>>>> role>
>>>>     <role-hint>rollback-release</role-hint>
>>>>   </component>
>>>> </load-on-start>
>>>>
>>>> I'm not yet familiar with plexus so I may be missing something  
>>>> here...
>>>>
>>>> Can anyone guide me on this and be my shining light? :D
>>>>
>>>> Thanks,
>>>> Marica
>>>>
>>>
>>>
>>

--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/


Re: Error in Release Prepare of Continuum

Posted by Olivier Lamy <ol...@apache.org>.
I think we have to move this to a Spring bean (if possible).
Because currently plexus-spring component doesn't support ("yet")
complex object object in a plexus component configuration.

It's documented here
http://plexus.codehaus.org/plexus-components/plexus-spring/ .
"Injection of configuration, limited to String and simple types ".

--
Olivier


2008/4/18, Edwin Punzalan <el...@gmail.com>:
> Or it could be that the dependencyValue should already be a List object.
>
>  Maybe others can shed more light into this?
>
>
>  On Fri, Apr 18, 2008 at 5:21 AM, Edwin Punzalan <el...@gmail.com>
>  wrote:
>
>
>  > Hi, Marica.
>  >
>  >
>  > I've started looking into this...
>  >
>  > I think its a problem with the plexus-spring.  Below is what I've found in
>  > PlexusNamespaceHandler:
>  >
>  >                     StringWriter xml = new StringWriter();
>  >                     xml.write( '<' + name + '>' );
>  >                     flatten( child.getChildNodes(), new PrintWriter( xml )
>  > );
>  >                     xml.write( "</" + name + '>' );
>  >                     String dependencyValue = StringUtils.replace(
>  > xml.toString(), "${basedir}", PlexusToSpringUtils.getBasedir() );
>  >                     dependencies.put( name, dependencyValue );
>  >                     value.append( xml.toString());
>  >
>  > "name" is the plexus <configuration> name.  And "value" is supposed to be
>  > its value, Nothing wrong there.
>  >
>  > But notice the parameters being passed to the "dependencies" Map.  The
>  > dependencyValue would also contain the configuration name... as shown in the
>  > stacktrace you gave us.  And I think this is what's causing the problem.
>  >
>  > I have no time to try it out, but if you could replace it instead with:
>  >
>  >                     StringWriter xml = new StringWriter();
>  >                     flatten( child.getChildNodes(), new PrintWriter( xml )
>  > );
>  >                     String dependencyValue = xml.toString();
>  >                     value.append( '<' + name + '>' );
>  >                     value.append( dependencyValue );
>  >                     value.append( "</" + name + '>' );
>  >                     dependencyValue = StringUtils.replace( xml.toString(),
>  > "${basedir}", PlexusToSpringUtils.getBasedir() );
>  >                     dependencies.put( name, dependencyValue );
>  >
>  > and build, test, and create a patch... it would really be helpful.
>  > Thanks!
>  >
>  > ^_^
>  >
>  >
>  >
>  >
>  > On Wed, Apr 16, 2008 at 6:37 PM, Marica Tan <ct...@exist.com> wrote:
>  >
>  > > Hi,
>  > >
>  > > I'm getting the following error in the release prepare of continuum
>  > > (trunk).
>  > >
>  > > [ERROR] org.apache.maven.shared.release.ReleaseExecutionException:
>  > > Unable to find phase '<preparePhases>
>  > >          <phase>update-working-copy</phase>
>  > >          <phase>generate-reactor-projects</phase>
>  > >          <phase>check-poms</phase>
>  > >          <phase>scm-check-modifications</phase>
>  > >          <phase>check-dependency-snapshots</phase>
>  > >          <phase>create-backup-poms</phase>
>  > >          <phase>map-release-versions</phase>
>  > >          <phase>input-variables</phase>
>  > >          <phase>map-development-versions</phase>
>  > >          <phase>rewrite-poms-for-release</phase>
>  > >          <phase>generate-release-poms</phase>
>  > >          <phase>run-preparation-goals</phase>
>  > >          <phase>scm-commit-release</phase>
>  > >          <phase>scm-tag</phase>
>  > >          <phase>rewrite-poms-for-development</phase>
>  > >          <phase>remove-release-poms</phase>
>  > >          <phase>scm-commit-development</phase>
>  > >          <phase>end-release</phase>
>  > >        </preparePhases>' to execute
>  > >        at
>  > > org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:180)
>  > >        at
>  > > org.apache.maven.shared.release.DefaultReleaseManager.prepareWithResult(DefaultReleaseManager.java:107)
>  > >        at
>  > > org.apache.maven.continuum.release.executors.PrepareReleaseTaskExecutor.execute(PrepareReleaseTaskExecutor.java:43)
>  > >        at
>  > > org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67)
>  > >        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)
>  > >
>  > >
>  > > I tried to check the plexus spring configurations and I don't see
>  > > anything
>  > > wrong :(  I see that there's a ContinuumStartup class which replaces the
>  > > following in application.xml
>  > >
>  > > <load-on-start>
>  > >    <component>
>  > >      <role>org.apache.maven.continuum.Continuum</role>
>  > >    </component>
>  > >    <component>
>  > >
>  > >  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
>  > >      <role-hint>build-project</role-hint>
>  > >    </component>
>  > >    <component>
>  > >
>  > >  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
>  > >      <role-hint>check-out-project</role-hint>
>  > >    </component>
>  > >    <component>
>  > >
>  > >  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
>  > >      <role-hint>prepare-release</role-hint>
>  > >    </component>
>  > >    <component>
>  > >
>  > >  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
>  > >      <role-hint>perform-release</role-hint>
>  > >    </component>
>  > >    <component>
>  > >
>  > >  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
>  > >      <role-hint>rollback-release</role-hint>
>  > >    </component>
>  > > </load-on-start>
>  > >
>  > > I'm not yet familiar with plexus so I may be missing something here...
>  > >
>  > > Can anyone guide me on this and be my shining light? :D
>  > >
>  > > Thanks,
>  > > Marica
>  > >
>  >
>  >
>

Re: Error in Release Prepare of Continuum

Posted by Edwin Punzalan <el...@gmail.com>.
Or it could be that the dependencyValue should already be a List object.

Maybe others can shed more light into this?


On Fri, Apr 18, 2008 at 5:21 AM, Edwin Punzalan <el...@gmail.com>
wrote:

> Hi, Marica.
>
>
> I've started looking into this...
>
> I think its a problem with the plexus-spring.  Below is what I've found in
> PlexusNamespaceHandler:
>
>                     StringWriter xml = new StringWriter();
>                     xml.write( '<' + name + '>' );
>                     flatten( child.getChildNodes(), new PrintWriter( xml )
> );
>                     xml.write( "</" + name + '>' );
>                     String dependencyValue = StringUtils.replace(
> xml.toString(), "${basedir}", PlexusToSpringUtils.getBasedir() );
>                     dependencies.put( name, dependencyValue );
>                     value.append( xml.toString());
>
> "name" is the plexus <configuration> name.  And "value" is supposed to be
> its value, Nothing wrong there.
>
> But notice the parameters being passed to the "dependencies" Map.  The
> dependencyValue would also contain the configuration name... as shown in the
> stacktrace you gave us.  And I think this is what's causing the problem.
>
> I have no time to try it out, but if you could replace it instead with:
>
>                     StringWriter xml = new StringWriter();
>                     flatten( child.getChildNodes(), new PrintWriter( xml )
> );
>                     String dependencyValue = xml.toString();
>                     value.append( '<' + name + '>' );
>                     value.append( dependencyValue );
>                     value.append( "</" + name + '>' );
>                     dependencyValue = StringUtils.replace( xml.toString(),
> "${basedir}", PlexusToSpringUtils.getBasedir() );
>                     dependencies.put( name, dependencyValue );
>
> and build, test, and create a patch... it would really be helpful.
> Thanks!
>
> ^_^
>
>
>
>
> On Wed, Apr 16, 2008 at 6:37 PM, Marica Tan <ct...@exist.com> wrote:
>
> > Hi,
> >
> > I'm getting the following error in the release prepare of continuum
> > (trunk).
> >
> > [ERROR] org.apache.maven.shared.release.ReleaseExecutionException:
> > Unable to find phase '<preparePhases>
> >          <phase>update-working-copy</phase>
> >          <phase>generate-reactor-projects</phase>
> >          <phase>check-poms</phase>
> >          <phase>scm-check-modifications</phase>
> >          <phase>check-dependency-snapshots</phase>
> >          <phase>create-backup-poms</phase>
> >          <phase>map-release-versions</phase>
> >          <phase>input-variables</phase>
> >          <phase>map-development-versions</phase>
> >          <phase>rewrite-poms-for-release</phase>
> >          <phase>generate-release-poms</phase>
> >          <phase>run-preparation-goals</phase>
> >          <phase>scm-commit-release</phase>
> >          <phase>scm-tag</phase>
> >          <phase>rewrite-poms-for-development</phase>
> >          <phase>remove-release-poms</phase>
> >          <phase>scm-commit-development</phase>
> >          <phase>end-release</phase>
> >        </preparePhases>' to execute
> >        at
> > org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:180)
> >        at
> > org.apache.maven.shared.release.DefaultReleaseManager.prepareWithResult(DefaultReleaseManager.java:107)
> >        at
> > org.apache.maven.continuum.release.executors.PrepareReleaseTaskExecutor.execute(PrepareReleaseTaskExecutor.java:43)
> >        at
> > org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67)
> >        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)
> >
> >
> > I tried to check the plexus spring configurations and I don't see
> > anything
> > wrong :(  I see that there's a ContinuumStartup class which replaces the
> > following in application.xml
> >
> > <load-on-start>
> >    <component>
> >      <role>org.apache.maven.continuum.Continuum</role>
> >    </component>
> >    <component>
> >
> >  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
> >      <role-hint>build-project</role-hint>
> >    </component>
> >    <component>
> >
> >  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
> >      <role-hint>check-out-project</role-hint>
> >    </component>
> >    <component>
> >
> >  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
> >      <role-hint>prepare-release</role-hint>
> >    </component>
> >    <component>
> >
> >  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
> >      <role-hint>perform-release</role-hint>
> >    </component>
> >    <component>
> >
> >  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
> >      <role-hint>rollback-release</role-hint>
> >    </component>
> > </load-on-start>
> >
> > I'm not yet familiar with plexus so I may be missing something here...
> >
> > Can anyone guide me on this and be my shining light? :D
> >
> > Thanks,
> > Marica
> >
>
>

Re: Error in Release Prepare of Continuum

Posted by Edwin Punzalan <el...@gmail.com>.
Hi, Marica.


I've started looking into this...

I think its a problem with the plexus-spring.  Below is what I've found in
PlexusNamespaceHandler:

                    StringWriter xml = new StringWriter();
                    xml.write( '<' + name + '>' );
                    flatten( child.getChildNodes(), new PrintWriter( xml )
);
                    xml.write( "</" + name + '>' );
                    String dependencyValue = StringUtils.replace(
xml.toString(), "${basedir}", PlexusToSpringUtils.getBasedir() );
                    dependencies.put( name, dependencyValue );
                    value.append( xml.toString());

"name" is the plexus <configuration> name.  And "value" is supposed to be
its value, Nothing wrong there.

But notice the parameters being passed to the "dependencies" Map.  The
dependencyValue would also contain the configuration name... as shown in the
stacktrace you gave us.  And I think this is what's causing the problem.

I have no time to try it out, but if you could replace it instead with:

                    StringWriter xml = new StringWriter();
                    flatten( child.getChildNodes(), new PrintWriter( xml )
);
                    String dependencyValue = xml.toString();
                    value.append( '<' + name + '>' );
                    value.append( dependencyValue );
                    value.append( "</" + name + '>' );
                    dependencyValue = StringUtils.replace( xml.toString(),
"${basedir}", PlexusToSpringUtils.getBasedir() );
                    dependencies.put( name, dependencyValue );

and build, test, and create a patch... it would really be helpful.  Thanks!

^_^



On Wed, Apr 16, 2008 at 6:37 PM, Marica Tan <ct...@exist.com> wrote:

> Hi,
>
> I'm getting the following error in the release prepare of continuum
> (trunk).
>
> [ERROR] org.apache.maven.shared.release.ReleaseExecutionException:
> Unable to find phase '<preparePhases>
>          <phase>update-working-copy</phase>
>          <phase>generate-reactor-projects</phase>
>          <phase>check-poms</phase>
>          <phase>scm-check-modifications</phase>
>          <phase>check-dependency-snapshots</phase>
>          <phase>create-backup-poms</phase>
>          <phase>map-release-versions</phase>
>          <phase>input-variables</phase>
>          <phase>map-development-versions</phase>
>          <phase>rewrite-poms-for-release</phase>
>          <phase>generate-release-poms</phase>
>          <phase>run-preparation-goals</phase>
>          <phase>scm-commit-release</phase>
>          <phase>scm-tag</phase>
>          <phase>rewrite-poms-for-development</phase>
>          <phase>remove-release-poms</phase>
>          <phase>scm-commit-development</phase>
>          <phase>end-release</phase>
>        </preparePhases>' to execute
>        at
> org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:180)
>        at
> org.apache.maven.shared.release.DefaultReleaseManager.prepareWithResult(DefaultReleaseManager.java:107)
>        at
> org.apache.maven.continuum.release.executors.PrepareReleaseTaskExecutor.execute(PrepareReleaseTaskExecutor.java:43)
>        at
> org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67)
>        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)
>
>
> I tried to check the plexus spring configurations and I don't see anything
> wrong :(  I see that there's a ContinuumStartup class which replaces the
> following in application.xml
>
> <load-on-start>
>    <component>
>      <role>org.apache.maven.continuum.Continuum</role>
>    </component>
>    <component>
>
>  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
>      <role-hint>build-project</role-hint>
>    </component>
>    <component>
>
>  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
>      <role-hint>check-out-project</role-hint>
>    </component>
>    <component>
>
>  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
>      <role-hint>prepare-release</role-hint>
>    </component>
>    <component>
>
>  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
>      <role-hint>perform-release</role-hint>
>    </component>
>    <component>
>
>  <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
>      <role-hint>rollback-release</role-hint>
>    </component>
> </load-on-start>
>
> I'm not yet familiar with plexus so I may be missing something here...
>
> Can anyone guide me on this and be my shining light? :D
>
> Thanks,
> Marica
>