Additional clarifications:
Oleg Gusakov wrote:
pi song wrote:
I just had a look at Mercury artifact resolver. It currently returns a list
of artifacts.
Mercury has the following resolution APIs - see DependencyBuilder
interface:
I became so addicted to m2eclipse that completely forgot that not all
folks may be using it. Just in that case: DependencyBuilder is in the
mercury-md-sat project; default implementation - DependencyTreeBuilder
is obtained from a factory DependencyBuilderFactory.
- buildTree - creates a full metadata tree
- resolveConflicts has two flavors
-- List<ArtifactMetadata> resolveConflicts( MetadataTreeNode root )
to create the classpath set
-- MetadataTreeNode resolveConflictsAsTree( MetadataTreeNode root )
for tool integration, reduces the full tree into resolved tree
There are other - combined APIs, like
List<ArtifactMetadata> resolveConflicts(
ArtifactScopeEnum scope
, ArtifactQueryList artifacts
, ArtifactInclusionList inclusions
, ArtifactExclusionList exclusions
)
This is a one call that accepts a list of artifacts and returns
transitively resolved list ready for classpath consumption.
I think there is at least a need for:
- transitive true/false flag
- a similar tool integration TI call that would return a tree instead of
list
Please remember - the original intent of Mercury was to create a library
that could be consumed by Maven as well as other clients. As such - it
does not know too much about Maven specifics. And we can write Maven
adapters to expose it via familiar constructs. But not too many as it
affects performance :)
Thanks,
Oleg
At this stage APIs are experimental (it's still alpha product) and are
subjected to change as we go on with Maven integration.
Please feel free to register any suggestions/requirements in Mercury jira:
http://jira.codehaus.org/browse/MERCURY
Thanks,
Oleg
I think you will need a middle man to help expose that list as simplified
tree anyway (for plug-in developers).
Am I right? Just want to understand a bit more.
Pi Song
On Tue, Feb 17, 2009 at 8:05 PM, Mark Hobson <[email protected]> wrote:
2009/2/16 pi song <[email protected]>:
I have just noticed that Maven3 is on the way. The new dependency
resolver
really looks very interesting. Just curious how would that affect
maven-shared/maven-dependency-tree. Will this API stay the same or be
replaced?
I'd personally be in favour of mercury superseding
maven-dependency-tree. It only existed to provide a tree API around
the pre-existing event API, and since mercury is tree-based it should
hopefully now be rather redundant.
Mark
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]