atom feed13 messages in org.apache.maven.usersRe: API to resolve a version range ar...
FromSent OnAttachments
Dan TranDec 25, 2016 10:45 am 
Dan TranDec 25, 2016 6:59 pm 
Guillaume BouéDec 25, 2016 10:50 pm 
Dan TranDec 25, 2016 11:31 pm 
Dan TranDec 25, 2016 11:33 pm 
Robert ScholteDec 26, 2016 2:53 am 
Dan TranDec 26, 2016 8:30 pm 
Robert ScholteDec 27, 2016 1:01 pm 
Dan TranDec 27, 2016 3:31 pm 
Dan TranDec 28, 2016 1:01 am 
Robert ScholteDec 28, 2016 2:17 am 
Dan TranDec 31, 2016 5:49 am 
Robert ScholteDec 31, 2016 6:40 am 
Subject:Re: API to resolve a version range artifact
From:Dan Tran (dant@gmail.com)
Date:Dec 28, 2016 1:01:17 am
List:org.apache.maven.users

is there a component to convert and Artifact to Dependency?

Thanks

-D

Bingo, it works. I will close to Jira

On Tue, Dec 27, 2016 at 1:01 PM, Robert Scholte <rfsc@apache.org> 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 <dant@gmail.com> 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 <rfsc@apache.org> 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 <dant@gmail.com> 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

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é <gbo@apache.org> 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 <dant@gmail.com> 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

L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus