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 40c10d04d9864d1f75a8317005b18af18eb56770
Author: Michael Osipov <micha...@apache.org>
AuthorDate: Fri Dec 2 22:50:59 2022 +0100

    Prepare for Doxia 2.0.0
    
    This also fixes JXR-169
---
 maven-jxr-plugin/pom.xml                           |  8 ++--
 .../apache/maven/plugin/jxr/AbstractJxrReport.java | 28 ++++++------
 .../org/apache/maven/plugin/jxr/JxrReport.java     |  8 ++--
 .../org/apache/maven/plugin/jxr/JxrTestReport.java |  6 +--
 .../maven/plugin/jxr/AbstractJxrTestCase.java      | 35 ++++++++++++++-
 .../org/apache/maven/plugin/jxr/JxrReportTest.java | 50 ++++++++++++----------
 .../apache/maven/plugin/jxr/JxrTestReportTest.java |  7 ++-
 .../jxr/stubs/AggregateTestMavenProjectStub.java   | 19 +++++---
 .../DefaultConfigurationMavenProjectStub.java      | 19 +++++---
 .../ExcludeConfigurationMavenProjectStub.java      | 16 +++++--
 .../IncludeConfigurationMavenProjectStub.java      | 16 +++++--
 .../maven/plugin/jxr/stubs/JxrProjectStub.java     | 23 ++++++++++
 .../jxr/stubs/NoJavadocDirMavenProjectStub.java    | 16 +++++--
 ...NoJavadocLinkConfigurationMavenProjectStub.java | 22 ++++++----
 .../plugin/jxr/stubs/PomMavenProjectStub.java      | 22 +++++-----
 .../jxr/stubs/TestSourceDirMavenProjectStub.java   | 16 +++++--
 .../aggregate-test-plugin-config.xml               |  1 -
 .../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 -
 maven-jxr/pom.xml                                  |  8 ++--
 .../org/apache/maven/jxr/DirectoryIndexer.java     | 14 +++---
 .../org/apache/maven/jxr/JavaCodeTransform.java    | 30 -------------
 pom.xml                                            | 25 ++---------
 33 files changed, 232 insertions(+), 169 deletions(-)

diff --git a/maven-jxr-plugin/pom.xml b/maven-jxr-plugin/pom.xml
index 20b9078..41e7b5b 100644
--- a/maven-jxr-plugin/pom.xml
+++ b/maven-jxr-plugin/pom.xml
@@ -23,7 +23,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven.jxr</groupId>
     <artifactId>jxr</artifactId>
-    <version>3.3.1-SNAPSHOT</version>
+    <version>4.0.0-M1-SNAPSHOT</version>
   </parent>
 
   <groupId>org.apache.maven.plugins</groupId>
@@ -88,12 +88,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-M8</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.reporting</groupId>
       <artifactId>maven-reporting-impl</artifactId>
-      <version>3.2.0</version>
+      <version>4.0.0-M11</version>
     </dependency>
 
     <!-- shared utils -->
@@ -152,7 +152,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>
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 b239be9..b17a006 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
@@ -37,6 +37,7 @@ 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.MojoExecution;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.AbstractMavenReport;
@@ -73,10 +74,7 @@ public abstract class AbstractJxrReport extends 
AbstractMavenReport {
     /**
      * String used at the bottom of the Xref HTML files.
      */
-    @Parameter(
-            property = "bottom",
-            defaultValue =
-                    "Copyright &#169; {inceptionYear}&#x2013;{currentYear} 
{organizationName}. All rights reserved.")
+    @Parameter(property = "bottom", defaultValue = "\u00A9 
{inceptionYear}\u2013{currentYear} {organizationName}")
     private String bottom;
 
     // CHECKSTYLE_ON: LineLength
@@ -111,12 +109,6 @@ public abstract class AbstractJxrReport extends 
AbstractMavenReport {
     @Parameter
     private ArrayList<String> includes;
 
-    /**
-     * The projects in the reactor for aggregation report.
-     */
-    @Parameter(defaultValue = "${reactorProjects}", readonly = true)
-    protected List<MavenProject> reactorProjects;
-
     /**
      * Whether to skip this execution.
      *
@@ -258,12 +250,12 @@ public abstract class AbstractJxrReport extends 
AbstractMavenReport {
 
         if (inceptionYear != null) {
             if (inceptionYear.equals(year)) {
-                theBottom = StringUtils.replace(theBottom, 
"{inceptionYear}&#x2013;", "");
+                theBottom = StringUtils.replace(theBottom, 
"{inceptionYear}\u2013", "");
             } else {
                 theBottom = StringUtils.replace(theBottom, "{inceptionYear}", 
inceptionYear);
             }
         } else {
-            theBottom = StringUtils.replace(theBottom, 
"{inceptionYear}&#x2013;", "");
+            theBottom = StringUtils.replace(theBottom, 
"{inceptionYear}\u2013", "");
         }
 
         if (project.getOrganization() == null) {
@@ -359,14 +351,18 @@ public abstract class AbstractJxrReport extends 
AbstractMavenReport {
         return project;
     }
 
-    /**
-     * Returns the Maven session.
-     * @return Maven session
-     */
     protected MavenSession getSession() {
         return session;
     }
 
+    protected List<MavenProject> getReactorProjects() {
+        return reactorProjects;
+    }
+
+    protected MojoExecution getMojoExecution() {
+        return mojoExecution;
+    }
+
     /**
      * Returns the correct resource bundle according to the locale.
      *
diff --git 
a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java 
b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java
index 7740d02..712c056 100644
--- a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java
+++ b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java
@@ -80,12 +80,12 @@ public class JxrReport extends AbstractJxrReport {
 
         List<String> l = new ArrayList<>();
 
-        if (!"pom".equals(getProject().getPackaging().toLowerCase(Locale.US))) 
{
+        if 
(!"pom".equals(getProject().getPackaging().toLowerCase(Locale.ENGLISH))) {
             l.addAll(sourceDirs);
         }
 
         if (getProject().getExecutionProject() != null) {
-            if 
(!"pom".equals(getProject().getExecutionProject().getPackaging().toLowerCase(Locale.US)))
 {
+            if 
(!"pom".equals(getProject().getExecutionProject().getPackaging().toLowerCase(Locale.ENGLISH)))
 {
                 
l.addAll(getProject().getExecutionProject().getCompileSourceRoots());
             }
         }
@@ -97,12 +97,12 @@ public class JxrReport extends AbstractJxrReport {
     protected List<String> getSourceRoots(MavenProject project) {
         List<String> l = new ArrayList<>();
 
-        if (!"pom".equals(project.getPackaging().toLowerCase(Locale.US))) {
+        if (!"pom".equals(project.getPackaging().toLowerCase(Locale.ENGLISH))) 
{
             l.addAll(project.getCompileSourceRoots());
         }
 
         if (project.getExecutionProject() != null) {
-            if 
(!"pom".equals(project.getExecutionProject().getPackaging().toLowerCase(Locale.US)))
 {
+            if 
(!"pom".equals(project.getExecutionProject().getPackaging().toLowerCase(Locale.ENGLISH)))
 {
                 
l.addAll(project.getExecutionProject().getCompileSourceRoots());
             }
         }
diff --git 
a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java 
b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java
index 62d5140..255c59f 100644
--- 
a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java
+++ 
b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java
@@ -61,12 +61,12 @@ public class JxrTestReport extends AbstractJxrReport {
     protected List<String> getSourceRoots() {
         List<String> l = new ArrayList<>();
 
-        if (!"pom".equals(getProject().getPackaging().toLowerCase(Locale.US))) 
{
+        if 
(!"pom".equals(getProject().getPackaging().toLowerCase(Locale.ENGLISH))) {
             l.addAll(sourceDirs);
         }
 
         if (getProject().getExecutionProject() != null) {
-            if 
(!"pom".equals(getProject().getExecutionProject().getPackaging().toLowerCase(Locale.US)))
 {
+            if 
(!"pom".equals(getProject().getExecutionProject().getPackaging().toLowerCase(Locale.ENGLISH)))
 {
                 
l.addAll(getProject().getExecutionProject().getTestCompileSourceRoots());
             }
         }
@@ -79,7 +79,7 @@ public class JxrTestReport extends AbstractJxrReport {
         List<String> l = new ArrayList<>();
 
         if (project.getExecutionProject() != null) {
-            if 
(!"pom".equals(project.getExecutionProject().getPackaging().toLowerCase(Locale.US)))
 {
+            if 
(!"pom".equals(project.getExecutionProject().getPackaging().toLowerCase(Locale.ENGLISH)))
 {
                 
l.addAll(project.getExecutionProject().getTestCompileSourceRoots());
             }
         }
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
index b865c5a..8a9ec5e 100644
--- 
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
@@ -21,8 +21,14 @@ package org.apache.maven.plugin.jxr;
 import java.io.File;
 import java.io.IOException;
 import java.nio.file.Files;
+import java.util.Collections;
+import java.util.List;
 
+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;
@@ -112,8 +118,17 @@ public abstract class AbstractJxrTestCase 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, "remoteRepositories", 
mojo.getProject().getRemoteArtifactRepositories());
+        setVariableValueToObject(mojo, "repoSession", 
legacySupport.getRepositorySession());
+        setVariableValueToObject(mojo, "reactorProjects", reactorProjects);
+        setVariableValueToObject(
+                mojo, "remoteProjectRepositories", 
mojo.getProject().getRemoteProjectRepositories());
+        setVariableValueToObject(
+                mojo, "siteDirectory", new 
File(mojo.getProject().getBasedir(), "src/site"));
         return mojo;
     }
 
@@ -139,4 +154,22 @@ public abstract class AbstractJxrTestCase extends 
AbstractMojoTestCase {
     protected String readFile(File xrefTestDir, String fileName) throws 
IOException {
         return new 
String(Files.readAllBytes(xrefTestDir.toPath().resolve(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-jxr-plugin");
+        pd.setPlugin(p);
+        md.setPluginDescriptor(pd);
+
+        return me;
+    }
+
+    protected abstract String getGoal();
 }
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 2a614b6..268328d 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
@@ -43,7 +43,7 @@ public class JxrReportTest extends AbstractJxrTestCase {
 
         FileUtils.copyDirectory(new File(resourcesDir, "javadoc-files"), 
outputDir);
 
-        generateReport("jxr", 
"default-configuration/default-configuration-plugin-config.xml");
+        generateReport(getGoal(), 
"default-configuration/default-configuration-plugin-config.xml");
 
         // check if xref files were generated
         assertTrue(new File(xrefDir, "allclasses-frame.html").exists());
@@ -80,7 +80,7 @@ public class JxrReportTest extends AbstractJxrTestCase {
 
         FileUtils.copyDirectory(new File(resourcesDir, "javadoc-files"), 
outputDir);
 
-        generateReport("jxr", 
"default-configuration/default-configuration-plugin-config-4.xml");
+        generateReport(getGoal(), 
"default-configuration/default-configuration-plugin-config-4.xml");
 
         // check if xref files were generated
         assertTrue(new File(xrefDir, "allclasses-frame.html").exists());
@@ -95,10 +95,10 @@ public class JxrReportTest extends AbstractJxrTestCase {
 
         // check if there's a link to the javadoc files
         String str = readFile(xrefDir, "def/configuration/AppSample.html");
-        
assertTrue(str.toLowerCase(Locale.US).contains("/apidocs/def/configuration/appsample.html\""));
+        
assertTrue(str.toLowerCase(Locale.ENGLISH).contains("/apidocs/def/configuration/appsample.html\""));
 
         str = readFile(xrefDir, "def/configuration/App.html");
-        
assertTrue(str.toLowerCase(Locale.US).contains("/apidocs/def/configuration/app.html\""));
+        
assertTrue(str.toLowerCase(Locale.ENGLISH).contains("/apidocs/def/configuration/app.html\""));
 
         // check if encoding is UTF-8, the default value
         assertTrue(str.contains("text/html; charset=UTF-8"));
@@ -117,7 +117,7 @@ public class JxrReportTest extends AbstractJxrTestCase {
 
         FileUtils.copyDirectory(new File(resourcesDir, "javadoc-files"), 
outputDir);
 
-        generateReport("jxr", 
"default-configuration/default-configuration-plugin-config-6.xml");
+        generateReport(getGoal(), 
"default-configuration/default-configuration-plugin-config-6.xml");
 
         // check if xref files were generated
         assertTrue(new File(xrefDir, "allclasses-frame.html").exists());
@@ -132,10 +132,10 @@ public class JxrReportTest extends AbstractJxrTestCase {
 
         // check if there's a link to the javadoc files
         String str = readFile(xrefDir, "def/configuration/AppSample.html");
-        
assertTrue(str.toLowerCase(Locale.US).contains("/apidocs/def/configuration/appsample.html\""));
+        
assertTrue(str.toLowerCase(Locale.ENGLISH).contains("/apidocs/def/configuration/appsample.html\""));
 
         str = readFile(xrefDir, "def/configuration/App.html");
-        
assertTrue(str.toLowerCase(Locale.US).contains("/apidocs/def/configuration/app.html\""));
+        
assertTrue(str.toLowerCase(Locale.ENGLISH).contains("/apidocs/def/configuration/app.html\""));
 
         // check if encoding is UTF-8, the default value
         assertTrue(str.contains("text/html; charset=UTF-8"));
@@ -154,7 +154,7 @@ public class JxrReportTest extends AbstractJxrTestCase {
 
         FileUtils.copyDirectory(new File(resourcesDir, "javadoc-files"), 
outputDir);
 
-        generateReport("jxr", 
"default-configuration/default-configuration-plugin-config-7.xml");
+        generateReport(getGoal(), 
"default-configuration/default-configuration-plugin-config-7.xml");
 
         // check if xref files were generated
         assertTrue(new File(xrefDir, "allclasses-frame.html").exists());
@@ -173,10 +173,10 @@ public class JxrReportTest extends AbstractJxrTestCase {
 
         // check if there's a link to the javadoc files
         String str = readFile(xrefDir, "def/configuration/AppSample.html");
-        
assertTrue(str.toLowerCase(Locale.US).contains("/apidocs/def/configuration/appsample.html\""));
+        
assertTrue(str.toLowerCase(Locale.ENGLISH).contains("/apidocs/def/configuration/appsample.html\""));
 
         str = readFile(xrefDir, "def/configuration/App.html");
-        
assertTrue(str.toLowerCase(Locale.US).contains("/apidocs/def/configuration/app.html\""));
+        
assertTrue(str.toLowerCase(Locale.ENGLISH).contains("/apidocs/def/configuration/app.html\""));
 
         // check if encoding is UTF-8, the default value
         assertTrue(str.contains("text/html; charset=UTF-8"));
@@ -195,7 +195,7 @@ public class JxrReportTest extends AbstractJxrTestCase {
 
         FileUtils.copyDirectory(new File(resourcesDir, "javadoc-files"), 
outputDir);
 
-        generateReport("jxr", 
"default-configuration/default-configuration-plugin-config-8.xml");
+        generateReport(getGoal(), 
"default-configuration/default-configuration-plugin-config-8.xml");
 
         // check if xref files were generated
         assertTrue(new File(xrefDir, "allclasses-frame.html").exists());
@@ -225,7 +225,7 @@ public class JxrReportTest extends AbstractJxrTestCase {
      * @throws Exception
      */
     public void testNoJavadocLink() throws Exception {
-        generateReport("jxr", 
"nojavadoclink-configuration/nojavadoclink-configuration-plugin-config.xml");
+        generateReport(getGoal(), 
"nojavadoclink-configuration/nojavadoclink-configuration-plugin-config.xml");
 
         File xrefDir = new File(getBasedir(), 
"target/test/unit/nojavadoclink-configuration/target/site/xref");
 
@@ -245,10 +245,11 @@ public class JxrReportTest extends AbstractJxrTestCase {
 
         // check if there's a link to the javadoc files
         String str = readFile(xrefDir, 
"nojavadoclink/configuration/AppSample.html");
-        
assertEquals(str.toLowerCase(Locale.US).indexOf("/apidocs/nojavadoclink/configuration/appsample.html\""),
 -1);
+        assertEquals(
+                
str.toLowerCase(Locale.ENGLISH).indexOf("/apidocs/nojavadoclink/configuration/appsample.html\""),
 -1);
 
         str = readFile(xrefDir, "nojavadoclink/configuration/App.html");
-        
assertEquals(str.toLowerCase(Locale.US).indexOf("/apidocs/nojavadoclink/configuration/app.html\""),
 -1);
+        
assertEquals(str.toLowerCase(Locale.ENGLISH).indexOf("/apidocs/nojavadoclink/configuration/app.html\""),
 -1);
 
         str = readFile(xrefDir, 
"nojavadoclink/configuration/sample/Sample.html");
         
assertEquals(str.toLowerCase().indexOf("/apidocs/nojavadoclink/configuration/sample/sample.html\""),
 -1);
@@ -263,7 +264,7 @@ public class JxrReportTest extends AbstractJxrTestCase {
      * @throws Exception
      */
     public void testAggregate() throws Exception {
-        generateReport("jxr", 
"aggregate-test/aggregate-test-plugin-config.xml");
+        generateReport(getGoal(), 
"aggregate-test/aggregate-test-plugin-config.xml");
 
         File xrefDir = new File(getBasedir(), 
"target/test/unit/aggregate-test/target/site/xref");
 
@@ -286,16 +287,16 @@ public class JxrReportTest extends AbstractJxrTestCase {
      * @throws Exception
      */
     public void testNoJavadocDir() throws Exception {
-        generateReport("jxr", 
"nojavadocdir-test/nojavadocdir-test-plugin-config.xml");
+        generateReport(getGoal(), 
"nojavadocdir-test/nojavadocdir-test-plugin-config.xml");
 
         File xrefDir = new File(getBasedir(), 
"target/test/unit/nojavadocdir-test/target/site/xref");
 
         // check if there's a link to the javadoc files
         String str = readFile(xrefDir, "nojavadocdir/test/AppSample.html");
-        
assertTrue(str.toLowerCase(Locale.US).contains("/apidocs/nojavadocdir/test/appsample.html"));
+        
assertTrue(str.toLowerCase(Locale.ENGLISH).contains("/apidocs/nojavadocdir/test/appsample.html"));
 
         str = readFile(xrefDir, "nojavadocdir/test/App.html");
-        
assertTrue(str.toLowerCase(Locale.US).contains("/apidocs/nojavadocdir/test/app.html"));
+        
assertTrue(str.toLowerCase(Locale.ENGLISH).contains("/apidocs/nojavadocdir/test/app.html"));
     }
 
     /**
@@ -304,7 +305,7 @@ public class JxrReportTest extends AbstractJxrTestCase {
      * @throws Exception
      */
     public void testExclude() throws Exception {
-        generateReport("jxr", 
"exclude-configuration/exclude-configuration-plugin-config.xml");
+        generateReport(getGoal(), 
"exclude-configuration/exclude-configuration-plugin-config.xml");
 
         Path xrefDir = new File(getBasedir(), 
"target/test/unit/exclude-configuration/target/site/xref").toPath();
 
@@ -321,7 +322,7 @@ public class JxrReportTest extends AbstractJxrTestCase {
      * @throws Exception
      */
     public void testInclude() throws Exception {
-        generateReport("jxr", 
"include-configuration/include-configuration-plugin-config.xml");
+        generateReport(getGoal(), 
"include-configuration/include-configuration-plugin-config.xml");
 
         Path xrefDir = new File(getBasedir(), 
"target/test/unit/include-configuration/target/site/xref").toPath();
 
@@ -334,7 +335,7 @@ public class JxrReportTest extends AbstractJxrTestCase {
 
     public void testExceptions() {
         try {
-            generateReport("jxr", 
"default-configuration/exception-test-plugin-config.xml");
+            generateReport(getGoal(), 
"default-configuration/exception-test-plugin-config.xml");
 
             fail("Must throw exception");
         } catch (Exception e) {
@@ -348,8 +349,13 @@ public class JxrReportTest extends AbstractJxrTestCase {
      * @throws Exception
      */
     public void testPom() throws Exception {
-        generateReport("jxr", "pom-test/pom-test-plugin-config.xml");
+        generateReport(getGoal(), "pom-test/pom-test-plugin-config.xml");
 
         assertFalse(new File(getBasedir(), 
"target/test/unit/pom-test").exists());
     }
+
+    @Override
+    protected String getGoal() {
+        return "jxr";
+    }
 }
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 4acbc6b..921c582 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
@@ -30,7 +30,7 @@ public class JxrTestReportTest extends AbstractJxrTestCase {
      * @throws Exception
      */
     public void testSourceDir() throws Exception {
-        generateReport("test-jxr", 
"testsourcedir-test/testsourcedir-test-plugin-config.xml");
+        generateReport(getGoal(), 
"testsourcedir-test/testsourcedir-test-plugin-config.xml");
 
         File xrefTestDir = new File(getBasedir(), 
"target/test/unit/testsourcedir-test/target/site/xref-test");
 
@@ -52,4 +52,9 @@ public class JxrTestReportTest extends AbstractJxrTestCase {
         str = readFile(xrefTestDir, "testsourcedir/test/AppTest.html");
         
assertFalse(str.toLowerCase().contains("/apidocs/testsourcedir/test/App.html\"".toLowerCase()));
     }
+
+    @Override
+    protected String getGoal() {
+        return "test-jxr";
+    }
 }
diff --git 
a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/AggregateTestMavenProjectStub.java
 
b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/AggregateTestMavenProjectStub.java
index 572e9c5..9f18d6f 100644
--- 
a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/AggregateTestMavenProjectStub.java
+++ 
b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/AggregateTestMavenProjectStub.java
@@ -18,6 +18,7 @@
  */
 package org.apache.maven.plugin.jxr.stubs;
 
+import java.io.File;
 import java.io.FileReader;
 import java.util.ArrayList;
 import java.util.List;
@@ -26,12 +27,11 @@ 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;
 
 /**
  * @author <a href="mailto:och...@apache.org";>Maria Odea Ching</a>
  */
-public class AggregateTestMavenProjectStub extends MavenProjectStub {
+public class AggregateTestMavenProjectStub extends JxrProjectStub {
     private List<ReportPlugin> reportPlugins = new ArrayList<>();
 
     public AggregateTestMavenProjectStub() {
@@ -39,8 +39,7 @@ public class AggregateTestMavenProjectStub extends 
MavenProjectStub {
         Model model = null;
 
         try {
-            model = pomReader.read(new FileReader(
-                    getBasedir() + 
"/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml"));
+            model = pomReader.read(new FileReader(getBasedir() + "/" + 
getPOM()));
             setModel(model);
         } catch (Exception ignored) {
 
@@ -54,7 +53,7 @@ public class AggregateTestMavenProjectStub extends 
MavenProjectStub {
 
         String basedir = getBasedir().getAbsolutePath();
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add(basedir + 
"/src/test/resources/unit/aggregate-test/aggregate/test");
+        compileSourceRoots.add(basedir + "/aggregate/test");
         setCompileSourceRoots(compileSourceRoots);
 
         // set the report plugins
@@ -70,4 +69,14 @@ public class AggregateTestMavenProjectStub extends 
MavenProjectStub {
     public List<ReportPlugin> getReportPlugins() {
         return reportPlugins;
     }
+
+    @Override
+    public File getBasedir() {
+        return new File(super.getBasedir() + "/aggregate-test");
+    }
+
+    @Override
+    protected String getPOM() {
+        return "aggregate-test-plugin-config.xml";
+    }
 }
diff --git 
a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/DefaultConfigurationMavenProjectStub.java
 
b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/DefaultConfigurationMavenProjectStub.java
index d221948..9c422c7 100644
--- 
a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/DefaultConfigurationMavenProjectStub.java
+++ 
b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/DefaultConfigurationMavenProjectStub.java
@@ -18,6 +18,7 @@
  */
 package org.apache.maven.plugin.jxr.stubs;
 
+import java.io.File;
 import java.io.FileReader;
 import java.util.ArrayList;
 import java.util.List;
@@ -26,12 +27,11 @@ 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;
 
 /**
  * @author <a href="mailto:och...@apache.org";>Maria Odea Ching</a>
  */
-public class DefaultConfigurationMavenProjectStub extends MavenProjectStub {
+public class DefaultConfigurationMavenProjectStub extends JxrProjectStub {
     private List<ReportPlugin> reportPlugins = new ArrayList<>();
 
     public DefaultConfigurationMavenProjectStub() {
@@ -39,8 +39,7 @@ public class DefaultConfigurationMavenProjectStub extends 
MavenProjectStub {
         Model model = null;
 
         try {
-            model = pomReader.read(new FileReader(getBasedir()
-                    + 
"/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml"));
+            model = pomReader.read(new FileReader(getBasedir() + "/" + 
getPOM()));
             setModel(model);
         } catch (Exception ignored) {
 
@@ -54,7 +53,7 @@ public class DefaultConfigurationMavenProjectStub extends 
MavenProjectStub {
 
         String basedir = getBasedir().getAbsolutePath();
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add(basedir + 
"/src/test/resources/unit/default-configuration/def/configuration");
+        compileSourceRoots.add(basedir + "/def/configuration");
         setCompileSourceRoots(compileSourceRoots);
 
         // set the report plugins
@@ -69,4 +68,14 @@ public class DefaultConfigurationMavenProjectStub extends 
MavenProjectStub {
     public List<ReportPlugin> getReportPlugins() {
         return reportPlugins;
     }
+
+    @Override
+    public File getBasedir() {
+        return new File(super.getBasedir() + "/default-configuration");
+    }
+
+    @Override
+    protected String getPOM() {
+        return "default-configuration-plugin-config.xml";
+    }
 }
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 9866204..633505c 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
@@ -18,6 +18,7 @@
  */
 package org.apache.maven.plugin.jxr.stubs;
 
+import java.io.File;
 import java.io.FileReader;
 import java.util.ArrayList;
 import java.util.List;
@@ -38,8 +39,7 @@ public class ExcludeConfigurationMavenProjectStub extends 
JxrProjectStub {
         Model model = null;
 
         try {
-            model = pomReader.read(new FileReader(getBasedir()
-                    + 
"/src/test/resources/unit/exclude-configuration/exclude-configuration-plugin-config.xml"));
+            model = pomReader.read(new FileReader(getBasedir() + "/" + 
getPOM()));
             setModel(model);
         } catch (Exception ignored) {
 
@@ -53,7 +53,7 @@ public class ExcludeConfigurationMavenProjectStub extends 
JxrProjectStub {
 
         String basedir = getBasedir().getAbsolutePath();
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add(basedir + 
"/src/test/resources/unit/exclude-configuration/exclude/configuration");
+        compileSourceRoots.add(basedir + "/exclude/configuration");
         setCompileSourceRoots(compileSourceRoots);
 
         // set the report plugins
@@ -68,4 +68,14 @@ public class ExcludeConfigurationMavenProjectStub extends 
JxrProjectStub {
     public List<ReportPlugin> getReportPlugins() {
         return reportPlugins;
     }
+
+    @Override
+    public File getBasedir() {
+        return new File(super.getBasedir() + "/exclude-configuration");
+    }
+
+    @Override
+    protected String getPOM() {
+        return "exclude-configuration-plugin-config.xml";
+    }
 }
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 5130359..a12cb42 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
@@ -18,6 +18,7 @@
  */
 package org.apache.maven.plugin.jxr.stubs;
 
+import java.io.File;
 import java.io.FileReader;
 import java.util.ArrayList;
 import java.util.List;
@@ -38,8 +39,7 @@ public class IncludeConfigurationMavenProjectStub extends 
JxrProjectStub {
         Model model = null;
 
         try {
-            model = pomReader.read(new FileReader(getBasedir()
-                    + 
"/src/test/resources/unit/include-configuration/include-configuration-plugin-config.xml"));
+            model = pomReader.read(new FileReader(getBasedir() + "/" + 
getPOM()));
             setModel(model);
         } catch (Exception ignored) {
 
@@ -53,7 +53,7 @@ public class IncludeConfigurationMavenProjectStub extends 
JxrProjectStub {
 
         String basedir = getBasedir().getAbsolutePath();
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add(basedir + 
"/src/test/resources/unit/include-configuration/include/configuration");
+        compileSourceRoots.add(basedir + "/include/configuration");
         setCompileSourceRoots(compileSourceRoots);
 
         // set the report plugins
@@ -68,4 +68,14 @@ public class IncludeConfigurationMavenProjectStub extends 
JxrProjectStub {
     public List<ReportPlugin> getReportPlugins() {
         return reportPlugins;
     }
+
+    @Override
+    public File getBasedir() {
+        return new File(super.getBasedir() + "/include-configuration");
+    }
+
+    @Override
+    protected String getPOM() {
+        return "include-configuration-plugin-config.xml";
+    }
 }
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
index 12bf7d4..57b40ca 100644
--- 
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
@@ -18,16 +18,34 @@
  */
 package org.apache.maven.plugin.jxr.stubs;
 
+import java.io.File;
 import java.util.Collections;
 import java.util.List;
 
+import org.apache.maven.RepositoryUtils;
 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;
+import org.eclipse.aether.repository.RemoteRepository;
 
 public abstract class JxrProjectStub extends MavenProjectStub {
+    /**
+     * @return the POM file name
+     */
+    protected abstract String getPOM();
+
+    @Override
+    public File getBasedir() {
+        return new File(super.getBasedir() + "/src/test/resources/unit/");
+    }
+
+    @Override
+    public File getFile() {
+        return new File(getBasedir(), getPOM());
+    }
+
     @Override
     public List<ArtifactRepository> getRemoteArtifactRepositories() {
         ArtifactRepository repository = new MavenArtifactRepository(
@@ -39,4 +57,9 @@ public abstract class JxrProjectStub extends MavenProjectStub 
{
 
         return Collections.singletonList(repository);
     }
+
+    @Override
+    public List<RemoteRepository> getRemoteProjectRepositories() {
+        return RepositoryUtils.toRepos(getRemoteArtifactRepositories());
+    }
 }
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 1e1368b..9a325c5 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
@@ -18,6 +18,7 @@
  */
 package org.apache.maven.plugin.jxr.stubs;
 
+import java.io.File;
 import java.io.FileReader;
 import java.util.ArrayList;
 import java.util.List;
@@ -38,8 +39,7 @@ public class NoJavadocDirMavenProjectStub extends 
JxrProjectStub {
         Model model = null;
 
         try {
-            model = pomReader.read(new FileReader(
-                    getBasedir() + 
"/src/test/resources/unit/nojavadocdir-test/nojavadocdir-test-plugin-config.xml"));
+            model = pomReader.read(new FileReader(getBasedir() + "/" + 
getPOM()));
             setModel(model);
         } catch (Exception ignored) {
 
@@ -53,7 +53,7 @@ public class NoJavadocDirMavenProjectStub extends 
JxrProjectStub {
 
         String basedir = getBasedir().getAbsolutePath();
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add(basedir + 
"/src/test/resources/unit/nojavadocdir-test/nojavadocdir/test");
+        compileSourceRoots.add(basedir + "/nojavadocdir/test");
         setCompileSourceRoots(compileSourceRoots);
 
         // set the report plugins
@@ -68,4 +68,14 @@ public class NoJavadocDirMavenProjectStub extends 
JxrProjectStub {
     public List<ReportPlugin> getReportPlugins() {
         return reportPlugins;
     }
+
+    @Override
+    public File getBasedir() {
+        return new File(super.getBasedir() + "/nojavadocdir-test");
+    }
+
+    @Override
+    protected String getPOM() {
+        return "nojavadocdir-test-plugin-config.xml";
+    }
 }
diff --git 
a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/NoJavadocLinkConfigurationMavenProjectStub.java
 
b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/NoJavadocLinkConfigurationMavenProjectStub.java
index 342d8d6..4d9a94e 100644
--- 
a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/NoJavadocLinkConfigurationMavenProjectStub.java
+++ 
b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/NoJavadocLinkConfigurationMavenProjectStub.java
@@ -18,6 +18,7 @@
  */
 package org.apache.maven.plugin.jxr.stubs;
 
+import java.io.File;
 import java.io.FileReader;
 import java.util.ArrayList;
 import java.util.List;
@@ -26,12 +27,11 @@ 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;
 
 /**
  * @author <a href="mailto:och...@apache.org";>Maria Odea Ching</a>
  */
-public class NoJavadocLinkConfigurationMavenProjectStub extends 
MavenProjectStub {
+public class NoJavadocLinkConfigurationMavenProjectStub extends JxrProjectStub 
{
     List<ReportPlugin> reportPlugins;
 
     public NoJavadocLinkConfigurationMavenProjectStub() {
@@ -39,10 +39,7 @@ public class NoJavadocLinkConfigurationMavenProjectStub 
extends MavenProjectStub
         Model model = null;
 
         try {
-            model = pomReader.read(
-                    new FileReader(
-                            getBasedir()
-                                    + 
"/src/test/resources/unit/nojavadoclink-configuration/nojavadoclink-configuration-plugin-config.xml"));
+            model = pomReader.read(new FileReader(getBasedir() + "/" + 
getPOM()));
             setModel(model);
         } catch (Exception ignored) {
 
@@ -56,8 +53,7 @@ public class NoJavadocLinkConfigurationMavenProjectStub 
extends MavenProjectStub
 
         String basedir = getBasedir().getAbsolutePath();
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add(
-                basedir + 
"/src/test/resources/unit/nojavadoclink-configuration/nojavadoclink/configuration");
+        compileSourceRoots.add(basedir + "/nojavadoclink/configuration");
         setCompileSourceRoots(compileSourceRoots);
 
         // set the report plugins
@@ -72,4 +68,14 @@ public class NoJavadocLinkConfigurationMavenProjectStub 
extends MavenProjectStub
     public List<ReportPlugin> getReportPlugins() {
         return reportPlugins;
     }
+
+    @Override
+    public File getBasedir() {
+        return new File(super.getBasedir() + "/nojavadoclink-configuration");
+    }
+
+    @Override
+    protected String getPOM() {
+        return "nojavadoclink-configuration-plugin-config.xml";
+    }
 }
diff --git 
a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/PomMavenProjectStub.java
 
b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/PomMavenProjectStub.java
index cadb456..7f1028a 100644
--- 
a/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/PomMavenProjectStub.java
+++ 
b/maven-jxr-plugin/src/test/java/org/apache/maven/plugin/jxr/stubs/PomMavenProjectStub.java
@@ -26,12 +26,11 @@ import java.util.List;
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
 
 /**
  * @author <a href="mailto:vincent.sive...@gmail.com";>Vincent Siveton</a>
  */
-public class PomMavenProjectStub extends MavenProjectStub {
+public class PomMavenProjectStub extends JxrProjectStub {
     private Build build;
 
     public PomMavenProjectStub() {
@@ -39,7 +38,7 @@ public class PomMavenProjectStub extends MavenProjectStub {
         Model model;
 
         try {
-            model = pomReader.read(new FileReader(new File(getBasedir(), 
"pom-test-plugin-config.xml")));
+            model = pomReader.read(new FileReader(new File(getBasedir() + "/" 
+ getPOM())));
             setModel(model);
         } catch (Exception e) {
             throw new RuntimeException(e);
@@ -54,11 +53,11 @@ public class PomMavenProjectStub extends MavenProjectStub {
 
         Build build = new Build();
         build.setFinalName(model.getArtifactId());
-        build.setDirectory(super.getBasedir() + 
"/target/test/unit/pom-test/target");
+        build.setDirectory(getBasedir() + "/target");
         build.setSourceDirectory(getBasedir() + "/src/main/java");
-        build.setOutputDirectory(super.getBasedir() + 
"/target/test/unit/pom-test/target/classes");
+        build.setOutputDirectory(getBasedir() + "/target/classes");
         build.setTestSourceDirectory(getBasedir() + "/src/test/java");
-        build.setTestOutputDirectory(super.getBasedir() + 
"/target/test/unit/pom-test/target/test-classes");
+        build.setTestOutputDirectory(getBasedir() + "/target/test-classes");
         setBuild(build);
 
         List<String> compileSourceRoots = new ArrayList<>();
@@ -84,10 +83,13 @@ public class PomMavenProjectStub extends MavenProjectStub {
         this.build = build;
     }
 
-    /**
-     * @see org.apache.maven.plugin.testing.stubs.MavenProjectStub#getBasedir()
-     */
+    @Override
     public File getBasedir() {
-        return new File(super.getBasedir() + 
"/src/test/resources/unit/pom-test");
+        return new File(super.getBasedir() + "/pom-test");
+    }
+
+    @Override
+    protected String getPOM() {
+        return "pom-test-plugin-config.xml";
     }
 }
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 a286b60..204ee35 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
@@ -18,6 +18,7 @@
  */
 package org.apache.maven.plugin.jxr.stubs;
 
+import java.io.File;
 import java.io.FileReader;
 import java.util.ArrayList;
 import java.util.List;
@@ -36,8 +37,7 @@ public class TestSourceDirMavenProjectStub extends 
JxrProjectStub {
         Model model = null;
 
         try {
-            model = pomReader.read(new FileReader(
-                    getBasedir() + 
"/src/test/resources/unit/testsourcedir-test/testsourcedir-test-plugin-config.xml"));
+            model = pomReader.read(new FileReader(getBasedir() + "/" + 
getPOM()));
             setModel(model);
         } catch (Exception ignored) {
 
@@ -51,11 +51,21 @@ public class TestSourceDirMavenProjectStub extends 
JxrProjectStub {
 
         String basedir = getBasedir().getAbsolutePath();
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add(basedir + 
"/src/test/resources/unit/testsourcedir-test");
+        compileSourceRoots.add(basedir);
         setCompileSourceRoots(compileSourceRoots);
 
         Artifact artifact = new JxrPluginArtifactStub(getGroupId(), 
getArtifactId(), getVersion(), getPackaging());
         artifact.setArtifactHandler(new DefaultArtifactHandlerStub());
         setArtifact(artifact);
     }
+
+    @Override
+    public File getBasedir() {
+        return new File(super.getBasedir() + "/testsourcedir-test");
+    }
+
+    @Override
+    protected String getPOM() {
+        return "testsourcedir-test-plugin-config.xml";
+    }
 }
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 27bac58..347cf60 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
@@ -51,7 +51,6 @@ 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 bf302a1..124f7aa 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,7 +44,6 @@ 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 eac7aee..5f0edb2 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,7 +44,6 @@ 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 dbe4d6d..db16d9d 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,7 +44,6 @@ 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 9e33092..8be96ac 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,7 +44,6 @@ 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 1f4769d..6841a75 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,7 +46,6 @@ 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 cd37da4..1ac1e93 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,7 +46,6 @@ 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 d136487..cc61d9f 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,7 +49,6 @@ 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 d0cfaed..580c19c 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,7 +49,6 @@ 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 0c3a0b2..351f7aa 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,7 +46,6 @@ 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 ba569bc..6fae9b8 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,7 +46,6 @@ 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 257aa0b..ae65ab4 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,7 +41,6 @@ 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 23bccd9..6f08c17 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,7 +44,6 @@ 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/pom.xml b/maven-jxr/pom.xml
index 331a20c..3dfd060 100644
--- a/maven-jxr/pom.xml
+++ b/maven-jxr/pom.xml
@@ -23,7 +23,7 @@ under the License.
   <parent>
     <groupId>org.apache.maven.jxr</groupId>
     <artifactId>jxr</artifactId>
-    <version>3.3.1-SNAPSHOT</version>
+    <version>4.0.0-M1-SNAPSHOT</version>
   </parent>
 
   <groupId>org.apache.maven</groupId>
@@ -42,8 +42,8 @@ under the License.
     </dependency>
     <dependency>
       <groupId>org.apache.velocity</groupId>
-      <artifactId>velocity</artifactId>
-      <version>1.7</version>
+      <artifactId>velocity-engine-core</artifactId>
+      <version>2.3</version>
     </dependency>
 
     <dependency>
@@ -64,7 +64,7 @@ under the License.
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-checkstyle-plugin</artifactId>
-          <!-- 
+          <!--
                The following has to be excluded from checkstyle. Otherwise
                it will fail based on the license of the file until
                a better solution exists.
diff --git a/maven-jxr/src/main/java/org/apache/maven/jxr/DirectoryIndexer.java 
b/maven-jxr/src/main/java/org/apache/maven/jxr/DirectoryIndexer.java
index fa25b9e..fb6f085 100644
--- a/maven-jxr/src/main/java/org/apache/maven/jxr/DirectoryIndexer.java
+++ b/maven-jxr/src/main/java/org/apache/maven/jxr/DirectoryIndexer.java
@@ -236,21 +236,17 @@ public class DirectoryIndexer {
         Path templateDirFile = Paths.get(getTemplateDir());
         if (templateDirFile.isAbsolute()) {
             // the property has been overridden: need to use a 
FileResourceLoader
-            engine.setProperty("resource.loader", "file");
+            engine.setProperty("resource.loaders", "file");
             engine.setProperty(
-                    "file.resource.loader.class", 
"org.apache.velocity.runtime.resource.loader.FileResourceLoader");
-            engine.setProperty("file.resource.loader.path", 
templateDirFile.toString());
+                    "resource.loader.file.class", 
"org.apache.velocity.runtime.resource.loader.FileResourceLoader");
+            engine.setProperty("resource.loader.file.path", 
templateDirFile.toString());
         } else {
             // use of the default templates
-            engine.setProperty("resource.loader", "classpath");
+            engine.setProperty("resource.loaders", "classpath");
             engine.setProperty(
-                    "classpath.resource.loader.class",
+                    "resource.loader.classpath.class",
                     
"org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
         }
-        // avoid "unable to find resource 'VM_global_library.vm' in any 
resource loader."
-        engine.setProperty("velocimacro.library", "");
-        //        engine.setProperty( Log.class.getName(), log );
-        //        engine.setProperty( "runtime.log.logsystem.class", 
VelocityLogger.class.getName() );
     }
 
     /*
diff --git 
a/maven-jxr/src/main/java/org/apache/maven/jxr/JavaCodeTransform.java 
b/maven-jxr/src/main/java/org/apache/maven/jxr/JavaCodeTransform.java
index 3740e09..f70b804 100644
--- a/maven-jxr/src/main/java/org/apache/maven/jxr/JavaCodeTransform.java
+++ b/maven-jxr/src/main/java/org/apache/maven/jxr/JavaCodeTransform.java
@@ -18,36 +18,6 @@
  */
 package org.apache.maven.jxr;
 
-/*
- * CodeViewer.java
- * CoolServlets.com
- * March 2000
- *
- * Copyright (C) 2000 CoolServlets.com
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * 1) Redistributions of source code must retain the above copyright notice,
- *   this list of conditions and the following disclaimer.
- * 2) Redistributions in binary form must reproduce the above copyright notice,
- *   this list of conditions and the following disclaimer in the documentation
- *   and/or other materials provided with the distribution.
- * 3) Neither the name CoolServlets.com nor the names of its contributors may 
be
- *   used to endorse or promote products derived from this software without
- *   specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY COOLSERVLETS.COM AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL COOLSERVLETS.COM OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 
USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
 import java.io.BufferedReader;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
diff --git a/pom.xml b/pom.xml
index ea98f25..2e11d83 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@ under the License.
 
   <groupId>org.apache.maven.jxr</groupId>
   <artifactId>jxr</artifactId>
-  <version>3.3.1-SNAPSHOT</version>
+  <version>4.0.0-M1-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <name>Maven JXR Parent</name>
@@ -76,12 +76,12 @@ under the License.
 
   <properties>
     <javaVersion>8</javaVersion>
-    <sitePluginVersion>3.12.1</sitePluginVersion>
     <slf4jVersion>1.7.36</slf4jVersion>
+    <sitePluginVersion>4.0.0-M11</sitePluginVersion>
     <javadocPluginVersion>3.5.0</javadocPluginVersion>
     <maven.site.path>jxr-archives/jxr-LATEST</maven.site.path>
     <checkstyle.violation.ignore>None</checkstyle.violation.ignore>
-    
<project.build.outputTimestamp>2022-08-16T10:28:45Z</project.build.outputTimestamp>
+    
<project.build.outputTimestamp>2023-02-11T23:35:51Z</project.build.outputTimestamp>
   </properties>
 
   <dependencyManagement>
@@ -131,25 +131,6 @@ under the License.
     </dependencies>
   </dependencyManagement>
 
-  <build>
-    <pluginManagement>
-      <!-- use the same plugin version in project and in IT tests -->
-      <!-- additionally versions upgrade will be tracked -->
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-javadoc-plugin</artifactId>
-          <version>${javadocPluginVersion}</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-site-plugin</artifactId>
-          <version>${sitePluginVersion}</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-
   <profiles>
     <profile>
       <id>reporting</id>

Reply via email to