Author: tchemit Date: 2012-05-29 15:44:19 +0200 (Tue, 29 May 2012) New Revision: 2353 Url: http://nuiton.org/repositories/revision/nuiton-utils/2353 Log: fixes #2115: Add a aggregate application-config-report Added: trunk/nuiton-utils-maven-report-plugin/src/main/java/org/nuiton/util/plugin/report/AbstractApplicationConfigReport.java trunk/nuiton-utils-maven-report-plugin/src/main/java/org/nuiton/util/plugin/report/AggregateApplicationConfigReport.java Modified: trunk/nuiton-utils-maven-report-plugin/pom.xml trunk/nuiton-utils-maven-report-plugin/src/main/java/org/nuiton/util/plugin/report/ApplicationConfigReport.java trunk/nuiton-utils-maven-report-plugin/src/site/apt/index.apt trunk/nuiton-utils-maven-report-plugin/src/site/apt/usage.apt.vm trunk/nuiton-utils-maven-report-plugin/src/site/site_fr.xml Modified: trunk/nuiton-utils-maven-report-plugin/pom.xml =================================================================== --- trunk/nuiton-utils-maven-report-plugin/pom.xml 2012-05-28 09:21:40 UTC (rev 2352) +++ trunk/nuiton-utils-maven-report-plugin/pom.xml 2012-05-29 13:44:19 UTC (rev 2353) @@ -1,11 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- #%L - Nuiton Utils :: Nuiton Validator - $Id$ - $HeadURL$ + Nuiton Utils :: Nuiton Maven Report Plugin %% - Copyright (C) 2011 CodeLutin, Tony Chemit + Copyright (C) 2012 CodeLutin, Tony Chemit %% This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -165,6 +163,11 @@ </execution> </executions> </plugin> + + <plugin> + <artifactId>maven-plugin-plugin</artifactId> + </plugin> + </plugins> </build> @@ -185,7 +188,13 @@ <reporting> <plugins> + <plugin> + <artifactId>maven-plugin-plugin</artifactId> + <version>${pluginPluginVersion}</version> + </plugin> + + <plugin> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <quiet>true</quiet> Added: trunk/nuiton-utils-maven-report-plugin/src/main/java/org/nuiton/util/plugin/report/AbstractApplicationConfigReport.java =================================================================== --- trunk/nuiton-utils-maven-report-plugin/src/main/java/org/nuiton/util/plugin/report/AbstractApplicationConfigReport.java (rev 0) +++ trunk/nuiton-utils-maven-report-plugin/src/main/java/org/nuiton/util/plugin/report/AbstractApplicationConfigReport.java 2012-05-29 13:44:19 UTC (rev 2353) @@ -0,0 +1,313 @@ +/* + * #%L + * Nuiton Utils :: Maven Report Plugin + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 CodeLutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * #L% + */ +package org.nuiton.util.plugin.report; + +import org.apache.maven.doxia.siterenderer.Renderer; +import org.apache.maven.project.MavenProject; +import org.apache.maven.reporting.AbstractMavenReport; +import org.apache.maven.reporting.MavenReportException; +import org.codehaus.plexus.i18n.I18N; +import org.codehaus.plexus.util.StringUtils; +import org.nuiton.i18n.I18n; +import org.nuiton.i18n.init.ClassPathI18nInitializer; +import org.nuiton.i18n.init.DefaultI18nInitializer; +import org.nuiton.i18n.init.I18nInitializer; +import org.nuiton.util.ApplicationConfigHelper; +import org.nuiton.util.ApplicationConfigProvider; + +import java.io.File; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Locale; +import java.util.Set; + +/** + * Abstract application config report used by normal and aggregate report. + * + * @author tchemit <chemit@codelutin.com> + * @since 2.4.9 + */ +public abstract class AbstractApplicationConfigReport extends AbstractMavenReport { + + /** + * Report output directory. Note that this parameter is only relevant if the goal is run from the command line or + * from the default build lifecycle. If the goal is run indirectly as part of a site generation, the output + * directory configured in the Maven Site Plugin is used instead. + * + * @parameter default-value="${project.reporting.outputDirectory}" + * @required + * @since 2.4.8 + */ + private File outputDirectory; + + /** + * Report output encoding. Note that this parameter is only relevant if the goal is run from the command line or + * from the default build lifecycle. If the goal is run indirectly as part of a site generation, the output + * encoding configured in the Maven Site Plugin is used instead. + * + * @parameter expression="${outputEncoding}" default-value="${project.reporting.outputEncoding}" + * @required + * @since 2.4.8 + */ + private String outputEncoding; + + /** + * Optional i18n bundle name as used by the nuiton I18n system to init his + * files. + * <p/> + * If not given, will look at all i18n files in all over class-path (which + * could be costy if many dependencies), otherwise will init I18n system + * usinga {@link DefaultI18nInitializer} with this bundle name. + * + * @parameter expression="${config.i18nBundleName}" + * @required + * @since 2.4.8 + */ + private String i18nBundleName; + + /** + * List of application config to include in report (separated by comma). + * <p/> + * <strong>Note:</strong> If not filled then will use all config found in class-path. + * + * @parameter expression="${config.include}" + * @since 2.4.8 + */ + private String include; + + /** + * List of application config to exclude from report (separated by comma). + * <p/> + * <strong>Note:</strong> If not filled no config will be exclude. + * + * @parameter expression="${config.exclude}" + * @since 2.4.8 + */ + private String exclude; + + /** + * Flag to activate verbose mode. + * <p/> + * <b>Note:</b> Verbose mode is always on if you starts a debug maven instance + * (says via {@code -X}). + * + * @parameter expression="${config.verbose}" default-value="${maven.verbose}" + * @since 2.4.8 + */ + private boolean verbose; + + /** + * Flag to render option in detail (add a section for each option). + * + * @parameter expression="${config.showOptionDetail}" default-value="true" + * @since 2.4.8 + */ + private boolean showOptionDetail; + + /** + * Skip to generate the report. + * + * @parameter expression="${config.skip}" + * @since 2.4.8 + */ + private boolean skip; + + /** + * The Maven Project. + * + * @parameter expression="${project}" + * @required + * @readonly + * @since 2.4.8 + */ + private MavenProject project; + + + /** + * Doxia Site Renderer. + * + * @component + * @since 2.4.8 + */ + private Renderer siteRenderer; + + /** + * Internationalization. + * + * @component + * @since 2.4.8 + */ + private I18N i18n; + + /** + * Class loader with all compile dependencies of the module in class-path + * (used to init i18n) and obtain config provider over compile class-path. + * + * @since 2.4.8 + */ + private ClassLoader newClassLoader; + + /** + * Set of ApplicationconfigProvider detected from configuration. + * + * @since 2.4.8 + */ + private Set<ApplicationConfigProvider> configProviders; + + @Override + public String getOutputName() { + return "application-config-report"; + } + + public String getDescription(Locale locale) { + return i18n.getString(getOutputName(), locale, "report.description"); + } + + public String getName(Locale locale) { + return i18n.getString(getOutputName(), locale, "report.title"); + } + + @Override + public String getCategoryName() { + return CATEGORY_PROJECT_REPORTS; + } + + @Override + public boolean canGenerateReport() { + return !skip; + } + + @Override + protected Renderer getSiteRenderer() { + return siteRenderer; + } + + @Override + protected String getOutputDirectory() { + return outputDirectory.getAbsolutePath(); + } + + @Override + protected MavenProject getProject() { + return project; + } + + protected abstract ClassLoader createClassLoader() throws MavenReportException; + + @Override + protected void executeReport(Locale locale) throws MavenReportException { + + if (newClassLoader == null) { + + // not init + init(locale); + } else { + + // just change init language + I18n.setDefaultLocale(locale); + } + ApplicationConfigReportRenderer renderer = + new ApplicationConfigReportRenderer(getSink(), + i18n, + locale, + getOutputName(), + configProviders, + showOptionDetail); + renderer.render(); + } + + protected void init(Locale locale) throws MavenReportException { + if (getLog().isDebugEnabled()) { + + // debug mode set verbose flag to true + verbose = true; + } + + if (newClassLoader == null) { + + newClassLoader = createClassLoader(); + } + + // get i18n initializer + I18nInitializer initializer; + if (StringUtils.isNotEmpty(i18nBundleName)) { + initializer = new DefaultI18nInitializer(i18nBundleName, + newClassLoader); + } else { + initializer = new ClassPathI18nInitializer(newClassLoader); + } + // init i18n + I18n.init(initializer, locale); + + if (configProviders == null) { + + Set<String> includes = null; + if (StringUtils.isNotEmpty(include)) { + includes = new HashSet<String>(Arrays.asList(include.split("\\s*,\\s*"))); + if (verbose) { + getLog().info("config - includes : " + includes); + } + } + + Set<String> excludes = null; + if (StringUtils.isNotEmpty(exclude)) { + excludes = new HashSet<String>(Arrays.asList(exclude.split("\\s*,\\s*"))); + if (verbose) { + getLog().info("config - excludes : " + excludes); + } + } + + configProviders = ApplicationConfigHelper.getProviders( + newClassLoader, + includes, + excludes, + verbose + ); + } + } + + protected ClassLoader createClassLoader(Set<String> paths) { + + Set<URL> urls = new HashSet<URL>(); + + for (String fileName : paths) { + File pathElem = new File(fileName); + try { + URL url = pathElem.toURI().toURL(); + urls.add(url); + getLog().debug("Added classpathElement URL " + url); + } catch (MalformedURLException e) { + throw new RuntimeException( + "Error in adding the classpath " + pathElem, e); + } + } + + return new URLClassLoader( + urls.toArray(new URL[urls.size()]), + Thread.currentThread().getContextClassLoader()); + } +} Property changes on: trunk/nuiton-utils-maven-report-plugin/src/main/java/org/nuiton/util/plugin/report/AbstractApplicationConfigReport.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/nuiton-utils-maven-report-plugin/src/main/java/org/nuiton/util/plugin/report/AggregateApplicationConfigReport.java =================================================================== --- trunk/nuiton-utils-maven-report-plugin/src/main/java/org/nuiton/util/plugin/report/AggregateApplicationConfigReport.java (rev 0) +++ trunk/nuiton-utils-maven-report-plugin/src/main/java/org/nuiton/util/plugin/report/AggregateApplicationConfigReport.java 2012-05-29 13:44:19 UTC (rev 2353) @@ -0,0 +1,76 @@ +/* + * #%L + * Nuiton Utils :: Maven Report Plugin + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 CodeLutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * #L% + */ +package org.nuiton.util.plugin.report; + +import org.apache.maven.artifact.DependencyResolutionRequiredException; +import org.apache.maven.project.MavenProject; +import org.apache.maven.reporting.MavenReportException; +import org.nuiton.util.ApplicationConfigProvider; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * Generates a report for declarated application config via the + * {@link ApplicationConfigProvider} mecanism on a aggregate mojo. + * <p/> + * For each configuration, you can find all his options and actions. + * + * @author tchemit <chemit@codelutin.com> + * @goal aggregate-application-config-report + * @requiresDependencyResolution runtime + * @requiresProject true + * @aggregator + * @since 2.4.9 + */ +public class AggregateApplicationConfigReport extends AbstractApplicationConfigReport { + + /** + * The projects in the reactor. + * + * @parameter expression="${reactorProjects}" + * @readonly + * @required + * @since 1.0 + */ + protected List<?> reactorProjects; + + @Override + protected ClassLoader createClassLoader() throws MavenReportException { + Set<String> paths = new HashSet<String>(); + + for (Object o : reactorProjects) { + MavenProject p = (MavenProject) o; + List runtimeClasspathElements = null; + try { + runtimeClasspathElements = p.getRuntimeClasspathElements(); + paths.addAll(runtimeClasspathElements); + } catch (DependencyResolutionRequiredException e) { + throw new MavenReportException("Could not obtain dependencies for project " + p); + } + } + return createClassLoader(paths); + } +} Property changes on: trunk/nuiton-utils-maven-report-plugin/src/main/java/org/nuiton/util/plugin/report/AggregateApplicationConfigReport.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/nuiton-utils-maven-report-plugin/src/main/java/org/nuiton/util/plugin/report/ApplicationConfigReport.java =================================================================== --- trunk/nuiton-utils-maven-report-plugin/src/main/java/org/nuiton/util/plugin/report/ApplicationConfigReport.java 2012-05-28 09:21:40 UTC (rev 2352) +++ trunk/nuiton-utils-maven-report-plugin/src/main/java/org/nuiton/util/plugin/report/ApplicationConfigReport.java 2012-05-29 13:44:19 UTC (rev 2353) @@ -5,7 +5,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2012 CodeLutin + * Copyright (C) 2012 CodeLutin, Tony Chemit * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as @@ -24,29 +24,10 @@ */ package org.nuiton.util.plugin.report; -import org.apache.maven.doxia.siterenderer.Renderer; -import org.apache.maven.project.MavenProject; -import org.apache.maven.reporting.AbstractMavenReport; -import org.apache.maven.reporting.MavenReportException; -import org.codehaus.plexus.i18n.I18N; -import org.codehaus.plexus.util.StringUtils; -import org.nuiton.i18n.I18n; -import org.nuiton.i18n.init.ClassPathI18nInitializer; -import org.nuiton.i18n.init.DefaultI18nInitializer; -import org.nuiton.i18n.init.I18nInitializer; -import org.nuiton.util.ApplicationConfigHelper; import org.nuiton.util.ApplicationConfigProvider; -import java.io.File; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; -import java.util.ArrayList; -import java.util.Arrays; import java.util.HashSet; import java.util.List; -import java.util.Locale; -import java.util.Set; /** * Generates a report for declarated application config via the @@ -60,102 +41,9 @@ * @requiresProject true * @since 2.4.8 */ -public class ApplicationConfigReport extends AbstractMavenReport { +public class ApplicationConfigReport extends AbstractApplicationConfigReport { /** - * Report output directory. Note that this parameter is only relevant if the goal is run from the command line or - * from the default build lifecycle. If the goal is run indirectly as part of a site generation, the output - * directory configured in the Maven Site Plugin is used instead. - * - * @parameter default-value="${project.reporting.outputDirectory}" - * @required - * @since 2.4.8 - */ - private File outputDirectory; - - /** - * Report output encoding. Note that this parameter is only relevant if the goal is run from the command line or - * from the default build lifecycle. If the goal is run indirectly as part of a site generation, the output - * encoding configured in the Maven Site Plugin is used instead. - * - * @parameter expression="${outputEncoding}" default-value="${project.reporting.outputEncoding}" - * @required - * @since 2.4.8 - */ - private String outputEncoding; - - /** - * List of application config to include in report (separated by comma). - * <p/> - * <strong>Note:</strong> If not filled then will use all config found in class-path. - * - * @parameter expression="${config.include}" - * @since 2.4.8 - */ - private String include; - - /** - * List of application config to exclude from report (separated by comma). - * <p/> - * <strong>Note:</strong> If not filled no config will be exclude. - * - * @parameter expression="${config.exclude}" - * @since 2.4.8 - */ - private String exclude; - - /** - * Flag to activate verbose mode. - * <p/> - * <b>Note:</b> Verbose mode is always on if you starts a debug maven instance - * (says via {@code -X}). - * - * @parameter expression="${config.verbose}" default-value="${maven.verbose}" - * @since 2.4.8 - */ - private boolean verbose; - - /** - * Flag to render option in detail (add a section for each option). - * - * @parameter expression="${config.showOptionDetail}" default-value="true" - * @since 2.4.8 - */ - private boolean showOptionDetail; - - /** - * Skip to generate the report. - * - * @parameter expression="${config.skip}" - * @since 2.4.8 - */ - private boolean skip; - - /** - * Optional i18n bundle name as used by the nuiton I18n system to init his - * files. - * <p/> - * If not given, will look at all i18n files in all over class-path (which - * could be costy if many dependencies), otherwise will init I18n system - * usinga {@link DefaultI18nInitializer} with this bundle name. - * - * @parameter expression="${config.i18nBundleName}" - * @since 2.4.8 - */ - private String i18nBundleName; - - /** - * The Maven Project. - * - * @parameter expression="${project}" - * @required - * @readonly - * @since 2.4.8 - */ - private MavenProject project; - - - /** * List of all class path elements. * * @parameter default-value="${project.runtimeClasspathElements}" @@ -165,160 +53,9 @@ */ private List<String> runtimeClasspathElements; - /** - * Doxia Site Renderer. - * - * @component - * @since 2.4.8 - */ - private Renderer siteRenderer; - - /** - * Internationalization. - * - * @component - * @since 2.4.8 - */ - private I18N i18n; - - /** - * Class loader with all compile dependencies of the module in class-path - * (used to init i18n) and obtain config provider over compile class-path. - * - * @since 2.4.8 - */ - private ClassLoader newClassLoader; - - /** - * Set of ApplicationconfigProvider detected from configuration. - * - * @since 2.4.8 - */ - private Set<ApplicationConfigProvider> configProviders; - @Override - public String getOutputName() { - return "application-config-report"; + protected ClassLoader createClassLoader() { + return createClassLoader(new HashSet<String>(runtimeClasspathElements)); } - public String getDescription(Locale locale) { - return i18n.getString(getOutputName(), locale, "report.description"); - } - - public String getName(Locale locale) { - return i18n.getString(getOutputName(), locale, "report.title"); - } - - @Override - public String getCategoryName() { - return CATEGORY_PROJECT_REPORTS; - } - - @Override - public boolean canGenerateReport() { - return !skip; - } - - @Override - protected Renderer getSiteRenderer() { - return siteRenderer; - } - - @Override - protected String getOutputDirectory() { - return outputDirectory.getAbsolutePath(); - } - - @Override - protected MavenProject getProject() { - return project; - } - - @Override - protected void executeReport(Locale locale) throws MavenReportException { - - if (newClassLoader == null) { - - // not init - init(locale); - } else { - - // just change init language - I18n.setDefaultLocale(locale); - } - ApplicationConfigReportRenderer renderer = - new ApplicationConfigReportRenderer(getSink(), - i18n, - locale, - getOutputName(), - configProviders, - showOptionDetail); - renderer.render(); - } - - protected void init(Locale locale) { - if (getLog().isDebugEnabled()) { - - // debug mode set verbose flag to true - verbose = true; - } - - if (newClassLoader == null) { - List<URL> urls = new ArrayList<URL>(); - - for (String fileName : runtimeClasspathElements) { - File pathElem = new File(fileName); - try { - URL url = pathElem.toURI().toURL(); - urls.add(url); - getLog().debug("Added classpathElement URL " + url); - } catch (MalformedURLException e) { - throw new RuntimeException( - "Error in adding the classpath " + pathElem, e); - } - } - - newClassLoader = new URLClassLoader( - urls.toArray(new URL[urls.size()]), - Thread.currentThread().getContextClassLoader()); - } - - // get i18n initializer - I18nInitializer initializer; - if (StringUtils.isNotEmpty(i18nBundleName)) { - initializer = new DefaultI18nInitializer(i18nBundleName, - newClassLoader); - } else { - initializer = new ClassPathI18nInitializer(newClassLoader); - } - // init i18n - I18n.init(initializer, locale); - - if (configProviders == null) { - - Set<String> includes = null; - if (StringUtils.isNotEmpty(include)) { - includes = new HashSet<String>(Arrays.asList(include.split("\\s*,\\s*"))); - if (verbose) { - getLog().info("config - includes : " + includes); - } - } - - Set<String> excludes = null; - if (StringUtils.isNotEmpty(exclude)) { - excludes = new HashSet<String>(Arrays.asList(exclude.split("\\s*,\\s*"))); - if (verbose) { - getLog().info("config - excludes : " + excludes); - } - } - - configProviders = ApplicationConfigHelper.getProviders( - newClassLoader, - includes, - excludes, - verbose - ); - } - } - } Modified: trunk/nuiton-utils-maven-report-plugin/src/site/apt/index.apt =================================================================== --- trunk/nuiton-utils-maven-report-plugin/src/site/apt/index.apt 2012-05-28 09:21:40 UTC (rev 2352) +++ trunk/nuiton-utils-maven-report-plugin/src/site/apt/index.apt 2012-05-29 13:44:19 UTC (rev 2353) @@ -5,7 +5,7 @@ ~~ $Id$ ~~ $HeadURL$ ~~ %% -~~ Copyright (C) 2012 CodeLutin +~~ Copyright (C) 2012 CodeLutin, Tony Chemit ~~ %% ~~ This program is free software: you can redistribute it and/or modify ~~ it under the terms of the GNU Lesser General Public License as Modified: trunk/nuiton-utils-maven-report-plugin/src/site/apt/usage.apt.vm =================================================================== --- trunk/nuiton-utils-maven-report-plugin/src/site/apt/usage.apt.vm 2012-05-28 09:21:40 UTC (rev 2352) +++ trunk/nuiton-utils-maven-report-plugin/src/site/apt/usage.apt.vm 2012-05-29 13:44:19 UTC (rev 2353) @@ -1,3 +1,27 @@ +~~~ +~~ #%L +~~ Nuiton Utils :: Nuiton Maven Report Plugin +~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 2012 CodeLutin, Tony Chemit +~~ %% +~~ This program is free software: you can redistribute it and/or modify +~~ it under the terms of the GNU Lesser General Public License as +~~ published by the Free Software Foundation, either version 3 of the +~~ License, or (at your option) any later version. +~~ +~~ This program is distributed in the hope that it will be useful, +~~ but WITHOUT ANY WARRANTY; without even the implied warranty of +~~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +~~ GNU General Lesser Public License for more details. +~~ +~~ You should have received a copy of the GNU General Lesser Public +~~ License along with this program. If not, see +~~ <http://www.gnu.org/licenses/lgpl-3.0.html>. +~~ #L% +~~~ ------ Usage ------ @@ -36,6 +60,8 @@ A noter que dans ce cas, le fichier de bundle doit être généré, il faut donc toujours avoir effectué une compilation avant de générer le site. + Pour plus de détail sur ce report : {{{./application-config-report-mojo.html}documentation du plugin}}. + ------------------------------------------------------------------------------- <reporting> <plugins> @@ -57,3 +83,37 @@ </plugins> </reporting> ------------------------------------------------------------------------------- + +* Générer un rapport pour l'utilisation d'ApplicationConfig en mode aggregate + + Pour une application multi-module, il peut-être intéressant de générer le + rapport au niveau du super-pom du projet. Pour cela on utilise un + report <aggregate> comme dans l'example suivant : + +------------------------------------------------------------------------------- + <reporting> + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>nuiton-util-maven-report-plugin</artifactId> + <version>${project.version}</version> + <reportSets> + <reportSet> + <reports> + <report>aggregate-application-config-report</report> + </reports> + </reportSet> + </reportSets> + <configuration> + <i18nBundleName>nomDeMonBundle</i18nBundleName> + </configuration> + </plugin> + </plugins> + </reporting> +------------------------------------------------------------------------------- + + Il faut alors comme pour le report précédent qu'au moins le module + contenant l'implantation d'application config soit construit. + + Pour plus de détail sur ce report : {{{./aggregate-application-config-report-mojo.html}documentation du plugin}}. + Modified: trunk/nuiton-utils-maven-report-plugin/src/site/site_fr.xml =================================================================== --- trunk/nuiton-utils-maven-report-plugin/src/site/site_fr.xml 2012-05-28 09:21:40 UTC (rev 2352) +++ trunk/nuiton-utils-maven-report-plugin/src/site/site_fr.xml 2012-05-29 13:44:19 UTC (rev 2353) @@ -6,7 +6,7 @@ $Id$ $HeadURL$ %% - Copyright (C) 2004 - 2010 CodeLutin + Copyright (C) 2012 CodeLutin, tony Chemit %% This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -39,6 +39,7 @@ <menu name="Utilisateur"> <item name="Accueil" href="index.html"/> <item name="Utilisation" href="usage.html"/> + <item name="Documentation du plugin" href="plugin-info.html"/> </menu> <menu ref="reports"/>