I am able to construct Dependency from my Artifact's GAV,
maven-artifact-transfer's DependencyResolver handles the rest.

Thanks to Robert's excellent works under maven-artifact-transfer

-Dan

On Wed, Dec 28, 2016 at 2:17 AM, Robert Scholte <[email protected]>
wrote:

> Well, you can go from dependency to artifact to file, but not the other
> way around. If you want to go from artifact to dependency, then the
> artifact should have been a dependency from the beginning. I've tried to
> make the difference more clear on the comparison page[1].
> While integrating maven-artifact-transfer in several plugins I noticed
> that quite a lot were using artifacts where actually dependencies should
> have been used. I've managed to refactor all these cases by using
> dependencies instead.
>
> Be aware that the o.a.m.a.Artifact[2] is a confusing interface, it has way
> too much methods which actually belong to the dependency.
>
> Robert
>
> [1] http://maven.apache.org/shared/maven-artifact-transfer/comparison.html
> [2] http://maven.apache.org/ref/3.3.9/maven-artifact/apidocs/org
> /apache/maven/artifact/Artifact.html
>
> On Wed, 28 Dec 2016 10:01:17 +0100, Dan Tran <[email protected]> wrote:
>
> is there a component to convert and Artifact to Dependency?
>>
>> Thanks
>>
>> -D
>>
>> On Tue, Dec 27, 2016 at 3:31 PM, Dan Tran <[email protected]> wrote:
>>
>> Bingo, it works. I will close to Jira
>>>
>>> Thanks Robert
>>>
>>> -Dan
>>>
>>> On Tue, Dec 27, 2016 at 1:01 PM, Robert Scholte <[email protected]>
>>> wrote:
>>>
>>> Just to be sure:
>>>>
>>>> buildingRequest = repositoryManager.setLocalRepositoryBasedir(
>>>> buildingRequest, localRepositoryPath );
>>>>
>>>> do you pick up the new buildingRequest? This is required due to
>>>> immutable
>>>> instances inside buildingRequest.
>>>> IIRC I've already applied this to the maven-invoker-plugin, which also
>>>> needs its own localRepository.
>>>>
>>>> Robert
>>>>
>>>>
>>>> On Tue, 27 Dec 2016 05:30:43 +0100, Dan Tran <[email protected]> wrote:
>>>>
>>>> Thanks, Robert,
>>>>
>>>>>
>>>>> I am going to switch to  DependencyResolver for my use case
>>>>>
>>>>> I also filed https://issues.apache.org/jira/browse/MSHARED-604. Let me
>>>>> know
>>>>> if it is valid, so I can work on the fix
>>>>>
>>>>> Thanks
>>>>>
>>>>> -Dan
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Dec 26, 2016 at 2:53 AM, Robert Scholte <[email protected]>
>>>>> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>>>
>>>>>> we must be clear about the naming: an artifact can never have a
>>>>>> version
>>>>>> range; it is a maven coordinate which results in one file.
>>>>>> However, a dependency can have a version range, that's the proper way
>>>>>> to
>>>>>> get the range resolved and get the matching artifact.
>>>>>>
>>>>>> Robert
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, 26 Dec 2016 08:33:59 +0100, Dan Tran <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>> to elaborate my use case: where i started with maven GAV as string,
>>>>>>
>>>>>>  convert to maven artifact, and finally resolve with option to change
>>>>>>> local
>>>>>>> repo path
>>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>> -Dan
>>>>>>>
>>>>>>> On Sun, Dec 25, 2016 at 11:31 PM, Dan Tran <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>> Thanks, I am able to obtain ProjectBuildingRequest  either with
>>>>>>>
>>>>>>> MavenSession or MavenProject, however, there are 2 issues
>>>>>>>>
>>>>>>>>   1. version range does not work, stepping the debugger show no sign
>>>>>>>> of
>>>>>>>> processing resolveVersionRanges flag. and aether throws exception
>>>>>>>>
>>>>>>>>   2. Looks like ProjectBuildingRequest is immutable, i cant override
>>>>>>>> localRepository as resolve time. I can do so with ArtifactResolver
>>>>>>>> from
>>>>>>>> maven-compat
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>>
>>>>>>>> -Dan
>>>>>>>>
>>>>>>>> On Sun, Dec 25, 2016 at 10:50 PM, Guillaume Boué <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> If you're inside a Maven plugin, you can get a
>>>>>>>> ProjectBuildingRequest
>>>>>>>>
>>>>>>>> with the session.
>>>>>>>>>
>>>>>>>>> https://maven.apache.org/ref/3.3.9/maven-core/apidocs/org/ap
>>>>>>>>> ache/maven/execution/MavenSession.html#getProjectBuildingRequest()
>>>>>>>>>
>>>>>>>>> The shared ArtifactResolver from maven-artifact-transfer should
>>>>>>>>> resolve
>>>>>>>>> version ranges, yes.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Le 26/12/2016 à 03:59, Dan Tran a écrit :
>>>>>>>>>
>>>>>>>>> I found  org.apache.maven.shared.artifact.resolve.ArtifactResolver
>>>>>>>>>
>>>>>>>>>  with
>>>>>>>>>> input of ProjectBuildingRequest
>>>>>>>>>>
>>>>>>>>>> here is how I construct the request
>>>>>>>>>>
>>>>>>>>>>              ProjectBuildingRequest req = new
>>>>>>>>>> DefaultProjectBuildingRequest();
>>>>>>>>>>              req.setLocalRepository(localRepository);
>>>>>>>>>>              req.setRemoteRepositories(remoteRepositories);
>>>>>>>>>>              req.setResolveVersionRanges(true);
>>>>>>>>>>              req.setRepositorySession(???);//fixme
>>>>>>>>>>
>>>>>>>>>> I have access to both local and remote repos instances,
>>>>>>>>>>
>>>>>>>>>> How do I obtain a repositorySession?
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>>
>>>>>>>>>> -Dan
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Sun, Dec 25, 2016 at 10:45 AM, Dan Tran <[email protected]>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> Hi
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Does maven-artifact-transfer have this feature? if so which api?
>>>>>>>>>>>
>>>>>>>>>>> basically, I have an org.apache.maven.artifact.Artifact with
>>>>>>>>>>> version
>>>>>>>>>>> range set.  I need to resolve it to pickup the matching version
>>>>>>>>>>> available
>>>>>>>>>>> at maven repo
>>>>>>>>>>>
>>>>>>>>>>> the org.apache.maven.artifact.resolver.ArtifactResolver from
>>>>>>>>>>> maven-compat cant resolve it
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>>
>>>>>>>>>>> -Dan
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> ---
>>>>>>>>>>>
>>>>>>>>>> L'absence de virus dans ce courrier électronique a été vérifiée
>>>>>>>>> par
>>>>>>>>> le
>>>>>>>>> logiciel antivirus Avast.
>>>>>>>>> https://www.avast.com/antivirus
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ------------------------------------------------------------
>>>>>>>>> ---------
>>>>>>>>> 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]
>>>>
>>>>
>>>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to