Author: brett
Date: Fri Aug 1 05:30:04 2008
New Revision: 681672
URL: http://svn.apache.org/viewvc?rev=681672&view=rev
Log:
[MJAVADOC-210] fix taglet location on non-Sun platforms, use same location
technique as plexus-compiler
Modified:
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java
maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocReportTest.java
Modified:
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java?rev=681672&r1=681671&r2=681672&view=diff
==============================================================================
---
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java
(original)
+++
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocUtil.java
Fri Aug 1 05:30:04 2008
@@ -829,43 +829,20 @@
protected static List getTagletClassNames( File jarFile )
throws IOException, ClassNotFoundException, NoClassDefFoundError
{
- File jdkHome = null;
- if ( SystemUtils.IS_OS_MAC_OSX )
- {
- jdkHome = SystemUtils.getJavaHome();
- }
- else
- {
- jdkHome = SystemUtils.getJavaHome().getParentFile();
- }
+ List classes = getClassNamesFromJar( jarFile );
+ ClassLoader cl;
- if ( !jdkHome.exists() || !jdkHome.isDirectory() )
+ // Needed to find com.sun.tools.doclets.Taglet class
+ File tools = new File( System.getProperty( "java.home" ),
"../lib/tools.jar" );
+ if ( tools.exists() && tools.isFile() )
{
- Properties env = CommandLineUtils.getSystemEnvVars();
- String javaHome = env.getProperty( "JAVA_HOME" );
-
- if ( StringUtils.isEmpty( javaHome ) )
- {
- throw new IOException( "The environment variable JAVA_HOME is
not correctly set." );
- }
- jdkHome = new File( javaHome );
- if ( !jdkHome.exists() || !jdkHome.isDirectory() )
- {
- throw new IOException( "The environment variable JAVA_HOME=" +
javaHome
- + " doesn't exist or is not a valid directory." );
- }
+ cl = new URLClassLoader( new URL[] { jarFile.toURI().toURL(),
tools.toURI().toURL() }, null );
}
-
- // Needed to find com.sun.tools.doclets.Taglet class
- File tools = new File( jdkHome, "lib/tools.jar" );
- if ( !tools.exists() || !tools.isFile() )
+ else
{
- throw new IOException( "tools.jar '" + tools + "' was not found or
is invalid." );
+ cl = new URLClassLoader( new URL[] { jarFile.toURI().toURL() },
null );
}
- List classes = getClassNamesFromJar( jarFile );
- ClassLoader cl = new URLClassLoader( new URL[] {
jarFile.toURI().toURL(), tools.toURI().toURL() }, null );
-
List tagletClasses = new ArrayList();
Class tagletClass = cl.loadClass( "com.sun.tools.doclets.Taglet" );
Modified:
maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocReportTest.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocReportTest.java?rev=681672&r1=681671&r2=681672&view=diff
==============================================================================
---
maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocReportTest.java
(original)
+++
maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocReportTest.java
Fri Aug 1 05:30:04 2008
@@ -952,7 +952,7 @@
assertTrue( optionsFile.exists() );
String options = readFile( optionsFile );
// count -taglet
- assertEquals( StringUtils.countMatches( options, LINE_SEPARATOR +
"-taglet" + LINE_SEPARATOR ), 20 );
+ assertEquals( 20, StringUtils.countMatches( options, LINE_SEPARATOR +
"-taglet" + LINE_SEPARATOR ) );
assertTrue( options.indexOf(
"org.apache.maven.tools.plugin.javadoc.MojoAggregatorTypeTaglet" ) != -1 );
assertTrue( options.indexOf(
"org.apache.maven.tools.plugin.javadoc.MojoComponentFieldTaglet" ) != -1 );
assertTrue( options.indexOf(
"org.apache.maven.tools.plugin.javadoc.MojoConfiguratorTypeTaglet" ) != -1 );