Re: Any specific requirements for extensions?

2020-08-12 Thread Michael Osipov
Stuart, that was very valuable information! Thank you! I have boldly applied your recommendation and it works in the core realm: https://github.com/apache/maven-resolver/commit/2e78944a673ac7267f9d40abdeb4816f00381797#diff-0b6e1366069deb9a8dcbf0126334e47dR65-R69 As for the plugin, I have

Re: Any specific requirements for extensions?

2020-08-12 Thread Stuart McCulloch
Scratch that - the AetherModule and DefaultServiceLocator are only used by clients that don't use dependency injection, they're not used by Maven itself. The log snippet you posted above shows both SyncContextFactory components are being bound in the same realm - they are therefore given the

Re: Any specific requirements for extensions?

2020-08-12 Thread Stuart McCulloch
The issue is indeed with AetherModule which is installed by Maven via MavenAetherModule This module adds concrete bindings for various Aether components which cannot be overridden in plugins/extensions. These bindings will need to be changed to support overriding, I'll create a patch to show how

Re: Any specific requirements for extensions?

2020-08-11 Thread Michael Osipov
Am 2020-08-11 um 11:48 schrieb Stuart McCulloch: JSR330 annotation scanning is enabled for all realms including extensions, so it should be picked up. Does the replacement implementation have the same "hint" or name? ie. @Named("default") You can turn on detailed container logging with

Re: Any specific requirements for extensions?

2020-08-11 Thread Stuart McCulloch
JSR330 annotation scanning is enabled for all realms including extensions, so it should be picked up. Does the replacement implementation have the same "hint" or name? ie. @Named("default") You can turn on detailed container logging with -Dsisu.debug which will log all bindings discovered in

Any specific requirements for extensions?

2020-08-06 Thread Michael Osipov
Folks, I am trying to write an extension for Maven Resolver which shall replace a default implementation. The implemented interface is an exported package in maven-core, the implementing class has proper javax.inject annotations @Named(...) and @Singleton so does the default (bundled) one.