continuum-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brett Porter <br...@apache.org>
Subject Re: Error in Release Prepare of Continuum
Date Sat, 19 Apr 2008 02:13:40 GMT
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 <elpunzalan@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 <ctan@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/


Mime
View raw message