[ 
https://issues.apache.org/jira/browse/MNG-6739?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17418537#comment-17418537
 ] 

Tamás Cservenák commented on MNG-6739:
--------------------------------------

[~jam01] Howdy, did you solve this issue?

Just FTR let me list some facts:
 * the technique of custom bindings as in Sisu doco does work fine in "vanilla" 
SISU
 * but, Maven Plugin is not managed by "vanilla" Sisu container, it  but in 
Maven container that creates complex hierarchical class-paths.
 * Maven does not export Guice to plugin class-path ("realm") as you figured
 * if you add Guice as direct dependency to plugin, it will most probably clash 
with core Guice (same class on two class-loaders) IF you manage your components 
within JSR330 container of (Sisu embedded in) Maven.
 * Hence, I'd say, if you really must have custom bindings within a maven 
plugin, you need to add all the dependencies (Guice), create a "bootstrap"  
that brings all your components up using "your" Guice instance, and then bridge 
it into Mojo (as injection into components managed by Maven SISU will not "see" 
these components, will not inject them).

Anyway, these above are just tips. In any case (solved/unsolved) am expecting 
your response.

> JSR 330 not picking up Guice Custom Bindings
> --------------------------------------------
>
>                 Key: MNG-6739
>                 URL: https://issues.apache.org/jira/browse/MNG-6739
>             Project: Maven
>          Issue Type: Bug
>          Components: Plugins and Lifecycle
>    Affects Versions: 3.6.0
>            Reporter: Jose Montoya
>            Priority: Major
>             Fix For: 4.0.x-candidate
>
>
> See: https://maven.apache.org/maven-jsr330.html and 
> https://wiki.eclipse.org/Sisu/PlexusMigration
> These docs state that Guice Modules annotated with {{@Named}} will be loaded 
> and configured automatically by Sisu. I think the actual loading is done by 
> {{org.eclipse.sisu.space.QualifiedTypeBinder}} but it only seems to work when 
> running tests via the {{maven-plugin-testing-harness}} and not when actually 
> running the plugin.
> I've tried to add various different artifacts to compilation including 
> {{sisu.inject}}, {{sisu.inject.extender}} and {{plexus-container-default}} 
> but cannot get the Modules to be loaded, and consequently the Mojo fails to 
> instantiate with {{com.google.inject.ProvisionException: Unable to provision}}
> I'm working on a simple project to reproduce, I'll update the ticket with a 
> link to it. If I can provide more information, or if I'm just missing 
> something simple please let me know. Thanks
> EDIT: Here's the repo https://github.com/jam01/maven-plugin-jsr330-issue
> {noformat}
> mvn clean install
> mvn com.jam01.test:printer-maven-plugin:print
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to