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 Mon, 21 Apr 2008 08:52:52 GMT
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 <olamy@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 <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