Hey guys,

thank you for the fast response. I ended up using:

@Inject
protected Provider<MavenProject> mavenProjectProvider;

Which works perfectly fine.

Thank you.


2017-02-22 9:12 GMT+02:00 Hervé BOUTEMY <[email protected]>:

> IIUC, this feature is available since Maven 3.2.1 (MNG-5530)
>
> Regards,
>
> Hervé
>
> Le mardi 21 février 2017, 22:54:41 CET Igor Fedorenko a écrit :
> > MavenProject is injected as a MojoExecutionScope'd component (see
> > DefaultBuildPluginManager around line 119). Since old-style Plexus
> > components are singleton's by default, there is only one
> > AsciidoctorParser instance which holds the first MavenProject it was
> > used with for the entire build.
> >
> > Couple of ways to solve this.
> >
> > If AsciidoctorParser instances are cheap to create and are disposable,
> > then the easiest solution is to make AsciidoctorParser as non-singleton
> > (this is the default for jsr330 components, and for plexus @Component
> > use instantiationStrategy = "per-lookup").
> >
> > If AsciidoctorParser must be a singleton, then you need to use
> > javax.inject.Provider to access current context MavenProject instance.
> >
> > Hope this helps.
> >
> > > ie. see line 61 of the maven-plugin-tools annotations reference
> > > documentation
> > >
> > > http://maven.apache.org/plugin-tools/maven-plugin-tools-annotations/
> > > index.html#Supported_Annotations
> > >
> > > Regards,
> > >
> > > Hervé
> > >
> > > Le mardi 21 février 2017, 19:47:05 CET Robert Scholte a écrit :
> > > > On Tue, 21 Feb 2017 16:16:55 +0100, Petar Tahchiev
> > > > <[email protected]>
> > > >
> > > > wrote:
> > > > > Hello guys,
> > > > >
> > > > > I've recently found out something weird while working with the
> > > > > asciidoctor
> > > > > maven plugin.My project has the following structure:
> > > > >
> > > > > PARENT:
> > > > >  - MODULEA
> > > > >  - MODULEB
> > > > >  - MODULEC
> > > > >
> > > > > and the asciidoctor team have created this doxia parser to be able
> to
> > > > > render asciidoc content as part of your maven site:
> > > > >
> > > > > https://github.com/asciidoctor/asciidoctor-maven-
> plugin/blob/master/sr
> > > > > c/ma
> > > > > in/java/org/asciidoctor/maven/site/AsciidoctorParser.java#L53>
> > > > >
> > > > > Note that they are injecting the MavenProject like this:
> > > > >     @Requirement
> > > > >     protected MavenProject project;
> > > > >
> > > > > and when I run the site generation at the PARENT (mvn clean site)
> this
> > > > > parser gets called 4 times, and all the 4 times the MavenProject
> that
> > > > > gets
> > > > > injected is PARENT.
> > > > >
> > > > > However, if I run the site generation at PARENT but tell it to
> resume
> > > > > from
> > > > > MODULEA:
> > > > >
> > > > > mvn clean site -rf :MODULEA
> > > > >
> > > > > then the MavenProject is MODULEA every time. First time it is
> MODULEA,
> > > > > second time it is MODULEA and third time it is MODULEA.
> > > > >
> > > > > This may seem like a very small difference, but if you use
> properties
> > > > > like
> > > > > ${project.build.directory} then suddenly your site and images are
> > > > > generated
> > > > > in wrong folders.
> > > > >
> > > > > My questions is:
> > > > >   1) Does it look like a bug in Maven reactor? Or perhaps plexus?
> > > >
> > > > MavenProject is not something which should work like this. It would
> mean
> > > > that project is a @Named component (JSR330), which it isn't. So I
> think
> > > > that it leaks to the plexus context, which shouldn't happen, but
> might
> > > > explain why you always get the same instance.
> > > > A MavenProject is something which needs to be passed as an argument.
> > > >
> > > > Robert
> > > >
> > > > >   2) Is there any special way that I can inject the current child
> > > > >   module
> > > > >
> > > > > of
> > > > > the mulit-module build. I want the MavenProject that is injected
> to be
> > > > > first time MODULEA, second time MODULEB and third time MODULEC.
> > > > >
> > > > > Regarding point 2 I saw Anders had the same question here:
> > > > >
> > > > > http://maven.40175.n5.nabble.com/Get-hold-of-MavenProject-
> object-of-a-> > > > modu
> > > > > le-in-a-multi-module-build-td5811486.html
> > > > >
> > > > > but I didn't get the answer.
> > > > >
> > > > > Thank you.
> > > >
> > > > ------------------------------------------------------------
> ---------
> > > > To unsubscribe, e-mail: [email protected]
> > > > For additional commands, e-mail: [email protected]
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [email protected]
> > > For additional commands, e-mail: [email protected]
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at:
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

Reply via email to