Folks

originally i was using 2.5 version of maven-surefire-plugin as seen here
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
 
this caused massive grief by DefaultPlexusContainer lookup which incorrectly 
parsed the roleHint
so i backed all my dependencies of maven-surefire-plugin down to v 2.4.2 to rid 
myself of the guice injector anomaly here is the debug error listing:
note that the org.codehaus.plexus.DefaultPlexusContainer roleHint is 
incorrectly assigned  org.apache.maven.plugins:maven-surefire-plugin:2.5:test 
it should be                                                                    
                                            
org.apache.maven.plugins:maven-surefire-plugin:2.5
 
for the lookup to work
 
[ERROR] 1 error
[ERROR] role: org.apache.maven.plugin.Mojo
[ERROR] roleHint: org.apache.maven.plugins:maven-surefire-plugin:2.5:test: 
Guice provision errors:
[ERROR] 
[ERROR] 1) No implementation for 
org.apache.maven.artifact.resolver.ArtifactResolver was bound.
[ERROR] while locating org.apache.maven.plugin.surefire.SurefirePlugin
[ERROR] 
[ERROR] 1 error
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal 
org.apache.maven.plugins:maven-surefire-plugin:2.5:test (default-test) on 
project maven-checkstyle-plugin: Execution default-test of goal 
org.apache.maven.plugins:maven-surefire-plugin:2.5:test failed: Unable to load 
the mojo 'test' (or one of its required components) from the plugin 
'org.apache.maven.plugins:maven-surefire-plugin:2.5'
 at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:211)
 at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
 at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:140)
 at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
 at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
 at 
org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
 at 
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:314)
 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:151)
 at org.apache.maven.cli.MavenCli.execute(MavenCli.java:445)
 at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:168)
 at org.apache.maven.cli.MavenCli.main(MavenCli.java:132)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
 at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
 at 
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
 at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution 
default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.5:test 
failed: Unable to load the mojo 'test' (or one of its required components) from 
the plugin 'org.apache.maven.plugins:maven-surefire-plugin:2.5'
 at 
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:121)
 at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:195)
 ... 19 more
Caused by: org.apache.maven.plugin.PluginContainerException: Unable to load the 
mojo 'test' (or one of its required components) from the plugin 
'org.apache.maven.plugins:maven-surefire-plugin:2.5'
 at 
org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:426)
 at 
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:96)
 ... 20 more
Caused by: 
org.codehaus.plexus.component.repository.exception.ComponentLookupException: 
com.google.inject.ProvisionException: Guice provision errors:
1) Error injecting: org.apache.maven.plugin.surefire.SurefirePlugin
  at ClassRealm[plugin>org.apache.maven.plugins:maven-surefire-plugin:2.5, 
parent: ClassRealm[maven.api, parent: null]]
  while locating org.apache.maven.plugin.Mojo annotated with 
@com.google.inject.name.Named(value=org.apache.maven.plugins:maven-surefire-plugin:2.5:test)
1 error
      role: org.apache.maven.plugin.Mojo
  roleHint: org.apache.maven.plugins:maven-surefire-plugin:2.5:test
 at 
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:253)
 at 
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:241)
 at 
org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:393)
 ... 21 more
Caused by: com.google.inject.ProvisionException: Guice provision errors:
1) Error injecting: org.apache.maven.plugin.surefire.SurefirePlugin
  at ClassRealm[plugin>org.apache.maven.plugins:maven-surefire-plugin:2.5, 
parent: ClassRealm[maven.api, parent: null]]
  while locating org.apache.maven.plugin.Mojo annotated with 
@com.google.inject.name.Named(value=org.apache.maven.plugins:maven-surefire-plugin:2.5:test)
1 error
 at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:957)
 at com.google.inject.Scopes$1$1.get(Scopes.java:63)
 at 
org.sonatype.guice.bean.locators.LazyQualifiedBean.getValue(LazyQualifiedBean.java:66)
 at 
org.sonatype.guice.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:54)
 at 
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:249)
 ... 23 more
Caused by: com.google.inject.ProvisionException: Guice provision errors:
1) No implementation for org.apache.maven.artifact.resolver.ArtifactResolver 
was bound.
  while locating org.apache.maven.plugin.surefire.SurefirePlugin
1 error
 at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:957)
 at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:983)
 at 
org.sonatype.guice.bean.reflect.AbstractDeferredClass.get(AbstractDeferredClass.java:48)
 at 
com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
 at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:948)
 at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:994)
 at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:944)
 ... 27 more

/* the correct implementation is as follows */
  <build>
   <plugins>
    <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.4.2</version>
            <inherited>false</inherited>
            <configuration>
              <childDelegation>true</childDelegation>
              <useManifestOnlyJar>true</useManifestOnlyJar>
              <useSystemClassLoader>true</useSystemClassLoader>
              <skipTests>true</skipTests>
              <forkMode>never</forkMode>
              <useFile>true</useFile>
              <trimStackTrace>false</trimStackTrace>
              <failIfNoTests>false</failIfNoTests>
              <systemProperties combine.children="append">
              <redirectTestOutputToFile>true</redirectTestOutputToFile>
              
<classesDirectory>${project.build.directory}/target/test-classes</classesDirectory>
           <property>
                         <!-- Pass this through to the tests (if set!) to have 
them pick the right repository -->
                         <name>maven.repo.local</name>
                         
<value>file://C:/DOCUME~1/NotBillGates/.m2/repository</value>
           </property>
       </systemProperties>
            </configuration>
    </plugin>
  </plugins>
 </build>

I think this is perhaps what ken was alluding to about maven when bugs are 
discovered
my suggestion is we clear the Guice Injector code out of maven-surefire-plugin 
until we can determine DefaultPlexusContainer can correctly parse the artifact 
string from
org.apache.maven.plugins:maven-surefire-plugin:2.5:test:
to
org.apache.maven.plugins:maven-surefire-plugin:2.5
 
will file a jira
 
thanks,
Martin Gainty 
______________________________________________ 
Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité

Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger 
sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung 
oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem 
Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. 
Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung 
fuer den Inhalt uebernehmen.
Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le 
destinataire prévu, nous te demandons avec bonté que pour satisfaire informez 
l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est 
interdite. Ce message sert à l'information seulement et n'aura pas n'importe 
quel effet légalement obligatoire. Étant donné que les email peuvent facilement 
être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité 
pour le contenu fourni.



 



From: mgai...@hotmail.com
To: users@maven.apache.org
Subject: Guice Injector appears to be version-unaware
Date: Tue, 26 Oct 2010 11:12:12 -0400




Ive noticed recent introduction of Guice injector seemd to be version-unaware 
of the requested plugin
Is there any way I can request Guice injector to inject a specific version of 
plugin (instead of the first version of the plugin the Guice injector sees)
?
Vielen Danke/Bedankt/Merci
Martin 
______________________________________________ 
Jogi és Bizalmassági kinyilatkoztatás/Verzicht und 
Vertraulichkeitanmerkung/Note de déni et de confidentialité

 
Ez az üzenet bizalmas.  Ha nem ön az akinek szánva volt, akkor kérjük, hogy 
jelentse azt nekünk vissza. Semmiféle továbbítása vagy másolatának készítése 
nem megengedett.  Ez az üzenet csak ismeret cserét szolgál és semmiféle jogi 
alkalmazhatósága sincs.  Mivel az electronikus üzenetek könnyen 
megváltoztathatóak, ezért minket semmi felelöség nem terhelhet ezen üzenet 
tartalma miatt.

Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger 
sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung 
oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem 
Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. 
Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung 
fuer den Inhalt uebernehmen.
Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le 
destinataire prévu, nous te demandons avec bonté que pour satisfaire informez 
l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est 
interdite. Ce message sert à l'information seulement et n'aura pas n'importe 
quel effet légalement obligatoire. Étant donné que les email peuvent facilement 
être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité 
pour le contenu fourni.


                                          

Reply via email to