Guillaume, it does not help, see my reproducer.
Or in other words, it works if the Maven Core component is defined as a JSR330 component, but does not work if the Core component is defined as a Plexus component. The ProjectDependenciesResolver implementation (DefaultProjectDependenciesResolver) is a plexus component. T On Wed, May 1, 2024 at 3:21 PM Guillaume Nodet <gno...@apache.org> wrote: > Did you add the sisu inject plugin which generates the > META-INF/sisu/javax.inject.Named index to your build ? > > Le mer. 1 mai 2024 à 03:11, Francois-Xavier Bonnet < > francois-xavier.bon...@centraliens.net> a écrit : > > > Thanks Tamas, > > > > I am using Maven 3.9.6 and building my extension with java 11 > > The project I am using to test the extension is built with Maven 3.9.6 > and > > java 11 and I can tell the extension is loaded because it also contains > an > > EventSpy that logs some stuff. > > This is the code for my custom ProjectDepedencyResolver but it is not > > loaded. What am I doing wrong? > > > > import org.apache.maven.project.*; > > import org.codehaus.plexus.component.annotations.Component; > > import org.eclipse.sisu.Priority; > > > > import javax.inject.Inject; > > import javax.inject.Named; > > > > @Named > > @Component(role = ProjectDependenciesResolver.class) > > @Priority(999) > > public class CustomProjectDependencyResolver extends > > DefaultProjectDependenciesResolver implements > ProjectDependenciesResolver { > > > > @Inject > > public CustomProjectDependencyResolver() { > > } > > > > @Override > > public DependencyResolutionResult resolve(DependencyResolutionRequest > > request) throws DependencyResolutionException { > > throw new RuntimeException(); // just crashing for now to check > if > > this class is properly injected > > } > > } > > > > On Wed, 1 May 2024 at 08:54, Tamás Cservenák <ta...@cservenak.net> > wrote: > > > > > Howdy, > > > > > > IF you target latest Maven 3.9.x (uses Sisu 0.9.0.M2), then: > > > - use max Java 17 bytecode > > > - use JSR330 instead of plexus annotations > > > - use org.eclipse.sisu.Priority annotation to override a component > > > > > > IF you target Maven 3.8.x or so, similar, but use Java 11 bytecode max > > > > > > Thanks > > > T > > > > > > > > > On Wed, May 1, 2024 at 12:42 AM Francois-Xavier Bonnet < > > > fx.bon...@gmail.com> > > > wrote: > > > > > > > Hey there, > > > > > > > > I am writing an extension that needs to replace the > > > > default ProjectDependenciesResolver with a custom one. > > > > According to the documentation I think I should be able to do it: > "The > > > > mechanism allows extensions to either replace default Sisu components > > > with > > > > custom ones or add new components which are used at run time." > > > > But I could not figure out how to do it or find any example. > > > > > > > > I have tried to create a new class like this: > > > > > > > > @Component(role = ProjectDependenciesResolver.class) > > > > public class CustomProjectDependencyResolver implements > > > > ProjectDependenciesResolver { > > > > ... > > > > } > > > > > > > > This did not work. > > > > > > > > > > > > -- > ------------------------ > Guillaume Nodet >