maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Gusakov <>
Subject Re: Artifact Resolution
Date Wed, 06 Aug 2008 15:09:11 GMT
This document discusses POM processing in great detail, while in Mercury 
we abstracted it into external interface MetadataProcessor. You give it 
GAV to the POM, MetadataReader and it returns back a list of dependency 
GAVs interpolated for the given environment. Not transitive - just 
direct dependencies.

List<ArtifactBasicMetadata> getDependencies( ArtifactBasicMetadata bmd, 
MetadataReader mdReader, Hashtable env )
    throws MetadataProcessingException;

MetadataReader is implemented by Mercury as all it does is: given GAV - 
returns back POM bytes, so that MetadataProcessor have something to 

  public byte [] readMetadata( ArtifactBasicMetadata bmd )
  throws MetadataProcessingException;

Then Mercury concentrates on building the dependency tree for transitive 
dependencies and resolving conflicts for a particular scope.

So majority of the document applies to MetadataProcessor abstraction, 
and ProjectBuilder is the perfect candidate :)

I will write up the overall process and integrate that piece.


Jason van Zyl wrote:
> Oleg,
> Not sure if you've seen this, but could you take a crack at 
> integrating this, if applicable, into the Mercury write up?
> Thanks,
> Jason
> ----------------------------------------------------------
> Jason van Zyl
> Founder,  Apache Maven
> jason at sonatype dot com
> ----------------------------------------------------------
> the course of true love never did run smooth ...
>  -- Shakespeare
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message