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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]>:
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 <[EMAIL PROTECTED] >
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 <[EMAIL PROTECTED]> 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
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/

Reply via email to