continuum-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Olivier Lamy" <ol...@apache.org>
Subject Re: Error in Release Prepare of Continuum
Date Fri, 18 Apr 2008 15:01:59 GMT
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
>  > >
>  >
>  >
>

Mime
View raw message