Found the cause:
SCM 1.8 has the following components.xml
<component-set>
  <components>
    <component>
      <role>org.apache.maven.scm.manager.ScmManager</role>
      
<implementation>org.apache.maven.scm.manager.plexus.DefaultScmManager</implementation>
      <description></description>
      <isolated-realm>false</isolated-realm>
      <requirements>
        <requirement>
          <role>org.apache.maven.scm.provider.ScmProvider</role>
          <field-name>scmProviders</field-name>
        </requirement>
      </requirements>
    </component>
  </components>
</component-set>

while newer SCM version have the following:
<?xml version="1.0" encoding="UTF-8"?>
<component-set>
  <components>
    <component>
      <role>org.apache.maven.scm.manager.ScmManager</role>
      <role-hint>default</role-hint>
      
<implementation>org.apache.maven.scm.manager.plexus.DefaultScmManager</implementation>
      <description />
      <isolated-realm>false</isolated-realm>
      <requirements>
        <requirement>
          <role>org.apache.maven.scm.provider.ScmProvider</role>
          <field-name>scmProviders</field-name>
        </requirement>
      </requirements>
    </component>
  </components>
</component-set>

Notice the additional <role-hint>default</role-hint> line.
The DefaultScmManager didn't specify the hint.
So the result of generate-metadata has changed with plexus-component-metadata.

Robert


Op Sat, 22 Feb 2014 19:10:06 +0100 schreef Robert Scholte <rfscho...@apache.org>:

http://svn.apache.org/r1570870 fixes the unittests on my machine.
I'll have to check was has changed between SCM 1.8 and 1.8.1, but there's a serious issue here.

Robert

Op Sat, 22 Feb 2014 18:48:53 +0100 schreef Benson Margulies <bimargul...@gmail.com>:

Still 2.2.1.

So, in version 2.2.1,
org.apache.maven.artifact.transform.DefaultArtifactTransformationManager
tries to patch a list that is injected, and gets into trouble because
Plexus has made the list unmodifiable. Presumably, that
unmodifiability was some improvement to plexus.

I guess that taking 1.5.5 of the container doesn't work with 2.2.1,
and the question is how far back one needs to go (give or take making
a new release of maven-artifact-manager).

Or even if any of this is the solution to Robert's original problem.


On Sat, Feb 22, 2014 at 12:46 PM, Igor Fedorenko <i...@ifedorenko.com> wrote:
What version of Maven does release plugin depend on? I think
DefaultArtifactTransformationManager.initialize was removed in 3.x, at
least it's not present in 3.2.1 and 3.1.1.

--
Regards,
Igor


On 2/22/2014, 12:35, Benson Margulies wrote:

I'm sorry, I did mislead you. Not surprisingly, adding maven-compat
did not fix the problem with the apparently unmodifiable list.

On Sat, Feb 22, 2014 at 12:33 PM, Benson Margulies
<bimargul...@gmail.com> wrote:

I may have misled you, but I'll try it.

Caused by:
org.codehaus.plexus.component.repository.exception.ComponentLifecycleException:
Error constructing component role:
'org.apache.maven.artifact.resolver.ArtifactResolver', implementation:
'org.apache.maven.artifact.resolver.DefaultArtifactResolver', role
hint: 'default'
at
org.codehaus.plexus.component.builder.XBeanComponentBuilder.createComponentInstance(XBeanComponentBuilder.java:176)
at
org.codehaus.plexus.component.builder.XBeanComponentBuilder.build(XBeanComponentBuilder.java:123)
at
org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:181)
at
org.codehaus.plexus.component.manager.SingletonComponentManager.getComponent(SingletonComponentManager.java:67)
at
org.codehaus.plexus.DefaultComponentRegistry.getComponent(DefaultComponentRegistry.java:358)
... 33 more
Caused by: org.apache.xbean.recipe.ConstructionException: Unable to
convert property value from

org.codehaus.plexus.component.builder.XBeanComponentBuilder$RequirementRecipe
to org.apache.maven.artifact.transform.ArtifactTransformationManager
for injection private
org.apache.maven.artifact.transform.ArtifactTransformationManager

org.apache.maven.artifact.resolver.DefaultArtifactResolver.transformationManager
at
org.apache.xbean.recipe.ObjectRecipe.setProperty(ObjectRecipe.java:472)
at
org.apache.xbean.recipe.ObjectRecipe.setProperties(ObjectRecipe.java:367)
at
org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:282)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96) at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61) at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:49)
at
org.codehaus.plexus.component.builder.XBeanComponentBuilder.createComponentInstance(XBeanComponentBuilder.java:159)
... 37 more
Caused by: java.lang.UnsupportedOperationException: You cannot modify
this list. This list is a requirement of role:
'org.apache.maven.artifact.transform.ArtifactTransformationManager',
implementation:

'org.apache.maven.artifact.transform.DefaultArtifactTransformationManager',
role hint: 'default' and managed by the container.
at
org.codehaus.plexus.component.collections.ComponentList.remove(ComponentList.java:91)
at
org.apache.maven.artifact.transform.DefaultArtifactTransformationManager.initialize(DefaultArtifactTransformationManager.java:44)
at
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializePhase.execute(InitializePhase.java:33)
at
org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:97)
at
org.codehaus.plexus.component.manager.AbstractComponentManager.start(AbstractComponentManager.java:167)
at
org.codehaus.plexus.component.builder.XBeanComponentBuilder.startComponentLifecycle(XBeanComponentBuilder.java:283)
at
org.codehaus.plexus.component.builder.XBeanComponentBuilder.build(XBeanComponentBuilder.java:129)
at
org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:181)
at
org.codehaus.plexus.component.manager.SingletonComponentManager.getComponent(SingletonComponentManager.java:67)
at
org.codehaus.plexus.DefaultComponentRegistry.getComponent(DefaultComponentRegistry.java:358)
at
org.codehaus.plexus.DefaultComponentRegistry.lookup(DefaultComponentRegistry.java:178)
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:393)
at
org.codehaus.plexus.component.builder.XBeanComponentBuilder$RequirementRecipe.internalCreate(XBeanComponentBuilder.java:402)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96) at org.apache.xbean.recipe.RecipeHelper.convert(RecipeHelper.java:167)
at
org.apache.xbean.recipe.ObjectRecipe.setProperty(ObjectRecipe.java:466)
... 43 more

On Sat, Feb 22, 2014 at 12:29 PM, Igor Fedorenko <i...@ifedorenko.com>
wrote:

You need to add maven-compat as a dependency.

--
Regards,
Igor


On 2/22/2014, 12:27, Benson Margulies wrote:


Further down the message, this boils down to a failure to find an
ArtifactResolver.

On Sat, Feb 22, 2014 at 12:04 PM, Benson Margulies
<bimargul...@gmail.com> wrote:


Plexus-container-default 1.5.5 changes some issues.

This seems to make some things better.

The first failure is:



testNoSnapshotDependencies(org.apache.maven.shared.release.phase.CheckDependencySnapshotsPhaseTest)
   Time elapsed: 0.07 sec  <<< ERROR!


org.codehaus.plexus.component.repository.exception.ComponentLookupException:
Unable to lookup component
'org.apache.maven.project.MavenProjectBuilder', it could not be
started.
        role: org.apache.maven.project.MavenProjectBuilder
    roleHint: default
classRealm: plexus.core
-----------------------------------------------------
realm =    plexus.core
strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
Number of foreign imports: 0

-----------------------------------------------------

at

org.codehaus.plexus.component.collections.ComponentList.remove(ComponentList.java:91)

And this happens over and over. I am checking if I can make it go
away. the scm component error is gone, or at least hiding.




On Sat, Feb 22, 2014 at 11:44 AM, Benson Margulies
<bimargul...@gmail.com> wrote:


On Sat, Feb 22, 2014 at 7:38 AM, Robert Scholte
<rfscho...@apache.org>
wrote:


src/test/resources/org/apache/maven/shared/release/phase



I'm trying to use a less ancient version of plexus-container-default,
it requires some test changes, I'll let you know what happens.



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to