maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Russell Gold <r...@gold-family.us>
Subject Re: API to resolve an artifact in Maven3
Date Mon, 22 Jul 2013 11:21:42 GMT
Hi Richard,

Believe me, I share your frustration. Like many open-source projects, Maven is woefully under-documented.
I've spent a significant amount of time over the past months researching how to do things
for the course I've been writing, and also for the plugins I'm writing.

Mostly, I've been reading source code - especially the maven-supplied plugins. The problem,
of course, is figuring out what the "official" and supported way of doing things is.

To resolve artifacts, I wound up using MavenProject, ArtifactResolver, ArtifactFactory, and
both the local and remote repositories. I didn't even see DefaultDependencyGraphBuilder. If
that's easier, I may consider revising my approach.

Thanks,
Russ

On Jul 22, 2013, at 1:53 AM, Richard Sand <rsand@idfconnect.com> wrote:

> Hi Russel - 
> 
> The use case is simple - I've written a plug-in which takes in as input a
> list of dependencies, just like any other plugin or the pom itself. So,
> given a String representation of an artifact, how do I resolve the artifact
> so I end up with a local File object I can load?
> 
> This API has seemed like total voodoo - I want to write a paper that
> demystifies how to write plugins for maven3. I think I need to find some
> time to sit with each of the principle author of maven3 and publish what I
> learn.
> 
> -Richard
> 
> -----Original Message-----
> From: Russell Gold [mailto:russ@gold-family.us] 
> Sent: Sunday, July 21, 2013 7:52 AM
> To: Maven Users List
> Subject: Re: API to resolve an artifact in Maven3
> 
> Hi Richard,
> 
> Can you be more specific? What exactly is your goal?
> 
> - Russ
> 
> On Jul 20, 2013, at 11:02 PM, Richard Sand <rsand@idfconnect.com> wrote:
> 
>> Can someone please share the secret of how to do dependency resolution 
>> in Maven3? And specifically in 3.1?
>> 
>> -Richard
>> 
>> -----Original Message-----
>> From: Richard Sand [mailto:rsand@idfconnect.com]
>> Sent: Friday, July 19, 2013 3:45 PM
>> To: 'Maven Users List'
>> Subject: RE: API to resolve an artifact in Maven3
>> 
>> +1 Anthony. The question is what is the preferred 3.x way of doing it, 
>> +not
>> how to do it the old way. Unless the official answer is "do it the old 
>> way because..."
>> 
>> 
>> -----Original Message-----
>> From: Anthony Dahanne [mailto:anthony.dahanne@gmail.com]
>> Sent: Friday, July 19, 2013 2:32 PM
>> To: Maven Users List
>> Subject: Re: API to resolve an artifact in Maven3
>> 
>> hello, I 'm slightly confused about your answer Igor.
>> The other day I was wondering about how to keep a maven plugin doing 
>> artifact resolution compatible with both maven 3.0 and 3.1 and Robert 
>> answered me to use the maven dependency tree api :
>> http://stackoverflow.com/questions/17685441/can-a-maven-mojo-relying-o
>> n-aeth
>> er-be-compatible-with-maven-3-0-x-and-3-1-x#comment25769765_17686482
>> 
>> Now I am using something like that :
>>     Artifact enforceArtifact =
>> defaultArtifactFactory.createArtifact(enforceGroupId,enforceArtifactId
>> ,enfor
>> ceVersion,"",enforceType);
>>     MavenProject enforcePom = 
>> mavenProjectBuilder.buildFromRepository(
>> enforceArtifact, remoteRepositories, localRepository);
>>     DependencyNode rootNode =
>> dependencyGraphBuilder.buildDependencyGraph(enforcePom, new 
>> CumulativeScopeArtifactFilter(Arrays.asList(Artifact.SCOPE_COMPILE,
>> Artifact.SCOPE_RUNTIME)));
>> 
>> and that works pretty well (I used to think relying on aether directly 
>> was the best approach, until this change of package made my plugins 
>> not maven
>> 3.1 compatible)
>> 
>> Which approach would you consider the best then (when writing a plugin 
>> doing dependency resolution) , using the Maven 2 API with maven-compat 
>> or relying on maven-dependency-tree ?
>> Thanks for your answer !
>> Anthony
>> 
>> 
>> 
>> 
>> 
>> 
>> On Fri, Jul 19, 2013 at 1:44 PM, <igor.zapletnev@gmail.com> wrote:
>> 
>>> Please check next post
>>> 
>>> http://mail-archives.apache.org/mod_mbox/maven-users/201307.mbox/%3c7
>>> A BC22E9-32C5-44F6-BDB3-117414907DB8@gmail.com%3e
>>> It should helps you
>>> 
>>> On Jul 19, 2013, at 9:39 PM, "Richard Sand" <rsand@idfconnect.com> wrote:
>>> 
>>>> Quick Q- what's the proper way to resolve an artifact in a Maven3
>>> plug-in, e.g. where the artifact isn't already a managed dependency 
>>> in the project.
>>>> 
>>>> I found the Mojo Developer Cookbook (
>>> http://docs.codehaus.org/display/MAVENUSER/Mojo+Developer+Cookbook)
>>> but it gives the Maven2 technique, and the classes used are deprecated.
>>>> 
>>>> -Richard
>>>> 
>>>> 
>>>> 
>>>> --------------------------------------------------------------------
>>>> - To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>> 
>>> 
>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>> 
>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>> 
> 
> -----------------
> Come read my webnovel, Take a Lemon <http://www.takealemon.com>, and listen
> to the Misfile radio play <http://www.gold-family.us/audio/misfile.html>!
> 
> 
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
> 

-----------------
Come read my webnovel, Take a Lemon <http://www.takealemon.com>, 
and listen to the Misfile radio play <http://www.gold-family.us/audio/misfile.html>!





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