Thats what we plan to do for the android maven plugin as well. > I hope some maven dev folks seeing this discussion and provide guidance > for you case. For my case, very likely i will move directly mvn 3.1.x and > stop support for 3.0 completely ( i have no need for maven 2 support ) > > -D > > > On Mon, Jul 22, 2013 at 6:11 PM, Richard Sand <[email protected]> > wrote: > >> Hi Dan - no I really don't specifically need the maven3 API. In fact, I >> only started asking when I got the compiler warnings that >> ArtifactFactory >> was deprecated, thus the conversation about what the proper technique >> was. >> >> It sounds like the 3.1 API should expose more of the aether API through >> an >> interface and factory pattern if it wants to support these plug-ins >> while >> still moving off of the maven 2 approach. What do you think? >> >> -----Original Message----- >> From: Dan Tran [mailto:[email protected]] >> Sent: Monday, July 22, 2013 8:38 PM >> To: Maven Users List >> Subject: Re: API to resolve an artifact in Maven3 >> >> Yes, I am also at a odd situation whether I need to have my custom >> plugin >> to support both maven 3 and 3.1 at the same time. >> >> Btw, maven 2 api should support most of the requirement, do you have >> specific needs for maven 3 artifact api? >> >> -D >> >> >> >> >> >> On Mon, Jul 22, 2013 at 4:57 PM, Anthony Dahanne >> <[email protected]>wrote: >> >> > On Mon, Jul 22, 2013 at 6:59 PM, Dan Tran <[email protected]> wrote: >> > >> > > Eclipse aether is the api you need resolve your artifact for maven >> 3.1. >> > >> > >> > >> > Yeah, and that would mean bye bye maven 2 and maven 3.0 support ! >> > >> > >> > >> > >> > > I >> > > think there are plenty of examples for you to base on. If you have >> > > question, you can post it here at user group, there are plenty of >> > > dev >> > folks >> > > here always trying to help out >> > > >> > > -D >> > > >> > > >> > > On Mon, Jul 22, 2013 at 2:55 PM, Richard Sand <[email protected]> >> > > wrote: >> > > >> > > > Ok good points, thanks Ron. I'll try what you suggested, and see >> > > > if I >> > can >> > > > get some assistance on the developers list. I'm happy to volunteer >> > > > to update some documentation around what I've learned writing this >> > > > plugin. >> > > > >> > > > Best regards, >> > > > >> > > > Richard >> > > > >> > > > >> > > > -----Original Message----- >> > > > From: Ron Wheeler [mailto:[email protected]] >> > > > Sent: Monday, July 22, 2013 5:06 PM >> > > > To: Richard Sand >> > > > Cc: 'Maven Users List' >> > > > Subject: Re: API to resolve an artifact in Maven3 >> > > > >> > > > My point is that most of the people here are users and not >> > > > interested >> > in >> > > > plug-in development or knowledgeable about plug-in development. >> > > > Custom plug-ins are not required for development of standalone or >> > > > web applications in Java most of the time. >> > > > >> > > > Most appear to be developed to support specific specific non-java >> > > > activities. I use one developed as a front-end for DITA document >> > > production >> > > > to simplify the use of the DITA-OT. I use another to simplify the >> > > packaging >> > > > of applications into an installer using IzPack. >> > > > >> > > > These are pretty simple Maven plug-ins and likely do not include >> > > > very >> > > much >> > > > coordination with or use of Maven internal methods. >> > > > >> > > > I am not sure if there is a better forum for you to get the kind >> > > > of >> > help >> > > > that you need. >> > > > The kind of information that you seem to need is probably known by >> > > > the people who frequent the dev list but they are going to be >> > > > pretty >> > focused >> > > on >> > > > Maven development and may not welcome third-party development >> > questions. >> > > > >> > > > You might get some help by offering to add documentation to the >> > > > code in >> > > the >> > > > dev list in return for specific questions. Certainly you are doing >> > > > a >> > > level >> > > > of research into the examples, docs and code that could lead to >> > > > useful updates to the docs or examples. >> > > > >> > > > >> > > > >> > > > Ron >> > > > >> > > > >> > > > On 22/07/2013 4:30 PM, Richard Sand wrote: >> > > > > Hi Ron - I'm not sure what you're telling me. I thought that the >> > > > > capability to easily write custom plug-ins was part of the goal >> > > > > of Maven. If Maven doesn't want people outside of Maven writing >> > plug-ins, >> > > > > then you're right the information I'm looking for isn't useful. >> > > > > >> > > > > But the javadocs are published - they just aren't filled in. >> > > > > Examples are published, but they're for Maven 2 and either don't >> > > > > work or are >> > > > deprecated. >> > > > > Basic tasks that *seem* to be within the scope of what Maven >> > > > > wants to do are surprisingly difficult. That's frustrating. >> > > > > >> > > > > The questions I've asked on this this have been as specific and >> > > > > technical as I could make them. I'm not trying to waste anyone's >> > > > > time or not respect the work that others have volunteered. >> > > > > >> > > > > -Richard >> > > > > >> > > > > >> > > > > -----Original Message----- >> > > > > From: Ron Wheeler [mailto:[email protected]] >> > > > > Sent: Monday, July 22, 2013 3:11 PM >> > > > > To: [email protected] >> > > > > Subject: Re: API to resolve an artifact in Maven3 >> > > > > >> > > > > You are not using Maven; you are developing a custom plug-in. >> > > > > >> > > > > That is a development activity so you should expect that it will >> > > > > be more difficult than what other users need to do and you will >> > > > > need information that is of no use to anyone else. >> > > > > >> > > > > It appears that you are trying to extend Maven in a way that is >> > > > > outside what Maven likes to do so you can expect that some >> > information >> > > > > will be hard to find outside the code. >> > > > > >> > > > > >> > > > > Ron >> > > > > >> > > > > >> > > > > On 22/07/2013 2:54 PM, Richard Sand wrote: >> > > > >> Hey Russell - DependencyGraphBuilder seems to be for resolving >> > > > >> the dependencies that the project already has, i.e. in the >> > > > >> <project><dependencies> element. What I'm trying to do now is >> > > > >> configure additional dependencies used by my plugin at runtime >> > > > >> outside of the project dependencies. >> > > > >> >> > > > >> I've used a lot of open source projects but I cannot remember >> > > > >> one as opaque as Maven. I'm looking through >> > > > >> maven-dependency-plugin now to see if I can glean any insights. >> > > > >> It seems that plugin used the same technique you did in its >> > > > >> DefaultArtifactsResolver utility class. I'm going to check out >> the project from svn to see how its initializing. >> > > > >> >> > > > >> -----Original Message----- >> > > > >> From: Russell Gold [mailto:[email protected]] >> > > > >> Sent: Monday, July 22, 2013 7:22 AM >> > > > >> To: Maven Users List >> > > > >> Subject: Re: API to resolve an artifact in Maven3 >> > > > >> >> > > > >> 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 >> > > > >> <[email protected]> >> > > 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:[email protected]] >> > > > >>> 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 >> > > > >>> <[email protected]> >> > > > 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:[email protected]] >> > > > >>>> 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:[email protected]] >> > > > >>>> 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-relyin >> > > > >>>> g >> > > > >>>> - >> > > > >>>> o >> > > > >>>> n-aeth >> > > > >>>> >> > er-be-compatible-with-maven-3-0-x-and-3-1-x#comment25769765_1768648 >> > > > >>>> 2 >> > > > >>>> >> > > > >>>> Now I am using something like that : >> > > > >>>> Artifact enforceArtifact = >> > > > >>>> >> > defaultArtifactFactory.createArtifact(enforceGroupId,enforceArtifac >> > > > >>>> t >> > > > >>>> I >> > > > >>>> d >> > > > >>>> ,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, <[email protected]> >> > wrote: >> > > > >>>> >> > > > >>>>> Please check next post >> > > > >>>>> >> > > > >>>>> >> > http://mail-archives.apache.org/mod_mbox/maven-users/201307.mbox/% >> > > > >>>>> 3 >> > > > >>>>> c >> > > > >>>>> 7 A [email protected]%3e >> > > > >>>>> It should helps you >> > > > >>>>> >> > > > >>>>> On Jul 19, 2013, at 9:39 PM, "Richard Sand" < >> > [email protected]> >> > > > >> 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 >> > > > > >> > > > > -- >> > > > > Ron Wheeler >> > > > > President >> > > > > Artifact Software Inc >> > > > > email: [email protected] >> > > > > skype: ronaldmwheeler >> > > > > phone: 866-970-2435, ext 102 >> > > > > >> > > > > >> > > > > ---------------------------------------------------------------- >> > > > > ----- To unsubscribe, e-mail: [email protected] >> > > > > For additional commands, e-mail: [email protected] >> > > > > >> > > > > >> > > > > >> > > > > >> > > > >> > > > >> > > > -- >> > > > Ron Wheeler >> > > > President >> > > > Artifact Software Inc >> > > > email: [email protected] >> > > > skype: ronaldmwheeler >> > > > phone: 866-970-2435, ext 102 >> > > > >> > > > >> > > > >> > > > >> > > > ------------------------------------------------------------------ >> > > > --- To unsubscribe, e-mail: [email protected] >> > > > For additional commands, e-mail: [email protected] >> > > > >> > > > >> > > >> > >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> >
--------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
