Hi Dirk,

How about making it a real maven extension? One of the ones you define in 
".mvn/extensions.xml"? 

If the JQAssistant backend was running as a real extension, I guess you 
shouldn't need to run the reporting as extension, as it could act as a client 
to that backend. I guess this should solve most class loading problems.

And it could be used to resolve some problems I'm having with "mvn clean 
install" (Currently this will fail as jqa has an open database in the 
reactor-roots target directory and the clean will fail (on windows) or will 
result with an empty database (mac & linux). 

Chris

________________________________________
Von: Dirk Mahler <dirk.mah...@buschmais.com>
Gesendet: Freitag, 18. März 2016 06:21
An: Maven Developers List
Betreff: Re[2]: MavenReport vs. <extensions>true</extensions>

Hi Karl Heinz,

maybe I've got something wrong - short recap:

- The jQA Maven plugin provides several Mojos, some of them use an
embedded instance of Neo4j which is needs to be a singleton in the
reactor.  Therefore in some reactors it's necessary to declare the
plugin using <extensions>true</extensions>, i.e. if other extensions are
present
- But in this case the report Mojo isn't picked up by the site plugin
("[WARNING] ignoring ...jqassistant-maven-plugin:1.1.2:report goal since
it is not a report: should be removed from reporting configuration in
POM" -> a classloading issue
- To solve this I've tried to declare the jQA plugin declaration in the
reporting section as extension - that's not possible

Seems that the best way to get around it would be separating the report
Mojo out into another Maven plugin, e.g.
jqassistant-maven-reporting-plugin.

Best regards,

Dirk

------ Originalnachricht ------
Von: "Karl Heinz Marbaise" <khmarba...@gmx.de>
An: "Maven Developers List" <dev@maven.apache.org>
Gesendet: 17.03.2016 20:08:05
Betreff: Re: MavenReport vs. <extensions>true</extensions>

>Hi Dirk,
>
>Ah...
>yes the reporting does not allow extensions...
>
>You can only define an extension in the build area or explicit as
>extension
>
><build>
>   <extensions>
>    <extension>
>     <...>
>    </extension>
>   </extensions>
></build>
>
>why would you like to define the plugin in the reporting as extension?
>
>Kind regards
>Karl Heinz
>
>On 3/17/16 7:57 PM, Dirk Mahler wrote:
>>Hi Karl Heinz,
>>
>>the "extensions" element is not supported in the reporting section:
>>
>><reporting>
>>    <plugins>
>>      <plugin>
>>        <groupId>com.buschmais.jqassistant.scm</groupId>
>>        <artifactId>jqassistant-maven-plugin</artifactId>
>>        <version>1.1.2</version>
>>        <extensions>true</extensions> <!-- Maven complains about a
>>Malformed POM at this point -->
>>        <reportSets>
>>          <reportSet>
>>            <reports>
>>              <report>report</report>
>>            </reports>
>>           </reportSet>
>>         </reportSets>
>>      </plugin>
>>    </plugins>
>></reporting>
>>
>>Best regards,
>>
>>Dirk
>>
>>------ Originalnachricht ------
>>Von: "Karl Heinz Marbaise" <khmarba...@gmx.de>
>>An: "Maven Developers List" <dev@maven.apache.org>
>>Gesendet: 17.03.2016 18:43:30
>>Betreff: Re: MavenReport vs. <extensions>true</extensions>
>>
>>>Hi Dirk,
>>>
>>>On 3/16/16 9:03 PM, Dirk Mahler wrote:
>>>>Hi,
>>>>
>>>>a project of mine (jQAssistant) provides Maven plugin which includes
>>>>a
>>>>Mojo for creating reports for a Maven site:
>>>>
>>>>@Mojo(name = "report", defaultPhase = LifecyclePhase.SITE)
>>>>public class ReportMojo extends AbstractMavenReport {
>>>>
>>>>There seems to be a problem if the Maven plugin is declared as
>>>>extension
>>>>(which sometimes is necessary to avoid classloading problems for a
>>>>Neo4j
>>>>instance acting as singleton in the reactor):
>>>>
>>>><plugin>
>>>>    <groupId>com.buschmais.jqassistant.scm</groupId>
>>>>    <artifactId>jqassistant-maven-plugin</artifactId>
>>>>    <version>1.1.2</version>
>>>>    <extensions>true</extensions>
>>>></plugin>
>>>>
>>>>In this case the following warning is rendered:
>>>>
>>>>    [WARNING] ignoring
>>>>com.buschmais.jqassistant.scm:jqassistant-maven-plugin:1.1.2:report
>>>>goal
>>>>since it is not a report: should be removed from reporting
>>>>configuration
>>>>in POM
>>>
>>>Is you plugin configured in the reporting section as well as like
>>>above?
>>>
>>>Kind regards
>>>Karl Heinz Marbaise
>>>
>>>>
>>>>This warning is issued by DefaultMavenReportExecutor after passing
>>>>the
>>>>following line:
>>>>
>>>>    boolean isMavenReport = MavenReport.class.isAssignableFrom(
>>>>mojoClass );
>>>>
>>>>Is there a way to get around that (Maven 3.3.9)?
>>>>
>>>>Best regards from Dresden
>>>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>For additional commands, e-mail: dev-h...@maven.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to