You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2019/07/04 22:11:22 UTC
[maven-jxr] branch master updated: [JXR-142] Switch to JSR330
Dependency Injection, [JXR-144] Require Maven 3.1.0
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-jxr.git
The following commit(s) were added to refs/heads/master by this push:
new b4117e7 [JXR-142] Switch to JSR330 Dependency Injection, [JXR-144] Require Maven 3.1.0
b4117e7 is described below
commit b4117e7ef0795eed02e2ace3c9c4c310f5391aac
Author: rfscholte <rf...@apache.org>
AuthorDate: Fri Jul 5 00:11:29 2019 +0200
[JXR-142] Switch to JSR330 Dependency Injection,
[JXR-144] Require Maven 3.1.0
---
maven-jxr-plugin/pom.xml | 7 +-
.../apache/maven/plugin/jxr/AbstractJxrReport.java | 5 +-
.../apache/maven/plugin/jxr/PluginLogAdapter.java | 68 --------
.../apache/maven/plugin/jxr/JxrTestReportTest.java | 6 -
maven-jxr/pom.xml | 34 +++-
.../org/apache/maven/jxr/DirectoryIndexer.java | 192 ++++++++++++++++-----
.../src/main/java/org/apache/maven/jxr/JXR.java | 42 ++---
.../org/apache/maven/jxr/JavaCodeTransform.java | 141 +++++++--------
.../main/java/org/apache/maven/jxr/log/Log.java | 37 ----
.../org/apache/maven/jxr/log/VelocityLogger.java | 65 -------
.../org/apache/maven/jxr/pacman/FileManager.java | 18 +-
.../apache/maven/jxr/pacman/PackageManager.java | 68 +++-----
.../org/apache/maven/jxr/pacman/PackageType.java | 12 +-
.../org/apache/maven/jxr/DirectoryIndexerTest.java | 58 ++++---
.../test/java/org/apache/maven/jxr/DummyLog.java | 52 ------
.../org/apache/maven/jxr/IncludeExcludeTest.java | 26 +--
.../test/java/org/apache/maven/jxr/JXR141Test.java | 20 ++-
.../apache/maven/jxr/JavaCodeTransformTest.java | 30 ++--
.../java/org/apache/maven/jxr/JxrBeanTest.java | 22 ++-
pom.xml | 4 +-
20 files changed, 385 insertions(+), 522 deletions(-)
diff --git a/maven-jxr-plugin/pom.xml b/maven-jxr-plugin/pom.xml
index 8e8917f..103b383 100644
--- a/maven-jxr-plugin/pom.xml
+++ b/maven-jxr-plugin/pom.xml
@@ -25,7 +25,7 @@ under the License.
<parent>
<groupId>org.apache.maven.jxr</groupId>
<artifactId>jxr</artifactId>
- <version>3.0.1-SNAPSHOT</version>
+ <version>3.1.0-SNAPSHOT</version>
</parent>
<groupId>org.apache.maven.plugins</groupId>
@@ -36,7 +36,7 @@ under the License.
<inceptionYear>2005</inceptionYear>
<properties>
- <mavenVersion>3.0</mavenVersion>
+ <mavenVersion>3.1.0</mavenVersion> <!-- support javax.inject -->
<doxia-sitetoolsVersion>1.8</doxia-sitetoolsVersion>
<doxiaVersion>1.8</doxiaVersion>
</properties>
@@ -166,7 +166,7 @@ under the License.
<dependency>
<groupId>org.apache.maven.plugin-testing</groupId>
<artifactId>maven-plugin-testing-harness</artifactId>
- <version>2.1</version>
+ <version>3.0.0</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -189,7 +189,6 @@ under the License.
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
<configuration>
- <streamLogs>true</streamLogs><!-- TEMPORARY -->
<projectsDirectory>src/it</projectsDirectory>
<cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
<pomIncludes>
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 fa2085c..2f6586a 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
@@ -163,6 +163,9 @@ public abstract class AbstractJxrReport
@Parameter( property = "javadocVersion" )
private String javadocVersion;
+ @Component
+ private JXR jxr;
+
/**
* Version of the Javadoc templates to use.
*/
@@ -264,7 +267,6 @@ public abstract class AbstractJxrReport
private void createXref( Locale locale, String destinationDirectory, List<String> sourceDirs )
throws IOException, JxrException, MavenReportException
{
- JXR jxr = new JXR();
jxr.setDest( Paths.get( destinationDirectory ) );
if ( StringUtils.isEmpty( inputEncoding ) )
{
@@ -274,7 +276,6 @@ public abstract class AbstractJxrReport
}
jxr.setInputEncoding( inputEncoding );
jxr.setLocale( locale );
- jxr.setLog( new PluginLogAdapter( getLog() ) );
jxr.setOutputEncoding( getOutputEncoding() );
jxr.setRevision( "HEAD" );
jxr.setJavadocLinkDir( getJavadocLocation() );
diff --git a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/PluginLogAdapter.java b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/PluginLogAdapter.java
deleted file mode 100644
index d0713a2..0000000
--- a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/PluginLogAdapter.java
+++ /dev/null
@@ -1,68 +0,0 @@
-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 org.apache.maven.plugin.logging.Log;
-
-/**
- * Logging adapter.
- *
- * @author <a href="mailto:brett.NO-SPAM@apache.org">Brett Porter</a>
- * @version $Id$
- */
-public class PluginLogAdapter
- implements org.apache.maven.jxr.log.Log
-{
- private final Log log;
-
- /**
- * Class constructor
- *
- * @param log the Log object to be used
- */
- public PluginLogAdapter( Log log )
- {
- this.log = log;
- }
-
- @Override
- public void info( String string )
- {
- log.info( string );
- }
-
- @Override
- public void debug( String string )
- {
- log.debug( string );
- }
-
- @Override
- public void warn( String string )
- {
- log.warn( string );
- }
-
- @Override
- public void error( String string )
- {
- log.error( string );
- }
-}
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 a089758..63098ec 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
@@ -32,12 +32,6 @@ import org.apache.maven.plugin.testing.AbstractMojoTestCase;
public class JxrTestReportTest
extends AbstractMojoTestCase
{
- protected void setUp()
- throws Exception
- {
- super.setUp();
- }
-
/**
* Method to test when the source dir is the test source dir
*
diff --git a/maven-jxr/pom.xml b/maven-jxr/pom.xml
index b64407f..3f5e81d 100644
--- a/maven-jxr/pom.xml
+++ b/maven-jxr/pom.xml
@@ -25,7 +25,7 @@ under the License.
<parent>
<groupId>org.apache.maven.jxr</groupId>
<artifactId>jxr</artifactId>
- <version>3.0.1-SNAPSHOT</version>
+ <version>3.1.0-SNAPSHOT</version>
</parent>
<groupId>org.apache.maven</groupId>
@@ -69,13 +69,29 @@ under the License.
</plugin>
</plugins>
</pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.sisu</groupId>
+ <artifactId>sisu-maven-plugin</artifactId>
+ <version>0.3.3</version>
+ <executions>
+ <execution>
+ <id>index-project</id>
+ <goals>
+ <goal>main-index</goal>
+ <goal>test-index</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
</build>
<dependencies>
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
+ <groupId>org.eclipse.sisu</groupId>
+ <artifactId>org.eclipse.sisu.plexus</artifactId>
+ <version>0.0.0.M2a</version> <!-- like Maven 3.1.0 -->
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
@@ -88,13 +104,19 @@ under the License.
<dependency>
<groupId>org.apache.velocity</groupId>
- <artifactId>velocity</artifactId>
- <version>1.5</version>
+ <artifactId>velocity-engine-core</artifactId>
+ <version>2.0</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
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 2a3cb8f..8e4aea9 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
@@ -25,14 +25,9 @@ import java.io.OutputStreamWriter;
import java.io.Writer;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
-import org.apache.maven.jxr.log.Log;
-import org.apache.maven.jxr.log.VelocityLogger;
import org.apache.maven.jxr.pacman.ClassType;
import org.apache.maven.jxr.pacman.PackageManager;
import org.apache.maven.jxr.pacman.PackageType;
@@ -212,13 +207,13 @@ public class DirectoryIndexer
*
* @throws JxrException If something went wrong
*/
- public void process( Log log )
+ public void process()
throws JxrException
{
- Map<String, Map<String, ?>> info = getPackageInfo();
+ ProjectInfo info = getProjectInfo();
VelocityEngine engine = new VelocityEngine();
- setProperties( engine, log );
+ setProperties( engine );
try
{
engine.init();
@@ -240,15 +235,12 @@ public class DirectoryIndexer
doVelocity( "allclasses-frame", root, context, engine );
doVelocity( "overview-summary", root, context, engine );
- Iterator<Map<String, ?>> iter = ( (Map) info.get( "allPackages" ) ).values().iterator();
- while ( iter.hasNext() )
+ for ( PackageInfo pkgInfo : info.getAllPackages().values() )
{
- Map pkgInfo = iter.next();
-
VelocityContext subContext = new VelocityContext( context );
subContext.put( "pkgInfo", pkgInfo );
- String outDir = root + '/' + pkgInfo.get( "dir" );
+ String outDir = root + '/' + pkgInfo.getDir();
doVelocity( "package-summary", outDir, subContext, engine );
doVelocity( "package-frame", outDir, subContext, engine );
}
@@ -257,7 +249,7 @@ public class DirectoryIndexer
/*
* Set Velocity properties to find templates
*/
- private void setProperties( VelocityEngine engine, Log log )
+ private void setProperties( VelocityEngine engine )
{
Path templateDirFile = Paths.get( getTemplateDir() );
if ( templateDirFile.isAbsolute() )
@@ -277,8 +269,8 @@ public class DirectoryIndexer
}
// 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() );
+// engine.setProperty( Log.class.getName(), log );
+// engine.setProperty( "runtime.log.logsystem.class", VelocityLogger.class.getName() );
}
/*
@@ -331,15 +323,13 @@ public class DirectoryIndexer
* allClasses collection of Maps with class info, format as above
*
*/
- Map<String, Map<String, ?>> getPackageInfo()
+ ProjectInfo getProjectInfo()
{
- Map<String, Map<String, Object>> allPackages = new TreeMap<>();
- Map<String, Map<String, String>> allClasses = new TreeMap<>();
+ Map<String, PackageInfo> allPackages = new TreeMap<>();
+ Map<String, ClassInfo> allClasses = new TreeMap<>();
- Enumeration<PackageType> packages = packageManager.getPackageTypes();
- while ( packages.hasMoreElements() )
+ for ( PackageType pkg : packageManager.getPackageTypes() )
{
- PackageType pkg = packages.nextElement();
String pkgName = pkg.getName();
String pkgDir = pkgName.replace( '.', '/' );
String rootRef = pkgName.replaceAll( "[^\\.]+(\\.|$)", "../" );
@@ -353,43 +343,151 @@ public class DirectoryIndexer
rootRef = "./";
}
- Map<String, Map<String, String>> pkgClasses = new TreeMap<>();
- Enumeration<ClassType> classes = pkg.getClassTypes();
- while ( classes.hasMoreElements() )
+ Map<String, ClassInfo> pkgClasses = new TreeMap<>();
+ for ( ClassType clazz : pkg.getClassTypes() )
{
- ClassType clazz = classes.nextElement();
-
String className = clazz.getName();
- Map<String, String> classInfo = new HashMap<>();
- if ( clazz.getFilename() != null )
- {
- classInfo.put( "filename", clazz.getFilename() );
- }
- else
- {
- classInfo.put( "filename", "" );
- }
- classInfo.put( "name", className );
- classInfo.put( "dir", pkgDir );
+
+ ClassInfo classInfo = new ClassInfo( className, pkgDir );
+
+ classInfo.setFilename( clazz.getFilename() );
pkgClasses.put( className, classInfo );
+
// Adding package name to key in order to ensure classes with identical names in different packages are
// all included.
allClasses.put( className + "#" + pkgName, classInfo );
}
- Map<String, Object> pkgInfo = new HashMap<>();
- pkgInfo.put( "name", pkgName );
- pkgInfo.put( "dir", pkgDir );
- pkgInfo.put( "classes", pkgClasses );
- pkgInfo.put( "rootRef", rootRef );
+ PackageInfo pkgInfo = new PackageInfo( pkgName, pkgDir );
+ pkgInfo.setClasses( pkgClasses );
+ pkgInfo.setRootRef( rootRef );
+
allPackages.put( pkgName, pkgInfo );
}
- Map<String, Map<String, ?>> info = new HashMap<>();
- info.put( "allPackages", allPackages );
- info.put( "allClasses", allClasses );
+ return new ProjectInfo( allPackages, allClasses );
+ }
+
+ /**
+ *
+ * @author Robert Scholte
+ * @since 3.2.0
+ */
+ public static class ProjectInfo
+ {
+ private final Map<String, PackageInfo> allPackages;
+
+ private final Map<String, ClassInfo> allClasses;
+
+ public ProjectInfo( Map<String, PackageInfo> allPackages, Map<String, ClassInfo> allClasses )
+ {
+ this.allPackages = allPackages;
+ this.allClasses = allClasses;
+ }
- return info;
+ public Map<String, PackageInfo> getAllPackages()
+ {
+ return allPackages;
+ }
+
+ public Map<String, ClassInfo> getAllClasses()
+ {
+ return allClasses;
+ }
+ }
+
+ /**
+ *
+ * @author Robert Scholte
+ * @since 3.2.0
+ */
+ public static class PackageInfo
+ {
+ private final String name;
+
+ private final String dir;
+
+ Map<String, ClassInfo> classes;
+
+ private String rootRef;
+
+ public PackageInfo( String name, String dir )
+ {
+ this.name = name;
+ this.dir = dir;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public String getDir()
+ {
+ return dir;
+ }
+
+ public void setClasses( Map<String, ClassInfo> classes )
+ {
+ this.classes = classes;
+ }
+
+ public Map<String, ClassInfo> getClasses()
+ {
+ return classes;
+ }
+
+ public void setRootRef( String rootRef )
+ {
+ this.rootRef = rootRef;
+ }
+
+ public String getRootRef()
+ {
+ return rootRef;
+ }
+ }
+
+ /**
+ * Holds class information
+ *
+ * @author Robert Scholte
+ * @since 3.2.0
+ */
+ public static class ClassInfo
+ {
+ private final String name;
+
+ private final String dir;
+
+ private String filename;
+
+ public ClassInfo( String name, String dir )
+ {
+ super();
+ this.name = name;
+ this.dir = dir;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public String getDir()
+ {
+ return dir;
+ }
+
+ public void setFilename( String filename )
+ {
+ this.filename = filename;
+ }
+
+ public String getFilename()
+ {
+ return filename;
+ }
}
}
\ No newline at end of file
diff --git a/maven-jxr/src/main/java/org/apache/maven/jxr/JXR.java b/maven-jxr/src/main/java/org/apache/maven/jxr/JXR.java
index c87fcb9..a719ff0 100644
--- a/maven-jxr/src/main/java/org/apache/maven/jxr/JXR.java
+++ b/maven-jxr/src/main/java/org/apache/maven/jxr/JXR.java
@@ -20,9 +20,9 @@ package org.apache.maven.jxr;
*/
import org.apache.maven.jxr.ant.DirectoryScanner;
-import org.apache.maven.jxr.log.Log;
import org.apache.maven.jxr.pacman.FileManager;
import org.apache.maven.jxr.pacman.PackageManager;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
import java.io.IOException;
import java.nio.file.Path;
@@ -30,19 +30,30 @@ import java.nio.file.Paths;
import java.util.List;
import java.util.Locale;
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
/**
* Main entry point into Maven used to kick off the XReference code building.
*
* @author <a href="mailto:burton@apache.org">Kevin A. Burton</a>
* @version $Id$
*/
-public class JXR
+@Named
+@Singleton
+public class JXR extends AbstractLogEnabled
{
+ @Inject
+ private PackageManager pkgmgr;
+
/**
- * The Log.
+ * Handles taking .java files and changing them into html. "More than meets
+ * the eye!" :)
*/
- private Log log;
-
+ @Inject
+ private JavaCodeTransform transformer;
+
/**
* The default list of include patterns to use.
*/
@@ -64,11 +75,6 @@ public class JXR
*/
private Path javadocLinkDir;
- /**
- * Handles taking .java files and changing them into html. "More than meets
- * the eye!" :)
- */
- private JavaCodeTransform transformer;
/**
* The revision of the module currently being processed.
@@ -96,8 +102,6 @@ public class JXR
public void processPath( PackageManager packageManager, Path sourceDir, String bottom )
throws IOException
{
- this.transformer = new JavaCodeTransform( packageManager );
-
DirectoryScanner ds = new DirectoryScanner();
// I'm not sure why we don't use the directoryScanner in packageManager,
// but since we don't we need to set includes/excludes here as well
@@ -205,14 +209,6 @@ public class JXR
}
/**
- * @param log
- */
- public void setLog( Log log )
- {
- this.log = log;
- }
-
- /**
* @param sourceDirs
* @param templateDir
* @param windowTitle
@@ -228,7 +224,7 @@ public class JXR
FileManager fileManager = new FileManager();
fileManager.setEncoding( inputEncoding );
- PackageManager pkgmgr = new PackageManager( log, fileManager );
+
pkgmgr.setExcludes( excludes );
pkgmgr.setIncludes( includes );
@@ -249,7 +245,7 @@ public class JXR
indexer.setWindowTitle( windowTitle );
indexer.setDocTitle( docTitle );
indexer.setBottom( bottom );
- indexer.process( log );
+ indexer.process();
}
// ----------------------------------------------------------------------
@@ -267,7 +263,7 @@ public class JXR
private void transform( Path sourceFile, Path destFile, String bottom )
throws IOException
{
- log.debug( sourceFile + " -> " + destFile );
+ getLogger().debug( sourceFile + " -> " + destFile );
// get a relative link to the javadocs
Path javadoc = javadocLinkDir != null ? getRelativeLink( destFile.getParent(), javadocLinkDir ) : null;
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 8102e6f..106280f 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
@@ -61,8 +61,13 @@ import java.util.HashSet;
import java.util.Hashtable;
import java.util.List;
import java.util.Locale;
+import java.util.Map;
import java.util.Set;
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
/**
* Syntax highlights java by turning it into html. A codeviewer object is created and then keeps state as lines are
* passed in. Each line passed in as java test, is returned as syntax highlighted html text. Users of the class can set
@@ -90,6 +95,8 @@ import java.util.Set;
* importFilter
* </pre>
*/
+@Named
+@Singleton
public class JavaCodeTransform
implements Serializable
{
@@ -166,7 +173,7 @@ public class JavaCodeTransform
/**
* HashTable containing java reserved words
*/
- private Hashtable<String, String> reservedWords = new Hashtable<>();
+ private Map<String, String> reservedWords = new Hashtable<>();
/**
* flag set to true when a multi-line comment is started
@@ -211,27 +218,71 @@ public class JavaCodeTransform
/**
* Package Manager for this project.
*/
+ @Inject
private PackageManager packageManager;
/**
* current file manager
*/
+ @Inject
private FileManager fileManager;
- // ----------------------------------------------------------------------
- // constructor
- // ----------------------------------------------------------------------
-
- /**
- * Constructor for the JavaCodeTransform object
- *
- * @param packageManager PackageManager for this project
- */
- public JavaCodeTransform( PackageManager packageManager )
{
- this.packageManager = packageManager;
- loadHash();
- this.fileManager = packageManager.getFileManager();
+ reservedWords.put( "abstract", "abstract" );
+ reservedWords.put( "do", "do" );
+ reservedWords.put( "inner", "inner" );
+ reservedWords.put( "public", "public" );
+ reservedWords.put( "var", "var" );
+ reservedWords.put( "boolean", "boolean" );
+ reservedWords.put( "continue", "continue" );
+ reservedWords.put( "int", "int" );
+ reservedWords.put( "return", "return" );
+ reservedWords.put( "void", "void" );
+ reservedWords.put( "break", "break" );
+ reservedWords.put( "else", "else" );
+ reservedWords.put( "interface", "interface" );
+ reservedWords.put( "short", "short" );
+ reservedWords.put( "volatile", "volatile" );
+ reservedWords.put( "byvalue", "byvalue" );
+ reservedWords.put( "extends", "extends" );
+ reservedWords.put( "long", "long" );
+ reservedWords.put( "static", "static" );
+ reservedWords.put( "while", "while" );
+ reservedWords.put( "case", "case" );
+ reservedWords.put( "final", "final" );
+ reservedWords.put( "native", "native" );
+ reservedWords.put( "super", "super" );
+ reservedWords.put( "transient", "transient" );
+ reservedWords.put( "cast", "cast" );
+ reservedWords.put( "float", "float" );
+ reservedWords.put( "new", "new" );
+ reservedWords.put( "rest", "rest" );
+ reservedWords.put( "catch", "catch" );
+ reservedWords.put( "for", "for" );
+ reservedWords.put( "null", "null" );
+ reservedWords.put( "synchronized", "synchronized" );
+ reservedWords.put( "char", "char" );
+ reservedWords.put( "finally", "finally" );
+ reservedWords.put( "operator", "operator" );
+ reservedWords.put( "this", "this" );
+ reservedWords.put( "class", "class" );
+ reservedWords.put( "generic", "generic" );
+ reservedWords.put( "outer", "outer" );
+ reservedWords.put( "switch", "switch" );
+ reservedWords.put( "const", "const" );
+ reservedWords.put( "goto", "goto" );
+ reservedWords.put( "package", "package" );
+ reservedWords.put( "throw", "throw" );
+ reservedWords.put( "double", "double" );
+ reservedWords.put( "if", "if" );
+ reservedWords.put( "private", "private" );
+ reservedWords.put( "true", "true" );
+ reservedWords.put( "default", "default" );
+ reservedWords.put( "import", "import" );
+ reservedWords.put( "protected", "protected" );
+ reservedWords.put( "try", "try" );
+ reservedWords.put( "throws", "throws" );
+ reservedWords.put( "implements", "implements" );
}
// ----------------------------------------------------------------------
@@ -907,68 +958,6 @@ public class JavaCodeTransform
/**
* Description of the Method
- */
- private void loadHash()
- {
- reservedWords.put( "abstract", "abstract" );
- reservedWords.put( "do", "do" );
- reservedWords.put( "inner", "inner" );
- reservedWords.put( "public", "public" );
- reservedWords.put( "var", "var" );
- reservedWords.put( "boolean", "boolean" );
- reservedWords.put( "continue", "continue" );
- reservedWords.put( "int", "int" );
- reservedWords.put( "return", "return" );
- reservedWords.put( "void", "void" );
- reservedWords.put( "break", "break" );
- reservedWords.put( "else", "else" );
- reservedWords.put( "interface", "interface" );
- reservedWords.put( "short", "short" );
- reservedWords.put( "volatile", "volatile" );
- reservedWords.put( "byvalue", "byvalue" );
- reservedWords.put( "extends", "extends" );
- reservedWords.put( "long", "long" );
- reservedWords.put( "static", "static" );
- reservedWords.put( "while", "while" );
- reservedWords.put( "case", "case" );
- reservedWords.put( "final", "final" );
- reservedWords.put( "native", "native" );
- reservedWords.put( "super", "super" );
- reservedWords.put( "transient", "transient" );
- reservedWords.put( "cast", "cast" );
- reservedWords.put( "float", "float" );
- reservedWords.put( "new", "new" );
- reservedWords.put( "rest", "rest" );
- reservedWords.put( "catch", "catch" );
- reservedWords.put( "for", "for" );
- reservedWords.put( "null", "null" );
- reservedWords.put( "synchronized", "synchronized" );
- reservedWords.put( "char", "char" );
- reservedWords.put( "finally", "finally" );
- reservedWords.put( "operator", "operator" );
- reservedWords.put( "this", "this" );
- reservedWords.put( "class", "class" );
- reservedWords.put( "generic", "generic" );
- reservedWords.put( "outer", "outer" );
- reservedWords.put( "switch", "switch" );
- reservedWords.put( "const", "const" );
- reservedWords.put( "goto", "goto" );
- reservedWords.put( "package", "package" );
- reservedWords.put( "throw", "throw" );
- reservedWords.put( "double", "double" );
- reservedWords.put( "if", "if" );
- reservedWords.put( "private", "private" );
- reservedWords.put( "true", "true" );
- reservedWords.put( "default", "default" );
- reservedWords.put( "import", "import" );
- reservedWords.put( "protected", "protected" );
- reservedWords.put( "try", "try" );
- reservedWords.put( "throws", "throws" );
- reservedWords.put( "implements", "implements" );
- }
-
- /**
- * Description of the Method
*
* @param oos ObjectOutputStream
* @throws IOException
diff --git a/maven-jxr/src/main/java/org/apache/maven/jxr/log/Log.java b/maven-jxr/src/main/java/org/apache/maven/jxr/log/Log.java
deleted file mode 100644
index 85d187f..0000000
--- a/maven-jxr/src/main/java/org/apache/maven/jxr/log/Log.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.apache.maven.jxr.log;
-
-/*
- * 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.
- */
-
-/**
- * Logging interface.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @version $Id$
- */
-public interface Log
-{
- void info( String message );
-
- void debug( String message );
-
- void warn( String message );
-
- void error( String message );
-}
diff --git a/maven-jxr/src/main/java/org/apache/maven/jxr/log/VelocityLogger.java b/maven-jxr/src/main/java/org/apache/maven/jxr/log/VelocityLogger.java
deleted file mode 100644
index 774caab..0000000
--- a/maven-jxr/src/main/java/org/apache/maven/jxr/log/VelocityLogger.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.apache.maven.jxr.log;
-
-/*
- * 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 org.apache.velocity.runtime.RuntimeServices;
-import org.apache.velocity.runtime.log.LogSystem;
-
-/**
- * Logging interface for Velocity.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @version $Id$
- */
-public class VelocityLogger
- implements LogSystem
-{
- private Log log;
-
- @Override
- public void init( RuntimeServices runtimeServices )
- {
- log = (Log) runtimeServices.getProperty( Log.class.getName() );
- }
-
- @Override
- public void logVelocityMessage( int level, String msg )
- {
- switch ( level )
- {
- // velocity info messages are too verbose, just consider them as debug messages...
- // case INFO_ID:
- // log.info( msg );
- // break;
-
- case WARN_ID:
- log.warn( msg );
- break;
-
- case ERROR_ID:
- log.error( msg );
- break;
-
- default:
- log.debug( msg );
- break;
- }
- }
-}
diff --git a/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/FileManager.java b/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/FileManager.java
index 03e2f4a..9f140b4 100644
--- a/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/FileManager.java
+++ b/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/FileManager.java
@@ -24,6 +24,9 @@ import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
/**
* <p>
*
@@ -35,26 +38,15 @@ import java.util.Map;
* Note. This assumes that the file will not be modified on disk while
* Alexandria is running. </p>
*/
+@Named
+@Singleton
public class FileManager
{
- /**
- * The Singleton instance of this FileManager
- */
- private static FileManager instance = new FileManager();
-
private Map<Path, JavaFile> files = new HashMap<>();
private String encoding = null;
/**
- * Get an instance of the FileManager
- */
- public static FileManager getInstance()
- {
- return instance;
- }
-
- /**
* Get a file from it's name. If the file does not exist within the
* FileManager, create a new one and return it.
*/
diff --git a/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/PackageManager.java b/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/PackageManager.java
index 4330ede..3288dc2 100644
--- a/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/PackageManager.java
+++ b/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/PackageManager.java
@@ -19,38 +19,44 @@ package org.apache.maven.jxr.pacman;
* under the License.
*/
+import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.DirectoryScanner;
-import org.apache.maven.jxr.log.Log;
import java.io.IOException;
import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.Enumeration;
+import java.util.Collection;
+import java.util.HashMap;
import java.util.HashSet;
-import java.util.Hashtable;
+import java.util.Map;
import java.util.Set;
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
/**
* Given a list of directories, parse them out and store them as rendered
* packages, classes, imports, etc.
*/
-public class PackageManager
+@Named
+@Singleton
+public class PackageManager extends AbstractLogEnabled
{
- private final Log log;
+ @Inject
+ private FileManager fileManager;
private Set<Path> directories = new HashSet<>();
/**
* All the packages that have been parsed
*/
- private Hashtable<String, PackageType> packages = new Hashtable<>();
+ private Map<String, PackageType> packages = new HashMap<>();
/**
* The default Java package.
*/
private PackageType defaultPackage = new PackageType();
- private FileManager fileManager;
/**
* The list of exclude patterns to use.
@@ -62,12 +68,6 @@ public class PackageManager
*/
private String[] includes = { "**/*.java" };
- public PackageManager( Log log, FileManager fileManager )
- {
- this.log = log;
- this.fileManager = fileManager;
- }
-
/**
* Given the name of a package (Ex: org.apache.maven.util) obtain it from
* the PackageManager
@@ -95,21 +95,20 @@ public class PackageManager
/**
* Get all of the packages in the PackageManager
*/
- public Enumeration<PackageType> getPackageTypes()
+ public Collection<PackageType> getPackageTypes()
{
- return packages.elements();
+ return packages.values();
}
/**
* Parse out all the directories on which this depends.
*/
- private void parse( String directory )
+ private void parse( Path baseDir )
{
// Go through each directory and get the java source
// files for this dir.
- log.debug( "Scanning " + directory );
+ getLogger().debug( "Scanning " + baseDir );
DirectoryScanner directoryScanner = new DirectoryScanner();
- Path baseDir = Paths.get( directory );
directoryScanner.setBasedir( baseDir.toFile() );
directoryScanner.setExcludes( excludes );
directoryScanner.setIncludes( includes );
@@ -117,7 +116,7 @@ public class PackageManager
for ( String file : directoryScanner.getIncludedFiles() )
{
- log.debug( "parsing... " + file );
+ getLogger().debug( "parsing... " + file );
//now parse out this file to get the packages/classname/etc
try
@@ -161,7 +160,7 @@ public class PackageManager
{
if ( this.directories.add( directory ) )
{
- this.parse( directory.toString() );
+ this.parse( directory );
}
}
@@ -171,37 +170,20 @@ public class PackageManager
public void dump()
{
- log.debug( "Dumping out PackageManager structure" );
+ getLogger().debug( "Dumping out PackageManager structure" );
- Enumeration<PackageType> pts = this.getPackageTypes();
-
- while ( pts.hasMoreElements() )
+ for ( PackageType current : getPackageTypes() )
{
-
- //get the current package and print it.
- PackageType current = pts.nextElement();
-
- log.debug( current.getName() );
+ getLogger().debug( current.getName() );
//get the classes under the package and print those too.
- Enumeration<ClassType> classes = current.getClassTypes();
-
- while ( classes.hasMoreElements() )
+ for ( ClassType currentClass : current.getClassTypes() )
{
-
- ClassType currentClass = classes.nextElement();
-
- log.debug( "\t" + currentClass.getName() );
-
+ getLogger().debug( '\t' + currentClass.getName() );
}
}
}
- public FileManager getFileManager()
- {
- return fileManager;
- }
-
public void setExcludes( String[] excludes )
{
this.excludes = excludes;
diff --git a/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/PackageType.java b/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/PackageType.java
index 1dec357..9817a45 100644
--- a/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/PackageType.java
+++ b/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/PackageType.java
@@ -19,8 +19,9 @@ package org.apache.maven.jxr.pacman;
* under the License.
*/
-import java.util.Enumeration;
-import java.util.Hashtable;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
/**
* Represents a Java package and its subclasses.
@@ -29,7 +30,7 @@ public class PackageType
extends BaseType
{
- private Hashtable<String, ClassType> classes = new Hashtable<String, ClassType>();
+ private Map<String, ClassType> classes = new HashMap<>();
/**
* Create a Java package
@@ -52,10 +53,9 @@ public class PackageType
/**
* Get all the known classes
*/
- public Enumeration<ClassType> getClassTypes()
+ public Collection<ClassType> getClassTypes()
{
-
- return classes.elements();
+ return classes.values();
}
/**
diff --git a/maven-jxr/src/test/java/org/apache/maven/jxr/DirectoryIndexerTest.java b/maven-jxr/src/test/java/org/apache/maven/jxr/DirectoryIndexerTest.java
index 7a16bfe..605655c 100644
--- a/maven-jxr/src/test/java/org/apache/maven/jxr/DirectoryIndexerTest.java
+++ b/maven-jxr/src/test/java/org/apache/maven/jxr/DirectoryIndexerTest.java
@@ -1,5 +1,6 @@
package org.apache.maven.jxr;
+
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -19,57 +20,62 @@ package org.apache.maven.jxr;
* under the License.
*/
-import org.apache.maven.jxr.pacman.FileManager;
-import org.apache.maven.jxr.pacman.PackageManager;
-import org.junit.Test;
-
import java.nio.file.Paths;
import java.util.Iterator;
import java.util.Map;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import org.apache.maven.jxr.DirectoryIndexer.ClassInfo;
+import org.apache.maven.jxr.DirectoryIndexer.PackageInfo;
+import org.apache.maven.jxr.DirectoryIndexer.ProjectInfo;
+import org.apache.maven.jxr.pacman.PackageManager;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.PlexusTestCase;
-public class DirectoryIndexerTest {
+public class DirectoryIndexerTest extends PlexusTestCase
+{
+ @Override
+ protected void customizeContainerConfiguration( ContainerConfiguration configuration )
+ {
+ configuration.setClassPathScanning( "INDEX" );
+ }
+
/**
* Parse the files in test/resources/jxr68 packages, ensure all are present in the allClasses Map,
* in the correct order.
*/
- @Test
- public void testJXR_68()
+ public void testJXR_68() throws Exception
{
- FileManager fileManager = FileManager.getInstance();
- PackageManager packageManager = new PackageManager( new DummyLog(), fileManager );
- packageManager.process(Paths.get( "src/test/resources/jxr68" ));
+ PackageManager packageManager = lookup( PackageManager.class );
+ packageManager.process( Paths.get( "src/test/resources/jxr68" ) );
DirectoryIndexer directoryIndexer = new DirectoryIndexer( packageManager, "" );
- final Map<String, Map<String, ?>> packageInfo = directoryIndexer.getPackageInfo();
- final Map<String, ?> allPackages = packageInfo.get( "allPackages" );
+ ProjectInfo packageInfo = directoryIndexer.getProjectInfo();
+ final Map<String, PackageInfo> allPackages = packageInfo.getAllPackages();
assertEquals(3, allPackages.size());
assertTrue( allPackages.containsKey( "(default package)" ) );
assertTrue( allPackages.containsKey( "pkga" ) );
assertTrue( allPackages.containsKey( "pkgb" ) );
- final Map<String, Map<String, String>> allClasses = (Map<String, Map<String, String>>) packageInfo.get( "allClasses" );
+ final Map<String, ClassInfo> allClasses = packageInfo.getAllClasses();
assertEquals( 6, allClasses.size() );
- final Iterator<Map<String, String>> iterator = allClasses.values().iterator();
+ final Iterator<ClassInfo> iterator = allClasses.values().iterator();
// #1: AClass
- assertEquals( "AClass", iterator.next().get( "name" ) );
+ assertEquals( "AClass", iterator.next().getName() );
// #2: BClass
- assertEquals( "BClass", iterator.next().get( "name" ) );
+ assertEquals( "BClass", iterator.next().getName() );
// #3: CClass
- assertEquals( "CClass", iterator.next().get( "name" ) );
+ assertEquals( "CClass", iterator.next().getName() );
// #4: SomeClass in default package
- Map<String, String> classInfo = iterator.next();
- assertEquals( "SomeClass", classInfo.get( "name" ) );
- assertEquals( ".", classInfo.get( "dir" ) );
+ ClassInfo classInfo = iterator.next();
+ assertEquals( "SomeClass", classInfo.getName() );
+ assertEquals( ".", classInfo.getDir() );
// #5: SomeClass in "pkga"
classInfo = iterator.next();
- assertEquals( "SomeClass", classInfo.get( "name" ) );
- assertEquals( "pkga", classInfo.get( "dir" ) );
+ assertEquals( "SomeClass", classInfo.getName() );
+ assertEquals( "pkga", classInfo.getDir() );
// #6: SomeClass in "pkgb"
classInfo = iterator.next();
- assertEquals( "SomeClass", classInfo.get( "name" ) );
- assertEquals( "pkgb", classInfo.get( "dir" ) );
+ assertEquals( "SomeClass", classInfo.getName() );
+ assertEquals( "pkgb", classInfo.getDir() );
}
}
\ No newline at end of file
diff --git a/maven-jxr/src/test/java/org/apache/maven/jxr/DummyLog.java b/maven-jxr/src/test/java/org/apache/maven/jxr/DummyLog.java
deleted file mode 100644
index 4e2340a..0000000
--- a/maven-jxr/src/test/java/org/apache/maven/jxr/DummyLog.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.apache.maven.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 org.apache.maven.jxr.log.Log;
-
-/**
- * Dummy logger.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @version $Id$
- */
-public class DummyLog
- implements Log
-{
- public void info( String message )
- {
- System.out.println( message );
- }
-
- public void debug( String message )
- {
- System.out.println( message );
- }
-
- public void warn( String message )
- {
- System.out.println( message );
- }
-
- public void error( String message )
- {
- System.out.println( message );
- }
-}
diff --git a/maven-jxr/src/test/java/org/apache/maven/jxr/IncludeExcludeTest.java b/maven-jxr/src/test/java/org/apache/maven/jxr/IncludeExcludeTest.java
index 5a80669..d203baa 100644
--- a/maven-jxr/src/test/java/org/apache/maven/jxr/IncludeExcludeTest.java
+++ b/maven-jxr/src/test/java/org/apache/maven/jxr/IncludeExcludeTest.java
@@ -19,16 +19,13 @@ package org.apache.maven.jxr;
* under the License.
*/
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Collections;
-import org.junit.Before;
-import org.junit.Test;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.PlexusTestCase;
/**
* Test include/exclude patterns.
@@ -36,22 +33,27 @@ import org.junit.Test;
* @author <a href="mailto:dennisl@apache.org">Dennis Lundberg</a>
* @version $Id$
*/
-public class IncludeExcludeTest
+public class IncludeExcludeTest extends PlexusTestCase
{
private JXR jxr;
-
- @Before
- public void setUp()
+
+ @Override
+ protected void customizeContainerConfiguration( ContainerConfiguration configuration )
+ {
+ configuration.setClassPathScanning( "INDEX" );
+ }
+
+ @Override
+ public void setUp() throws Exception
{
- jxr = new JXR();
+ super.setUp();
+ jxr = lookup( JXR.class );
jxr.setDest( Paths.get( "target" ) );
jxr.setInputEncoding( "ISO-8859-1" );
jxr.setOutputEncoding( "ISO-8859-1" );
jxr.setJavadocLinkDir( Paths.get( "." ) );
- jxr.setLog( new DummyLog() );
}
- @Test
public void testIncludeExclude()
throws Exception
{
diff --git a/maven-jxr/src/test/java/org/apache/maven/jxr/JXR141Test.java b/maven-jxr/src/test/java/org/apache/maven/jxr/JXR141Test.java
index a73ecea..5937a50 100644
--- a/maven-jxr/src/test/java/org/apache/maven/jxr/JXR141Test.java
+++ b/maven-jxr/src/test/java/org/apache/maven/jxr/JXR141Test.java
@@ -19,7 +19,6 @@ package org.apache.maven.jxr;
* under the License.
*/
-import org.junit.Test;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
@@ -27,20 +26,25 @@ import java.nio.file.Paths;
import java.util.Collections;
import java.util.List;
-import static org.junit.Assert.*;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.PlexusTestCase;
/**
* Simple unit-testtest that illustrates a line with more
* than one "token" to replace
*/
-public class JXR141Test {
-
- @Test
- public void processPath() throws Exception
+public class JXR141Test extends PlexusTestCase
+{
+ @Override
+ protected void customizeContainerConfiguration( ContainerConfiguration configuration )
+ {
+ configuration.setClassPathScanning( "INDEX" );
+ }
+
+ public void testProcessPath() throws Exception
{
- JXR jxr = new JXR();
+ JXR jxr = lookup( JXR.class );
jxr.setDest( Paths.get("target/jxr-141" ) );
- jxr.setLog( new DummyLog() );
jxr.setOutputEncoding( "UTF-8" );
jxr.xref( Collections.singletonList( "src/test/resources/jxr141" ),"templates/jdk4",
"title", "title", "copyright" );
diff --git a/maven-jxr/src/test/java/org/apache/maven/jxr/JavaCodeTransformTest.java b/maven-jxr/src/test/java/org/apache/maven/jxr/JavaCodeTransformTest.java
index 5c93306..1b1f37c 100644
--- a/maven-jxr/src/test/java/org/apache/maven/jxr/JavaCodeTransformTest.java
+++ b/maven-jxr/src/test/java/org/apache/maven/jxr/JavaCodeTransformTest.java
@@ -19,44 +19,42 @@ package org.apache.maven.jxr;
* under the License.
*/
-import static org.junit.Assert.assertTrue;
-
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Locale;
-import org.apache.maven.jxr.pacman.FileManager;
-import org.apache.maven.jxr.pacman.PackageManager;
-import org.junit.Before;
-import org.junit.Test;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.PlexusTestCase;
/**
* JUnit test for {@link JavaCodeTransform}.
*/
-public class JavaCodeTransformTest
+public class JavaCodeTransformTest extends PlexusTestCase
{
/** JavaCodeTransform object under test */
private JavaCodeTransform codeTransform;
- /***/
- private PackageManager packageManager;
-
+ @Override
+ protected void customizeContainerConfiguration( ContainerConfiguration configuration )
+ {
+ configuration.setClassPathScanning( "INDEX" );
+ }
+
/**
* Set up this test.
*/
- @Before
- public void setUp()
+ @Override
+ public void setUp() throws Exception
{
- packageManager = new PackageManager( new DummyLog(), new FileManager() );
- codeTransform = new JavaCodeTransform( packageManager );
+ super.setUp();
+ codeTransform = lookup( JavaCodeTransform.class );
}
/**
* Test basic transformation of a java source file.
*/
- @Test
public void testTransform()
//test transforms its own sourcefile, so add some comments
throws Exception // single line despite /*
@@ -74,7 +72,6 @@ public class JavaCodeTransformTest
/**
* Test what happens with an empty sourcefile.
*/
- @Test
public void testTransformWithEmptyClassFile()
throws Exception
{
@@ -89,7 +86,6 @@ public class JavaCodeTransformTest
/**
* Test proper handling of link
*/
- @Test
public void testLinkHandling()
throws Exception
{
diff --git a/maven-jxr/src/test/java/org/apache/maven/jxr/JxrBeanTest.java b/maven-jxr/src/test/java/org/apache/maven/jxr/JxrBeanTest.java
index fcac23b..7ecefdf 100644
--- a/maven-jxr/src/test/java/org/apache/maven/jxr/JxrBeanTest.java
+++ b/maven-jxr/src/test/java/org/apache/maven/jxr/JxrBeanTest.java
@@ -22,26 +22,30 @@ package org.apache.maven.jxr;
import java.nio.file.Paths;
import java.util.Collections;
-import org.junit.Before;
-import org.junit.Test;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.PlexusTestCase;
-public class JxrBeanTest
+public class JxrBeanTest extends PlexusTestCase
{
-
private JXR jxrBean;
- @Before
- public void setUp()
+ @Override
+ protected void customizeContainerConfiguration( ContainerConfiguration configuration )
+ {
+ configuration.setClassPathScanning( "INDEX" );
+ }
+
+ @Override
+ public void setUp() throws Exception
{
- jxrBean = new JXR();
+ super.setUp();
+ jxrBean = lookup( JXR.class );
jxrBean.setDest( Paths.get( "target" ) );
jxrBean.setInputEncoding( "ISO-8859-1" );
jxrBean.setOutputEncoding( "ISO-8859-1" );
jxrBean.setJavadocLinkDir( Paths.get( "." ) );
- jxrBean.setLog( new DummyLog() );
}
- @Test
public void testXref()
throws Exception
{
diff --git a/pom.xml b/pom.xml
index e61a9f5..be2f7ec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@ under the License.
<groupId>org.apache.maven.jxr</groupId>
<artifactId>jxr</artifactId>
- <version>3.0.1-SNAPSHOT</version>
+ <version>3.1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Maven JXR Parent</name>
@@ -89,7 +89,7 @@ under the License.
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
- <version>4.11</version>
+ <version>4.12</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>