maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Richard Sand" <rs...@idfconnect.com>
Subject RE: API to resolve an artifact in Maven3
Date Mon, 22 Jul 2013 05:53:03 GMT
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


Mime
View raw message