You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Tibor Digana <ti...@googlemail.com> on 2016/02/07 13:44:59 UTC

Re: migrating Surefire to 3.0-RC1

Hi Robert,

I already updated some @Component-s with @Parameter.
Few components still remain. How these can be used with @Parameter?

@Component
private ArtifactResolver artifactResolver;

@Component
private ToolchainManager toolchainManager;

@Component
private RepositorySystem repositorySystem;


Deprecated ones:

@Component
private ArtifactFactory artifactFactory;

@Component
private ArtifactMetadataSource metadataSource;






On Sat, Jan 9, 2016 at 1:17 PM, Robert Scholte <rf...@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 <rf...@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 <rf...@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

Re: migrating Surefire to 3.0-RC1

Posted by Tibor Digana <ti...@googlemail.com>.
Thx and it seems the deprecated ArtifactFactory can be substituted with
RepositorySystem as well.
There's the last failing IT which needs to be resolved
Surefire141PluggableProvidersIT.
And then we need to fix the maven-surefire-common with
maven-artifact-transfer, because I avoided relocation in config of
 m-shade-p in Surefire 3.0. I have to take it back.


On Sun, Feb 7, 2016 at 3:56 PM, Robert Scholte <rf...@apache.org> wrote:

> Hi Tibor,
>
> Those mentioned are real components, they are injected as if they were
> annoted with @Inject.
>
> I don't think you need metadatasource, while refactoring other plugins I
> could get rid of it.
>
> Robert
>
> Op Sun, 07 Feb 2016 13:44:59 +0100 schreef Tibor Digana <
> tibor.digana@googlemail.com>:
>
>
> Hi Robert,
>>
>> I already updated some @Component-s with @Parameter.
>> Few components still remain. How these can be used with @Parameter?
>>
>> @Component
>> private ArtifactResolver artifactResolver;
>>
>> @Component
>> private ToolchainManager toolchainManager;
>>
>> @Component
>> private RepositorySystem repositorySystem;
>>
>>
>> Deprecated ones:
>>
>> @Component
>> private ArtifactFactory artifactFactory;
>>
>> @Component
>> private ArtifactMetadataSource metadataSource;
>>
>>
>>
>>
>>
>>
>> On Sat, Jan 9, 2016 at 1:17 PM, Robert Scholte <rf...@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 <rf...@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 <rf...@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
>>>
>>>
>>>
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>


-- 
Cheers
Tibor

Re: migrating Surefire to 3.0-RC1

Posted by Robert Scholte <rf...@apache.org>.
Hi Tibor,

Those mentioned are real components, they are injected as if they were  
annoted with @Inject.

I don't think you need metadatasource, while refactoring other plugins I  
could get rid of it.

Robert

Op Sun, 07 Feb 2016 13:44:59 +0100 schreef Tibor Digana  
<ti...@googlemail.com>:

> Hi Robert,
>
> I already updated some @Component-s with @Parameter.
> Few components still remain. How these can be used with @Parameter?
>
> @Component
> private ArtifactResolver artifactResolver;
>
> @Component
> private ToolchainManager toolchainManager;
>
> @Component
> private RepositorySystem repositorySystem;
>
>
> Deprecated ones:
>
> @Component
> private ArtifactFactory artifactFactory;
>
> @Component
> private ArtifactMetadataSource metadataSource;
>
>
>
>
>
>
> On Sat, Jan 9, 2016 at 1:17 PM, Robert Scholte <rf...@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 <rf...@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 <rf...@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
>>
>>
>

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