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 2022/07/30 19:58:52 UTC
[maven-jxr] 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-jxr.git
commit 3af21071958ef2a3cd43f4e4d9c7e38bc9a4355e
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Jul 30 21:58:41 2022 +0200
Prepare for Doxia 2.0.0
---
maven-jxr-plugin/pom.xml | 34 +++--
.../apache/maven/plugin/jxr/AbstractJxrReport.java | 97 ++-----------
.../maven/plugin/jxr/AbstractJxrTestCase.java | 159 +++++++++++++++++++++
.../plugin/jxr/DependencyArtifactStubFactory.java | 69 +++++++++
.../org/apache/maven/plugin/jxr/JxrReportTest.java | 67 ++-------
.../apache/maven/plugin/jxr/JxrTestReportTest.java | 16 +--
.../ExcludeConfigurationMavenProjectStub.java | 4 +-
.../IncludeConfigurationMavenProjectStub.java | 4 +-
.../maven/plugin/jxr/stubs/JxrProjectStub.java | 23 +++
.../jxr/stubs/NoJavadocDirMavenProjectStub.java | 2 +-
.../jxr/stubs/TestSourceDirMavenProjectStub.java | 6 +-
.../aggregate-test-plugin-config.xml | 3 +-
.../default-configuration-plugin-config-4.xml | 1 +
.../default-configuration-plugin-config-6.xml | 1 +
.../default-configuration-plugin-config-7.xml | 1 +
.../default-configuration-plugin-config-8.xml | 1 +
.../default-configuration-plugin-config.xml | 1 +
.../exception-test-plugin-config.xml | 1 +
.../exclude-configuration-plugin-config.xml | 1 +
.../include-configuration-plugin-config.xml | 1 +
.../nojavadocdir-test-plugin-config.xml | 1 +
.../nojavadoclink-configuration-plugin-config.xml | 1 +
.../unit/pom-test/pom-test-plugin-config.xml | 1 +
.../testsourcedir-test-plugin-config.xml | 1 +
pom.xml | 2 +-
25 files changed, 326 insertions(+), 172 deletions(-)
diff --git a/maven-jxr-plugin/pom.xml b/maven-jxr-plugin/pom.xml
index 7feeb89..0a219e3 100644
--- a/maven-jxr-plugin/pom.xml
+++ b/maven-jxr-plugin/pom.xml
@@ -37,6 +37,7 @@ under the License.
<properties>
<mavenVersion>3.2.5</mavenVersion>
+ <aetherVersion>1.0.0.v20140518</aetherVersion>
</properties>
<prerequisites>
@@ -88,13 +89,7 @@ under the License.
<dependency>
<groupId>org.apache.maven.reporting</groupId>
<artifactId>maven-reporting-impl</artifactId>
- <version>3.1.0</version>
- <exclusions>
- <exclusion>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-container-default</artifactId>
- </exclusion>
- </exclusions>
+ <version>4.0.0-M2</version>
</dependency>
<!-- shared utils -->
@@ -126,6 +121,30 @@ under the License.
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.eclipse.aether</groupId>
+ <artifactId>aether-impl</artifactId>
+ <version>${aetherVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.aether</groupId>
+ <artifactId>aether-connector-basic</artifactId>
+ <version>${aetherVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.aether</groupId>
+ <artifactId>aether-transport-wagon</artifactId>
+ <version>${aetherVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http-lightweight</artifactId>
+ <version>3.5.1</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
@@ -188,7 +207,6 @@ under the License.
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
<configuration>
- <projectsDirectory>src/it</projectsDirectory>
<cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
<pomIncludes>
<pomInclude>*/pom.xml</pomInclude>
diff --git a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java
index 10f9467..dc7059d 100644
--- a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java
+++ b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java
@@ -31,22 +31,19 @@ import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;
-import org.apache.maven.doxia.siterenderer.Renderer;
+import org.apache.maven.execution.MavenSession;
import org.apache.maven.jxr.JXR;
import org.apache.maven.jxr.JavaCodeTransform;
import org.apache.maven.jxr.JxrException;
import org.apache.maven.jxr.pacman.FileManager;
import org.apache.maven.jxr.pacman.PackageManager;
import org.apache.maven.model.ReportPlugin;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.reporting.AbstractMavenReport;
import org.apache.maven.reporting.MavenReportException;
import org.codehaus.plexus.languages.java.version.JavaVersion;
import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.StringUtils;
/**
@@ -60,31 +57,9 @@ import org.codehaus.plexus.util.StringUtils;
public abstract class AbstractJxrReport
extends AbstractMavenReport
{
- @Parameter( defaultValue = "${project}", readonly = true, required = true )
- private MavenProject project;
- @Component
- private Renderer siteRenderer;
-
- /**
- * Output folder where the main page of the report will be generated. Note that this parameter is only relevant if
- * the goal is run directly from the command line or from the default lifecycle. If the goal is run indirectly as
- * part of a site generation, the output directory configured in the Maven Site Plugin will be used instead.
- */
- @Parameter( defaultValue = "${project.reporting.outputDirectory}", required = true )
- private File outputDirectory;
-
- /**
- * File input encoding.
- */
- @Parameter( property = "encoding", defaultValue = "${project.build.sourceEncoding}" )
- private String inputEncoding;
-
- /**
- * File output encoding.
- */
- @Parameter( property = "outputEncoding", defaultValue = "${project.reporting.outputEncoding}" )
- private String outputEncoding;
+ @Parameter( defaultValue = "${session}", readonly = true, required = true )
+ private MavenSession session;
/**
* Title of window of the Xref HTML files.
@@ -171,18 +146,6 @@ public abstract class AbstractJxrReport
*/
private JavaVersion javadocTemplatesVersion;
- /**
- * Gets the effective reporting output files encoding.
- *
- * @return The effective reporting output file encoding, never <code>null</code>: defaults to <code>UTF-8</code>
- * instead.
- */
- @Override
- protected String getOutputEncoding()
- {
- return ( outputEncoding == null ) ? ReaderFactory.UTF_8 : outputEncoding;
- }
-
/**
* Compiles the list of directories which contain source files that will be included in the JXR report generation.
*
@@ -270,16 +233,10 @@ public abstract class AbstractJxrReport
FileManager fileManager = new FileManager();
PackageManager packageManager = new PackageManager( fileManager );
JavaCodeTransform codeTransform = new JavaCodeTransform( packageManager, fileManager );
-
+
JXR jxr = new JXR( packageManager, codeTransform );
jxr.setDest( Paths.get( destinationDirectory ) );
- if ( StringUtils.isEmpty( inputEncoding ) )
- {
- String platformEncoding = System.getProperty( "file.encoding" );
- getLog().warn( "File encoding has not been set, using platform encoding " + platformEncoding
- + ", i.e. build is platform dependent!" );
- }
- jxr.setInputEncoding( inputEncoding );
+ jxr.setInputEncoding( getInputEncoding() );
jxr.setLocale( locale );
jxr.setOutputEncoding( getOutputEncoding() );
jxr.setRevision( "HEAD" );
@@ -457,21 +414,14 @@ public abstract class AbstractJxrReport
}
@Override
- protected Renderer getSiteRenderer()
- {
- return siteRenderer;
- }
-
- @Override
- protected String getOutputDirectory()
+ protected MavenProject getProject()
{
- return outputDirectory.getAbsolutePath();
+ return project;
}
- @Override
- public MavenProject getProject()
+ protected MavenSession getSession()
{
- return project;
+ return session;
}
/**
@@ -500,37 +450,12 @@ public abstract class AbstractJxrReport
return canGenerate;
}
- /*
- * This is called for a standalone execution. Well, that's the claim. It also ends up called for the aggregate mojo,
- * since that is configured as an execution, not in the reporting section, at least by some people on some days. We
- * do NOT want the default behavior.
- */
- @Override
- public void execute()
- throws MojoExecutionException
- {
-
- if ( skip )
- {
- getLog().info( "Skipping JXR." );
- return;
- }
-
- Locale locale = Locale.getDefault();
- try
- {
- executeReport( locale );
- }
- catch ( MavenReportException e )
- {
- throw new MojoExecutionException( "Error generating JXR report", e );
- }
- }
-
@Override
protected void executeReport( Locale locale )
throws MavenReportException
{
+ System.out.println( localRepository );
+
if ( skip )
{
getLog().info( "Skipping JXR." );
diff --git a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/AbstractJxrTestCase.java b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/AbstractJxrTestCase.java
new file mode 100644
index 0000000..119fb02
--- /dev/null
+++ b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/AbstractJxrTestCase.java
@@ -0,0 +1,159 @@
+package org.apache.maven.plugin.jxr;
+
+/*
+ * 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.
+ */
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+
+import org.apache.maven.plugin.LegacySupport;
+import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.apache.maven.plugin.testing.ArtifactStubFactory;
+import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuilder;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
+import org.eclipse.aether.DefaultRepositorySystemSession;
+import org.eclipse.aether.repository.LocalRepository;
+
+/**
+ * Abstract class to test reports generation.
+ */
+public abstract class AbstractJxrTestCase
+ extends AbstractMojoTestCase
+{
+ private ArtifactStubFactory artifactStubFactory;
+
+ /**
+ * The current project to be test.
+ */
+ private MavenProject testMavenProject;
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ // required for mojo lookups to work
+ super.setUp();
+
+ artifactStubFactory = new DependencyArtifactStubFactory( getTestFile( "target" ), true, false );
+ artifactStubFactory.getWorkingDir().mkdirs();
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ }
+
+ /**
+ * Get the current Maven project
+ *
+ * @return the maven project
+ */
+ protected MavenProject getTestMavenProject()
+ {
+ return testMavenProject;
+ }
+
+ /**
+ * Get the generated report as file in the test maven project.
+ *
+ * @param name the name of the report.
+ * @return the generated report as file
+ * @throws IOException if the return file doesnt exist
+ */
+ protected File getGeneratedReport( String name )
+ throws IOException
+ {
+ String outputDirectory = getBasedir() + "/target/test/unit/" + getTestMavenProject().getArtifactId();
+
+ File report = new File( outputDirectory, name );
+ if ( !report.exists() )
+ {
+ throw new IOException( "File not found. Attempted: " + report );
+ }
+
+ return report;
+ }
+
+ /**
+ * Generate the report and return the generated file
+ *
+ * @param goal the mojo goal.
+ * @param pluginXml the name of the xml file in "src/test/resources/plugin-configs/".
+ * @return the generated HTML file
+ * @throws Exception if any
+ */
+ protected File generateReport( String goal, String pluginXml )
+ throws Exception
+ {
+ File pluginXmlFile = new File( getBasedir(), "src/test/resources/unit/" + pluginXml );
+ AbstractJxrReport mojo = createReportMojo( goal, pluginXmlFile );
+ return generateReport( mojo, pluginXmlFile );
+ }
+
+ protected AbstractJxrReport createReportMojo( String goal, File pluginXmlFile )
+ throws Exception
+ {
+ AbstractJxrReport mojo = (AbstractJxrReport) lookupMojo( goal, pluginXmlFile );
+ assertNotNull( "Mojo not found.", mojo );
+
+ LegacySupport legacySupport = lookup( LegacySupport.class );
+ legacySupport.setSession( newMavenSession( new MavenProjectStub() ) );
+ DefaultRepositorySystemSession repoSession =
+ (DefaultRepositorySystemSession) legacySupport.getRepositorySession();
+ repoSession.setLocalRepositoryManager( new SimpleLocalRepositoryManagerFactory().newInstance( repoSession, new LocalRepository( artifactStubFactory.getWorkingDir() ) ) );
+
+ setVariableValueToObject( mojo, "session", legacySupport.getSession() );
+ setVariableValueToObject( mojo, "remoteRepositories", mojo.getProject().getRemoteArtifactRepositories() );
+ return mojo;
+ }
+
+ protected File generateReport( AbstractJxrReport mojo, File pluginXmlFile )
+ throws Exception
+ {
+ mojo.execute();
+
+ ProjectBuilder builder = lookup( ProjectBuilder.class );
+
+ ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest();
+ buildingRequest.setRepositorySession( lookup( LegacySupport.class ).getRepositorySession() );
+
+ testMavenProject = builder.build( pluginXmlFile, buildingRequest ).getProject();
+
+ File outputDir = mojo.getReportOutputDirectory();
+ String filename = mojo.getOutputName() + ".html";
+
+ return new File( outputDir, filename );
+ }
+
+ /**
+ * Read the contents of the specified file object into a string
+ */
+ protected String readFile( File xrefTestDir, String fileName ) throws IOException
+ {
+ return new String( Files.readAllBytes( xrefTestDir.toPath().resolve( fileName ) ) );
+ }
+
+}
diff --git a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/DependencyArtifactStubFactory.java b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/DependencyArtifactStubFactory.java
new file mode 100644
index 0000000..849d214
--- /dev/null
+++ b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/DependencyArtifactStubFactory.java
@@ -0,0 +1,69 @@
+package org.apache.maven.plugin.jxr;
+
+/*
+ * 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.
+ */
+
+import java.io.File;
+import java.io.IOException;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.ArtifactUtils;
+import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.plugin.testing.ArtifactStubFactory;
+
+public class DependencyArtifactStubFactory
+ extends ArtifactStubFactory
+{
+ private boolean flattenedPath = true;
+
+ public DependencyArtifactStubFactory( File theWorkingDir, boolean theCreateFiles, boolean flattenedPath )
+ {
+ this( theWorkingDir, theCreateFiles );
+ this.flattenedPath = flattenedPath;
+ }
+
+ public DependencyArtifactStubFactory( File theWorkingDir, boolean theCreateFiles )
+ {
+ super( theWorkingDir, theCreateFiles );
+ }
+
+ @Override
+ public Artifact createArtifact( String groupId, String artifactId, VersionRange versionRange, String scope,
+ String type, String classifier, boolean optional )
+ throws IOException
+ {
+ File workingDir = getWorkingDir();
+
+ if ( !flattenedPath )
+ {
+ // don't use flatten directories, won't happen at runtime
+ String path = groupId.replace( '.', '/' ) + '/' +
+ artifactId + '/' +
+ ArtifactUtils.toSnapshotVersion( versionRange.getRecommendedVersion().toString() );
+ setWorkingDir( new File( workingDir, path ) );
+ }
+
+ Artifact artifact =
+ super.createArtifact( groupId, artifactId, versionRange, scope, type, classifier, optional );
+
+ setWorkingDir( workingDir );
+
+ return artifact;
+ }
+}
diff --git a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/JxrReportTest.java b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/JxrReportTest.java
index 023938b..90b0a74 100644
--- a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/JxrReportTest.java
+++ b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/JxrReportTest.java
@@ -19,11 +19,9 @@ package org.apache.maven.plugin.jxr;
* under the License.
*/
-import org.apache.maven.plugin.testing.AbstractMojoTestCase;
import org.codehaus.plexus.util.FileUtils;
import java.io.File;
-import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Locale;
@@ -33,7 +31,7 @@ import java.util.Locale;
* @author <a href="mailto:dennisl@apache.org">Dennis Lundberg</a>
*/
public class JxrReportTest
- extends AbstractMojoTestCase
+ extends AbstractJxrTestCase
{
/**
* Test the plugin with original configuration
@@ -50,9 +48,7 @@ public class JxrReportTest
FileUtils.copyDirectory( new File( resourcesDir, "javadoc-files" ), outputDir );
- File testPom = new File( resourcesDir, "default-configuration-plugin-config.xml" );
- JxrReport mojo = (JxrReport) lookupMojo( "jxr", testPom );
- mojo.execute();
+ generateReport( "jxr", "default-configuration/default-configuration-plugin-config.xml" );
//check if xref files were generated
assertTrue( new File( xrefDir, "allclasses-frame.html" ).exists() );
@@ -91,9 +87,7 @@ public class JxrReportTest
FileUtils.copyDirectory( new File( resourcesDir, "javadoc-files" ), outputDir );
- File testPom = new File( resourcesDir, "default-configuration-plugin-config-4.xml" );
- JxrReport mojo = (JxrReport) lookupMojo( "jxr", testPom );
- mojo.execute();
+ generateReport( "jxr", "default-configuration/default-configuration-plugin-config-4.xml" );
//check if xref files were generated
assertTrue( new File( xrefDir, "allclasses-frame.html" ).exists() );
@@ -132,9 +126,7 @@ public class JxrReportTest
FileUtils.copyDirectory( new File( resourcesDir, "javadoc-files" ), outputDir );
- File testPom = new File( resourcesDir, "default-configuration-plugin-config-6.xml" );
- JxrReport mojo = (JxrReport) lookupMojo( "jxr", testPom );
- mojo.execute();
+ generateReport( "jxr", "default-configuration/default-configuration-plugin-config-6.xml" );
//check if xref files were generated
assertTrue( new File( xrefDir, "allclasses-frame.html" ).exists() );
@@ -173,9 +165,7 @@ public class JxrReportTest
FileUtils.copyDirectory( new File( resourcesDir, "javadoc-files" ), outputDir );
- File testPom = new File( resourcesDir, "default-configuration-plugin-config-7.xml" );
- JxrReport mojo = (JxrReport) lookupMojo( "jxr", testPom );
- mojo.execute();
+ generateReport( "jxr", "default-configuration/default-configuration-plugin-config-7.xml" );
//check if xref files were generated
assertTrue( new File( xrefDir, "allclasses-frame.html" ).exists() );
@@ -218,9 +208,7 @@ public class JxrReportTest
FileUtils.copyDirectory( new File( resourcesDir, "javadoc-files" ), outputDir );
- File testPom = new File( resourcesDir, "default-configuration-plugin-config-8.xml" );
- JxrReport mojo = (JxrReport) lookupMojo( "jxr", testPom );
- mojo.execute();
+ generateReport( "jxr", "default-configuration/default-configuration-plugin-config-8.xml" );
//check if xref files were generated
assertTrue( new File( xrefDir, "allclasses-frame.html" ).exists() );
@@ -252,10 +240,7 @@ public class JxrReportTest
public void testNoJavadocLink()
throws Exception
{
- File testPom = new File( getBasedir(),
- "src/test/resources/unit/nojavadoclink-configuration/nojavadoclink-configuration-plugin-config.xml" );
- JxrReport mojo = (JxrReport) lookupMojo( "jxr", testPom );
- mojo.execute();
+ generateReport( "jxr", "nojavadoclink-configuration/nojavadoclink-configuration-plugin-config.xml" );
File xrefDir = new File( getBasedir(), "target/test/unit/nojavadoclink-configuration/target/site/xref" );
@@ -296,10 +281,7 @@ public class JxrReportTest
public void testAggregate()
throws Exception
{
- File testPom = new File( getBasedir(),
- "src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml" );
- JxrReport mojo = (JxrReport) lookupMojo( "jxr", testPom );
- mojo.execute();
+ generateReport( "jxr", "aggregate-test/aggregate-test-plugin-config.xml" );
File xrefDir = new File( getBasedir(), "target/test/unit/aggregate-test/target/site/xref" );
@@ -314,7 +296,6 @@ public class JxrReportTest
assertTrue( new File( xrefDir, "aggregate/test/submodule2/package-summary.html" ).exists() );
assertTrue( new File( xrefDir, "aggregate/test/submodule2/Submodule2App.html" ).exists() );
assertTrue( new File( xrefDir, "aggregate/test/submodule2/Submodule2AppSample.html" ).exists() );
-
}
/**
@@ -325,10 +306,7 @@ public class JxrReportTest
public void testNoJavadocDir()
throws Exception
{
- File testPom = new File( getBasedir(),
- "src/test/resources/unit/nojavadocdir-test/nojavadocdir-test-plugin-config.xml" );
- JxrReport mojo = (JxrReport) lookupMojo( "jxr", testPom );
- mojo.execute();
+ generateReport( "jxr", "nojavadocdir-test/nojavadocdir-test-plugin-config.xml" );
File xrefDir = new File( getBasedir(), "target/test/unit/nojavadocdir-test/target/site/xref" );
@@ -338,7 +316,6 @@ public class JxrReportTest
str = readFile( xrefDir, "nojavadocdir/test/App.html" );
assertTrue( str.toLowerCase( Locale.US ).contains( "/apidocs/nojavadocdir/test/app.html" ) );
-
}
/**
@@ -349,10 +326,7 @@ public class JxrReportTest
public void testExclude()
throws Exception
{
- File testPom = new File( getBasedir(),
- "src/test/resources/unit/exclude-configuration/exclude-configuration-plugin-config.xml" );
- JxrReport mojo = (JxrReport) lookupMojo( "jxr", testPom );
- mojo.execute();
+ generateReport( "jxr", "exclude-configuration/exclude-configuration-plugin-config.xml" );
Path xrefDir = new File( getBasedir(), "target/test/unit/exclude-configuration/target/site/xref" ).toPath();
@@ -371,10 +345,7 @@ public class JxrReportTest
public void testInclude()
throws Exception
{
- File testPom = new File( getBasedir(),
- "src/test/resources/unit/include-configuration/include-configuration-plugin-config.xml" );
- JxrReport mojo = (JxrReport) lookupMojo( "jxr", testPom );
- mojo.execute();
+ generateReport( "jxr", "include-configuration/include-configuration-plugin-config.xml" );
Path xrefDir = new File( getBasedir(), "target/test/unit/include-configuration/target/site/xref" ).toPath();
@@ -389,10 +360,7 @@ public class JxrReportTest
{
try
{
- File testPom = new File( getBasedir(),
- "src/test/resources/unit/default-configuration/exception-test-plugin-config.xml" );
- JxrReport mojo = (JxrReport) lookupMojo( "jxr", testPom );
- mojo.execute();
+ generateReport( "jxr", "default-configuration/exception-test-plugin-config.xml" );
fail( "Must throw exception" );
}
@@ -410,18 +378,9 @@ public class JxrReportTest
public void testPom()
throws Exception
{
- File testPom = new File( getBasedir(), "src/test/resources/unit/pom-test/pom-test-plugin-config.xml" );
- JxrReport mojo = (JxrReport) lookupMojo( "jxr", testPom );
- mojo.execute();
+ generateReport( "jxr", "pom-test/pom-test-plugin-config.xml" );
assertFalse( new File( getBasedir(), "target/test/unit/pom-test" ).exists() );
}
- /**
- * Read the contents of the specified file object into a string
- */
- private String readFile( File xrefTestDir, String fileName ) throws IOException
- {
- return new String( Files.readAllBytes( xrefTestDir.toPath().resolve( fileName ) ) );
- }
}
diff --git a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/JxrTestReportTest.java b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/JxrTestReportTest.java
index 98bd456..c70eab2 100644
--- a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/JxrTestReportTest.java
+++ b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/JxrTestReportTest.java
@@ -23,13 +23,11 @@ import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
-import org.apache.maven.plugin.testing.AbstractMojoTestCase;
-
/**
* @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>
*/
public class JxrTestReportTest
- extends AbstractMojoTestCase
+ extends AbstractJxrTestCase
{
/**
* Method to test when the source dir is the test source dir
@@ -39,10 +37,7 @@ public class JxrTestReportTest
public void testSourceDir()
throws Exception
{
- File testPom =
- new File( getBasedir(), "src/test/resources/unit/testsourcedir-test/testsourcedir-test-plugin-config.xml" );
- JxrTestReport mojo = (JxrTestReport) lookupMojo( "test-jxr", testPom );
- mojo.execute();
+ generateReport( "test-jxr", "testsourcedir-test/testsourcedir-test-plugin-config.xml" );
File xrefTestDir = new File( getBasedir(), "target/test/unit/testsourcedir-test/target/site/xref-test" );
@@ -65,11 +60,4 @@ public class JxrTestReportTest
assertFalse( str.toLowerCase().contains( "/apidocs/testsourcedir/test/App.html\"".toLowerCase() ) );
}
- /**
- * Read the contents of the specified file object into a string
- */
- private String readFile( File xrefTestDir, String fileName ) throws IOException
- {
- return new String( Files.readAllBytes( xrefTestDir.toPath().resolve( fileName ) ) );
- }
}
diff --git a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/ExcludeConfigurationMavenProjectStub.java b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/ExcludeConfigurationMavenProjectStub.java
index 0eec0e3..24c0fa0 100644
--- a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/ExcludeConfigurationMavenProjectStub.java
+++ b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/ExcludeConfigurationMavenProjectStub.java
@@ -23,7 +23,6 @@ import org.apache.maven.artifact.Artifact;
import org.apache.maven.model.Model;
import org.apache.maven.model.ReportPlugin;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
import java.io.FileReader;
import java.util.ArrayList;
@@ -32,7 +31,8 @@ import java.util.List;
/**
* @author <a href="mailto:dennisl@apache.org">Dennis Lundberg</a>
*/
-public class ExcludeConfigurationMavenProjectStub extends MavenProjectStub
+public class ExcludeConfigurationMavenProjectStub
+ extends JxrProjectStub
{
private List<ReportPlugin> reportPlugins = new ArrayList<>();
diff --git a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/IncludeConfigurationMavenProjectStub.java b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/IncludeConfigurationMavenProjectStub.java
index 3b35488..10a1623 100644
--- a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/IncludeConfigurationMavenProjectStub.java
+++ b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/IncludeConfigurationMavenProjectStub.java
@@ -23,7 +23,6 @@ import org.apache.maven.artifact.Artifact;
import org.apache.maven.model.Model;
import org.apache.maven.model.ReportPlugin;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
import java.io.FileReader;
import java.util.ArrayList;
@@ -32,7 +31,8 @@ import java.util.List;
/**
* @author <a href="mailto:dennisl@apache.org">Dennis Lundberg</a>
*/
-public class IncludeConfigurationMavenProjectStub extends MavenProjectStub
+public class IncludeConfigurationMavenProjectStub
+ extends JxrProjectStub
{
private List<ReportPlugin> reportPlugins = new ArrayList<>();
diff --git a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/JxrProjectStub.java b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/JxrProjectStub.java
new file mode 100644
index 0000000..b2cf1e9
--- /dev/null
+++ b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/JxrProjectStub.java
@@ -0,0 +1,23 @@
+package org.apache.maven.plugin.jxr.stubs;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.artifact.repository.MavenArtifactRepository;
+import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
+import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
+
+public abstract class JxrProjectStub
+ extends MavenProjectStub
+{
+ @Override
+ public List<ArtifactRepository> getRemoteArtifactRepositories()
+ {
+ ArtifactRepository repository = new MavenArtifactRepository( "central", "https://repo1.maven.org/maven2",
+ new DefaultRepositoryLayout(), new ArtifactRepositoryPolicy(), new ArtifactRepositoryPolicy() );
+
+ return Collections.singletonList( repository );
+ }
+}
diff --git a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/NoJavadocDirMavenProjectStub.java b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/NoJavadocDirMavenProjectStub.java
index c4c56e6..0448f95 100644
--- a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/NoJavadocDirMavenProjectStub.java
+++ b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/NoJavadocDirMavenProjectStub.java
@@ -33,7 +33,7 @@ import java.util.List;
* @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>
*/
public class NoJavadocDirMavenProjectStub
- extends MavenProjectStub
+ extends JxrProjectStub
{
private List<ReportPlugin> reportPlugins;
diff --git a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/TestSourceDirMavenProjectStub.java b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/TestSourceDirMavenProjectStub.java
index 69ca4e6..b441285 100644
--- a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/TestSourceDirMavenProjectStub.java
+++ b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/TestSourceDirMavenProjectStub.java
@@ -22,7 +22,6 @@ package org.apache.maven.plugin.jxr.stubs;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.model.Model;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
import java.io.FileReader;
import java.util.ArrayList;
@@ -32,9 +31,9 @@ import java.util.List;
* @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>
*/
public class TestSourceDirMavenProjectStub
- extends MavenProjectStub
+ extends JxrProjectStub
{
-
+
public TestSourceDirMavenProjectStub()
{
MavenXpp3Reader pomReader = new MavenXpp3Reader();
@@ -67,4 +66,5 @@ public class TestSourceDirMavenProjectStub
setArtifact( artifact );
}
+
}
diff --git a/maven-jxr-plugin/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml
index 6236fc9..27bac58 100644
--- a/maven-jxr-plugin/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml
+++ b/maven-jxr-plugin/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml
@@ -37,7 +37,7 @@ under the License.
<docTitle>Maven Jxr Plugin Aggregate Test 1.0-SNAPSHOT Reference</docTitle>
<inputEncoding>ISO-8859-1</inputEncoding>
<outputEncoding>ISO-8859-1</outputEncoding>
- <sourceDirs>
+ <sourceDirs>
<value>${basedir}/src/test/resources/unit/aggregate-test/submodule1</value>
<value>${basedir}/src/test/resources/unit/aggregate-test/submodule2</value>
</sourceDirs>
@@ -51,6 +51,7 @@ under the License.
<project implementation="org.apache.maven.plugin.jxr.stubs.AggregateSubmodule1MavenProjectStub"/>
<project implementation="org.apache.maven.plugin.jxr.stubs.AggregateSubmodule2MavenProjectStub"/>
</reactorProjects>
+ <localRepository>${localRepository}</localRepository>
</configuration>
</plugin>
</plugins>
diff --git a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-4.xml b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-4.xml
index 124f7aa..bf302a1 100644
--- a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-4.xml
+++ b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-4.xml
@@ -44,6 +44,7 @@ under the License.
<linkJavadoc>true</linkJavadoc>
<bottom>Copyright 2006 Apache Foundation</bottom>
<javadocVersion>1.4</javadocVersion>
+ <localRepository>${localRepository}</localRepository>
</configuration>
</plugin>
</plugins>
diff --git a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-6.xml b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-6.xml
index 5f0edb2..eac7aee 100644
--- a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-6.xml
+++ b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-6.xml
@@ -44,6 +44,7 @@ under the License.
<linkJavadoc>true</linkJavadoc>
<bottom>Copyright 2006 Apache Foundation</bottom>
<javadocVersion>1.6</javadocVersion>
+ <localRepository>${localRepository}</localRepository>
</configuration>
</plugin>
</plugins>
diff --git a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-7.xml b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-7.xml
index db16d9d..dbe4d6d 100644
--- a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-7.xml
+++ b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-7.xml
@@ -44,6 +44,7 @@ under the License.
<linkJavadoc>true</linkJavadoc>
<bottom>Copyright 2006 Apache Foundation</bottom>
<javadocVersion>1.7</javadocVersion>
+ <localRepository>${localRepository}</localRepository>
</configuration>
</plugin>
</plugins>
diff --git a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-8.xml b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-8.xml
index 8be96ac..9e33092 100644
--- a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-8.xml
+++ b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-8.xml
@@ -44,6 +44,7 @@ under the License.
<linkJavadoc>true</linkJavadoc>
<bottom>Copyright 2006 Apache Foundation</bottom>
<javadocVersion>1.8</javadocVersion>
+ <localRepository>${localRepository}</localRepository>
</configuration>
</plugin>
</plugins>
diff --git a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml
index 6841a75..1f4769d 100644
--- a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml
+++ b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml
@@ -46,6 +46,7 @@ under the License.
<templateDir>templates</templateDir>
<stylesheet>stylesheet.css</stylesheet>
<javadocVersion>3</javadocVersion>
+ <localRepository>${localRepository}</localRepository>
</configuration>
</plugin>
</plugins>
diff --git a/maven-jxr-plugin/src/test/resources/unit/default-configuration/exception-test-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/default-configuration/exception-test-plugin-config.xml
index 1ac1e93..cd37da4 100644
--- a/maven-jxr-plugin/src/test/resources/unit/default-configuration/exception-test-plugin-config.xml
+++ b/maven-jxr-plugin/src/test/resources/unit/default-configuration/exception-test-plugin-config.xml
@@ -46,6 +46,7 @@ under the License.
<bottom>Copyright 2006 Apache Foundation</bottom>
<templateDir>temp</templateDir>
<stylesheet>stylesheet.css</stylesheet>
+ <localRepository>${localRepository}</localRepository>
</configuration>
</plugin>
</plugins>
diff --git a/maven-jxr-plugin/src/test/resources/unit/exclude-configuration/exclude-configuration-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/exclude-configuration/exclude-configuration-plugin-config.xml
index cc61d9f..d136487 100644
--- a/maven-jxr-plugin/src/test/resources/unit/exclude-configuration/exclude-configuration-plugin-config.xml
+++ b/maven-jxr-plugin/src/test/resources/unit/exclude-configuration/exclude-configuration-plugin-config.xml
@@ -49,6 +49,7 @@ under the License.
<excludes>
<exclude>**/AppSample.java</exclude>
</excludes>
+ <localRepository>${localRepository}</localRepository>
</configuration>
</plugin>
</plugins>
diff --git a/maven-jxr-plugin/src/test/resources/unit/include-configuration/include-configuration-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/include-configuration/include-configuration-plugin-config.xml
index 580c19c..d0cfaed 100644
--- a/maven-jxr-plugin/src/test/resources/unit/include-configuration/include-configuration-plugin-config.xml
+++ b/maven-jxr-plugin/src/test/resources/unit/include-configuration/include-configuration-plugin-config.xml
@@ -49,6 +49,7 @@ under the License.
<includes>
<include>**/App.java</include>
</includes>
+ <localRepository>${localRepository}</localRepository>
</configuration>
</plugin>
</plugins>
diff --git a/maven-jxr-plugin/src/test/resources/unit/nojavadocdir-test/nojavadocdir-test-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/nojavadocdir-test/nojavadocdir-test-plugin-config.xml
index 351f7aa..0c3a0b2 100644
--- a/maven-jxr-plugin/src/test/resources/unit/nojavadocdir-test/nojavadocdir-test-plugin-config.xml
+++ b/maven-jxr-plugin/src/test/resources/unit/nojavadocdir-test/nojavadocdir-test-plugin-config.xml
@@ -46,6 +46,7 @@ under the License.
<bottom>Copyright 2006 Apache Foundation</bottom>
<javadocVersion>1.4</javadocVersion>
<stylesheet>stylesheet.css</stylesheet>
+ <localRepository>${localRepository}</localRepository>
</configuration>
</plugin>
</plugins>
diff --git a/maven-jxr-plugin/src/test/resources/unit/nojavadoclink-configuration/nojavadoclink-configuration-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/nojavadoclink-configuration/nojavadoclink-configuration-plugin-config.xml
index 6fae9b8..ba569bc 100644
--- a/maven-jxr-plugin/src/test/resources/unit/nojavadoclink-configuration/nojavadoclink-configuration-plugin-config.xml
+++ b/maven-jxr-plugin/src/test/resources/unit/nojavadoclink-configuration/nojavadoclink-configuration-plugin-config.xml
@@ -46,6 +46,7 @@ under the License.
<bottom>Copyright 2006 Apache Foundation</bottom>
<javadocVersion>1.4</javadocVersion>
<stylesheet>stylesheet.css</stylesheet>
+ <localRepository>${localRepository}</localRepository>
</configuration>
</plugin>
</plugins>
diff --git a/maven-jxr-plugin/src/test/resources/unit/pom-test/pom-test-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/pom-test/pom-test-plugin-config.xml
index ae65ab4..257aa0b 100644
--- a/maven-jxr-plugin/src/test/resources/unit/pom-test/pom-test-plugin-config.xml
+++ b/maven-jxr-plugin/src/test/resources/unit/pom-test/pom-test-plugin-config.xml
@@ -41,6 +41,7 @@ under the License.
<configuration>
<project implementation="org.apache.maven.plugin.jxr.stubs.PomMavenProjectStub"/>
<outputDirectory>${basedir}/target/test/unit/pom-test/target/site/</outputDirectory>
+ <localRepository>${localRepository}</localRepository>
</configuration>
</plugin>
</plugins>
diff --git a/maven-jxr-plugin/src/test/resources/unit/testsourcedir-test/testsourcedir-test-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/testsourcedir-test/testsourcedir-test-plugin-config.xml
index 6f08c17..23bccd9 100644
--- a/maven-jxr-plugin/src/test/resources/unit/testsourcedir-test/testsourcedir-test-plugin-config.xml
+++ b/maven-jxr-plugin/src/test/resources/unit/testsourcedir-test/testsourcedir-test-plugin-config.xml
@@ -44,6 +44,7 @@ under the License.
<bottom>Copyright 2006 Apache Foundation</bottom>
<javadocVersion>1.4</javadocVersion>
<stylesheet>stylesheet.css</stylesheet>
+ <localRepository>${localRepository}</localRepository>
</configuration>
</plugin>
</plugins>
diff --git a/pom.xml b/pom.xml
index af3c055..0e3e8ce 100644
--- a/pom.xml
+++ b/pom.xml
@@ -64,7 +64,7 @@ under the License.
<properties>
<javaVersion>8</javaVersion>
- <sitePluginVersion>3.12.0</sitePluginVersion>
+ <sitePluginVersion>4.0.0-M3</sitePluginVersion>
<javadocPluginVersion>3.4.0</javadocPluginVersion>
<maven.site.path>jxr-archives/jxr-LATEST</maven.site.path>
<checkstyle.violation.ignore>None</checkstyle.violation.ignore>