You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2023/04/29 21:21:04 UTC
[maven-project-info-reports-plugin] 01/01: Prepare for Doxia 2.0.0
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-project-info-reports-plugin.git
commit 9f4b753c67266be767a773a70b2e0f78853daba0
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Jul 2 23:58:47 2022 +0200
Prepare for Doxia 2.0.0
---
pom.xml | 96 ++++++++-------
src/it/dependencies-java-1.7-and-1.8/verify.groovy | 28 ++---
src/it/full-pom/pom.xml | 2 +-
src/it/minimal-pom/pom.xml | 2 +-
src/it/multi-module/pom.xml | 5 +-
src/it/multi-module/verify.groovy | 4 +-
.../projectinfo/AbstractProjectInfoRenderer.java | 31 -----
.../projectinfo/AbstractProjectInfoReport.java | 30 ++---
.../report/projectinfo/DependenciesReport.java | 4 +-
.../projectinfo/DependencyConvergenceReport.java | 8 +-
.../projectinfo/DependencyManagementReport.java | 4 +-
.../maven/report/projectinfo/TeamReport.java | 2 +-
.../renderer/DependenciesRenderer.java | 133 +--------------------
.../projectinfo/AbstractProjectInfoTestCase.java | 53 ++++++--
.../report/projectinfo/CiManagementReportTest.java | 16 ++-
.../report/projectinfo/DependenciesReportTest.java | 5 +
.../DependencyConvergenceReportTest.java | 7 +-
.../DependencyManagementReportTest.java | 9 +-
.../maven/report/projectinfo/IndexReportTest.java | 9 +-
.../projectinfo/IssueManagementReportTest.java | 13 +-
.../report/projectinfo/LicensesReportTest.java | 29 +++--
.../report/projectinfo/MailingListsReportTest.java | 25 ++--
.../report/projectinfo/ModulesReportTest.java | 12 +-
.../projectinfo/PluginManagementReportTest.java | 9 +-
.../maven/report/projectinfo/ScmReportTest.java | 20 ++--
.../report/projectinfo/SummaryReportTest.java | 15 ++-
.../maven/report/projectinfo/TeamReportTest.java | 22 ++--
.../projectinfo/stubs/ProjectInfoProjectStub.java | 7 ++
.../plugin-configs/ci-management-plugin-config.xml | 3 +-
...ci-management-plugin-with-ci-section-config.xml | 3 +-
.../dependency-convergence-plugin-config.xml | 3 +-
.../dependency-management-plugin-config.xml | 1 +
.../plugin-configs/index-plugin-config.xml | 3 +-
.../issue-management-plugin-config.xml | 3 +-
.../licenses-plugin-config-linkonly.xml | 3 +-
.../plugin-configs/licenses-plugin-config.xml | 3 +-
...nfig.xml => mailing-lists-plugin-config-fr.xml} | 2 +
.../mailing-lists-plugin-config-invalidlink.xml | 1 +
.../plugin-configs/mailing-lists-plugin-config.xml | 1 +
.../plugin-configs/modules-plugin-config.xml | 6 +-
...ariable-settings-interpolated-plugin-config.xml | 8 +-
.../plugin-management-plugin-config-MPIR-375.xml | 6 +-
.../plugin-management-plugin-config.xml | 2 +-
.../resources/plugin-configs/scm-plugin-config.xml | 3 +-
.../plugin-configs/scm-wrong-url-plugin-config.xml | 3 +-
.../plugin-configs/summary-plugin-config.xml | 3 +-
.../plugin-configs/team-plugin-config.xml | 3 +-
47 files changed, 305 insertions(+), 355 deletions(-)
diff --git a/pom.xml b/pom.xml
index 701edc4..020c61e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@ under the License.
</parent>
<artifactId>maven-project-info-reports-plugin</artifactId>
- <version>3.4.4-SNAPSHOT</version>
+ <version>4.0.0-M1-SNAPSHOT</version>
<packaging>maven-plugin</packaging>
<name>Apache Maven Project Info Reports Plugin</name>
@@ -114,14 +114,15 @@ under the License.
</distributionManagement>
<properties>
- <doxiaVersion>1.11.1</doxiaVersion>
- <doxia-sitetoolsVersion>1.11.1</doxia-sitetoolsVersion>
+ <javaVersion>8</javaVersion>
+ <doxiaVersion>2.0.0-M6</doxiaVersion>
+ <doxiaSitetoolsVersion>2.0.0-M10</doxiaSitetoolsVersion>
<mavenVersion>3.2.5</mavenVersion>
<scmVersion>1.13.0</scmVersion>
<aetherVersion>1.0.0.v20140518</aetherVersion>
- <sitePluginVersion>3.12.1</sitePluginVersion>
- <fluidoSkinVersion>1.11.1</fluidoSkinVersion>
- <surefire.version>2.22.2</surefire.version>
+ <sitePluginVersion>4.0.0-M8</sitePluginVersion>
+ <fluidoSkinVersion>2.0.0-M6</fluidoSkinVersion>
+ <surefire.version>3.0.0</surefire.version>
<checkstyle.violation.ignore>ParameterNumber,MethodLength</checkstyle.violation.ignore>
<project.build.outputTimestamp>2023-04-15T14:36:20Z</project.build.outputTimestamp>
</properties>
@@ -130,12 +131,12 @@ under the License.
<dependency>
<groupId>org.apache.maven.reporting</groupId>
<artifactId>maven-reporting-api</artifactId>
- <version>3.1.1</version>
+ <version>4.0.0-M6</version>
</dependency>
<dependency>
<groupId>org.apache.maven.reporting</groupId>
<artifactId>maven-reporting-impl</artifactId>
- <version>3.2.0</version>
+ <version>4.0.0-M8</version>
<exclusions>
<exclusion>
<groupId>org.apache.maven</groupId>
@@ -322,56 +323,18 @@ under the License.
<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-core</artifactId>
<version>${doxiaVersion}</version>
- <exclusions>
- <exclusion>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-container-default</artifactId>
- </exclusion>
- </exclusions>
</dependency>
<!-- Doxia Sitetools -->
- <dependency>
- <groupId>org.apache.maven.doxia</groupId>
- <artifactId>doxia-decoration-model</artifactId>
- <version>${doxia-sitetoolsVersion}</version>
- </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>
- </dependency>
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-integration-tools</artifactId>
- <version>${doxia-sitetoolsVersion}</version>
- <exclusions>
- <exclusion>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-container-default</artifactId>
- </exclusion>
- </exclusions>
+ <version>${doxiaSitetoolsVersion}</version>
</dependency>
<!-- Plexus -->
@@ -389,7 +352,7 @@ under the License.
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
- <version>3.4.2</version>
+ <version>3.5.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
@@ -461,7 +424,7 @@ under the License.
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-http-lightweight</artifactId>
- <version>3.5.1</version>
+ <version>3.5.3</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -523,6 +486,12 @@ under the License.
<exclude>**/DependenciesReportTest*</exclude>
<!-- FIXME: missing Maven 3 class or conflict -->
</excludes>
+ <systemPropertyVariables>
+ <!-- NOTE: This is unfortunately required because httpunit forces 'file.encoding' onto all
+ file URLs without the option to read 'charset' from <meta /> or to override explicitly:
+ https://github.com/kohsuke/httpunit/blob/a2841fd31fbf3bc234bea02f6bd18a87f5ec6574/src/com/meterware/httpunit/HttpWebResponse.java#L240-L245 -->
+ <file.encoding>UTF-8</file.encoding>
+ </systemPropertyVariables>
</configuration>
</plugin>
<!-- To use Jetty SSL in tests -->
@@ -586,6 +555,35 @@ under the License.
</properties>
<build>
<plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <!--
+ This is necessary if "mvn site" has been invoked previously with 3.x
+ and leaves 0-byte files in the local repository for MRM Maven Plugin
+ to serve which are broken from a consumer's PoV.
+ -->
+ <executions>
+ <execution>
+ <id>delete-0-byte-site-descriptors</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ <phase>pre-integration-test</phase>
+ <configuration>
+ <excludeDefaultDirectories>true</excludeDefaultDirectories>
+ <filesets>
+ <fileset>
+ <directory>${settings.localRepository}/org/apache/apache</directory>
+ <includes>
+ <include>**/*-site*.xml</include>
+ </includes>
+ </fileset>
+ </filesets>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
diff --git a/src/it/dependencies-java-1.7-and-1.8/verify.groovy b/src/it/dependencies-java-1.7-and-1.8/verify.groovy
index 2edcd4e..2a344fe 100644
--- a/src/it/dependencies-java-1.7-and-1.8/verify.groovy
+++ b/src/it/dependencies-java-1.7-and-1.8/verify.groovy
@@ -19,24 +19,24 @@
File dependencies = new File( basedir, 'target/site/dependencies.html' )
def mavenModel = '''\
<tr class="a">
-<td align="left">maven-model-3.3.9.jar</td>
-<td align="right">164 kB</td>
-<td align="right">71</td>
-<td align="right">54</td>
-<td align="right">3</td>
-<td align="center">1.7</td>
-<td align="center">Yes</td></tr>
+<td style="text-align: left;">maven-model-3.3.9.jar</td>
+<td style="text-align: right;">164 kB</td>
+<td style="text-align: right;">71</td>
+<td style="text-align: right;">54</td>
+<td style="text-align: right;">3</td>
+<td style="text-align: center;">1.7</td>
+<td style="text-align: center;">Yes</td></tr>
'''
def jacksonDataTypeJsr310 = '''\
<tr class="a">
-<td align="left">jackson-datatype-jsr310-2.6.4.jar</td>
-<td align="right">78.1 kB</td>
-<td align="right">69</td>
-<td align="right">51</td>
-<td align="right">5</td>
-<td align="center">1.8</td>
-<td align="center">Yes</td></tr>
+<td style="text-align: left;">jackson-datatype-jsr310-2.6.4.jar</td>
+<td style="text-align: right;">78.1 kB</td>
+<td style="text-align: right;">69</td>
+<td style="text-align: right;">51</td>
+<td style="text-align: right;">5</td>
+<td style="text-align: center;">1.8</td>
+<td style="text-align: center;">Yes</td></tr>
'''
assert dependencies.text.contains( mavenModel.replaceAll( "\n", System.getProperty( "line.separator" ) ) )
diff --git a/src/it/full-pom/pom.xml b/src/it/full-pom/pom.xml
index c6e92f3..ff4ef62 100644
--- a/src/it/full-pom/pom.xml
+++ b/src/it/full-pom/pom.xml
@@ -174,7 +174,7 @@
<artifactId>maven-site-plugin</artifactId>
<version>@sitePluginVersion@</version>
<configuration>
- <locales>en,cs,de,en,es,fr,gl,hu,it,ja,ko,lt,nl,no,pl,pt,pt_BR,ru,sk,sv,tr,zh_CN,zh_TW</locales>
+ <locales>default,en,cs,de,en,es,fr,gl,hu,it,ja,ko,lt,nl,no,pl,pt,pt_BR,ru,sk,sv,tr,zh_CN,zh_TW</locales>
</configuration>
</plugin>
</plugins>
diff --git a/src/it/minimal-pom/pom.xml b/src/it/minimal-pom/pom.xml
index a2c013b..0c92814 100644
--- a/src/it/minimal-pom/pom.xml
+++ b/src/it/minimal-pom/pom.xml
@@ -44,7 +44,7 @@
<artifactId>maven-site-plugin</artifactId>
<version>@sitePluginVersion@</version>
<configuration>
- <locales>en,cs,de,es,fr,hu,it,ja,ko,nl,no,pl,pt,pt_BR,sk,sv,tr,zh_CN,zh_TW</locales>
+ <locales>default,en,cs,de,es,fr,hu,it,ja,ko,nl,no,pl,pt,pt_BR,sk,sv,tr,zh_CN,zh_TW</locales>
</configuration>
</plugin>
</plugins>
diff --git a/src/it/multi-module/pom.xml b/src/it/multi-module/pom.xml
index 60cd695..50d8223 100644
--- a/src/it/multi-module/pom.xml
+++ b/src/it/multi-module/pom.xml
@@ -26,7 +26,7 @@
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
- <version>16</version>
+ <version>29</version>
</parent>
<groupId>org.apache.maven.plugins.project-info-reports.its</groupId>
@@ -79,9 +79,6 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>@sitePluginVersion@</version>
- <configuration>
- <locales>en</locales>
- </configuration>
</plugin>
</plugins>
</build>
diff --git a/src/it/multi-module/verify.groovy b/src/it/multi-module/verify.groovy
index 7fdfb6b..afc2cb4 100644
--- a/src/it/multi-module/verify.groovy
+++ b/src/it/multi-module/verify.groovy
@@ -21,5 +21,5 @@ File mainDependencies = new File( basedir, 'main/target/site/dependencies.html'
// Dependency File Details section should display dep-1.0-SNAPSHOT.jar packaged from previous build (package phase),
// not dep/target/classes from current build (site phase)
-assert !mainDependencies.text.contains( '<td align="left">dep/target/classes</td>' )
-assert mainDependencies.text.contains( '<td align="left">dep-1.0-SNAPSHOT.jar</td>' )
+assert !mainDependencies.text.contains( '<td style="text-align: left;">dep/target/classes</td>' )
+assert mainDependencies.text.contains( '<td style="text-align: left;">dep-1.0-SNAPSHOT.jar</td>' )
diff --git a/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoRenderer.java b/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoRenderer.java
index c490a56..a66f8b0 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoRenderer.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoRenderer.java
@@ -92,36 +92,5 @@ public abstract class AbstractProjectInfoRenderer extends AbstractMavenReportRen
}
}
- /* FIXME The next two methods need to be retained until Doxia and Maven Reporting Impl properly implement
- * the difference of a (boxed) real verbatim text and (boxed) source code.
- */
- /**
- * {@inheritDoc}
- */
- @Override
- protected void verbatimText(String text) {
- sink.verbatim(null);
-
- text(text);
-
- sink.verbatim_();
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected void verbatimLink(String text, String href) {
- if (StringUtils.isEmpty(href)) {
- verbatimText(text);
- } else {
- sink.verbatim(null);
-
- link(href, text);
-
- sink.verbatim_();
- }
- }
-
protected abstract String getI18Nsection();
}
diff --git a/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java b/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java
index 3270a22..adad272 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java
@@ -35,6 +35,7 @@ import java.util.ResourceBundle;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Plugin;
+import org.apache.maven.plugin.MojoExecution;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
@@ -91,22 +92,17 @@ public abstract class AbstractProjectInfoReport extends AbstractMavenReport {
@Parameter(defaultValue = "${session}", readonly = true, required = true)
private MavenSession session;
+ @Parameter(defaultValue = "${project.remoteArtifactRepositories}", readonly = true, required = true)
+ protected List<ArtifactRepository> remoteRepositories;
+
/**
* Plugin repositories used for the project.
*
* @since 3.1.0
*/
- @Parameter(property = "project.pluginArtifactRepositories")
+ @Parameter(defaultValue = "${project.pluginArtifactRepositories}", readonly = true, required = true)
protected List<ArtifactRepository> pluginRepositories;
- /**
- * The reactor projects.
- *
- * @since 2.10
- */
- @Parameter(defaultValue = "${reactorProjects}", required = true, readonly = true)
- protected List<MavenProject> reactorProjects;
-
/**
* The current user system settings for use in Maven.
*
@@ -149,6 +145,12 @@ public abstract class AbstractProjectInfoReport extends AbstractMavenReport {
@Parameter
private List<LicenseMapping> licenseMappings;
+ /**
+ * The local repository.
+ */
+ @Parameter(defaultValue = "${localRepository}", readonly = true, required = true)
+ protected ArtifactRepository localRepository;
+
// ----------------------------------------------------------------------
// Public methods
// ----------------------------------------------------------------------
@@ -211,15 +213,14 @@ public abstract class AbstractProjectInfoReport extends AbstractMavenReport {
return session;
}
- /**
- * Reactor projects
- *
- * @return List of projects
- */
protected List<MavenProject> getReactorProjects() {
return reactorProjects;
}
+ protected MojoExecution getMojoExecution() {
+ return mojoExecution;
+ }
+
/**
* @param pluginId The id of the plugin
* @return The information about the plugin.
@@ -306,6 +307,7 @@ public abstract class AbstractProjectInfoReport extends AbstractMavenReport {
return getI18nString(locale, "description");
}
+ // TODO Review, especially Locale.getDefault()
private static class CustomI18N implements I18N {
private final MavenProject project;
diff --git a/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java b/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
index 7db0220..9011399 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
@@ -140,8 +140,8 @@ public class DependenciesReport extends AbstractProjectInfoReport {
projectBuilder,
repositorySystem,
resolver,
- project.getRemoteArtifactRepositories(),
- project.getPluginArtifactRepositories(),
+ remoteRepositories,
+ pluginRepositories,
buildingRequest,
repositoryMetadataManager);
diff --git a/src/main/java/org/apache/maven/report/projectinfo/DependencyConvergenceReport.java b/src/main/java/org/apache/maven/report/projectinfo/DependencyConvergenceReport.java
index 579829a..b143aa7 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/DependencyConvergenceReport.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/DependencyConvergenceReport.java
@@ -273,7 +273,7 @@ public class DependencyConvergenceReport extends AbstractProjectInfoReport {
*/
private void generateDependencyDetails(Locale locale, Sink sink, List<ReverseDependencyLink> depList) {
sink.table();
- sink.tableRows(null, false);
+ sink.tableRows();
Map<String, List<ReverseDependencyLink>> artifactMap = getSortedUniqueArtifactMap(depList);
@@ -288,7 +288,7 @@ public class DependencyConvergenceReport extends AbstractProjectInfoReport {
sink.tableCell();
sink.table();
- sink.tableRows(null, false);
+ sink.tableRows();
for (String version : artifactMap.keySet()) {
sink.tableRow();
@@ -474,7 +474,7 @@ public class DependencyConvergenceReport extends AbstractProjectInfoReport {
*/
private void generateLegend(Locale locale, Sink sink) {
sink.table();
- sink.tableRows(null, false);
+ sink.tableRows();
sink.tableCaption();
sink.bold();
sink.text(getI18nString(locale, "legend"));
@@ -514,7 +514,7 @@ public class DependencyConvergenceReport extends AbstractProjectInfoReport {
// Create report
sink.table();
- sink.tableRows(null, false);
+ sink.tableRows();
sink.tableCaption();
sink.bold();
sink.text(getI18nString(locale, "stats.caption"));
diff --git a/src/main/java/org/apache/maven/report/projectinfo/DependencyManagementReport.java b/src/main/java/org/apache/maven/report/projectinfo/DependencyManagementReport.java
index 38601fc..ca68828 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/DependencyManagementReport.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/DependencyManagementReport.java
@@ -96,8 +96,8 @@ public class DependencyManagementReport extends AbstractProjectInfoReport {
projectBuilder,
repositorySystem,
resolver,
- project.getRemoteArtifactRepositories(),
- project.getPluginArtifactRepositories(),
+ remoteRepositories,
+ pluginRepositories,
buildingRequest,
repositoryMetadataManager);
diff --git a/src/main/java/org/apache/maven/report/projectinfo/TeamReport.java b/src/main/java/org/apache/maven/report/projectinfo/TeamReport.java
index 1eefe5e..16bae2c 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/TeamReport.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/TeamReport.java
@@ -233,7 +233,7 @@ public class TeamReport extends AbstractProjectInfoReport {
if (id == null) {
tableCell(null);
} else {
- tableCell("<a name=\"" + id + "\"></a>" + id, true);
+ tableCell("<a id=\"" + id + "\"></a>" + id, true);
}
}
}
diff --git a/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java b/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
index cbe5c63..59f8d15 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
@@ -42,7 +42,6 @@ import org.apache.maven.artifact.Artifact;
import org.apache.maven.doxia.sink.Sink;
import org.apache.maven.doxia.sink.SinkEventAttributes;
import org.apache.maven.doxia.sink.impl.SinkEventAttributeSet;
-import org.apache.maven.doxia.util.HtmlTools;
import org.apache.maven.model.License;
import org.apache.maven.plugin.logging.Log;
import org.apache.maven.project.MavenProject;
@@ -93,11 +92,6 @@ public class DependenciesRenderer extends AbstractProjectInfoRenderer {
/** Used to format file length values */
private final DecimalFormat fileLengthDecimalFormat;
- /**
- * @since 2.1.1
- */
- private int section;
-
/** Counter for unique IDs that is consistent across generations. */
private int idCounter = 0;
@@ -230,117 +224,6 @@ public class DependenciesRenderer extends AbstractProjectInfoRenderer {
}
}
- // ----------------------------------------------------------------------
- // Protected methods
- // ----------------------------------------------------------------------
-
- /** {@inheritDoc} */
- // workaround for MPIR-140
- // TODO Remove me when MSHARED-390 has been resolved
- @Override
- protected void startSection(String name) {
- startSection(name, name);
- }
-
- /**
- * Start section with a name and a specific anchor.
- *
- * @param anchor not null
- * @param name not null
- */
- // TODO Remove me when MSHARED-390 has been resolved
- protected void startSection(String anchor, String name) {
- section = section + 1;
-
- super.sink.anchor(HtmlTools.encodeId(anchor));
- super.sink.anchor_();
-
- switch (section) {
- case 1:
- sink.section1();
- sink.sectionTitle1();
- break;
- case 2:
- sink.section2();
- sink.sectionTitle2();
- break;
- case 3:
- sink.section3();
- sink.sectionTitle3();
- break;
- case 4:
- sink.section4();
- sink.sectionTitle4();
- break;
- case 5:
- sink.section5();
- sink.sectionTitle5();
- break;
-
- default:
- // TODO: warning - just don't start a section
- break;
- }
-
- text(name);
-
- switch (section) {
- case 1:
- sink.sectionTitle1_();
- break;
- case 2:
- sink.sectionTitle2_();
- break;
- case 3:
- sink.sectionTitle3_();
- break;
- case 4:
- sink.sectionTitle4_();
- break;
- case 5:
- sink.sectionTitle5_();
- break;
-
- default:
- // TODO: warning - just don't start a section
- break;
- }
- }
-
- /** {@inheritDoc} */
- // workaround for MPIR-140
- // TODO Remove me when MSHARED-390 has been resolved
- @Override
- protected void endSection() {
- switch (section) {
- case 1:
- sink.section1_();
- break;
- case 2:
- sink.section2_();
- break;
- case 3:
- sink.section3_();
- break;
- case 4:
- sink.section4_();
- break;
- case 5:
- sink.section5_();
- break;
-
- default:
- // TODO: warning - just don't start a section
- break;
- }
-
- section = section - 1;
-
- if (section < 0) {
- throw new IllegalStateException("Too many closing sections");
- }
- }
-
// ----------------------------------------------------------------------
// Private methods
// ----------------------------------------------------------------------
@@ -436,7 +319,7 @@ public class DependenciesRenderer extends AbstractProjectInfoRenderer {
PrintWriter pw = new PrintWriter(sw);
pw.println("");
- pw.println("<script language=\"javascript\" type=\"text/javascript\">");
+ pw.println("<script>");
pw.println(" function toggleDependencyDetails( divId, imgId )");
pw.println(" {");
pw.println(" var div = document.getElementById( divId );");
@@ -701,7 +584,7 @@ public class DependenciesRenderer extends AbstractProjectInfoRenderer {
String anchorByScope = (isTransitive
? getI18nString("transitive.title") + "_" + scope
: getI18nString("title") + "_" + scope);
- startSection(anchorByScope, scope);
+ startSection(scope, anchorByScope);
paragraph(getI18nString("intro." + scope));
@@ -849,8 +732,7 @@ public class DependenciesRenderer extends AbstractProjectInfoRenderer {
List<License> licenses = artifactProject.getLicenses();
- sink.table();
- sink.tableRows(null, false);
+ startTable();
sink.tableRow();
sink.tableHeaderCell();
@@ -931,8 +813,7 @@ public class DependenciesRenderer extends AbstractProjectInfoRenderer {
sink.tableCell_();
sink.tableRow_();
- sink.tableRows_();
- sink.table_();
+ endTable();
} catch (ProjectBuildingException e) {
sink.text(getI18nString("index", "nodescription"));
if (log.isDebugEnabled()) {
@@ -945,8 +826,7 @@ public class DependenciesRenderer extends AbstractProjectInfoRenderer {
}
}
} else {
- sink.table();
- sink.tableRows(null, false);
+ startTable();
sink.tableRow();
sink.tableHeaderCell();
@@ -976,8 +856,7 @@ public class DependenciesRenderer extends AbstractProjectInfoRenderer {
sink.tableCell_();
sink.tableRow_();
- sink.tableRows_();
- sink.table_();
+ endTable();
}
sink.rawText("</div>");
diff --git a/src/test/java/org/apache/maven/report/projectinfo/AbstractProjectInfoTestCase.java b/src/test/java/org/apache/maven/report/projectinfo/AbstractProjectInfoTestCase.java
index b46d356..1766141 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/AbstractProjectInfoTestCase.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/AbstractProjectInfoTestCase.java
@@ -20,9 +20,16 @@ package org.apache.maven.report.projectinfo;
import java.io.File;
import java.io.IOException;
-import java.util.Locale;
+import java.util.Collections;
+import java.util.List;
+import com.meterware.httpunit.HttpUnitOptions;
+import org.apache.maven.doxia.tools.SiteTool;
+import org.apache.maven.model.Plugin;
import org.apache.maven.plugin.LegacySupport;
+import org.apache.maven.plugin.MojoExecution;
+import org.apache.maven.plugin.descriptor.MojoDescriptor;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
import org.apache.maven.plugin.testing.ArtifactStubFactory;
import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
@@ -47,11 +54,6 @@ import org.eclipse.aether.repository.LocalRepository;
public abstract class AbstractProjectInfoTestCase extends AbstractMojoTestCase {
private ArtifactStubFactory artifactStubFactory;
- /**
- * The default locale is English.
- */
- protected static final Locale DEFAULT_LOCALE = Locale.ENGLISH;
-
/**
* The current project to be test.
*/
@@ -67,14 +69,13 @@ public abstract class AbstractProjectInfoTestCase extends AbstractMojoTestCase {
// required for mojo lookups to work
super.setUp();
+ HttpUnitOptions.setScriptingEnabled(false);
+
i18n = getContainer().lookup(I18N.class);
setVariableValueToObject(i18n, "defaultBundleName", "project-info-reports");
artifactStubFactory = new DependencyArtifactStubFactory(getTestFile("target"), true, false);
artifactStubFactory.getWorkingDir().mkdirs();
-
- // Set the default Locale
- Locale.setDefault(DEFAULT_LOCALE);
}
@Override
@@ -93,7 +94,7 @@ public abstract class AbstractProjectInfoTestCase extends AbstractMojoTestCase {
throw new IllegalArgumentException("The key cannot be empty");
}
- return i18n.getString(key, Locale.getDefault()).trim();
+ return i18n.getString(key, SiteTool.DEFAULT_LOCALE).trim();
}
/**
@@ -138,7 +139,7 @@ public abstract class AbstractProjectInfoTestCase extends AbstractMojoTestCase {
File report = new File(outputDirectory, name);
if (!report.exists()) {
- throw new IOException("File not found. Attempted :" + report);
+ throw new IOException("File not found. Attempted: " + report);
}
return report;
@@ -160,7 +161,7 @@ public abstract class AbstractProjectInfoTestCase extends AbstractMojoTestCase {
protected AbstractProjectInfoReport createReportMojo(String goal, File pluginXmlFile) throws Exception {
AbstractProjectInfoReport mojo = (AbstractProjectInfoReport) lookupMojo(goal, pluginXmlFile);
- assertNotNull("Mojo found.", mojo);
+ assertNotNull("Mojo not found.", mojo);
LegacySupport legacySupport = lookup(LegacySupport.class);
legacySupport.setSession(newMavenSession(new MavenProjectStub()));
@@ -169,9 +170,19 @@ public abstract class AbstractProjectInfoTestCase extends AbstractMojoTestCase {
repoSession.setLocalRepositoryManager(new SimpleLocalRepositoryManagerFactory()
.newInstance(repoSession, new LocalRepository(artifactStubFactory.getWorkingDir())));
+ List<MavenProject> reactorProjects =
+ mojo.getReactorProjects() != null ? mojo.getReactorProjects() : Collections.emptyList();
+
+ setVariableValueToObject(mojo, "mojoExecution", getMockMojoExecution());
setVariableValueToObject(mojo, "session", legacySupport.getSession());
+ setVariableValueToObject(mojo, "repoSession", legacySupport.getRepositorySession());
+ setVariableValueToObject(mojo, "reactorProjects", reactorProjects);
+ setVariableValueToObject(
+ mojo, "remoteProjectRepositories", mojo.getProject().getRemoteProjectRepositories());
setVariableValueToObject(mojo, "remoteRepositories", mojo.getProject().getRemoteArtifactRepositories());
setVariableValueToObject(mojo, "pluginRepositories", mojo.getProject().getPluginArtifactRepositories());
+ setVariableValueToObject(
+ mojo, "siteDirectory", new File(mojo.getProject().getBasedir(), "src/site"));
return mojo;
}
@@ -190,4 +201,22 @@ public abstract class AbstractProjectInfoTestCase extends AbstractMojoTestCase {
return new File(outputDir, filename);
}
+
+ private MojoExecution getMockMojoExecution() {
+ MojoDescriptor md = new MojoDescriptor();
+ md.setGoal(getGoal());
+
+ MojoExecution me = new MojoExecution(md);
+
+ PluginDescriptor pd = new PluginDescriptor();
+ Plugin p = new Plugin();
+ p.setGroupId("org.apache.maven.plugins");
+ p.setArtifactId("maven-project-info-reports-plugin");
+ pd.setPlugin(p);
+ md.setPluginDescriptor(pd);
+
+ return me;
+ }
+
+ protected abstract String getGoal();
}
diff --git a/src/test/java/org/apache/maven/report/projectinfo/CiManagementReportTest.java b/src/test/java/org/apache/maven/report/projectinfo/CiManagementReportTest.java
index 6b6b4bf..93cea2b 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/CiManagementReportTest.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/CiManagementReportTest.java
@@ -65,8 +65,8 @@ public class CiManagementReportTest extends AbstractProjectInfoTestCase {
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
- assertEquals(getString("report.ci-management.name"), textBlocks[0].getText());
- assertEquals(getString("report.ci-management.nocim"), textBlocks[1].getText());
+ assertEquals(getString("report.ci-management.name"), textBlocks[1].getText());
+ assertEquals(getString("report.ci-management.nocim"), textBlocks[2].getText());
}
/**
@@ -93,11 +93,17 @@ public class CiManagementReportTest extends AbstractProjectInfoTestCase {
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
- assertTrue(textBlocks[1].getText().startsWith("This project uses "));
- assertEquals(3, textBlocks[1].getNode().getChildNodes().getLength());
+ TextBlock textBlock = textBlocks[2];
+ assertTrue(textBlock.getText().startsWith("This project uses "));
+ assertEquals(3, textBlock.getNode().getChildNodes().getLength());
HTMLAnchorElement anchor =
- (HTMLAnchorElement) textBlocks[1].getNode().getChildNodes().item(1);
+ (HTMLAnchorElement) textBlock.getNode().getChildNodes().item(1);
assertEquals("https://www.jetbrains.com/teamcity/", anchor.getAttribute("href"));
assertEquals("TeamCity", anchor.getFirstChild().getNodeValue());
}
+
+ @Override
+ protected String getGoal() {
+ return "ci-management";
+ }
}
diff --git a/src/test/java/org/apache/maven/report/projectinfo/DependenciesReportTest.java b/src/test/java/org/apache/maven/report/projectinfo/DependenciesReportTest.java
index 445cbec..09d75be 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/DependenciesReportTest.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/DependenciesReportTest.java
@@ -83,4 +83,9 @@ public class DependenciesReportTest extends AbstractProjectInfoTestCase {
assertEquals(getString("report.dependencies.graph.tree.title"), textBlocks[6].getText());
assertEquals(getString("report.dependencies.graph.tables.licenses"), textBlocks[7].getText());
}
+
+ @Override
+ protected String getGoal() {
+ return "dependencies";
+ }
}
diff --git a/src/test/java/org/apache/maven/report/projectinfo/DependencyConvergenceReportTest.java b/src/test/java/org/apache/maven/report/projectinfo/DependencyConvergenceReportTest.java
index c4df533..3927a25 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/DependencyConvergenceReportTest.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/DependencyConvergenceReportTest.java
@@ -67,6 +67,11 @@ public class DependencyConvergenceReportTest extends AbstractProjectInfoTestCase
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
- assertEquals(getString("report.dependency-convergence.reactor.name"), textBlocks[0].getText());
+ assertEquals(getString("report.dependency-convergence.reactor.name"), textBlocks[1].getText());
+ }
+
+ @Override
+ protected String getGoal() {
+ return "dependency-convergence";
}
}
diff --git a/src/test/java/org/apache/maven/report/projectinfo/DependencyManagementReportTest.java b/src/test/java/org/apache/maven/report/projectinfo/DependencyManagementReportTest.java
index d3075aa..7b0d26d 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/DependencyManagementReportTest.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/DependencyManagementReportTest.java
@@ -80,7 +80,12 @@ public class DependencyManagementReportTest extends AbstractProjectInfoTestCase
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
- assertEquals(getString("report.dependency-management.title"), textBlocks[0].getText());
- assertEquals("test", textBlocks[1].getText());
+ assertEquals(getString("report.dependency-management.title"), textBlocks[1].getText());
+ assertEquals("test", textBlocks[2].getText());
+ }
+
+ @Override
+ protected String getGoal() {
+ return "dependency-management";
}
}
diff --git a/src/test/java/org/apache/maven/report/projectinfo/IndexReportTest.java b/src/test/java/org/apache/maven/report/projectinfo/IndexReportTest.java
index e7aee3a..01f611f 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/IndexReportTest.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/IndexReportTest.java
@@ -65,7 +65,12 @@ public class IndexReportTest extends AbstractProjectInfoTestCase {
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
assertEquals(
- getString("report.index.title") + " " + getTestMavenProject().getName(), textBlocks[0].getText());
- assertEquals(getString("report.index.nodescription"), textBlocks[1].getText());
+ getString("report.index.title") + " " + getTestMavenProject().getName(), textBlocks[1].getText());
+ assertEquals(getString("report.index.nodescription"), textBlocks[2].getText());
+ }
+
+ @Override
+ protected String getGoal() {
+ return "index";
}
}
diff --git a/src/test/java/org/apache/maven/report/projectinfo/IssueManagementReportTest.java b/src/test/java/org/apache/maven/report/projectinfo/IssueManagementReportTest.java
index abc506f..b1e0185 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/IssueManagementReportTest.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/IssueManagementReportTest.java
@@ -67,7 +67,7 @@ public class IssueManagementReportTest extends AbstractProjectInfoTestCase {
// Test the links
WebLink[] weblinks = response.getLinks();
- assertEquals(3, weblinks.length);
+ assertEquals(4, weblinks.length);
assertEquals("JIRA", weblinks[1].getText());
@@ -75,8 +75,13 @@ public class IssueManagementReportTest extends AbstractProjectInfoTestCase {
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
- assertEquals(getString("report.issue-management.overview.title"), textBlocks[0].getText());
- assertEquals("This project uses JIRA.", textBlocks[1].getText()); // due to link pattern
- assertEquals(getString("report.issue-management.name"), textBlocks[2].getText());
+ assertEquals(getString("report.issue-management.overview.title"), textBlocks[1].getText());
+ assertEquals("This project uses JIRA.", textBlocks[2].getText()); // due to link pattern
+ assertEquals(getString("report.issue-management.name"), textBlocks[3].getText());
+ }
+
+ @Override
+ protected String getGoal() {
+ return "issue-management";
}
}
diff --git a/src/test/java/org/apache/maven/report/projectinfo/LicensesReportTest.java b/src/test/java/org/apache/maven/report/projectinfo/LicensesReportTest.java
index b487eb1..23dc4f1 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/LicensesReportTest.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/LicensesReportTest.java
@@ -64,15 +64,15 @@ public class LicensesReportTest extends AbstractProjectInfoTestCase {
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
- assertEquals(getString("report.licenses.overview.title"), textBlocks[0].getText());
- assertEquals(getString("report.licenses.overview.intro"), textBlocks[1].getText());
- assertEquals(getString("report.licenses.title"), textBlocks[2].getText());
- assertEquals("The Apache Software License, Version 2.0", textBlocks[3].getText());
+ assertEquals(getString("report.licenses.overview.title"), textBlocks[1].getText());
+ assertEquals(getString("report.licenses.overview.intro"), textBlocks[2].getText());
+ assertEquals(getString("report.licenses.title"), textBlocks[3].getText());
+ assertEquals("The Apache Software License, Version 2.0", textBlocks[4].getText());
// only 1 link in default report
final WebLink[] links = response.getLinks();
- assertEquals(1, links.length);
- assertEquals("http://maven.apache.org/", links[0].getURLString());
+ assertEquals(2, links.length);
+ assertEquals("http://maven.apache.org/", links[1].getURLString());
}
public void testReportLinksOnly() throws Exception {
@@ -96,16 +96,21 @@ public class LicensesReportTest extends AbstractProjectInfoTestCase {
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
- assertEquals(getString("report.licenses.overview.title"), textBlocks[0].getText());
- assertEquals(getString("report.licenses.overview.intro"), textBlocks[1].getText());
- assertEquals(getString("report.licenses.title"), textBlocks[2].getText());
- assertEquals("The Apache Software License, Version 2.0", textBlocks[3].getText());
+ assertEquals(getString("report.licenses.overview.title"), textBlocks[1].getText());
+ assertEquals(getString("report.licenses.overview.intro"), textBlocks[2].getText());
+ assertEquals(getString("report.licenses.title"), textBlocks[3].getText());
+ assertEquals("The Apache Software License, Version 2.0", textBlocks[4].getText());
// here's our specific test
final WebLink[] links = response.getLinks();
- assertEquals(2, links.length);
- assertEquals("http://maven.apache.org/", links[0].getURLString());
+ assertEquals(3, links.length);
+ assertEquals("http://maven.apache.org", links[0].getURLString());
assertEquals("https://www.apache.org/licenses/LICENSE-2.0.txt", links[1].getURLString());
assertEquals("https://www.apache.org/licenses/LICENSE-2.0.txt", links[1].getText());
}
+
+ @Override
+ protected String getGoal() {
+ return "licenses";
+ }
}
diff --git a/src/test/java/org/apache/maven/report/projectinfo/MailingListsReportTest.java b/src/test/java/org/apache/maven/report/projectinfo/MailingListsReportTest.java
index 6404eae..22f30fa 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/MailingListsReportTest.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/MailingListsReportTest.java
@@ -19,7 +19,6 @@
package org.apache.maven.report.projectinfo;
import java.net.URL;
-import java.util.Locale;
import com.meterware.httpunit.GetMethodWebRequest;
import com.meterware.httpunit.TextBlock;
@@ -66,8 +65,8 @@ public class MailingListsReportTest extends AbstractProjectInfoTestCase {
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
- assertEquals(getString("report.mailing-lists.title"), textBlocks[0].getText());
- assertEquals(getString("report.mailing-lists.intro"), textBlocks[1].getText());
+ assertEquals(getString("report.mailing-lists.title"), textBlocks[1].getText());
+ assertEquals(getString("report.mailing-lists.intro"), textBlocks[2].getText());
// MPIR-385 + MPIR-401: Test links are URIs otherwise assume a plain email address
String post = getString("report.mailing-lists.column.post");
@@ -90,18 +89,9 @@ public class MailingListsReportTest extends AbstractProjectInfoTestCase {
* @throws Exception if any
*/
public void testFrenchReport() throws Exception {
- Locale oldLocale = Locale.getDefault();
-
- try {
- Locale.setDefault(Locale.FRENCH);
-
- generateReport("mailing-lists", "mailing-lists-plugin-config.xml");
- assertTrue(
- "Test html generated",
- getGeneratedReport("mailing-lists.html").exists());
- } finally {
- Locale.setDefault(oldLocale);
- }
+ generateReport("mailing-lists", "mailing-lists-plugin-config-fr.xml");
+ assertTrue(
+ "Test html generated", getGeneratedReport("mailing-lists.html").exists());
}
/**
@@ -114,4 +104,9 @@ public class MailingListsReportTest extends AbstractProjectInfoTestCase {
assertTrue(
"Test html generated", getGeneratedReport("mailing-lists.html").exists());
}
+
+ @Override
+ protected String getGoal() {
+ return "mailing-lists";
+ }
}
diff --git a/src/test/java/org/apache/maven/report/projectinfo/ModulesReportTest.java b/src/test/java/org/apache/maven/report/projectinfo/ModulesReportTest.java
index 79a3b4a..85f4bc7 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/ModulesReportTest.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/ModulesReportTest.java
@@ -78,9 +78,10 @@ public class ModulesReportTest extends AbstractProjectInfoTestCase {
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
- assertEquals(2, textBlocks.length);
- assertEquals(getString("report.modules.title"), textBlocks[0].getText());
- assertEquals(getString("report.modules.intro"), textBlocks[1].getText());
+ // Last one is footer noise
+ assertEquals(4, textBlocks.length - 1);
+ assertEquals(getString("report.modules.title"), textBlocks[1].getText());
+ assertEquals(getString("report.modules.intro"), textBlocks[2].getText());
String[][] cellTexts = response.getTables()[0].asText();
assertEquals(3, cellTexts.length);
@@ -124,4 +125,9 @@ public class ModulesReportTest extends AbstractProjectInfoTestCase {
"Variable 'sitePublishLocation' should be interpolated",
FileUtils.readFileToString(getGeneratedReport("modules.html")).contains("sitePublishLocation"));
}
+
+ @Override
+ protected String getGoal() {
+ return "modules";
+ }
}
diff --git a/src/test/java/org/apache/maven/report/projectinfo/PluginManagementReportTest.java b/src/test/java/org/apache/maven/report/projectinfo/PluginManagementReportTest.java
index 4fa7704..0635538 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/PluginManagementReportTest.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/PluginManagementReportTest.java
@@ -104,7 +104,7 @@ public class PluginManagementReportTest extends AbstractProjectInfoTestCase {
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
- assertEquals(getString("report.plugin-management.title"), textBlocks[0].getText());
+ assertEquals(getString("report.plugin-management.title"), textBlocks[1].getText());
}
/**
@@ -149,7 +149,7 @@ public class PluginManagementReportTest extends AbstractProjectInfoTestCase {
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
- assertEquals(getString("report.plugin-management.title"), textBlocks[0].getText());
+ assertEquals(getString("report.plugin-management.title"), textBlocks[1].getText());
}
private static ProjectBuildingResult createProjectBuildingResult(Artifact artifact, String url) {
@@ -164,4 +164,9 @@ public class PluginManagementReportTest extends AbstractProjectInfoTestCase {
return result;
}
+
+ @Override
+ protected String getGoal() {
+ return "plugin-management";
+ }
}
diff --git a/src/test/java/org/apache/maven/report/projectinfo/ScmReportTest.java b/src/test/java/org/apache/maven/report/projectinfo/ScmReportTest.java
index 506496c..33c213c 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/ScmReportTest.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/ScmReportTest.java
@@ -65,13 +65,14 @@ public class ScmReportTest extends AbstractProjectInfoTestCase {
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
- assertEquals(6, textBlocks.length);
- assertEquals(getString("report.scm.overview.title"), textBlocks[0].getText());
- assertEquals(getString("report.scm.general.intro"), textBlocks[1].getText());
- assertEquals(getString("report.scm.webaccess.title"), textBlocks[2].getText());
- assertEquals(getString("report.scm.webaccess.nourl"), textBlocks[3].getText());
- assertEquals(getString("report.scm.accessbehindfirewall.title"), textBlocks[4].getText());
- assertEquals(getString("report.scm.accessbehindfirewall.general.intro"), textBlocks[5].getText());
+ // Last one is footer noise
+ assertEquals(8, textBlocks.length - 1);
+ assertEquals(getString("report.scm.overview.title"), textBlocks[1].getText());
+ assertEquals(getString("report.scm.general.intro"), textBlocks[2].getText());
+ assertEquals(getString("report.scm.webaccess.title"), textBlocks[3].getText());
+ assertEquals(getString("report.scm.webaccess.nourl"), textBlocks[4].getText());
+ assertEquals(getString("report.scm.accessbehindfirewall.title"), textBlocks[5].getText());
+ assertEquals(getString("report.scm.accessbehindfirewall.general.intro"), textBlocks[6].getText());
}
/**
@@ -118,4 +119,9 @@ public class ScmReportTest extends AbstractProjectInfoTestCase {
assertTrue("IllegalArgumentException catched", true);
}
}
+
+ @Override
+ protected String getGoal() {
+ return "scm";
+ }
}
diff --git a/src/test/java/org/apache/maven/report/projectinfo/SummaryReportTest.java b/src/test/java/org/apache/maven/report/projectinfo/SummaryReportTest.java
index 878025c..6e3512e 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/SummaryReportTest.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/SummaryReportTest.java
@@ -64,10 +64,15 @@ public class SummaryReportTest extends AbstractProjectInfoTestCase {
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
- assertEquals(getString("report.summary.title"), textBlocks[0].getText());
- assertEquals(getString("report.summary.general.title"), textBlocks[1].getText());
- assertEquals(getString("report.summary.organization.title"), textBlocks[2].getText());
- assertEquals(getString("report.summary.noorganization"), textBlocks[3].getText());
- assertEquals(getString("report.summary.build.title"), textBlocks[4].getText());
+ assertEquals(getString("report.summary.title"), textBlocks[1].getText());
+ assertEquals(getString("report.summary.general.title"), textBlocks[2].getText());
+ assertEquals(getString("report.summary.organization.title"), textBlocks[3].getText());
+ assertEquals(getString("report.summary.noorganization"), textBlocks[4].getText());
+ assertEquals(getString("report.summary.build.title"), textBlocks[5].getText());
+ }
+
+ @Override
+ protected String getGoal() {
+ return "summary";
}
}
diff --git a/src/test/java/org/apache/maven/report/projectinfo/TeamReportTest.java b/src/test/java/org/apache/maven/report/projectinfo/TeamReportTest.java
index e0b2c2a..0ad9062 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/TeamReportTest.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/TeamReportTest.java
@@ -72,14 +72,15 @@ public class TeamReportTest extends AbstractProjectInfoTestCase {
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
- assertEquals(7, textBlocks.length);
- assertEquals(getString("report.team.intro.title"), textBlocks[0].getText());
- assertEquals(getString("report.team.intro.description1"), textBlocks[1].getText());
- assertEquals(getString("report.team.intro.description2"), textBlocks[2].getText());
- assertEquals(getString("report.team.developers.title"), textBlocks[3].getText());
- assertEquals(getString("report.team.developers.intro"), textBlocks[4].getText());
- assertEquals(getString("report.team.contributors.title"), textBlocks[5].getText());
- assertEquals(getString("report.team.nocontributor"), textBlocks[6].getText());
+ // Last one is footer noise
+ assertEquals(9, textBlocks.length - 1);
+ assertEquals(getString("report.team.intro.title"), textBlocks[1].getText());
+ assertEquals(getString("report.team.intro.description1"), textBlocks[2].getText());
+ assertEquals(getString("report.team.intro.description2"), textBlocks[3].getText());
+ assertEquals(getString("report.team.developers.title"), textBlocks[4].getText());
+ assertEquals(getString("report.team.developers.intro"), textBlocks[5].getText());
+ assertEquals(getString("report.team.contributors.title"), textBlocks[6].getText());
+ assertEquals(getString("report.team.nocontributor"), textBlocks[7].getText());
WebTable[] tables = response.getTables();
assertEquals(1, tables.length);
@@ -89,4 +90,9 @@ public class TeamReportTest extends AbstractProjectInfoTestCase {
assertEquals(1, links.length);
assertEquals("mailto:vsiveton@apache.org", links[0].getURLString());
}
+
+ @Override
+ protected String getGoal() {
+ return "team";
+ }
}
diff --git a/src/test/java/org/apache/maven/report/projectinfo/stubs/ProjectInfoProjectStub.java b/src/test/java/org/apache/maven/report/projectinfo/stubs/ProjectInfoProjectStub.java
index 14b4006..5df9241 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/stubs/ProjectInfoProjectStub.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/stubs/ProjectInfoProjectStub.java
@@ -25,6 +25,7 @@ import java.util.List;
import java.util.Objects;
import java.util.Set;
+import org.apache.maven.RepositoryUtils;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.DefaultArtifact;
import org.apache.maven.artifact.handler.DefaultArtifactHandler;
@@ -42,6 +43,7 @@ import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
import org.apache.maven.shared.utils.io.IOUtil;
import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.xml.XmlStreamReader;
+import org.eclipse.aether.repository.RemoteRepository;
/**
* @author Edwin Punzalan
@@ -150,6 +152,11 @@ public abstract class ProjectInfoProjectStub extends MavenProjectStub {
return Collections.singletonList(repository);
}
+ @Override
+ public List<RemoteRepository> getRemoteProjectRepositories() {
+ return RepositoryUtils.toRepos(getRemoteArtifactRepositories());
+ }
+
@Override
public Set<Artifact> getDependencyArtifacts() {
Artifact artifact = new DefaultArtifact(
diff --git a/src/test/resources/plugin-configs/ci-management-plugin-config.xml b/src/test/resources/plugin-configs/ci-management-plugin-config.xml
index 1aede55..56eff3d 100644
--- a/src/test/resources/plugin-configs/ci-management-plugin-config.xml
+++ b/src/test/resources/plugin-configs/ci-management-plugin-config.xml
@@ -24,6 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>ci mangement project info</name>
+ <url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -44,4 +45,4 @@ under the License.
</plugin>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>
diff --git a/src/test/resources/plugin-configs/ci-management-plugin-with-ci-section-config.xml b/src/test/resources/plugin-configs/ci-management-plugin-with-ci-section-config.xml
index 3ec898e..b329f91 100644
--- a/src/test/resources/plugin-configs/ci-management-plugin-with-ci-section-config.xml
+++ b/src/test/resources/plugin-configs/ci-management-plugin-with-ci-section-config.xml
@@ -24,6 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>ci management project info</name>
+ <url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -48,4 +49,4 @@ under the License.
<system>TeamCity</system>
<url>https://example.com</url>
</ciManagement>
-</project>
\ No newline at end of file
+</project>
diff --git a/src/test/resources/plugin-configs/dependency-convergence-plugin-config.xml b/src/test/resources/plugin-configs/dependency-convergence-plugin-config.xml
index 831f98e..e252f05 100644
--- a/src/test/resources/plugin-configs/dependency-convergence-plugin-config.xml
+++ b/src/test/resources/plugin-configs/dependency-convergence-plugin-config.xml
@@ -24,6 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>dependency convergence project info</name>
+ <url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -48,4 +49,4 @@ under the License.
</plugin>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>
diff --git a/src/test/resources/plugin-configs/dependency-management-plugin-config.xml b/src/test/resources/plugin-configs/dependency-management-plugin-config.xml
index 867689a..7630a65 100644
--- a/src/test/resources/plugin-configs/dependency-management-plugin-config.xml
+++ b/src/test/resources/plugin-configs/dependency-management-plugin-config.xml
@@ -24,6 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>dependency management project info</name>
+ <url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
diff --git a/src/test/resources/plugin-configs/index-plugin-config.xml b/src/test/resources/plugin-configs/index-plugin-config.xml
index 7827725..7cc0fc5 100644
--- a/src/test/resources/plugin-configs/index-plugin-config.xml
+++ b/src/test/resources/plugin-configs/index-plugin-config.xml
@@ -24,6 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>index project info</name>
+ <url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -44,4 +45,4 @@ under the License.
</plugin>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>
diff --git a/src/test/resources/plugin-configs/issue-management-plugin-config.xml b/src/test/resources/plugin-configs/issue-management-plugin-config.xml
index 889df8c..56c6f49 100644
--- a/src/test/resources/plugin-configs/issue-management-plugin-config.xml
+++ b/src/test/resources/plugin-configs/issue-management-plugin-config.xml
@@ -24,6 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>issue management project info</name>
+ <url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -48,4 +49,4 @@ under the License.
</plugin>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>
diff --git a/src/test/resources/plugin-configs/licenses-plugin-config-linkonly.xml b/src/test/resources/plugin-configs/licenses-plugin-config-linkonly.xml
index a6be1a9..62c3265 100644
--- a/src/test/resources/plugin-configs/licenses-plugin-config-linkonly.xml
+++ b/src/test/resources/plugin-configs/licenses-plugin-config-linkonly.xml
@@ -24,6 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>licenses project info</name>
+ <url>http://maven.apache.org</url>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
@@ -54,4 +55,4 @@ under the License.
</plugin>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>
diff --git a/src/test/resources/plugin-configs/licenses-plugin-config.xml b/src/test/resources/plugin-configs/licenses-plugin-config.xml
index 88028d4..d03ba8e 100644
--- a/src/test/resources/plugin-configs/licenses-plugin-config.xml
+++ b/src/test/resources/plugin-configs/licenses-plugin-config.xml
@@ -24,6 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>licenses project info</name>
+ <url>http://maven.apache.org</url>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
@@ -53,4 +54,4 @@ under the License.
</plugin>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>
diff --git a/src/test/resources/plugin-configs/mailing-lists-plugin-config.xml b/src/test/resources/plugin-configs/mailing-lists-plugin-config-fr.xml
similarity index 97%
copy from src/test/resources/plugin-configs/mailing-lists-plugin-config.xml
copy to src/test/resources/plugin-configs/mailing-lists-plugin-config-fr.xml
index 2cd6e45..c50e7eb 100644
--- a/src/test/resources/plugin-configs/mailing-lists-plugin-config.xml
+++ b/src/test/resources/plugin-configs/mailing-lists-plugin-config-fr.xml
@@ -24,6 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>mailing lists project info</name>
+ <url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -52,6 +53,7 @@ under the License.
<configuration>
<outputDirectory>target/test-harness/mailing-lists</outputDirectory>
<localRepository>${localRepository}</localRepository>
+ <locale>fr</locale>
<project implementation="org.apache.maven.report.projectinfo.stubs.MailingListsStub"/>
</configuration>
</plugin>
diff --git a/src/test/resources/plugin-configs/mailing-lists-plugin-config-invalidlink.xml b/src/test/resources/plugin-configs/mailing-lists-plugin-config-invalidlink.xml
index 6f4cde9..3ed9413 100644
--- a/src/test/resources/plugin-configs/mailing-lists-plugin-config-invalidlink.xml
+++ b/src/test/resources/plugin-configs/mailing-lists-plugin-config-invalidlink.xml
@@ -24,6 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>mailing lists project info</name>
+ <url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
diff --git a/src/test/resources/plugin-configs/mailing-lists-plugin-config.xml b/src/test/resources/plugin-configs/mailing-lists-plugin-config.xml
index 2cd6e45..c35c710 100644
--- a/src/test/resources/plugin-configs/mailing-lists-plugin-config.xml
+++ b/src/test/resources/plugin-configs/mailing-lists-plugin-config.xml
@@ -24,6 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>mailing lists project info</name>
+ <url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
diff --git a/src/test/resources/plugin-configs/modules-plugin-config.xml b/src/test/resources/plugin-configs/modules-plugin-config.xml
index b78319e..1340a64 100644
--- a/src/test/resources/plugin-configs/modules-plugin-config.xml
+++ b/src/test/resources/plugin-configs/modules-plugin-config.xml
@@ -24,7 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>modules project info</name>
-
+ <url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -33,12 +33,10 @@ under the License.
<scope>test</scope>
</dependency>
</dependencies>
-
<modules>
<module>subproject1</module>
<module>subproject2</module>
</modules>
-
<build>
<plugins>
<plugin>
@@ -51,4 +49,4 @@ under the License.
</plugin>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>
diff --git a/src/test/resources/plugin-configs/modules-variable-settings-interpolated-plugin-config.xml b/src/test/resources/plugin-configs/modules-variable-settings-interpolated-plugin-config.xml
index 318521c..1560b78 100644
--- a/src/test/resources/plugin-configs/modules-variable-settings-interpolated-plugin-config.xml
+++ b/src/test/resources/plugin-configs/modules-variable-settings-interpolated-plugin-config.xml
@@ -24,7 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>modules project info</name>
-
+ <url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -33,11 +33,9 @@ under the License.
<scope>test</scope>
</dependency>
</dependencies>
-
<modules>
<module>subproject-site-url</module>
</modules>
-
<build>
<plugins>
<plugin>
@@ -51,12 +49,10 @@ under the License.
</plugin>
</plugins>
</build>
-
<distributionManagement>
<site>
<id>projectSite</id>
<url>${sitePublishLocation}/foo/${project.artifactId}</url>
</site>
</distributionManagement>
-
-</project>
\ No newline at end of file
+</project>
diff --git a/src/test/resources/plugin-configs/plugin-management-plugin-config-MPIR-375.xml b/src/test/resources/plugin-configs/plugin-management-plugin-config-MPIR-375.xml
index fc99bcd..114447a 100644
--- a/src/test/resources/plugin-configs/plugin-management-plugin-config-MPIR-375.xml
+++ b/src/test/resources/plugin-configs/plugin-management-plugin-config-MPIR-375.xml
@@ -24,11 +24,11 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>plugin management project info</name>
-
+ <url>http://maven.apache.org</url>
<build>
<pluginManagement>
<plugins>
- <!--This plugin's configuration is used to store Eclipse m2e settings only.
+ <!--This plugin's configuration is used to store Eclipse m2e settings only.
It has no influence on the Maven build itself. -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
@@ -71,7 +71,7 @@ under the License.
<outputDirectory>target/test-harness/plugin-management</outputDirectory>
<localRepository>${localRepository}</localRepository>
<project implementation="org.apache.maven.report.projectinfo.stubs.PluginManagementMPIR375Stub"/>
-
+
<pluginManagementExcludes>
<pluginManagementExclude>org.eclipse.m2e:lifecycle-mapping</pluginManagementExclude>
</pluginManagementExcludes>
diff --git a/src/test/resources/plugin-configs/plugin-management-plugin-config.xml b/src/test/resources/plugin-configs/plugin-management-plugin-config.xml
index c06ed75..ac962fe 100644
--- a/src/test/resources/plugin-configs/plugin-management-plugin-config.xml
+++ b/src/test/resources/plugin-configs/plugin-management-plugin-config.xml
@@ -24,6 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>plugin management project info</name>
+ <url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -31,7 +32,6 @@ under the License.
<version>3.8.1</version>
</dependency>
</dependencies>
-
<build>
<pluginManagement>
<plugins>
diff --git a/src/test/resources/plugin-configs/scm-plugin-config.xml b/src/test/resources/plugin-configs/scm-plugin-config.xml
index cc4fa04..6f0cded 100644
--- a/src/test/resources/plugin-configs/scm-plugin-config.xml
+++ b/src/test/resources/plugin-configs/scm-plugin-config.xml
@@ -24,6 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>scm project info</name>
+ <url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -50,4 +51,4 @@ under the License.
</plugin>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>
diff --git a/src/test/resources/plugin-configs/scm-wrong-url-plugin-config.xml b/src/test/resources/plugin-configs/scm-wrong-url-plugin-config.xml
index ce9c1eb..ceaf5ae 100644
--- a/src/test/resources/plugin-configs/scm-wrong-url-plugin-config.xml
+++ b/src/test/resources/plugin-configs/scm-wrong-url-plugin-config.xml
@@ -24,6 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>scm project info</name>
+ <url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -45,4 +46,4 @@ under the License.
</plugin>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>
diff --git a/src/test/resources/plugin-configs/summary-plugin-config.xml b/src/test/resources/plugin-configs/summary-plugin-config.xml
index d47e9c8..e53e574 100644
--- a/src/test/resources/plugin-configs/summary-plugin-config.xml
+++ b/src/test/resources/plugin-configs/summary-plugin-config.xml
@@ -24,6 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>summary project info</name>
+ <url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -44,4 +45,4 @@ under the License.
</plugin>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>
diff --git a/src/test/resources/plugin-configs/team-plugin-config.xml b/src/test/resources/plugin-configs/team-plugin-config.xml
index f94a7b6..d6f2f89 100644
--- a/src/test/resources/plugin-configs/team-plugin-config.xml
+++ b/src/test/resources/plugin-configs/team-plugin-config.xml
@@ -24,6 +24,7 @@ under the License.
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>team project info</name>
+ <url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -61,4 +62,4 @@ under the License.
</plugin>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>