This is an automated email from the ASF dual-hosted git repository. michaelo pushed a commit to branch doxia-2.0.0 in repository https://gitbox.apache.org/repos/asf/maven-plugin-tools.git
commit b4659c54394f667351f309c63636b8e31bf12daa Author: Michael Osipov <micha...@apache.org> AuthorDate: Thu Jul 21 18:03:20 2022 +0200 Prepare for Doxia 2.0.0 --- maven-plugin-annotations/pom.xml | 2 +- maven-plugin-plugin/pom.xml | 20 +- .../plugin/plugin/report_old/PluginReport.java | 759 --------------------- .../plugin/plugin/report_old/Requirements.java | 86 --- .../plugin/report_old/RequirementsHistory.java | 64 -- .../EnhancedPluginDescriptorBuilder.java | 97 --- .../src/main/resources/plugin-report.properties | 54 -- .../src/main/resources/plugin-report_de.properties | 54 -- .../src/main/resources/plugin-report_en.properties | 23 - .../src/main/resources/plugin-report_fr.properties | 54 -- .../src/main/resources/plugin-report_sv.properties | 54 -- maven-plugin-report-plugin/pom.xml | 26 +- .../src/it/fix-maven-since-3.x/pom.xml | 2 +- .../src/it/mplugin-187/invoker.properties | 6 +- .../src/it/mplugin-187/pom.xml | 6 +- .../src/it/mplugin-191/pom.xml | 170 ++--- .../src/it/mplugin-319_report-since/pom.xml | 176 ++--- .../src/it/mplugin-394_report-encoding/pom.xml | 2 +- .../src/it/plugin-info-jdk-default-version/pom.xml | 2 +- .../src/site/site.xml | 30 - .../src/it/plugin-info-jdk/pom.xml | 2 +- .../src/it/plugin-report-annotations/pom.xml | 4 +- .../it/plugin-report-requirements-history/pom.xml | 2 +- .../it/plugin-report-with-javadoc-links/pom.xml | 11 +- .../plugin-report-with-javadoc-links/verify.groovy | 4 +- .../src/it/plugin-report/pom.xml | 6 +- .../src/it/plugin-report/verify.groovy | 8 + .../maven/plugin/plugin/report/PluginReport.java | 229 ++++--- maven-plugin-tools-annotations/pom.xml | 2 +- maven-plugin-tools-api/pom.xml | 2 +- maven-plugin-tools-generators/pom.xml | 5 +- .../plugin/generator/PluginXdocGenerator.java | 33 +- .../src/main/resources/pluginxdoc.properties | 2 +- .../src/test/resources/expected-testGoal-mojo.xml | 8 +- maven-plugin-tools-java/pom.xml | 2 +- maven-script/maven-plugin-tools-ant/pom.xml | 2 +- maven-script/maven-plugin-tools-beanshell/pom.xml | 2 +- maven-script/maven-plugin-tools-model/pom.xml | 2 +- maven-script/maven-script-ant/pom.xml | 2 +- maven-script/maven-script-beanshell/pom.xml | 2 +- maven-script/pom.xml | 2 +- pom.xml | 59 +- 42 files changed, 384 insertions(+), 1694 deletions(-) diff --git a/maven-plugin-annotations/pom.xml b/maven-plugin-annotations/pom.xml index b66133ed..2aa8bca2 100644 --- a/maven-plugin-annotations/pom.xml +++ b/maven-plugin-annotations/pom.xml @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-tools</artifactId> - <version>3.8.3-SNAPSHOT</version> + <version>3.9.0-SNAPSHOT</version> </parent> <artifactId>maven-plugin-annotations</artifactId> diff --git a/maven-plugin-plugin/pom.xml b/maven-plugin-plugin/pom.xml index b354b7ed..52cad647 100644 --- a/maven-plugin-plugin/pom.xml +++ b/maven-plugin-plugin/pom.xml @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-tools</artifactId> - <version>3.8.3-SNAPSHOT</version> + <version>3.9.0-SNAPSHOT</version> </parent> <groupId>org.apache.maven.plugins</groupId> @@ -93,16 +93,6 @@ <optional>true</optional> </dependency> - <!-- doxia --> - <dependency> - <groupId>org.apache.maven.doxia</groupId> - <artifactId>doxia-sink-api</artifactId> - </dependency> - <dependency> - <groupId>org.apache.maven.doxia</groupId> - <artifactId>doxia-site-renderer</artifactId> - </dependency> - <!-- Maven --> <dependency> <groupId>org.apache.maven</groupId> @@ -126,12 +116,6 @@ <scope>provided</scope> </dependency> - <!-- shared --> - <dependency> - <groupId>org.apache.maven.reporting</groupId> - <artifactId>maven-reporting-impl</artifactId> - </dependency> - <!-- plexus --> <dependency> <groupId>org.codehaus.plexus</groupId> @@ -291,8 +275,6 @@ <streamLogsOnFailures>true</streamLogsOnFailures> <showErrors>true</showErrors> <filterProperties> - <sitePluginVersion>3.12.1</sitePluginVersion> - <projectInfoReportsPlugin>3.4.1</projectInfoReportsPlugin> <antVersion>${antVersion}</antVersion> </filterProperties> <properties> diff --git a/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/report_old/PluginReport.java b/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/report_old/PluginReport.java deleted file mode 100644 index ae3ffe85..00000000 --- a/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/report_old/PluginReport.java +++ /dev/null @@ -1,759 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.maven.plugin.plugin.report_old; - -import java.io.File; -import java.io.IOException; -import java.io.Reader; -import java.nio.file.Files; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.ResourceBundle; - -import org.apache.maven.doxia.sink.Sink; -import org.apache.maven.model.Plugin; -import org.apache.maven.plugin.descriptor.MojoDescriptor; -import org.apache.maven.plugin.descriptor.PluginDescriptor; -import org.apache.maven.plugin.descriptor.PluginDescriptorBuilder; -import org.apache.maven.plugin.plugin.DescriptorGeneratorMojo; -import org.apache.maven.plugins.annotations.Component; -import org.apache.maven.plugins.annotations.Execute; -import org.apache.maven.plugins.annotations.LifecyclePhase; -import org.apache.maven.plugins.annotations.Mojo; -import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.plugins.plugin.descriptor_old.EnhancedPluginDescriptorBuilder; -import org.apache.maven.project.MavenProject; -import org.apache.maven.reporting.AbstractMavenReport; -import org.apache.maven.reporting.AbstractMavenReportRenderer; -import org.apache.maven.reporting.MavenReportException; -import org.apache.maven.rtinfo.RuntimeInformation; -import org.apache.maven.tools.plugin.DefaultPluginToolsRequest; -import org.apache.maven.tools.plugin.PluginToolsRequest; -import org.apache.maven.tools.plugin.generator.GeneratorException; -import org.apache.maven.tools.plugin.generator.GeneratorUtils; -import org.apache.maven.tools.plugin.generator.PluginXdocGenerator; -import org.apache.maven.tools.plugin.util.PluginUtils; -import org.codehaus.plexus.configuration.PlexusConfigurationException; -import org.codehaus.plexus.util.StringUtils; -import org.codehaus.plexus.util.xml.XmlStreamReader; -import org.codehaus.plexus.util.xml.Xpp3Dom; - -/** - * Generates the Plugin's documentation report: <code>plugin-info.html</code> plugin overview page, - * and one <code><i>goal</i>-mojo.html</code> per goal. - * Relies on one output file from {@link DescriptorGeneratorMojo}. - * - * @author <a href="snic...@apache.org">Stephane Nicoll</a> - * @author <a href="mailto:vincent.sive...@gmail.com">Vincent Siveton</a> - * @since 2.0 - * @deprecated use the maven-plugin-report-plugin instead - */ -@Deprecated -@Mojo(name = "report", threadSafe = true) -@Execute(phase = LifecyclePhase.PROCESS_CLASSES) -public class PluginReport extends AbstractMavenReport { - /** - * Report output directory for mojos' documentation. - */ - @Parameter(defaultValue = "${project.build.directory}/generated-site/xdoc") - private File outputDirectory; - - /** - * The file encoding of the source files. - * - * @deprecated not used in report, will be removed in the next major version - * - * @since 2.7 - */ - @Deprecated - @Parameter(property = "encoding", defaultValue = "${project.build.sourceEncoding}") - private String encoding; - - /** - * Specify some requirements to execute this plugin. - * Example: - * <pre> - * <requirements> - * <maven>2.0</maven> - * <jdk>1.4</jdk> - * <memory>256m</memory> - * <diskSpace>1m</diskSpace> - * <others> - * <property> - * <name>SVN</name> - * <value>1.4.6</value> - * </property> - * </others> - * </requirements> - * </pre> - * <p> - * If not is specified, Maven requirement is extracted from - * <code><project><prerequisites><maven></code> - * and JDK requirement is extracted from maven-compiler-plugin configuration. - * - * @deprecated will be removed in the next major version, please don't use - */ - @Deprecated - @Parameter - private Requirements requirements; - - /** - * <p> - * The goal prefix that will appear before the ":". - * By default, this plugin applies a heuristic to derive a heuristic from - * the plugin's artifactId. - * </p> - * <p> - * It removes any occurrences of the regular expression <strong>-?maven-?</strong>, - * and then removes any occurrences of <strong>-?plugin-?</strong>. - * </p> - * <p> - * For example, horsefeature-maven-plugin becomes horsefeature. - * </p> - * <p> - * (There is a special case for maven-plugin-plugin: it is mapped to 'plugin') - * </p> - * - * @deprecated not used in report, will be removed in the next major version - * - * @since 2.4 - */ - @Deprecated - @Parameter(property = "goalPrefix") - protected String goalPrefix; - - /** - * Set this to "true" to skip invoking any goals or reports of the plugin. - * - * @deprecated use {@link #skip} parameter instead - * - * @since 2.8 - */ - @Deprecated - @Parameter(defaultValue = "false", property = "maven.plugin.skip") - private boolean skipReport; - - /** - * Set this to "true" to skip generating the report. - * - * @since 2.8 - */ - @Parameter(defaultValue = "false", property = "maven.plugin.report.skip") - private boolean skip; - - /** - * Set this to "true" to generate the usage section for "plugin-info.html" with - * {@code <extensions>true</extensions>}. - * - * @since 3.7.0 - */ - @Parameter(defaultValue = "false", property = "maven.plugin.report.hasExtensionsToLoad") - private boolean hasExtensionsToLoad; - - /** - * The Plugin requirements history list. - * <p> - * Can be specified as list of <code>requirementsHistory</code>: - * - * <pre> - * <requirementsHistories> - * <requirementsHistory> - * <version>plugin version</version> - * <maven>maven version</maven> - * <jdk>jdk version</jdk> - * </requirementsHistory> - * </requirementsHistories> - * </pre> - * - * @since 3.7.0 - */ - @Parameter - private List<RequirementsHistory> requirementsHistories = new ArrayList<>(); - - /** - * @since 3.5.1 - */ - @Component - private RuntimeInformation rtInfo; - - /** - * Path to {@code plugin.xml} plugin descriptor to generate the report from. - * - * @since 3.5.1 - * @deprecated No longer evaluated, use {@link #enhancedPluginXmlFile}. - */ - @Parameter( - defaultValue = "${project.build.outputDirectory}/META-INF/maven/plugin.xml", - required = true, - readonly = true) - @Deprecated - private File pluginXmlFile; - - /** - * Path to enhanced plugin descriptor to generate the report from (must contain some XHTML values) - * - * @since 3.7.0 - */ - @Parameter(defaultValue = "${project.build.directory}/plugin-enhanced.xml", required = true, readonly = true) - private File enhancedPluginXmlFile; - - /** - * In case the internal javadoc site has not been generated when running this report goal - * (e.g. when using an aggregator javadoc report) link validation needs to be disabled by setting - * this value to {@code true}. - * This might have the drawback that some links being generated in the report might be broken - * in case not all parameter types and javadoc link references are resolvable through the sites being given to - * {@link DescriptorGeneratorMojo}. - * - * @since 3.7.0 - */ - @Parameter(property = "maven.plugin.report.disableInternalJavadocLinkValidation") - private boolean disableInternalJavadocLinkValidation; - - /** - * {@inheritDoc} - */ - @Override - protected String getOutputDirectory() { - // PLUGIN-191: output directory of plugin.html, not *-mojo.xml - return project.getReporting().getOutputDirectory(); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean canGenerateReport() { - return enhancedPluginXmlFile != null && enhancedPluginXmlFile.isFile() && enhancedPluginXmlFile.canRead(); - } - - /** - * {@inheritDoc} - */ - @Override - protected void executeReport(Locale locale) throws MavenReportException { - getLog().warn("The 'report' goal of the maven-plugin-plugin is deprecated, please use " - + "the 'report' goal from the maven-plugin-report-plugin instead. This goal will be removed " - + "in version 4.0.0."); - - if (skip || skipReport) { - getLog().info("Maven Plugin Plugin Report generation skipped."); - return; - } - - PluginDescriptor pluginDescriptor = extractPluginDescriptor(); - - // Generate the mojos' documentation - generateMojosDocumentation(pluginDescriptor, locale); - - // Write the overview - PluginOverviewRenderer r = new PluginOverviewRenderer( - getProject(), - requirements, - requirementsHistories, - getSink(), - pluginDescriptor, - locale, - hasExtensionsToLoad); - r.render(); - } - - private PluginDescriptor extractPluginDescriptor() throws MavenReportException { - PluginDescriptorBuilder builder = new EnhancedPluginDescriptorBuilder(rtInfo); - - try (Reader input = new XmlStreamReader(Files.newInputStream(enhancedPluginXmlFile.toPath()))) { - return builder.build(input); - } catch (IOException | PlexusConfigurationException e) { - throw new MavenReportException("Error extracting plugin descriptor from " + enhancedPluginXmlFile, e); - } - } - - /** - * {@inheritDoc} - */ - @Override - public String getDescription(Locale locale) { - return getBundle(locale).getString("report.plugin.description"); - } - - /** - * {@inheritDoc} - */ - @Override - public String getName(Locale locale) { - return getBundle(locale).getString("report.plugin.name"); - } - - /** - * {@inheritDoc} - */ - @Override - public String getOutputName() { - return "plugin-info"; - } - - /** - * Generate the mojos documentation, as xdoc files. - * - * @param pluginDescriptor not null - * @param locale not null - * @throws MavenReportException if any - */ - private void generateMojosDocumentation(PluginDescriptor pluginDescriptor, Locale locale) - throws MavenReportException { - try { - File outputDir = outputDirectory; - outputDir.mkdirs(); - - PluginXdocGenerator generator = new PluginXdocGenerator( - getProject(), locale, getReportOutputDirectory(), disableInternalJavadocLinkValidation); - PluginToolsRequest pluginToolsRequest = new DefaultPluginToolsRequest(getProject(), pluginDescriptor); - generator.execute(outputDir, pluginToolsRequest); - } catch (GeneratorException e) { - throw new MavenReportException("Error writing plugin documentation", e); - } - } - - /** - * @param locale not null - * @return the bundle for this report - */ - protected static ResourceBundle getBundle(Locale locale) { - return ResourceBundle.getBundle("plugin-report", locale, PluginReport.class.getClassLoader()); - } - - /** - * Generates an overview page with the list of goals - * and a link to the goal's page. - */ - static class PluginOverviewRenderer extends AbstractMavenReportRenderer { - private final MavenProject project; - - private final Requirements requirements; - - private final List<RequirementsHistory> requirementsHistories; - - private final PluginDescriptor pluginDescriptor; - - private final Locale locale; - - private final boolean hasExtensionsToLoad; - - /** - * @param project not null - * @param requirements not null - * @param requirementsHistories not null - * @param sink not null - * @param pluginDescriptor not null - * @param locale not null - */ - PluginOverviewRenderer( - MavenProject project, - Requirements requirements, - List<RequirementsHistory> requirementsHistories, - Sink sink, - PluginDescriptor pluginDescriptor, - Locale locale, - boolean hasExtensionsToLoad) { - super(sink); - - this.project = project; - - this.requirements = (requirements == null ? new Requirements() : requirements); - - this.requirementsHistories = requirementsHistories; - - this.pluginDescriptor = pluginDescriptor; - - this.locale = locale; - - this.hasExtensionsToLoad = hasExtensionsToLoad; - } - - /** - * {@inheritDoc} - */ - @Override - public String getTitle() { - return getBundle(locale).getString("report.plugin.title"); - } - - /** - * {@inheritDoc} - */ - @Override - public void renderBody() { - startSection(getTitle()); - - if (!(pluginDescriptor.getMojos() != null - && pluginDescriptor.getMojos().size() > 0)) { - paragraph(getBundle(locale).getString("report.plugin.goals.nogoal")); - endSection(); - return; - } - - paragraph(getBundle(locale).getString("report.plugin.goals.intro")); - - boolean hasMavenReport = false; - for (Iterator<MojoDescriptor> i = pluginDescriptor.getMojos().iterator(); i.hasNext(); ) { - MojoDescriptor mojo = i.next(); - - if (GeneratorUtils.isMavenReport(mojo.getImplementation(), project)) { - hasMavenReport = true; - } - } - - startTable(); - - String goalColumnName = getBundle(locale).getString("report.plugin.goals.column.goal"); - String isMavenReport = getBundle(locale).getString("report.plugin.goals.column.isMavenReport"); - String descriptionColumnName = getBundle(locale).getString("report.plugin.goals.column.description"); - if (hasMavenReport) { - tableHeader(new String[] {goalColumnName, isMavenReport, descriptionColumnName}); - } else { - tableHeader(new String[] {goalColumnName, descriptionColumnName}); - } - - List<MojoDescriptor> mojos = new ArrayList<>(); - mojos.addAll(pluginDescriptor.getMojos()); - PluginUtils.sortMojos(mojos); - for (MojoDescriptor mojo : mojos) { - String goalName = mojo.getFullGoalName(); - - /* - * Added ./ to define a relative path - * @see AbstractMavenReportRenderer#getValidHref(java.lang.String) - */ - String goalDocumentationLink = "./" + mojo.getGoal() + "-mojo.html"; - - String description; - if (StringUtils.isNotEmpty(mojo.getDeprecated())) { - description = "<strong>" + getBundle(locale).getString("report.plugin.goal.deprecated") - + "</strong> " + mojo.getDeprecated(); - } else if (StringUtils.isNotEmpty(mojo.getDescription())) { - description = mojo.getDescription(); - } else { - description = getBundle(locale).getString("report.plugin.goal.nodescription"); - } - - sink.tableRow(); - tableCell(createLinkPatternedText(goalName, goalDocumentationLink)); - if (hasMavenReport) { - if (GeneratorUtils.isMavenReport(mojo.getImplementation(), project)) { - sink.tableCell(); - sink.text(getBundle(locale).getString("report.plugin.isReport")); - sink.tableCell_(); - } else { - sink.tableCell(); - sink.text(getBundle(locale).getString("report.plugin.isNotReport")); - sink.tableCell_(); - } - } - tableCell(description, true); - sink.tableRow_(); - } - - endTable(); - - startSection(getBundle(locale).getString("report.plugin.systemrequirements")); - - paragraph(getBundle(locale).getString("report.plugin.systemrequirements.intro")); - - startTable(); - - String maven = discoverMavenRequirement(project, requirements); - sink.tableRow(); - tableCell(getBundle(locale).getString("report.plugin.systemrequirements.maven")); - tableCell( - (maven != null - ? maven - : getBundle(locale).getString("report.plugin.systemrequirements.nominimum"))); - sink.tableRow_(); - - String jdk = discoverJdkRequirement(project, requirements); - sink.tableRow(); - tableCell(getBundle(locale).getString("report.plugin.systemrequirements.jdk")); - tableCell((jdk != null ? jdk : getBundle(locale).getString("report.plugin.systemrequirements.nominimum"))); - sink.tableRow_(); - - String memory = requirements.getMemory(); - if (StringUtils.isNotEmpty(memory)) { - sink.tableRow(); - tableCell(getBundle(locale).getString("report.plugin.systemrequirements.memory")); - tableCell(memory); - sink.tableRow_(); - } - - String diskSpace = requirements.getDiskSpace(); - if (StringUtils.isNotEmpty(diskSpace)) { - sink.tableRow(); - tableCell(getBundle(locale).getString("report.plugin.systemrequirements.diskspace")); - tableCell(diskSpace); - sink.tableRow_(); - } - - if (requirements.getOthers() != null && requirements.getOthers().size() > 0) { - for (Iterator it = requirements.getOthers().keySet().iterator(); it.hasNext(); ) { - String key = it.next().toString(); - - sink.tableRow(); - tableCell(key); - tableCell( - (StringUtils.isNotEmpty(requirements.getOthers().getProperty(key)) - ? requirements.getOthers().getProperty(key) - : getBundle(locale).getString("report.plugin.systemrequirements.nominimum"))); - sink.tableRow_(); - } - } - endTable(); - - endSection(); - - renderRequirementsHistories(); - - renderUsageSection(hasMavenReport); - - endSection(); - } - - private void renderRequirementsHistories() { - if (requirementsHistories.isEmpty()) { - return; - } - - startSection(getBundle(locale).getString("report.plugin.systemrequirements.history")); - paragraph(getBundle(locale).getString("report.plugin.systemrequirements.history.intro")); - - startTable(); - tableHeader(new String[] { - getBundle(locale).getString("report.plugin.systemrequirements.history.version"), - getBundle(locale).getString("report.plugin.systemrequirements.history.maven"), - getBundle(locale).getString("report.plugin.systemrequirements.history.jdk") - }); - - requirementsHistories.forEach(requirementsHistory -> { - sink.tableRow(); - tableCell(requirementsHistory.getVersion()); - tableCell(requirementsHistory.getMaven()); - tableCell(requirementsHistory.getJdk()); - sink.tableRow_(); - }); - endTable(); - - endSection(); - } - - /** - * Render the section about the usage of the plugin. - * - * @param hasMavenReport If the plugin has a report or not - */ - private void renderUsageSection(boolean hasMavenReport) { - startSection(getBundle(locale).getString("report.plugin.usage")); - - // Configuration - sink.paragraph(); - text(getBundle(locale).getString("report.plugin.usage.intro")); - sink.paragraph_(); - - StringBuilder sb = new StringBuilder(); - sb.append("<project>").append('\n'); - sb.append(" ...").append('\n'); - sb.append(" <build>").append('\n'); - sb.append(" <!-- " + getBundle(locale).getString("report.plugin.usage.pluginManagement") + " -->") - .append('\n'); - sb.append(" <pluginManagement>").append('\n'); - sb.append(" <plugins>").append('\n'); - sb.append(" <plugin>").append('\n'); - sb.append(" <groupId>") - .append(pluginDescriptor.getGroupId()) - .append("</groupId>") - .append('\n'); - sb.append(" <artifactId>") - .append(pluginDescriptor.getArtifactId()) - .append("</artifactId>") - .append('\n'); - sb.append(" <version>") - .append(pluginDescriptor.getVersion()) - .append("</version>") - .append('\n'); - if (hasExtensionsToLoad) { - sb.append(" <extensions>true</extensions>").append('\n'); - } - sb.append(" </plugin>").append('\n'); - sb.append(" ...").append('\n'); - sb.append(" </plugins>").append('\n'); - sb.append(" </pluginManagement>").append('\n'); - sb.append(" <!-- " + getBundle(locale).getString("report.plugin.usage.plugins") + " -->") - .append('\n'); - sb.append(" <plugins>").append('\n'); - sb.append(" <plugin>").append('\n'); - sb.append(" <groupId>") - .append(pluginDescriptor.getGroupId()) - .append("</groupId>") - .append('\n'); - sb.append(" <artifactId>") - .append(pluginDescriptor.getArtifactId()) - .append("</artifactId>") - .append('\n'); - sb.append(" </plugin>").append('\n'); - sb.append(" ...").append('\n'); - sb.append(" </plugins>").append('\n'); - sb.append(" </build>").append('\n'); - - if (hasMavenReport) { - sb.append(" ...").append('\n'); - sb.append(" <!-- " + getBundle(locale).getString("report.plugin.usage.reporting") + " -->") - .append('\n'); - sb.append(" <reporting>").append('\n'); - sb.append(" <plugins>").append('\n'); - sb.append(" <plugin>").append('\n'); - sb.append(" <groupId>") - .append(pluginDescriptor.getGroupId()) - .append("</groupId>") - .append('\n'); - sb.append(" <artifactId>") - .append(pluginDescriptor.getArtifactId()) - .append("</artifactId>") - .append('\n'); - sb.append(" <version>") - .append(pluginDescriptor.getVersion()) - .append("</version>") - .append('\n'); - sb.append(" </plugin>").append('\n'); - sb.append(" ...").append('\n'); - sb.append(" </plugins>").append('\n'); - sb.append(" </reporting>").append('\n'); - } - - sb.append(" ...").append('\n'); - sb.append("</project>").append('\n'); - - verbatimText(sb.toString()); - - sink.paragraph(); - linkPatternedText(getBundle(locale).getString("report.plugin.configuration.end")); - sink.paragraph_(); - - endSection(); - } - - /** - * Try to lookup on the Maven prerequisites property. - * If not specified, uses the value defined by the user. - * - * @param project not null - * @param requirements not null - * @return the Maven version - */ - private static String discoverMavenRequirement(MavenProject project, Requirements requirements) { - String maven = requirements.getMaven(); - if (maven == null) { - maven = (project.getPrerequisites() != null - ? project.getPrerequisites().getMaven() - : null); - } - if (maven == null) { - maven = "2.0"; - } - - return maven; - } - - /** - * <ol> - * <li>use configured jdk requirement</li> - * <li>use <code>target</code> configuration of <code>org.apache.maven.plugins:maven-compiler-plugin</code></li> - * <li>use <code>target</code> configuration of <code>org.apache.maven.plugins:maven-compiler-plugin</code> in - * <code>pluginManagement</code></li> - * <li>use <code>maven.compiler.target</code> property</li> - * </ol> - * - * @param project not null - * @param requirements not null - * @return the JDK version - */ - private static String discoverJdkRequirement(MavenProject project, Requirements requirements) { - String jdk = requirements.getJdk(); - - if (jdk != null) { - return jdk; - } - - Plugin compiler = getCompilerPlugin(project.getBuild().getPluginsAsMap()); - if (compiler == null) { - compiler = getCompilerPlugin(project.getPluginManagement().getPluginsAsMap()); - } - - jdk = getPluginParameter(compiler, "release"); - if (jdk != null) { - return jdk; - } - - jdk = project.getProperties().getProperty("maven.compiler.release"); - if (jdk != null) { - return jdk; - } - - jdk = getPluginParameter(compiler, "target"); - if (jdk != null) { - return jdk; - } - - // default value - jdk = project.getProperties().getProperty("maven.compiler.target"); - if (jdk != null) { - return jdk; - } - - // return "1.5" by default? - - String version = (compiler == null) ? null : compiler.getVersion(); - - if (version != null) { - return "Default target for maven-compiler-plugin version " + version; - } - - return "Unknown"; - } - - private static Plugin getCompilerPlugin(Map<String, Plugin> pluginsAsMap) { - return pluginsAsMap.get("org.apache.maven.plugins:maven-compiler-plugin"); - } - - private static String getPluginParameter(Plugin plugin, String parameter) { - if (plugin != null) { - Xpp3Dom pluginConf = (Xpp3Dom) plugin.getConfiguration(); - - if (pluginConf != null) { - Xpp3Dom target = pluginConf.getChild(parameter); - - if (target != null) { - return target.getValue(); - } - } - } - - return null; - } - } -} diff --git a/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/report_old/Requirements.java b/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/report_old/Requirements.java deleted file mode 100644 index c5302f42..00000000 --- a/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/report_old/Requirements.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.maven.plugin.plugin.report_old; - -import java.util.Properties; - -/** - * Plugin requirements. - * - * @deprecated will be removed in the next major version - */ -@Deprecated -public class Requirements { - /** - * The minimum version of Maven to run this plugin. - */ - private String maven; - - /** - * The minimum version of the JDK to run this plugin. - */ - private String jdk; - - /** - * The minimum memory needed to run this plugin. - */ - private String memory; - - /** - * The minimum diskSpace needed to run this plugin. - */ - private String diskSpace; - - /** - * Field others. - */ - private java.util.Properties others; - - public String getMaven() { - return maven; - } - - public String getJdk() { - return jdk; - } - - public String getMemory() { - return memory; - } - - public String getDiskSpace() { - return diskSpace; - } - - public Properties getOthers() { - return others; - } - - @Override - public String toString() { - final StringBuilder sb = new StringBuilder("Requirements{"); - sb.append("maven='").append(maven).append('\''); - sb.append(", jdk='").append(jdk).append('\''); - sb.append(", memory='").append(memory).append('\''); - sb.append(", diskSpace='").append(diskSpace).append('\''); - sb.append(", others=").append(others); - sb.append('}'); - return sb.toString(); - } -} diff --git a/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/report_old/RequirementsHistory.java b/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/report_old/RequirementsHistory.java deleted file mode 100644 index 974b3dfd..00000000 --- a/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/report_old/RequirementsHistory.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.maven.plugin.plugin.report_old; - -/** - * Plugin requirements history. - * - * @author Slawomir Jaranowski - */ -@Deprecated -public class RequirementsHistory { - /** - * The plugin version. - */ - private String version; - - /** - * The minimum version of Maven to run this plugin. - */ - private String maven; - - /** - * The minimum version of the JDK to run this plugin. - */ - private String jdk; - - public String getVersion() { - return version; - } - - public String getMaven() { - return maven; - } - - public String getJdk() { - return jdk; - } - - @Override - public String toString() { - final StringBuilder sb = new StringBuilder("RequirementsHistory{"); - sb.append("version='").append(version).append('\''); - sb.append(", maven='").append(maven).append('\''); - sb.append(", jdk='").append(jdk).append('\''); - sb.append('}'); - return sb.toString(); - } -} diff --git a/maven-plugin-plugin/src/main/java/org/apache/maven/plugins/plugin/descriptor_old/EnhancedPluginDescriptorBuilder.java b/maven-plugin-plugin/src/main/java/org/apache/maven/plugins/plugin/descriptor_old/EnhancedPluginDescriptorBuilder.java deleted file mode 100644 index c62b9e7c..00000000 --- a/maven-plugin-plugin/src/main/java/org/apache/maven/plugins/plugin/descriptor_old/EnhancedPluginDescriptorBuilder.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.maven.plugins.plugin.descriptor_old; - -import java.net.URI; - -import org.apache.maven.plugin.descriptor.MojoDescriptor; -import org.apache.maven.plugin.descriptor.Parameter; -import org.apache.maven.plugin.descriptor.PluginDescriptor; -import org.apache.maven.plugin.descriptor.PluginDescriptorBuilder; -import org.apache.maven.plugin.plugin.report_old.PluginReport; -import org.apache.maven.rtinfo.RuntimeInformation; -import org.apache.maven.tools.plugin.EnhancedParameterWrapper; -import org.codehaus.plexus.configuration.PlexusConfiguration; -import org.codehaus.plexus.configuration.PlexusConfigurationException; - -/** - * Reads enhanced plugin.xml files as generated by - * {@link org.apache.maven.tools.plugin.generator.PluginDescriptorFilesGenerator} and - * used by {@link PluginReport}. - * Populates the slightly extended {@link Parameter} object {@link EnhancedParameterWrapper}. - */ -@Deprecated -public class EnhancedPluginDescriptorBuilder extends PluginDescriptorBuilder { - private final boolean requireAddingMissingParameterSinceField; - - public EnhancedPluginDescriptorBuilder(RuntimeInformation rtInfo) { - this(rtInfo.isMavenVersion("[,3.3.9]")); - } - - EnhancedPluginDescriptorBuilder(boolean requireAddingMissingParameterSinceField) { - this.requireAddingMissingParameterSinceField = requireAddingMissingParameterSinceField; - } - - @Override - public MojoDescriptor buildComponentDescriptor(PlexusConfiguration c, PluginDescriptor pluginDescriptor) - throws PlexusConfigurationException { - MojoDescriptor mojoDescriptor = super.buildComponentDescriptor(c, pluginDescriptor); - - // ---------------------------------------------------------------------- - // Parameters - // ---------------------------------------------------------------------- - - PlexusConfiguration[] parameterConfigurations = c.getChild("parameters").getChildren("parameter"); - - for (PlexusConfiguration d : parameterConfigurations) { - String parameterName = d.getChild("name").getValue(); - // don't call getParameterMap() to not populate - Parameter pd = mojoDescriptor.getParameterMap().get(parameterName); - if (requireAddingMissingParameterSinceField) { - addMissingParameterSinceField(pd, d); - } - PlexusConfiguration configTypeJavadocUrl = d.getChild("typeJavadocUrl", false); - if (configTypeJavadocUrl != null) { - String parameterTypeJavadocUrl = configTypeJavadocUrl.getValue(); - EnhancedParameterWrapper enhancedParameter = new EnhancedParameterWrapper(pd); - enhancedParameter.setTypeJavadocUrl(URI.create(parameterTypeJavadocUrl)); - mojoDescriptor - .getParameters() - .set(mojoDescriptor.getParameters().indexOf(pd), enhancedParameter); - mojoDescriptor.getParameterMap().put(parameterName, enhancedParameter); - } - } - return mojoDescriptor; - } - - /** - * Reads the plugin descriptor and adds the fix for <a href="https://issues.apache.org/jira/browse/MNG-6109"> - * MNG-6109</a> when using Maven-3.3.9 and before. - * Method can be removed once Maven 3.5.0 is the prerequisite for this plugin. - * @throws PlexusConfigurationException - * - * @since 3.5.1 - * @see <a href="https://issues.apache.org/jira/browse/MNG-6109">MNG-6109</a> - * @see <a href="https://issues.apache.org/jira/browse/MPLUGIN-319">MPLUGIN-319</a> - */ - void addMissingParameterSinceField(Parameter pd, PlexusConfiguration d) throws PlexusConfigurationException { - String parameterSince = d.getChild("since").getValue(); - pd.setSince(parameterSince); - } -} diff --git a/maven-plugin-plugin/src/main/resources/plugin-report.properties b/maven-plugin-plugin/src/main/resources/plugin-report.properties deleted file mode 100644 index 7d9c45b5..00000000 --- a/maven-plugin-plugin/src/main/resources/plugin-report.properties +++ /dev/null @@ -1,54 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# - -report.plugin.name=Plugin Documentation -report.plugin.description=This report provides goals and parameters documentation of a plugin. -report.plugin.title=Plugin Documentation - -report.plugin.goals.nogoal=No goals defined in this plugin. -report.plugin.goals.intro=Goals available for this plugin: -report.plugin.goals.column.goal=Goal -report.plugin.goals.column.isMavenReport=Report? -report.plugin.goals.column.description=Description -report.plugin.goal.nodescription=No description. -report.plugin.goal.deprecated=Deprecated. - -report.plugin.systemrequirements=System Requirements -report.plugin.systemrequirements.intro=The following specifies the minimum requirements to run this Maven plugin: -report.plugin.systemrequirements.nominimum= No minimum requirement. -report.plugin.systemrequirements.maven=Maven -report.plugin.systemrequirements.jdk=JDK -report.plugin.systemrequirements.memory=Memory -report.plugin.systemrequirements.diskspace=Disk Space - -report.plugin.systemrequirements.history=System Requirements History -report.plugin.systemrequirements.history.intro=The following specifies the minimum requirements to run this Maven plugin for historical versions: -report.plugin.systemrequirements.history.version=Plugin Version -report.plugin.systemrequirements.history.maven=Maven -report.plugin.systemrequirements.history.jdk=JDK - -report.plugin.usage=Usage -report.plugin.usage.intro=You should specify the version in your project's plugin configuration: -report.plugin.usage.pluginManagement=To define the plugin version in your parent POM -report.plugin.usage.plugins=To use the plugin goals in your POM or parent POM -report.plugin.usage.reporting=To use the report goals in your POM or parent POM -report.plugin.configuration.end=For more information, see {"Guide to Configuring Plug-ins", https://maven.apache.org/guides/mini/guide-configuring-plugins.html} - -report.plugin.isReport=Yes -report.plugin.isNotReport=No diff --git a/maven-plugin-plugin/src/main/resources/plugin-report_de.properties b/maven-plugin-plugin/src/main/resources/plugin-report_de.properties deleted file mode 100644 index e87e5c07..00000000 --- a/maven-plugin-plugin/src/main/resources/plugin-report_de.properties +++ /dev/null @@ -1,54 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# - -report.plugin.name=Plugin-Dokumentation -report.plugin.description=Dieser Bericht dokumentiert die Goals des Plugins und deren Parameter. -report.plugin.title=Plugin-Dokumentation - -report.plugin.goals.nogoal=Keine Goals verf\u00FCgbar. -report.plugin.goals.intro=Verf\u00FCgbare Goals dieses Plugins: -report.plugin.goals.column.goal=Goal -report.plugin.goals.column.isMavenReport=Bericht? -report.plugin.goals.column.description=Beschreibung -report.plugin.goal.nodescription=Keine Beschreibung. -report.plugin.goal.deprecated=Missbilligt. - -report.plugin.systemrequirements=Systemvoraussetzungen -report.plugin.systemrequirements.intro=Die folgende Tabelle listet die Mindestanforderungen zum Ausf\u00FChren dieses Plugins auf: -report.plugin.systemrequirements.nominimum=Keine Mindestanforderung. -report.plugin.systemrequirements.maven=Maven -report.plugin.systemrequirements.jdk=JDK -report.plugin.systemrequirements.memory=Arbeitsspeicher -report.plugin.systemrequirements.diskspace=Festplatte - -report.plugin.systemrequirements.history=Historie der Systemvoraussetzungen -report.plugin.systemrequirements.history.intro=In der folgenden Tabelle sind die Mindestanforderungen zum Ausf\u00FChren dieses Plug-ins f\u00FCr historische Versionen aufgef\u00FChrt: -report.plugin.systemrequirements.history.version=Plugin Version -report.plugin.systemrequirements.history.maven=Maven -report.plugin.systemrequirements.history.jdk=JDK - -report.plugin.usage=Gebrauch -report.plugin.usage.intro=Geben Sie die gew\u00FCnschte Version einfach in der Plugin-Konfiguration Ihres Projekts an: -report.plugin.usage.pluginManagement=Zum Definieren der Plugin-Version in der Eltern-POM -report.plugin.usage.plugins=Zum Verwenden der Plugin-Goals w\u00E4hrend des Build-Vorgangs eines Projekts -report.plugin.usage.reporting=Zum Erzeugen der Berichte f\u00FCr die Projektdokumentation -report.plugin.configuration.end=F\u00FCr weitergehende Informationen lesen Sie bitte den Artikel {"Guide to Configuring Plug-ins", https://maven.apache.org/guides/mini/guide-configuring-plugins.html}. - -report.plugin.isReport=Ja -report.plugin.isNotReport=Nein diff --git a/maven-plugin-plugin/src/main/resources/plugin-report_en.properties b/maven-plugin-plugin/src/main/resources/plugin-report_en.properties deleted file mode 100644 index 96cf4075..00000000 --- a/maven-plugin-plugin/src/main/resources/plugin-report_en.properties +++ /dev/null @@ -1,23 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# NOTE: -# This bundle is intentionally empty because English strings are provided by the base bundle via the parent chain. It -# must be provided nevertheless such that a request for locale "en" will not errorneously pick up the bundle for the -# JVM's default locale (which need not be "en"). See the method javadoc about -# ResourceBundle.getBundle(String, Locale, ClassLoader) -# for a full description of the lookup strategy. diff --git a/maven-plugin-plugin/src/main/resources/plugin-report_fr.properties b/maven-plugin-plugin/src/main/resources/plugin-report_fr.properties deleted file mode 100644 index 2ac7b3fb..00000000 --- a/maven-plugin-plugin/src/main/resources/plugin-report_fr.properties +++ /dev/null @@ -1,54 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# - -report.plugin.name=Documentation du plugin -report.plugin.description=Ce rapport fournit de la documentation sur les goals et les param\u00EAtres d'un plugin. -report.plugin.title=Documentation du plugin - -report.plugin.goals.nogoal=Aucun goal disponible. -report.plugin.goals.intro=Goals disponibles pour ce plugin : -report.plugin.goals.column.goal=Goal -report.plugin.goals.column.isMavenReport=Rapport? -report.plugin.goals.column.description=Description -report.plugin.goal.nodescription=Pas de description. -report.plugin.goal.deprecated=Obsol\u00E8te. - -report.plugin.systemrequirements=Exigences Syst\u00E8mes -report.plugin.systemrequirements.intro=Ce qui suit sp\u00E9cifie les exigences minimales pour ex\u00E9cuter ce plugin Maven : -report.plugin.systemrequirements.nominimum= Aucune exigence minimale. -report.plugin.systemrequirements.maven=Maven -report.plugin.systemrequirements.jdk=JDK -report.plugin.systemrequirements.memory=M\u00E9moire -report.plugin.systemrequirements.diskspace=Espace Disque - -report.plugin.systemrequirements.history=Historique des Exigences Syst\u00E8mes -report.plugin.systemrequirements.history.intro=Ce qui suit sp\u00E9cifie les exigences minimales pour ex\u00E9cuter ce plugin Maven pour les versions historiques: -report.plugin.systemrequirements.history.version=Version du Plugin -report.plugin.systemrequirements.history.maven=Maven -report.plugin.systemrequirements.history.jdk=JDK - -report.plugin.usage=Utilisation -report.plugin.usage.intro=Vous devez sp\u00E9cifier la version dans la configuration de votre projet : -report.plugin.usage.pluginManagement=Pour d\u00E9finir la version du plugin dans le POM parent -report.plugin.usage.plugins=Pour utiliser les goals du plugin dans votre POM ou POM parent -report.plugin.usage.reporting=Pour utiliser les goals de rapports dans votre POM ou POM parent -report.plugin.configuration.end=Pour plus d'informations, consultez {"Guide to Configuring Plug-ins", https://maven.apache.org/guides/mini/guide-configuring-plugins.html} - -report.plugin.isReport=Oui -report.plugin.isNotReport=Non diff --git a/maven-plugin-plugin/src/main/resources/plugin-report_sv.properties b/maven-plugin-plugin/src/main/resources/plugin-report_sv.properties deleted file mode 100644 index 0e806e49..00000000 --- a/maven-plugin-plugin/src/main/resources/plugin-report_sv.properties +++ /dev/null @@ -1,54 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# - -report.plugin.name=Plugindokumentation -report.plugin.description=Denna rapport tillhandah\u00E5ller m\u00E5l- och parameterdokumentation f\u00F6r en plugin. -report.plugin.title=Plugindokumentation - -report.plugin.goals.nogoal=Inga m\u00E5l tillg\u00E4ngliga \u00E4nnu. -report.plugin.goals.intro=Tillg\u00E4ngliga m\u00E5l f\u00F6r denna plugin: -report.plugin.goals.column.goal=M\u00E5l -report.plugin.goals.column.isMavenReport=Rapport? -report.plugin.goals.column.description=Beskrivning -report.plugin.goal.nodescription=Ingen beskrivning. -report.plugin.goal.deprecated=F\u00F6r\u00E5ldrat. - -report.plugin.systemrequirements=Systemkrav -report.plugin.systemrequirements.intro=F\u00F6ljande minimikrav st\u00E4lls f\u00F6r att k\u00F6ra denna Maven plugin: -report.plugin.systemrequirements.nominimum= Inga minimikrav. -report.plugin.systemrequirements.maven=Maven -report.plugin.systemrequirements.jdk=JDK -report.plugin.systemrequirements.memory=Minne -report.plugin.systemrequirements.diskspace=Diskutrymme - -report.plugin.systemrequirements.history=Systemkravshistorik -report.plugin.systemrequirements.history.intro=F\u00F6ljande anger minimikraven f\u00F6r att k\u00F6ra detta Maven-plugin f\u00F6r historiska versioner: -report.plugin.systemrequirements.history.version=Plugin Version -report.plugin.systemrequirements.history.maven=Maven -report.plugin.systemrequirements.history.jdk=JDK - -report.plugin.usage=Anv\u00E4ndning -report.plugin.usage.intro=Du b\u00F6r specificera versionen i ditt projekts pluginkonfiguration: -report.plugin.usage.pluginManagement=F\u00F6r att definiera pluginversion i din f\u00F6r\u00E4ldra-POM -report.plugin.usage.plugins=F\u00F6r att anv\u00E4nda plugin-m\u00E5len i din POM eller f\u00F6r\u00E4ldra-POM -report.plugin.usage.reporting=F\u00F6r att anv\u00E4nda rapport-m\u00E5len i din POM eller f\u00F6r\u00E4ldra-POM -report.plugin.configuration.end=F\u00F6r mer information, l\u00E4s {"Guide to Configuring Plug-ins", https://maven.apache.org/guides/mini/guide-configuring-plugins.html} (p\u00E5 engelska). - -report.plugin.isReport=Ja -report.plugin.isNotReport=Nej diff --git a/maven-plugin-report-plugin/pom.xml b/maven-plugin-report-plugin/pom.xml index 4a7d3fae..b7eec6ef 100644 --- a/maven-plugin-report-plugin/pom.xml +++ b/maven-plugin-report-plugin/pom.xml @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-tools</artifactId> - <version>3.8.3-SNAPSHOT</version> + <version>3.9.0-SNAPSHOT</version> </parent> <groupId>org.apache.maven.plugins</groupId> @@ -56,7 +56,6 @@ <dependency> <groupId>org.apache.maven.reporting</groupId> <artifactId>maven-reporting-api</artifactId> - <version>${reportingApiVersion}</version> <scope>provided</scope> </dependency> <dependency> @@ -88,6 +87,12 @@ <dependency> <groupId>org.apache.maven.doxia</groupId> <artifactId>doxia-sink-api</artifactId> + <version>2.0.0-M6</version> + </dependency> + <dependency> + <groupId>org.apache.maven.doxia</groupId> + <artifactId>doxia-integration-tools</artifactId> + <version>2.0.0-M10</version> </dependency> <!-- shared --> @@ -101,6 +106,18 @@ <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-utils</artifactId> </dependency> + <!-- Plexus --> + <dependency> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-i18n</artifactId> + <version>1.0-beta-10</version> + <exclusions> + <exclusion> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-component-api</artifactId> + </exclusion> + </exclusions> + </dependency> <!-- tests --> <dependency> @@ -227,8 +244,9 @@ <settingsFile>src/it/settings.xml</settingsFile> <streamLogsOnFailures>true</streamLogsOnFailures> <filterProperties> - <sitePluginVersion>3.12.1</sitePluginVersion> - <projectInfoReportsPlugin>3.4.1</projectInfoReportsPlugin> + <sitePluginVersion>4.0.0-M8</sitePluginVersion> + <projectInfoReportsPlugin>4.0.0-M1-SNAPSHOT</projectInfoReportsPlugin> + <compilerPluginVersion>3.11.0</compilerPluginVersion> <antVersion>${antVersion}</antVersion> </filterProperties> <properties> diff --git a/maven-plugin-report-plugin/src/it/fix-maven-since-3.x/pom.xml b/maven-plugin-report-plugin/src/it/fix-maven-since-3.x/pom.xml index 47ea4d51..b3669660 100644 --- a/maven-plugin-report-plugin/src/it/fix-maven-since-3.x/pom.xml +++ b/maven-plugin-report-plugin/src/it/fix-maven-since-3.x/pom.xml @@ -81,7 +81,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-help-plugin</artifactId> - <version>2.1.1</version> + <version>3.4.0</version> </plugin> </plugins> </build> diff --git a/maven-plugin-plugin/src/it/mplugin-187/invoker.properties b/maven-plugin-report-plugin/src/it/mplugin-187/invoker.properties similarity index 94% rename from maven-plugin-plugin/src/it/mplugin-187/invoker.properties rename to maven-plugin-report-plugin/src/it/mplugin-187/invoker.properties index a16bae84..3b86dfb4 100644 --- a/maven-plugin-plugin/src/it/mplugin-187/invoker.properties +++ b/maven-plugin-report-plugin/src/it/mplugin-187/invoker.properties @@ -5,9 +5,9 @@ # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @@ -15,4 +15,4 @@ # specific language governing permissions and limitations # under the License. -invoker.goals = clean plugin:report +invoker.goals = clean plugin-report:report diff --git a/maven-plugin-plugin/src/it/mplugin-187/pom.xml b/maven-plugin-report-plugin/src/it/mplugin-187/pom.xml similarity index 91% rename from maven-plugin-plugin/src/it/mplugin-187/pom.xml rename to maven-plugin-report-plugin/src/it/mplugin-187/pom.xml index 541ee69a..b0b1de57 100644 --- a/maven-plugin-plugin/src/it/mplugin-187/pom.xml +++ b/maven-plugin-report-plugin/src/it/mplugin-187/pom.xml @@ -26,7 +26,7 @@ under the License. <artifactId>mplugin-187</artifactId> <version>1.0-SNAPSHOT</version> - <description>Verify that plugin:report succeeds</description> + <description>Verify that plugin-report:report succeeds</description> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> @@ -36,10 +36,10 @@ under the License. <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-plugin-plugin</artifactId> + <artifactId>maven-plugin-report-plugin</artifactId> <version>@project.version@</version> </plugin> </plugins> </build> -</project> \ No newline at end of file +</project> diff --git a/maven-plugin-report-plugin/src/it/mplugin-191/pom.xml b/maven-plugin-report-plugin/src/it/mplugin-191/pom.xml index 957ebff3..8de913ed 100644 --- a/maven-plugin-report-plugin/src/it/mplugin-191/pom.xml +++ b/maven-plugin-report-plugin/src/it/mplugin-191/pom.xml @@ -1,85 +1,85 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. ---> - -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <groupId>org.apache.maven.plugins.plugin.its</groupId> - <artifactId>mplugin-191</artifactId> - <version>1.0-SNAPSHOT</version> - <packaging>maven-plugin</packaging> - - <description>Verify that plugin-info.html and mojo pages are generated in the correct folder</description> - - <properties> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - </properties> - - <dependencies> - <dependency> - <groupId>org.apache.maven.plugin-tools</groupId> - <artifactId>maven-plugin-annotations</artifactId> - <version>@project.version@</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-plugin-api</artifactId> - <version>@mavenVersion@</version> - <scope>provided</scope> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>3.1</version> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-plugin-plugin</artifactId> - <version>@project.version@</version> - <configuration> - <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-site-plugin</artifactId> - <version>@sitePluginVersion@</version> - </plugin> - </plugins> - </build> - - <reporting> - <excludeDefaults>true</excludeDefaults> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-plugin-report-plugin</artifactId> - <version>@project.version@</version> - </plugin> - </plugins> - </reporting> - -</project> +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.apache.maven.plugins.plugin.its</groupId> + <artifactId>mplugin-191</artifactId> + <version>1.0-SNAPSHOT</version> + <packaging>maven-plugin</packaging> + + <description>Verify that plugin-info.html and mojo pages are generated in the correct folder</description> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.maven.plugin-tools</groupId> + <artifactId>maven-plugin-annotations</artifactId> + <version>@project.version@</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-plugin-api</artifactId> + <version>@mavenVersion@</version> + <scope>provided</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>@compilerPluginVersion@</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-plugin-plugin</artifactId> + <version>@project.version@</version> + <configuration> + <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-site-plugin</artifactId> + <version>@sitePluginVersion@</version> + </plugin> + </plugins> + </build> + + <reporting> + <excludeDefaults>true</excludeDefaults> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-plugin-report-plugin</artifactId> + <version>@project.version@</version> + </plugin> + </plugins> + </reporting> + +</project> diff --git a/maven-plugin-report-plugin/src/it/mplugin-319_report-since/pom.xml b/maven-plugin-report-plugin/src/it/mplugin-319_report-since/pom.xml index f3e25ff7..b2af1fdd 100644 --- a/maven-plugin-report-plugin/src/it/mplugin-319_report-since/pom.xml +++ b/maven-plugin-report-plugin/src/it/mplugin-319_report-since/pom.xml @@ -1,88 +1,88 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. ---> - -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <groupId>org.apache.maven.plugins.its.plugin</groupId> - <artifactId>report-since</artifactId> - <version>1.0-SNAPSHOT</version> - <packaging>maven-plugin</packaging> - - <properties> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - </properties> - - <dependencies> - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-plugin-api</artifactId> - <version>@mavenVersion@</version> - <scope>provided</scope> - </dependency> - </dependencies> - - <build> - <pluginManagement> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>2.3.2</version> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-plugin-plugin</artifactId> - <version>@project.version@</version> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-site-plugin</artifactId> - <version>@sitePluginVersion@</version> - </plugin> - </plugins> - </pluginManagement> - </build> - - <reporting> - <excludeDefaults>true</excludeDefaults> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-project-info-reports-plugin</artifactId> - <version>@projectInfoReportsPlugin@</version> - <reportSets> - <reportSet> - <reports> - <report>index</report> - </reports> - </reportSet> - </reportSets> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-plugin-report-plugin</artifactId> - <version>@project.version@</version> - </plugin> - </plugins> - </reporting> -</project> +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.apache.maven.plugins.its.plugin</groupId> + <artifactId>report-since</artifactId> + <version>1.0-SNAPSHOT</version> + <packaging>maven-plugin</packaging> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-plugin-api</artifactId> + <version>@mavenVersion@</version> + <scope>provided</scope> + </dependency> + </dependencies> + + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>@compilerPluginVersion@</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-plugin-plugin</artifactId> + <version>@project.version@</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-site-plugin</artifactId> + <version>@sitePluginVersion@</version> + </plugin> + </plugins> + </pluginManagement> + </build> + + <reporting> + <excludeDefaults>true</excludeDefaults> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-project-info-reports-plugin</artifactId> + <version>@projectInfoReportsPlugin@</version> + <reportSets> + <reportSet> + <reports> + <report>index</report> + </reports> + </reportSet> + </reportSets> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-plugin-report-plugin</artifactId> + <version>@project.version@</version> + </plugin> + </plugins> + </reporting> +</project> diff --git a/maven-plugin-report-plugin/src/it/mplugin-394_report-encoding/pom.xml b/maven-plugin-report-plugin/src/it/mplugin-394_report-encoding/pom.xml index 265c1191..2a813a35 100644 --- a/maven-plugin-report-plugin/src/it/mplugin-394_report-encoding/pom.xml +++ b/maven-plugin-report-plugin/src/it/mplugin-394_report-encoding/pom.xml @@ -59,7 +59,7 @@ under the License. <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>3.8.0</version> + <version>@compilerPluginVersion@</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> diff --git a/maven-plugin-report-plugin/src/it/plugin-info-jdk-default-version/pom.xml b/maven-plugin-report-plugin/src/it/plugin-info-jdk-default-version/pom.xml index cf148d40..3dafd941 100644 --- a/maven-plugin-report-plugin/src/it/plugin-info-jdk-default-version/pom.xml +++ b/maven-plugin-report-plugin/src/it/plugin-info-jdk-default-version/pom.xml @@ -47,7 +47,7 @@ under the License. <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>2.3.2</version> + <version>@compilerPluginVersion@</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> diff --git a/maven-plugin-report-plugin/src/it/plugin-info-jdk-default-version/src/site/site.xml b/maven-plugin-report-plugin/src/it/plugin-info-jdk-default-version/src/site/site.xml deleted file mode 100644 index c0a8d7a2..00000000 --- a/maven-plugin-report-plugin/src/it/plugin-info-jdk-default-version/src/site/site.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. ---> - -<project xmlns="http://maven.apache.org/DECORATION/1.8.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/DECORATION/1.8.0 https://maven.apache.org/xsd/decoration-1.8.0.xsd"> - <body> - <menu name="Overview"> - <item name="Goals" href="plugin-info.html"/> - </menu> - <menu ref="reports" inherit="bottom" /> - </body> -</project> diff --git a/maven-plugin-report-plugin/src/it/plugin-info-jdk/pom.xml b/maven-plugin-report-plugin/src/it/plugin-info-jdk/pom.xml index 62ed497e..83c6d716 100644 --- a/maven-plugin-report-plugin/src/it/plugin-info-jdk/pom.xml +++ b/maven-plugin-report-plugin/src/it/plugin-info-jdk/pom.xml @@ -53,7 +53,7 @@ under the License. <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>2.3.2</version> + <version>@compilerPluginVersion@</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> diff --git a/maven-plugin-report-plugin/src/it/plugin-report-annotations/pom.xml b/maven-plugin-report-plugin/src/it/plugin-report-annotations/pom.xml index d675726e..3d740f1e 100644 --- a/maven-plugin-report-plugin/src/it/plugin-report-annotations/pom.xml +++ b/maven-plugin-report-plugin/src/it/plugin-report-annotations/pom.xml @@ -27,7 +27,7 @@ under the License. <version>1.0-SNAPSHOT</version> <packaging>maven-plugin</packaging> - <name>MPLUGIN-105</name> + <name>MPLUGIN-105</name> <description> Test basic site generation to guard against regression. </description> @@ -79,7 +79,7 @@ under the License. <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>2.4</version> + <version>@compilerPluginVersion@</version> </plugin> </plugins> </pluginManagement> diff --git a/maven-plugin-report-plugin/src/it/plugin-report-requirements-history/pom.xml b/maven-plugin-report-plugin/src/it/plugin-report-requirements-history/pom.xml index 6716685c..0d77f338 100644 --- a/maven-plugin-report-plugin/src/it/plugin-report-requirements-history/pom.xml +++ b/maven-plugin-report-plugin/src/it/plugin-report-requirements-history/pom.xml @@ -58,7 +58,7 @@ under the License. <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>3.10.1</version> + <version>@compilerPluginVersion@</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> diff --git a/maven-plugin-report-plugin/src/it/plugin-report-with-javadoc-links/pom.xml b/maven-plugin-report-plugin/src/it/plugin-report-with-javadoc-links/pom.xml index ca0b9d6a..8297072b 100644 --- a/maven-plugin-report-plugin/src/it/plugin-report-with-javadoc-links/pom.xml +++ b/maven-plugin-report-plugin/src/it/plugin-report-with-javadoc-links/pom.xml @@ -27,7 +27,7 @@ under the License. <version>1.0-SNAPSHOT</version> <packaging>maven-plugin</packaging> - <name>MPLUGIN-417</name> + <name>MPLUGIN-417</name> <description> Test basic site generation containing javadoc links to internal and external javadoc sites. </description> @@ -70,7 +70,7 @@ under the License. <artifactId>maven-reporting-impl</artifactId> <version>@reportingImplVersion@</version> </dependency> - + </dependencies> <build> @@ -78,7 +78,7 @@ under the License. <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>3.5.1</version> + <version>@compilerPluginVersion@</version> <configuration> <!-- old maven-parent, so fix it like this. --> <source>${maven.compiler.source}</source> @@ -100,9 +100,6 @@ under the License. <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>@sitePluginVersion@</version> - <configuration> - <locales>en</locales> - </configuration> </plugin> </plugins> </build> @@ -124,7 +121,7 @@ under the License. <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> - <version>3.4.1</version> + <version>3.5.0</version> <configuration> <excludePackageNames>org.internal</excludePackageNames> </configuration> diff --git a/maven-plugin-report-plugin/src/it/plugin-report-with-javadoc-links/verify.groovy b/maven-plugin-report-plugin/src/it/plugin-report-with-javadoc-links/verify.groovy index 5eb43a12..9c040f6e 100644 --- a/maven-plugin-report-plugin/src/it/plugin-report-with-javadoc-links/verify.groovy +++ b/maven-plugin-report-plugin/src/it/plugin-report-with-javadoc-links/verify.groovy @@ -21,11 +21,11 @@ def mojoDoc = new File( basedir, 'target/site/test-mojo.html' ) assert mojoDoc.isFile() -assert mojoDoc.text.contains('<b>See also:</b> <a class="externalLink" href="https://docs.oracle.com/javase/8/docs/api/java/util/Collections.html">java.util.Collections</a></div>') // mojo description see javadoc tag +assert mojoDoc.text.contains('<strong>See also:</strong> <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collections.html" class="externalLink">java.util.Collections</a></div>') // mojo description see javadoc tag assert mojoDoc.text.contains('beans parameter leveraging <a href="apidocs/org/SimpleBean.html"><code>SimpleBean</code></a>.') // parameter description assert mojoDoc.text.contains('<td><code><a href="apidocs/org/SimpleBean.html">Collection<SimpleBean></a></code></td>') // type link in parameter overview -assert mojoDoc.text.contains('<li><b>Type</b>: <code><a href="apidocs/org/SimpleBean.html">java.util.Collection<org.SimpleBean></a></code></li>') // type link in parameter details +assert mojoDoc.text.contains('<li><strong>Type</strong>: <code><a href="apidocs/org/SimpleBean.html">java.util.Collection<org.SimpleBean></a></code></li>') // type link in parameter details assert mojoDoc.text.contains('<div>invalid javadoc reference <code>org.apache.maven.artifact.Artifact</code>.</div>') // second parameter description with link being removed (as no javadoc site associated) diff --git a/maven-plugin-report-plugin/src/it/plugin-report/pom.xml b/maven-plugin-report-plugin/src/it/plugin-report/pom.xml index dd95249a..1dcc9937 100644 --- a/maven-plugin-report-plugin/src/it/plugin-report/pom.xml +++ b/maven-plugin-report-plugin/src/it/plugin-report/pom.xml @@ -27,7 +27,7 @@ under the License. <version>1.0-SNAPSHOT</version> <packaging>maven-plugin</packaging> - <name>MPLUGIN-105</name> + <name>MPLUGIN-105</name> <description> Test basic site generation to guard against regression of MPLUGIN-105. </description> @@ -74,7 +74,7 @@ under the License. <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>3.5.1</version> + <version>@compilerPluginVersion@</version> <configuration> <!-- old maven-parent, so fix it like this. --> <source>${maven.compiler.source}</source> @@ -91,7 +91,7 @@ under the License. <artifactId>maven-site-plugin</artifactId> <version>@sitePluginVersion@</version> <configuration> - <locales>en</locales> + <locales>default,de,fr</locales> </configuration> </plugin> </plugins> diff --git a/maven-plugin-report-plugin/src/it/plugin-report/verify.groovy b/maven-plugin-report-plugin/src/it/plugin-report/verify.groovy index f57200f2..2f24cb8a 100644 --- a/maven-plugin-report-plugin/src/it/plugin-report/verify.groovy +++ b/maven-plugin-report-plugin/src/it/plugin-report/verify.groovy @@ -28,3 +28,11 @@ assert !pluginInfo.text.contains('Disk Space') // check JDK and Maven requirements assert pluginInfo.text.contains('1.8') assert pluginInfo.text.contains('3.2.5') + +assert new File( basedir, 'target/site/de/noop-mojo.html' ).isFile() +assert new File( basedir, 'target/site/de/report-mojo.html' ).isFile() +assert new File( basedir, 'target/site/de/plugin-info.html' ).isFile() + +assert new File( basedir, 'target/site/fr/noop-mojo.html' ).isFile() +assert new File( basedir, 'target/site/fr/report-mojo.html' ).isFile() +assert new File( basedir, 'target/site/fr/plugin-info.html' ).isFile() diff --git a/maven-plugin-report-plugin/src/main/java/org/apache/maven/plugin/plugin/report/PluginReport.java b/maven-plugin-report-plugin/src/main/java/org/apache/maven/plugin/plugin/report/PluginReport.java index b9dd4e11..00d26c41 100644 --- a/maven-plugin-report-plugin/src/main/java/org/apache/maven/plugin/plugin/report/PluginReport.java +++ b/maven-plugin-report-plugin/src/main/java/org/apache/maven/plugin/plugin/report/PluginReport.java @@ -23,14 +23,14 @@ import java.io.IOException; import java.io.Reader; import java.nio.file.Files; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Optional; -import java.util.ResourceBundle; +import org.apache.maven.doxia.markup.Markup; import org.apache.maven.doxia.sink.Sink; +import org.apache.maven.doxia.tools.SiteTool; import org.apache.maven.model.Plugin; import org.apache.maven.model.Prerequisites; import org.apache.maven.plugin.descriptor.MojoDescriptor; @@ -55,6 +55,7 @@ import org.apache.maven.tools.plugin.generator.GeneratorUtils; import org.apache.maven.tools.plugin.generator.PluginXdocGenerator; import org.apache.maven.tools.plugin.util.PluginUtils; import org.codehaus.plexus.configuration.PlexusConfigurationException; +import org.codehaus.plexus.i18n.I18N; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.xml.XmlStreamReader; import org.codehaus.plexus.util.xml.Xpp3Dom; @@ -76,8 +77,8 @@ public class PluginReport extends AbstractMavenReport { * * @since 3.7.0 */ - @Parameter(defaultValue = "${project.build.directory}/generated-site/xdoc") - private File outputDirectory; + @Parameter(defaultValue = "${project.build.directory}/generated-site") + private File generatedSiteDirectory; /** * Set this to "true" to skip generating the report. @@ -119,6 +120,12 @@ public class PluginReport extends AbstractMavenReport { @Component private RuntimeInformation rtInfo; + /** + * Internationalization component. + */ + @Component + private I18N i18n; + /** * Path to enhanced plugin descriptor to generate the report from (must contain some XHTML values) * @@ -174,7 +181,7 @@ public class PluginReport extends AbstractMavenReport { // Write the overview PluginOverviewRenderer r = new PluginOverviewRenderer( - getProject(), requirementsHistories, getSink(), pluginDescriptor, locale, hasExtensionsToLoad); + getSink(), i18n, locale, getProject(), requirementsHistories, pluginDescriptor, hasExtensionsToLoad); r.render(); } @@ -188,20 +195,29 @@ public class PluginReport extends AbstractMavenReport { } } + /** + * @param locale The locale + * @param key The key to search for + * @return The text appropriate for the locale. + */ + private String getI18nString(Locale locale, String key) { + return i18n.getString("plugin-report", locale, "report.plugin." + key); + } + /** * {@inheritDoc} */ @Override - public String getDescription(Locale locale) { - return getBundle(locale).getString("report.plugin.description"); + public String getName(Locale locale) { + return getI18nString(locale, "name"); } /** * {@inheritDoc} */ @Override - public String getName(Locale locale) { - return getBundle(locale).getString("report.plugin.name"); + public String getDescription(Locale locale) { + return getI18nString(locale, "description"); } /** @@ -222,74 +238,81 @@ public class PluginReport extends AbstractMavenReport { private void generateMojosDocumentation(PluginDescriptor pluginDescriptor, Locale locale) throws MavenReportException { try { - File outputDir = outputDirectory; - outputDir.mkdirs(); - PluginXdocGenerator generator = new PluginXdocGenerator( getProject(), locale, getReportOutputDirectory(), disableInternalJavadocLinkValidation); PluginToolsRequest pluginToolsRequest = new DefaultPluginToolsRequest(getProject(), pluginDescriptor); + File outputDir; + if (!locale.equals(SiteTool.DEFAULT_LOCALE)) { + outputDir = new File(new File(generatedSiteDirectory, locale.toString()), "xdoc"); + } else { + outputDir = new File(generatedSiteDirectory, "xdoc"); + } + outputDir.mkdirs(); generator.execute(outputDir, pluginToolsRequest); } catch (GeneratorException e) { throw new MavenReportException("Error writing plugin documentation", e); } } - /** - * @param locale not null - * @return the bundle for this report - */ - protected static ResourceBundle getBundle(Locale locale) { - return ResourceBundle.getBundle("plugin-report", locale, PluginReport.class.getClassLoader()); - } - /** * Generates an overview page with the list of goals * and a link to the goal's page. */ static class PluginOverviewRenderer extends AbstractMavenReportRenderer { + private final I18N i18n; + + private final Locale locale; + private final MavenProject project; private final List<RequirementsHistory> requirementsHistories; private final PluginDescriptor pluginDescriptor; - private final Locale locale; - private final boolean hasExtensionsToLoad; /** + * @param sink not null + * @param i18n not null + * @param locale not null * @param project not null * @param requirementsHistories not null - * @param sink not null * @param pluginDescriptor not null - * @param locale not null */ PluginOverviewRenderer( + Sink sink, + I18N i18n, + Locale locale, MavenProject project, List<RequirementsHistory> requirementsHistories, - Sink sink, PluginDescriptor pluginDescriptor, - Locale locale, boolean hasExtensionsToLoad) { super(sink); + this.i18n = i18n; + + this.locale = locale; + this.project = project; this.requirementsHistories = requirementsHistories; this.pluginDescriptor = pluginDescriptor; - this.locale = locale; - this.hasExtensionsToLoad = hasExtensionsToLoad; } - /** - * {@inheritDoc} - */ @Override public String getTitle() { - return getBundle(locale).getString("report.plugin.title"); + return getI18nString("title"); + } + + /** + * @param key The key. + * @return The translated string. + */ + protected String getI18nString(String key) { + return i18n.getString("plugin-report", locale, "report.plugin." + key); } /** @@ -301,17 +324,15 @@ public class PluginReport extends AbstractMavenReport { if (!(pluginDescriptor.getMojos() != null && pluginDescriptor.getMojos().size() > 0)) { - paragraph(getBundle(locale).getString("report.plugin.goals.nogoal")); + paragraph(getI18nString("goals.nogoal")); endSection(); return; } - paragraph(getBundle(locale).getString("report.plugin.goals.intro")); + paragraph(getI18nString("goals.intro")); boolean hasMavenReport = false; - for (Iterator<MojoDescriptor> i = pluginDescriptor.getMojos().iterator(); i.hasNext(); ) { - MojoDescriptor mojo = i.next(); - + for (MojoDescriptor mojo : pluginDescriptor.getMojos()) { if (GeneratorUtils.isMavenReport(mojo.getImplementation(), project)) { hasMavenReport = true; } @@ -319,9 +340,9 @@ public class PluginReport extends AbstractMavenReport { startTable(); - String goalColumnName = getBundle(locale).getString("report.plugin.goals.column.goal"); - String isMavenReport = getBundle(locale).getString("report.plugin.goals.column.isMavenReport"); - String descriptionColumnName = getBundle(locale).getString("report.plugin.goals.column.description"); + String goalColumnName = getI18nString("goals.column.goal"); + String isMavenReport = getI18nString("goals.column.isMavenReport"); + String descriptionColumnName = getI18nString("goals.column.description"); if (hasMavenReport) { tableHeader(new String[] {goalColumnName, isMavenReport, descriptionColumnName}); } else { @@ -342,25 +363,20 @@ public class PluginReport extends AbstractMavenReport { String description; if (StringUtils.isNotEmpty(mojo.getDeprecated())) { - description = "<strong>" + getBundle(locale).getString("report.plugin.goal.deprecated") - + "</strong> " + mojo.getDeprecated(); + description = "<strong>" + getI18nString("goal.deprecated") + "</strong> " + mojo.getDeprecated(); } else if (StringUtils.isNotEmpty(mojo.getDescription())) { description = mojo.getDescription(); } else { - description = getBundle(locale).getString("report.plugin.goal.nodescription"); + description = getI18nString("goal.nodescription"); } sink.tableRow(); tableCell(createLinkPatternedText(goalName, goalDocumentationLink)); if (hasMavenReport) { if (GeneratorUtils.isMavenReport(mojo.getImplementation(), project)) { - sink.tableCell(); - sink.text(getBundle(locale).getString("report.plugin.isReport")); - sink.tableCell_(); + tableCell(getI18nString("isReport")); } else { - sink.tableCell(); - sink.text(getBundle(locale).getString("report.plugin.isNotReport")); - sink.tableCell_(); + tableCell(getI18nString("isNotReport")); } } tableCell(description, true); @@ -369,25 +385,22 @@ public class PluginReport extends AbstractMavenReport { endTable(); - startSection(getBundle(locale).getString("report.plugin.systemrequirements")); + startSection(getI18nString("systemrequirements")); - paragraph(getBundle(locale).getString("report.plugin.systemrequirements.intro")); + paragraph(getI18nString("systemrequirements.intro")); startTable(); String maven = discoverMavenRequirement(project, pluginDescriptor); sink.tableRow(); - tableCell(getBundle(locale).getString("report.plugin.systemrequirements.maven")); - tableCell( - (maven != null - ? maven - : getBundle(locale).getString("report.plugin.systemrequirements.nominimum"))); + tableCell(getI18nString("systemrequirements.maven")); + tableCell((maven != null ? maven : getI18nString("systemrequirements.nominimum"))); sink.tableRow_(); String jdk = discoverJdkRequirement(project, pluginDescriptor); sink.tableRow(); - tableCell(getBundle(locale).getString("report.plugin.systemrequirements.jdk")); - tableCell((jdk != null ? jdk : getBundle(locale).getString("report.plugin.systemrequirements.nominimum"))); + tableCell(getI18nString("systemrequirements.jdk")); + tableCell((jdk != null ? jdk : getI18nString("systemrequirements.nominimum"))); sink.tableRow_(); endTable(); @@ -406,14 +419,14 @@ public class PluginReport extends AbstractMavenReport { return; } - startSection(getBundle(locale).getString("report.plugin.systemrequirements.history")); - paragraph(getBundle(locale).getString("report.plugin.systemrequirements.history.intro")); + startSection(getI18nString("systemrequirements.history")); + paragraph(getI18nString("systemrequirements.history.intro")); startTable(); tableHeader(new String[] { - getBundle(locale).getString("report.plugin.systemrequirements.history.version"), - getBundle(locale).getString("report.plugin.systemrequirements.history.maven"), - getBundle(locale).getString("report.plugin.systemrequirements.history.jdk") + getI18nString("systemrequirements.history.version"), + getI18nString("systemrequirements.history.maven"), + getI18nString("systemrequirements.history.jdk") }); requirementsHistories.forEach(requirementsHistory -> { @@ -434,90 +447,86 @@ public class PluginReport extends AbstractMavenReport { * @param hasMavenReport If the plugin has a report or not */ private void renderUsageSection(boolean hasMavenReport) { - startSection(getBundle(locale).getString("report.plugin.usage")); + startSection(getI18nString("usage")); // Configuration - sink.paragraph(); - text(getBundle(locale).getString("report.plugin.usage.intro")); - sink.paragraph_(); + paragraph(getI18nString("usage.intro")); StringBuilder sb = new StringBuilder(); - sb.append("<project>").append('\n'); - sb.append(" ...").append('\n'); - sb.append(" <build>").append('\n'); - sb.append(" <!-- " + getBundle(locale).getString("report.plugin.usage.pluginManagement") + " -->") - .append('\n'); - sb.append(" <pluginManagement>").append('\n'); - sb.append(" <plugins>").append('\n'); - sb.append(" <plugin>").append('\n'); + sb.append("<project>").append(Markup.EOL); + sb.append(" ...").append(Markup.EOL); + sb.append(" <build>").append(Markup.EOL); + sb.append(" <!-- " + getI18nString("usage.pluginManagement") + " -->") + .append(Markup.EOL); + sb.append(" <pluginManagement>").append(Markup.EOL); + sb.append(" <plugins>").append(Markup.EOL); + sb.append(" <plugin>").append(Markup.EOL); sb.append(" <groupId>") .append(pluginDescriptor.getGroupId()) .append("</groupId>") - .append('\n'); + .append(Markup.EOL); sb.append(" <artifactId>") .append(pluginDescriptor.getArtifactId()) .append("</artifactId>") - .append('\n'); + .append(Markup.EOL); sb.append(" <version>") .append(pluginDescriptor.getVersion()) .append("</version>") - .append('\n'); + .append(Markup.EOL); if (hasExtensionsToLoad) { - sb.append(" <extensions>true</extensions>").append('\n'); + sb.append(" <extensions>true</extensions>").append(Markup.EOL); } - sb.append(" </plugin>").append('\n'); - sb.append(" ...").append('\n'); - sb.append(" </plugins>").append('\n'); - sb.append(" </pluginManagement>").append('\n'); - sb.append(" <!-- " + getBundle(locale).getString("report.plugin.usage.plugins") + " -->") - .append('\n'); - sb.append(" <plugins>").append('\n'); - sb.append(" <plugin>").append('\n'); + sb.append(" </plugin>").append(Markup.EOL); + sb.append(" ...").append(Markup.EOL); + sb.append(" </plugins>").append(Markup.EOL); + sb.append(" </pluginManagement>").append(Markup.EOL); + sb.append(" <!-- " + getI18nString("usage.plugins") + " -->").append(Markup.EOL); + sb.append(" <plugins>").append(Markup.EOL); + sb.append(" <plugin>").append(Markup.EOL); sb.append(" <groupId>") .append(pluginDescriptor.getGroupId()) .append("</groupId>") - .append('\n'); + .append(Markup.EOL); sb.append(" <artifactId>") .append(pluginDescriptor.getArtifactId()) .append("</artifactId>") - .append('\n'); - sb.append(" </plugin>").append('\n'); - sb.append(" ...").append('\n'); - sb.append(" </plugins>").append('\n'); - sb.append(" </build>").append('\n'); + .append(Markup.EOL); + sb.append(" </plugin>").append(Markup.EOL); + sb.append(" ...").append(Markup.EOL); + sb.append(" </plugins>").append(Markup.EOL); + sb.append(" </build>").append(Markup.EOL); if (hasMavenReport) { - sb.append(" ...").append('\n'); - sb.append(" <!-- " + getBundle(locale).getString("report.plugin.usage.reporting") + " -->") - .append('\n'); - sb.append(" <reporting>").append('\n'); - sb.append(" <plugins>").append('\n'); - sb.append(" <plugin>").append('\n'); + sb.append(" ...").append(Markup.EOL); + sb.append(" <!-- " + getI18nString("usage.reporting") + " -->").append(Markup.EOL); + sb.append(" <reporting>").append(Markup.EOL); + sb.append(" <plugins>").append(Markup.EOL); + sb.append(" <plugin>").append(Markup.EOL); sb.append(" <groupId>") .append(pluginDescriptor.getGroupId()) .append("</groupId>") - .append('\n'); + .append(Markup.EOL); sb.append(" <artifactId>") .append(pluginDescriptor.getArtifactId()) .append("</artifactId>") - .append('\n'); + .append(Markup.EOL); sb.append(" <version>") .append(pluginDescriptor.getVersion()) .append("</version>") - .append('\n'); - sb.append(" </plugin>").append('\n'); - sb.append(" ...").append('\n'); - sb.append(" </plugins>").append('\n'); - sb.append(" </reporting>").append('\n'); + .append(Markup.EOL); + sb.append(" </plugin>").append(Markup.EOL); + sb.append(" ...").append(Markup.EOL); + sb.append(" </plugins>").append(Markup.EOL); + sb.append(" </reporting>").append(Markup.EOL); } - sb.append(" ...").append('\n'); - sb.append("</project>").append('\n'); + sb.append(" ...").append(Markup.EOL); + sb.append("</project>"); - verbatimText(sb.toString()); + verbatimSource(sb.toString()); sink.paragraph(); - linkPatternedText(getBundle(locale).getString("report.plugin.configuration.end")); + linkPatternedText(getI18nString("configuration.end")); sink.paragraph_(); endSection(); diff --git a/maven-plugin-tools-annotations/pom.xml b/maven-plugin-tools-annotations/pom.xml index 8c524128..20be7931 100644 --- a/maven-plugin-tools-annotations/pom.xml +++ b/maven-plugin-tools-annotations/pom.xml @@ -22,7 +22,7 @@ <parent> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-tools</artifactId> - <version>3.8.3-SNAPSHOT</version> + <version>3.9.0-SNAPSHOT</version> </parent> <artifactId>maven-plugin-tools-annotations</artifactId> diff --git a/maven-plugin-tools-api/pom.xml b/maven-plugin-tools-api/pom.xml index c54abbf3..06b05d10 100644 --- a/maven-plugin-tools-api/pom.xml +++ b/maven-plugin-tools-api/pom.xml @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-tools</artifactId> - <version>3.8.3-SNAPSHOT</version> + <version>3.9.0-SNAPSHOT</version> </parent> <artifactId>maven-plugin-tools-api</artifactId> diff --git a/maven-plugin-tools-generators/pom.xml b/maven-plugin-tools-generators/pom.xml index 922784eb..130fb81b 100644 --- a/maven-plugin-tools-generators/pom.xml +++ b/maven-plugin-tools-generators/pom.xml @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-tools</artifactId> - <version>3.8.3-SNAPSHOT</version> + <version>3.9.0-SNAPSHOT</version> </parent> <artifactId>maven-plugin-tools-generators</artifactId> @@ -47,7 +47,6 @@ <dependency> <groupId>org.apache.maven.reporting</groupId> <artifactId>maven-reporting-api</artifactId> - <version>${reportingApiVersion}</version> </dependency> <!-- plexus --> @@ -63,7 +62,7 @@ <!-- other --> <dependency> <groupId>org.apache.velocity</groupId> - <artifactId>velocity</artifactId> + <artifactId>velocity-engine-core</artifactId> </dependency> <dependency> diff --git a/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginXdocGenerator.java b/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginXdocGenerator.java index 9e9c693b..35327cac 100644 --- a/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginXdocGenerator.java +++ b/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginXdocGenerator.java @@ -81,7 +81,7 @@ public class PluginXdocGenerator implements Generator { private final boolean disableInternalJavadocLinkValidation; /** - * Default constructor using <code>Locale.ENGLISH</code> as locale. + * Default constructor using <code>Locale.ROOT</code> as locale. * Used only in test cases. */ public PluginXdocGenerator() { @@ -89,17 +89,17 @@ public class PluginXdocGenerator implements Generator { } /** - * Constructor using <code>Locale.ENGLISH</code> as locale. + * Constructor using <code>Locale.ROOT</code> as locale. * * @param project not null Maven project. */ public PluginXdocGenerator(MavenProject project) { - this(project, Locale.ENGLISH, new File("").getAbsoluteFile(), false); + this(project, Locale.ROOT, new File("").getAbsoluteFile(), false); } /** * @param project not null. - * @param locale not null wanted locale. + * @param locale not null. */ public PluginXdocGenerator( MavenProject project, @@ -107,11 +107,7 @@ public class PluginXdocGenerator implements Generator { File reportOutputDirectory, boolean disableInternalJavadocLinkValidation) { this.project = project; - if (locale == null) { - this.locale = Locale.ENGLISH; - } else { - this.locale = locale; - } + this.locale = locale; this.reportOutputDirectory = reportOutputDirectory; this.disableInternalJavadocLinkValidation = disableInternalJavadocLinkValidation; } @@ -139,7 +135,8 @@ public class PluginXdocGenerator implements Generator { * @throws IOException if any */ protected void processMojoDescriptor(MojoDescriptor mojoDescriptor, File destinationDirectory) throws IOException { - File outputFile = new File(destinationDirectory, getMojoFilename(mojoDescriptor, "xml")); + // TODO Rewrite to: Sink sink = new XdocSinkFactory().createSink(outputDir, "*-mojo.xml", encoding); + File outputFile = new File(destinationDirectory, mojoDescriptor.getGoal() + "-mojo.xml"); try (Writer writer = new OutputStreamWriter(new CachingOutputStream(outputFile), UTF_8)) { XMLWriter w = new PrettyPrintXMLWriter(new PrintWriter(writer), UTF_8.name(), null); writeBody(mojoDescriptor, w); @@ -148,15 +145,6 @@ public class PluginXdocGenerator implements Generator { } } - /** - * @param mojo not null - * @param ext not null - * @return the output file name - */ - private String getMojoFilename(MojoDescriptor mojo, String ext) { - return mojo.getGoal() + "-mojo." + ext; - } - /** * @param mojoDescriptor not null * @param w not null @@ -196,9 +184,7 @@ public class PluginXdocGenerator implements Generator { w.writeMarkup(getString("pluginxdoc.mojodescriptor.fullname")); w.endElement(); // p w.startElement("p"); - w.writeMarkup(mojoDescriptor.getPluginDescriptor().getGroupId() + ":" - + mojoDescriptor.getPluginDescriptor().getArtifactId() + ":" - + mojoDescriptor.getPluginDescriptor().getVersion() + ":" + mojoDescriptor.getGoal()); + w.writeMarkup(mojoDescriptor.getPluginDescriptor().getId() + ":" + mojoDescriptor.getGoal()); w.endElement(); // p String context = "goal " + mojoDescriptor.getGoal(); @@ -446,7 +432,6 @@ public class PluginXdocGenerator implements Generator { w.startElement("div"); if (StringUtils.isNotEmpty(parameter.getDescription())) { - w.writeMarkup(getXhtmlWithValidatedLinks(parameter.getDescription(), context)); } else { w.writeMarkup(getString("pluginxdoc.nodescription")); @@ -630,7 +615,7 @@ public class PluginXdocGenerator implements Generator { w.addAttribute("name", title); w.startElement("table"); - w.addAttribute("border", "0"); + w.addAttribute("class", "bodyTable"); w.startElement("tr"); w.startElement("th"); diff --git a/maven-plugin-tools-generators/src/main/resources/pluginxdoc.properties b/maven-plugin-tools-generators/src/main/resources/pluginxdoc.properties index d7a54967..8bab3c46 100644 --- a/maven-plugin-tools-generators/src/main/resources/pluginxdoc.properties +++ b/maven-plugin-tools-generators/src/main/resources/pluginxdoc.properties @@ -43,7 +43,7 @@ pluginxdoc.mojodescriptor.parameter.details=Parameter Details pluginxdoc.mojodescriptor.parameter.deprecated=<strong>Deprecated.</strong> {0} pluginxdoc.mojodescriptor.parameter.name=Name pluginxdoc.mojodescriptor.parameter.name_link=<code><a href="#{0}"><{0}></a></code> -pluginxdoc.mojodescriptor.parameter.name_internal=<strong><a name="{0}"><{0}></a></strong> +pluginxdoc.mojodescriptor.parameter.name_internal=<strong><a id="{0}"><{0}></a></strong> pluginxdoc.mojodescriptor.parameter.description=Description pluginxdoc.mojodescriptor.parameter.type=Type pluginxdoc.mojodescriptor.parameter.type_link=<a href="{1}">{0}</a> diff --git a/maven-plugin-tools-generators/src/test/resources/expected-testGoal-mojo.xml b/maven-plugin-tools-generators/src/test/resources/expected-testGoal-mojo.xml index fcb20034..519d6604 100644 --- a/maven-plugin-tools-generators/src/test/resources/expected-testGoal-mojo.xml +++ b/maven-plugin-tools-generators/src/test/resources/expected-testGoal-mojo.xml @@ -47,7 +47,7 @@ </li> </ul> <subsection name="Required Parameters"> - <table border="0"> + <table class="bodyTable"> <tr> <th>Name</th> <th>Type</th> @@ -81,7 +81,7 @@ </table> </subsection> <subsection name="Optional Parameters"> - <table border="0"> + <table class="bodyTable"> <tr> <th>Name</th> <th>Type</th> @@ -109,7 +109,7 @@ <subsection name="Parameter Details"> <h4> <strong> - <a name="dir"><dir></a> + <a id="dir"><dir></a> </strong> </h4> <div>Test parameter description</div> @@ -142,7 +142,7 @@ <hr/> <h4> <strong> - <a name="withoutSince"><withoutSince></a> + <a id="withoutSince"><withoutSince></a> </strong> </h4> <div>(no description)</div> diff --git a/maven-plugin-tools-java/pom.xml b/maven-plugin-tools-java/pom.xml index 35013de4..c0f3662b 100644 --- a/maven-plugin-tools-java/pom.xml +++ b/maven-plugin-tools-java/pom.xml @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-tools</artifactId> - <version>3.8.3-SNAPSHOT</version> + <version>3.9.0-SNAPSHOT</version> </parent> <artifactId>maven-plugin-tools-java</artifactId> diff --git a/maven-script/maven-plugin-tools-ant/pom.xml b/maven-script/maven-plugin-tools-ant/pom.xml index 5aeeb120..0e98093e 100644 --- a/maven-script/maven-plugin-tools-ant/pom.xml +++ b/maven-script/maven-plugin-tools-ant/pom.xml @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-script</artifactId> - <version>3.8.3-SNAPSHOT</version> + <version>3.9.0-SNAPSHOT</version> </parent> <artifactId>maven-plugin-tools-ant</artifactId> diff --git a/maven-script/maven-plugin-tools-beanshell/pom.xml b/maven-script/maven-plugin-tools-beanshell/pom.xml index 017b001b..c7acd3a5 100644 --- a/maven-script/maven-plugin-tools-beanshell/pom.xml +++ b/maven-script/maven-plugin-tools-beanshell/pom.xml @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-script</artifactId> - <version>3.8.3-SNAPSHOT</version> + <version>3.9.0-SNAPSHOT</version> </parent> <artifactId>maven-plugin-tools-beanshell</artifactId> diff --git a/maven-script/maven-plugin-tools-model/pom.xml b/maven-script/maven-plugin-tools-model/pom.xml index 9f11193d..8875bdcb 100644 --- a/maven-script/maven-plugin-tools-model/pom.xml +++ b/maven-script/maven-plugin-tools-model/pom.xml @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-script</artifactId> - <version>3.8.3-SNAPSHOT</version> + <version>3.9.0-SNAPSHOT</version> </parent> <artifactId>maven-plugin-tools-model</artifactId> diff --git a/maven-script/maven-script-ant/pom.xml b/maven-script/maven-script-ant/pom.xml index facf532e..8a0057ea 100644 --- a/maven-script/maven-script-ant/pom.xml +++ b/maven-script/maven-script-ant/pom.xml @@ -23,7 +23,7 @@ under the License. <parent> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-script</artifactId> - <version>3.8.3-SNAPSHOT</version> + <version>3.9.0-SNAPSHOT</version> </parent> <artifactId>maven-script-ant</artifactId> diff --git a/maven-script/maven-script-beanshell/pom.xml b/maven-script/maven-script-beanshell/pom.xml index 3019392c..2273f7b6 100644 --- a/maven-script/maven-script-beanshell/pom.xml +++ b/maven-script/maven-script-beanshell/pom.xml @@ -23,7 +23,7 @@ under the License. <parent> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-script</artifactId> - <version>3.8.3-SNAPSHOT</version> + <version>3.9.0-SNAPSHOT</version> </parent> <artifactId>maven-script-beanshell</artifactId> diff --git a/maven-script/pom.xml b/maven-script/pom.xml index 9bffaf08..da0cc209 100644 --- a/maven-script/pom.xml +++ b/maven-script/pom.xml @@ -23,7 +23,7 @@ under the License. <parent> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-tools</artifactId> - <version>3.8.3-SNAPSHOT</version> + <version>3.9.0-SNAPSHOT</version> </parent> <artifactId>maven-script</artifactId> diff --git a/pom.xml b/pom.xml index c5302380..b570e22d 100644 --- a/pom.xml +++ b/pom.xml @@ -29,7 +29,7 @@ <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-tools</artifactId> - <version>3.8.3-SNAPSHOT</version> + <version>3.9.0-SNAPSHOT</version> <packaging>pom</packaging> <name>Maven Plugin Tools</name> @@ -97,15 +97,13 @@ <slf4jVersion>1.7.36</slf4jVersion> <antVersion>1.10.13</antVersion> <maven.site.path>plugin-tools-archives/plugin-tools-LATEST</maven.site.path> - <!-- whenever the ASM version is updated also the - maven-plugin-tools-annotations/src/main/java/o/a/m/tools/plugins/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor#CLASS_VERSION_TO_JAVA_STRING + <!-- whenever the ASM version is updated also the + maven-plugin-tools-annotations/src/main/java/o/a/m/tools/plugins/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor#CLASS_VERSION_TO_JAVA_STRING needs to be updated as well --> <asmVersion>9.5</asmVersion> - <doxiaVersion>1.11.1</doxiaVersion> - <doxia-sitetoolsVersion>1.11.1</doxia-sitetoolsVersion> - <plexusUtilsVersion>3.5.0</plexusUtilsVersion> - <reportingApiVersion>3.1.1</reportingApiVersion> - <reportingImplVersion>3.2.0</reportingImplVersion> + <plexusUtilsVersion>3.5.1</plexusUtilsVersion> + <reportingApiVersion>4.0.0-M6</reportingApiVersion> + <reportingImplVersion>4.0.0-M8</reportingImplVersion> <project.build.outputTimestamp>2023-04-18T16:00:57Z</project.build.outputTimestamp> </properties> @@ -182,43 +180,16 @@ <artifactId>maven-settings</artifactId> <version>${mavenVersion}</version> </dependency> - <!-- doxia --> + <!-- shared --> <dependency> - <groupId>org.apache.maven.doxia</groupId> - <artifactId>doxia-sink-api</artifactId> - <version>${doxiaVersion}</version> - <exclusions> - <exclusion> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-container-default</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.maven.doxia</groupId> - <artifactId>doxia-site-renderer</artifactId> - <version>${doxia-sitetoolsVersion}</version> - <exclusions> - <exclusion> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-container-default</artifactId> - </exclusion> - <exclusion> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-component-api</artifactId> - </exclusion> - </exclusions> + <groupId>org.apache.maven.reporting</groupId> + <artifactId>maven-reporting-api</artifactId> + <version>${reportingApiVersion}</version> </dependency> <dependency> <groupId>org.apache.maven.reporting</groupId> <artifactId>maven-reporting-impl</artifactId> <version>${reportingImplVersion}</version> - <exclusions> - <exclusion> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-container-default</artifactId> - </exclusion> - </exclusions> </dependency> <dependency> @@ -245,24 +216,20 @@ <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-velocity</artifactId> - <version>1.2</version> + <version>2.0</version> <exclusions> <exclusion> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-container-default</artifactId> </exclusion> - <exclusion> - <groupId>velocity</groupId> - <artifactId>velocity</artifactId> - </exclusion> </exclusions> </dependency> <!-- other --> <dependency> <groupId>org.apache.velocity</groupId> - <artifactId>velocity</artifactId> - <version>1.7</version> + <artifactId>velocity-engine-core</artifactId> + <version>2.3</version> </dependency> <dependency>