maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Manfred Moser" <manf...@simpligility.com>
Subject Re: API to resolve an artifact in Maven3
Date Tue, 23 Jul 2013 02:06:49 GMT
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 <rsand@idfconnect.com>
> 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:dantran@gmail.com]
>> 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
>> <anthony.dahanne@gmail.com>wrote:
>>
>> > On Mon, Jul 22, 2013 at 6:59 PM, Dan Tran <dantran@gmail.com> 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 <rsand@idfconnect.com>
>> > > 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:rwheeler@artifact-software.com]
>> > > > 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:rwheeler@artifact-software.com]
>> > > > > Sent: Monday, July 22, 2013 3:11 PM
>> > > > > To: users@maven.apache.org
>> > > > > 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:russ@gold-family.us]
>> > > > >> 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
>> > > > >> <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-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, <igor.zapletnev@gmail.com>
>> > wrote:
>> > > > >>>>
>> > > > >>>>> Please check next post
>> > > > >>>>>
>> > > > >>>>>
>> > http://mail-archives.apache.org/mod_mbox/maven-users/201307.mbox/%
>> > > > >>>>> 3
>> > > > >>>>> c
>> > > > >>>>> 7 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
>> > > > >
>> > > > > --
>> > > > > Ron Wheeler
>> > > > > President
>> > > > > Artifact Software Inc
>> > > > > email: rwheeler@artifact-software.com
>> > > > > skype: ronaldmwheeler
>> > > > > phone: 866-970-2435, ext 102
>> > > > >
>> > > > >
>> > > > > ----------------------------------------------------------------
>> > > > > ----- To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> > > > > For additional commands, e-mail: users-help@maven.apache.org
>> > > > >
>> > > > >
>> > > > >
>> > > > >
>> > > >
>> > > >
>> > > > --
>> > > > Ron Wheeler
>> > > > President
>> > > > Artifact Software Inc
>> > > > email: rwheeler@artifact-software.com
>> > > > skype: ronaldmwheeler
>> > > > phone: 866-970-2435, ext 102
>> > > >
>> > > >
>> > > >
>> > > >
>> > > > ------------------------------------------------------------------
>> > > > --- 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


Mime
View raw message