maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jesse Glick <jesse.gl...@oracle.com>
Subject Possible to override standard Plexus component from build extension?
Date Tue, 09 Nov 2010 23:29:25 GMT
I am interested in experimenting with whether a plugin running in Maven 3 and declared as a
build extension can *replace* a standard service. In particular, I would like 
to replace DefaultProjectDependenciesResolver with a variant that behaves specially on certain
kinds of dependency artifacts (does not resolve them transitively). But I 
cannot find any documentation anywhere on how to do this, or whether it is even possible.
So far what I tried was to create a class in the extension

@Component(role=ProjectDependenciesResolver.class)
public class ... implements ProjectDependenciesResolver {...}

But its methods do not seem to be called. Adding hint="default" or hint="override" does not
help.

I have seen scm-changes-maven-extension, but this works (I suppose) because PlexusContainer.lookupList
finds all available implementations. I am rather interested in 
forcing '@Requirement ProjectDependenciesResolver dependencyResolver' in DefaultProjectBuilder
to find my resolver instead of the usual single implementation.

Is there some magic I am missing? Or some way to debug why sisu-inject-plexus finds one impl
and not another?


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Mime
View raw message