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
interpret.
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.
Thanks,
Oleg
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?
http://docs.codehaus.org/display/MAVEN/Maven+2.1+Artifact+Resolution+Specification
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]