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 );


Reply via email to