Hi guys,

I’ve been trying to find how to programmatically resolve dependencies from a 
pom.xml file by using the Maven Resolver API 
(https://github.com/apache/maven-resolver).

So far I’ve succeeded in resolving dependencies from an Artifact but I haven’t 
found how to do by reading from a pom.xml file.

The closest I have founds is the following but it’s not working & it’s not 
using the Resolver API (and thus the passed parameters):

private void getArtifactDependenciesFromPOMFile(List<RemoteRepository> 
remoteRepositories, RepositorySystem repoSystem,
    RepositorySystemSession session) throws Exception
{
    DefaultModelBuildingRequest modelBuildingRequest = new 
DefaultModelBuildingRequest()
        .setPomFile(new File("./pom.xml”));
    ModelBuilder modelBuilder = new DefaultModelBuilderFactory().newInstance();
    ModelBuildingResult modelBuildingResult = 
modelBuilder.build(modelBuildingRequest);
    Model model = modelBuildingResult.getEffectiveModel();
}

It’s failing with:

java.lang.NullPointerException: request.modelResolver cannot be null (parent 
POM org.xwiki.platform:xwiki-platform-test:10.6-SNAPSHOT and POM 
org.xwiki.platform:xwiki-platform-test-war:[unknown-version] 
(/Users/vmassol/dev/xwiki/xwiki-platform/xwiki-platform-core/xwiki-platform-test/xwiki-platform-test-war/./pom.xml))

        at org.apache.commons.lang3.Validate.notNull(Validate.java:225)
        at 
org.apache.maven.model.building.DefaultModelBuilder.readParentExternally(DefaultModelBuilder.java:994)

I assume that’s because it needs some MavenResolver at:

    DefaultModelBuildingRequest modelBuildingRequest = new 
DefaultModelBuildingRequest()
        .setPomFile(new File("./pom.xml”))
        .setResolver(“… what to put here?…”)

Is there another approach?

Thanks
-Vincent

PS: I’ve tried using ShrinkWrap but it’s not working for me, see 
https://massol.myxwiki.org/xwiki/bin/view/Blog/ResolveMavenArtifactsShrinkWrap


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to