aether: how to collect all dependencies including parent

169 views Asked by At

There are a fair amount of questions online involving how to use Maven / Aether to download dependencies for a given artifact.

I am however stumped as to downloading the parent poms.

I have similar code found online that does

CollectResult result = system.collectDependencies(session, request);

However the result is strictly the dependencies (compile, test, provided, runtime etc..) of the given artifact.

I am trying to setup an "offline" maven repository and as such need all relevant pom files as well. Certain plugins set a parent pom that I need to make sure is included as part of this transitive closure.

Additional Rationale

I am working on developing a solution to wrap Maven applications as a Nix derivation.

In order to attain hermetic/reproducible builds Nix disallows access to the internet; which means using Maven traditionally does not work.

I can instead pre-hydrate a maven repository given the known dependencies. I am working on a project https://github.com/fzakaria/mvn2nix which turns a Maven (pom.xml) into a full list of all dependencies needed so that they can be downloaded.

0

There are 0 answers