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]



Reply via email to