maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tibor Digana <tibor.dig...@googlemail.com>
Subject Re: migrating Surefire to 3.0-RC1
Date Sun, 17 Jan 2016 16:56:44 GMT
Hi Robert,

A new problem with maven-artifact-transfer.
Should we really shade it?
Not able to inject ArtifactResolver as it seems:

[INFO] --- maven-surefire-plugin:2.19.2-SNAPSHOT:test (default-test) @
child ---
[WARNING] Error injecting: org.apache.maven.plugin.surefire.SurefirePlugin
com.google.inject.ProvisionException: Guice provision errors:

1) No implementation for
org.apache.maven.surefire.shade.org.apache.maven.shared.artifact.resolve.ArtifactResolver
was bound.
  while locating org.apache.maven.plugin.surefire.SurefirePlugin

1 error
    at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1006)
    at
com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1032)
    at
org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48)
    at
com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)
    at
com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:55)
    at
com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
    at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
    at
org.eclipse.sisu.plexus.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:133)
    at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:109)
    at
com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
    at
com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
    at
com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47)
    at
com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:997)
    at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1047)
    at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:993)
    at com.google.inject.Scopes$1$1.get(Scopes.java:59)
    at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82)
    at
org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)
    at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:260)
    at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:252)
    at
org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:462)
    at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:120)
    at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
    at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
    at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
    at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
[INFO]
------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 1.702 s
[INFO] Finished at: 2016-01-17T17:53:06+01:00
[INFO] Final Memory: 9M/155M
[INFO]
------------------------------------------------------------------------
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-surefire-plugin:2.19.2-SNAPSHOT:test
(default-test) on project child: Execution default-test of goal
org.apache.maven.plugins:maven-surefire-plugin:2.19.2-SNAPSHOT: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.19.2-SNAPSHOT':
com.google.inject.ProvisionException: Guice provision errors:
[ERROR]
[ERROR] 1) No implementation for
org.apache.maven.surefire.shade.org.apache.maven.shared.artifact.resolve.ArtifactResolver
was bound.
[ERROR] while locating org.apache.maven.plugin.surefire.SurefirePlugin
[ERROR] at
ClassRealm[plugin>org.apache.maven.plugins:maven-surefire-plugin:2.19.2-SNAPSHOT,
parent: sun.misc.Launcher$AppClassLoader@7852e922]
[ERROR] while locating org.apache.maven.plugin.Mojo annotated with
@com.google.inject.name.Named(value=org.apache.maven.plugins:maven-surefire-plugin:2.19.2-SNAPSHOT:test)
[ERROR]
[ERROR] 1 error
[ERROR] role: org.apache.maven.plugin.Mojo
[ERROR] roleHint:
org.apache.maven.plugins:maven-surefire-plugin:2.19.2-SNAPSHOT:test

On Sat, Jan 9, 2016 at 1:17 PM, Robert Scholte <rfscholte@apache.org> wrote:

> Hi Tibor,
>
> Regarding the artifactResolver.resolveTransitively, this has been replaced
> with dependencyResolver. The reason is that an artifact is basically a
> coordinate with a file, it is not aware of dependencies.
>
> I've traced one down for you:
> org.apache.maven.plugin.surefire.AbstractSurefireMojo.getForkConfiguration()
> contains
> Artifact shadeFire = getPluginArtifactMap().get(
> "org.apache.maven.surefire:surefire-shadefire" );
>
> If you get the Plugin instead and use
> org.apache.maven.shared.dependency.TransferUtils.toDependencyCoordinate(
> plugin )
> , then you'll be able to get all dependencies and their artifacts for the
> classpath.
>
> I'll leave the fixing up to you to get some more feedback on the
> maven-artifact-transfer components.
>
> thanks,
> Robert
>
> Op Thu, 07 Jan 2016 20:33:47 +0100 schreef Tibor Digana <
> tibor.digana@googlemail.com>:
>
>
> Now I removed maven-compat completely.
>>
>> <dependency>
>>   <groupId>org.apache.maven.shared</groupId>
>>   <artifactId>maven-artifact-transfer</artifactId>
>>   <version>3.0-SNAPSHOT</version>
>> </dependency>
>>
>> It seems release version is not available.
>>
>> I should resolve compilation error after new 3.0 AtrifactResolver and
>> I will come back to you.
>>
>>
>>
>>
>> return artifactResolver.resolveTransitively( Collections.singleton(
>> providerArtifact ), originatingArtifact,
>>                                              localRepository,
>> remoteRepositories, artifactMetadataSource,
>>                                              filter );
>>
>>
>>
>>
>> On Thu, Jan 7, 2016 at 7:39 PM, Robert Scholte <rfscholte@apache.org>
>> wrote:
>>
>> Hi Tibor,
>>>
>>> Bullet 4: Remove maven-compat (or give it the test-scope if it is
>>> required
>>> by the maven-plugin-testing-harness)
>>>
>>> Now I think you're at a state where Maven2 classes must be replaced with
>>> Maven3 solutions.
>>>
>>> Robert
>>>
>>> Op Thu, 07 Jan 2016 18:54:06 +0100 schreef Tibor Digana <
>>> tibor.digana@googlemail.com>:
>>>
>>>
>>> Hi Robert,
>>>
>>>>
>>>> I did as you said and I have new issue. Any dea?
>>>>
>>>>
>>>>
>>>>
>>>> testSurefireReportSingleError(org.apache.maven.plugins.surefire.report.SurefireReportMojoTest)
>>>> Time elapsed: 0.042 sec  <<< ERROR!
>>>>
>>>>
>>>> org.codehaus.plexus.component.repository.exception.ComponentLookupException:
>>>> java.util.NoSuchElementException
>>>>       role: org.apache.maven.repository.RepositorySystem
>>>>   roleHint:
>>>>     at
>>>>
>>>>
>>>> org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:253)
>>>>     at
>>>>
>>>>
>>>> org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:241)
>>>>     at
>>>>
>>>>
>>>> org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:235)
>>>>     at
>>>> org.codehaus.plexus.PlexusTestCase.lookup(PlexusTestCase.java:207)
>>>>     at
>>>>
>>>>
>>>> org.apache.maven.plugin.testing.AbstractMojoTestCase.setUp(AbstractMojoTestCase.java:118)
>>>>     at
>>>>
>>>>
>>>> org.apache.maven.plugins.surefire.report.SurefireReportMojoTest.setUp(SurefireReportMojoTest.java:56)
>>>>     at junit.framework.TestCase.runBare(TestCase.java:139)
>>>>     at junit.framework.TestResult$1.protect(TestResult.java:122)
>>>>     at junit.framework.TestResult.runProtected(TestResult.java:142)
>>>>     at junit.framework.TestResult.run(TestResult.java:125)
>>>>     at junit.framework.TestCase.run(TestCase.java:129)
>>>>     at junit.framework.TestSuite.runTest(TestSuite.java:252)
>>>>     at junit.framework.TestSuite.run(TestSuite.java:247)
>>>>     at
>>>>
>>>>
>>>> org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
>>>>     at
>>>>
>>>>
>>>> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
>>>>     at
>>>>
>>>>
>>>> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
>>>>     at
>>>>
>>>>
>>>> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>     at
>>>>
>>>>
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>     at
>>>>
>>>>
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>     at java.lang.reflect.Method.invoke(Method.java:497)
>>>>     at
>>>>
>>>>
>>>> org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
>>>>     at
>>>>
>>>>
>>>> org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
>>>>     at
>>>>
>>>>
>>>> org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
>>>>     at
>>>>
>>>>
>>>> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
>>>>     at
>>>> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
>>>> Caused by: java.util.NoSuchElementException
>>>>     at java.util.Collections$EmptyIterator.next(Collections.java:4189)
>>>>     at
>>>>
>>>>
>>>> org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:249)
>>>>     ... 25 more
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Thu, Jan 7, 2016 at 6:10 PM, Robert Scholte <rfscholte@apache.org>
>>>> wrote:
>>>>
>>>> Hi Tibor,
>>>>
>>>>>
>>>>> so this is not how it should be done.
>>>>> Compat contains classes which Maven2 classes which have been replaced
>>>>> by
>>>>> Maven3 or are not used anymore.
>>>>> Only plugins which need to stay compatible with Maven2 should include
>>>>> this
>>>>> dependency.
>>>>>
>>>>> I'll update the page, because we've decided to change the version to
>>>>> 3.0-SNAPSHOT
>>>>>
>>>>> And regarding your other message: see the third bullet when using
>>>>> maven-plugin-testing-harness. Use version 2.1 if you want to ensure
>>>>> that
>>>>> the tests are Maven 3.0 compatible.
>>>>>
>>>>> If you need help, just let me know. By now I can recognize most of the
>>>>> migration issues :)
>>>>>
>>>>> thanks,
>>>>> Robert
>>>>>
>>>>> Op Thu, 07 Jan 2016 00:50:10 +0100 schreef Tibor Digana <
>>>>> tibordigana@apache.org>:
>>>>>
>>>>> P=NP
>>>>>
>>>>> maven-compat made the trick
>>>>>>
>>>>>> <dependency>
>>>>>>   <groupId>org.apache.maven</groupId>
>>>>>>   <artifactId>maven-compat</artifactId>
>>>>>> </dependency>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Jan 7, 2016 at 12:09 AM, Tibor Digana-2 [via Maven] <
>>>>>> ml-node+s40175n5858124h84@n5.nabble.com> wrote:
>>>>>>
>>>>>> I missing this import in MOJO after migrating plugin to 3.0
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> import org.apache.maven.shared.artifact.resolve.ArtifactResolver;
>>>>>>>
>>>>>>> The doc [1] says that maven-artifact-transfer should be used
but it
>>>>>>> does
>>>>>>> not have yet a release version, or?
>>>>>>>
>>>>>>> <dependency>
>>>>>>>   <groupId>org.apache.maven.shared</groupId>
>>>>>>>   <artifactId>maven-artifact-transfer</artifactId>
>>>>>>>   <version>0.0.1-SNAPSHOT</version>
>>>>>>> </dependency>
>>>>>>>
>>>>>>> [1]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> https://cwiki.apache.org/confluence/display/MAVEN/Plugin+migration+to+Maven3+dependencies
>>>>>>>
>>>>>>> --
>>>>>>> Cheers
>>>>>>> Tibor
>>>>>>>
>>>>>>>
>>>>>>> ------------------------------
>>>>>>> If you reply to this email, your message will be added to the
>>>>>>> discussion
>>>>>>> below:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> http://maven.40175.n5.nabble.com/migrating-Surefire-to-3-0-RC1-tp5858124.html
>>>>>>> To start a new topic under Maven Developers, email
>>>>>>> ml-node+s40175n142166h86@n5.nabble.com
>>>>>>> To unsubscribe from Maven Developers, click here
>>>>>>> <
>>>>>>>
>>>>>>>
>>>>>>> http://maven.40175.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=142166&code=dGlib3JkaWdhbmFAYXBhY2hlLm9yZ3wxNDIxNjZ8LTI4OTQ5MjEwMg==
>>>>>>> >
>>>>>>> .
>>>>>>> NAML
>>>>>>> <
>>>>>>>
>>>>>>>
>>>>>>> http://maven.40175.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml
>>>>>>> >
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>>
>>>>>>
>>>>>> http://maven.40175.n5.nabble.com/migrating-Surefire-to-3-0-RC1-tp5858124p5858130.html
>>>>>> Sent from the Maven Developers mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>>>
>>>>>
>>>>>
>>>>>
>>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>
>>>
>>>
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>


-- 
Cheers
Tibor

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message