Hi On 2012-09-16 01:22, [email protected] wrote: > Author: bimargulies > Date: Sat Sep 15 23:22:45 2012 > New Revision: 1385200 > > URL: http://svn.apache.org/viewvc?rev=1385200&view=rev > Log: > MJAVADOC-342: An incomplete fix for the NPE bugs in AbstractJavadocMojo.java > o protect all the calls to getJavadocDirectory > o update to threadsafe version of maven-shade-plugin.
This change broke the plugins-wit-ITs-m2 build in Jenkins, because the new version of the shade-plugin requires Maven 3. Is this an important change? If so, the we need to adjust the aggregator POM for plugin to only build the Javadoc plugin with Maven 3. > > Modified: > maven/plugins/trunk/maven-javadoc-plugin/pom.xml > > maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java > > Modified: maven/plugins/trunk/maven-javadoc-plugin/pom.xml > URL: > http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/pom.xml?rev=1385200&r1=1385199&r2=1385200&view=diff > ============================================================================== > --- maven/plugins/trunk/maven-javadoc-plugin/pom.xml (original) > +++ maven/plugins/trunk/maven-javadoc-plugin/pom.xml Sat Sep 15 23:22:45 2012 > @@ -266,7 +266,7 @@ under the License. > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-shade-plugin</artifactId> > - <version>1.2.1</version> > + <version>2.0</version> > </plugin> > </plugins> > </pluginManagement> > > Modified: > maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java > URL: > http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java?rev=1385200&r1=1385199&r2=1385200&view=diff > ============================================================================== > --- > maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java > (original) > +++ > maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java > Sat Sep 15 23:22:45 2012 > @@ -26,11 +26,7 @@ import org.apache.maven.artifact.factory > import org.apache.maven.artifact.handler.ArtifactHandler; > import org.apache.maven.artifact.metadata.ArtifactMetadataSource; > import org.apache.maven.artifact.repository.ArtifactRepository; > -import org.apache.maven.artifact.resolver.ArtifactNotFoundException; > -import org.apache.maven.artifact.resolver.ArtifactResolutionException; > -import org.apache.maven.artifact.resolver.ArtifactResolutionResult; > -import org.apache.maven.artifact.resolver.ArtifactResolver; > -import org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException; > +import org.apache.maven.artifact.resolver.*; > import org.apache.maven.artifact.resolver.filter.AndArtifactFilter; > import org.apache.maven.artifact.resolver.filter.ArtifactFilter; > import org.apache.maven.artifact.resolver.filter.IncludesArtifactFilter; > @@ -42,16 +38,7 @@ import org.apache.maven.model.Plugin; > import org.apache.maven.model.Resource; > import org.apache.maven.plugin.AbstractMojo; > import org.apache.maven.plugin.MojoExecutionException; > -import org.apache.maven.plugin.javadoc.options.BootclasspathArtifact; > -import org.apache.maven.plugin.javadoc.options.DocletArtifact; > -import org.apache.maven.plugin.javadoc.options.Group; > -import org.apache.maven.plugin.javadoc.options.JavadocOptions; > -import org.apache.maven.plugin.javadoc.options.JavadocPathArtifact; > -import org.apache.maven.plugin.javadoc.options.OfflineLink; > -import org.apache.maven.plugin.javadoc.options.ResourcesArtifact; > -import org.apache.maven.plugin.javadoc.options.Tag; > -import org.apache.maven.plugin.javadoc.options.Taglet; > -import org.apache.maven.plugin.javadoc.options.TagletArtifact; > +import org.apache.maven.plugin.javadoc.options.*; > import > org.apache.maven.plugin.javadoc.options.io.xpp3.JavadocOptionsXpp3Writer; > import org.apache.maven.plugin.javadoc.resolver.JavadocBundle; > import org.apache.maven.plugin.javadoc.resolver.ResourceResolver; > @@ -76,43 +63,15 @@ import org.codehaus.plexus.archiver.UnAr > import org.codehaus.plexus.archiver.manager.ArchiverManager; > import org.codehaus.plexus.archiver.manager.NoSuchArchiverException; > import > org.codehaus.plexus.components.io.fileselectors.IncludeExcludeFileSelector; > -import org.codehaus.plexus.util.FileUtils; > -import org.codehaus.plexus.util.IOUtil; > -import org.codehaus.plexus.util.ReaderFactory; > -import org.codehaus.plexus.util.StringUtils; > -import org.codehaus.plexus.util.WriterFactory; > +import org.codehaus.plexus.util.*; > import org.codehaus.plexus.util.cli.CommandLineException; > import org.codehaus.plexus.util.cli.CommandLineUtils; > import org.codehaus.plexus.util.cli.Commandline; > import org.codehaus.plexus.util.xml.Xpp3Dom; > > -import java.io.File; > -import java.io.FileOutputStream; > -import java.io.FileWriter; > -import java.io.IOException; > -import java.io.InputStream; > -import java.io.OutputStream; > -import java.io.Writer; > -import java.net.MalformedURLException; > -import java.net.URI; > -import java.net.URISyntaxException; > -import java.net.URL; > -import java.net.URLClassLoader; > -import java.util.ArrayList; > -import java.util.Arrays; > -import java.util.Calendar; > -import java.util.Collection; > -import java.util.Collections; > -import java.util.HashMap; > -import java.util.HashSet; > -import java.util.LinkedHashSet; > -import java.util.LinkedList; > -import java.util.List; > -import java.util.Locale; > -import java.util.Map; > -import java.util.Properties; > -import java.util.Set; > -import java.util.StringTokenizer; > +import java.io.*; > +import java.net.*; > +import java.util.*; > > import static org.apache.maven.plugin.javadoc.JavadocUtil.*; > import static org.codehaus.plexus.util.IOUtil.close; > @@ -2102,14 +2061,17 @@ public abstract class AbstractJavadocMoj > sourcePaths.addAll( JavadocUtil.pruneDirs( > subProject, sourceRoots ) ); > } > > - String javadocDirRelative = > - PathUtils.toRelative( project.getBasedir(), > getJavadocDirectory().getAbsolutePath() ); > - File javadocDir = new File( subProject.getBasedir(), > javadocDirRelative ); > - if ( javadocDir.exists() && javadocDir.isDirectory() > ) > + if ( getJavadocDirectory() != null ) > { > - List<String> l = JavadocUtil.pruneDirs( > subProject, Collections.singletonList( > - javadocDir.getAbsolutePath() ) ); > - sourcePaths.addAll( l ); > + String javadocDirRelative = > + PathUtils.toRelative( > project.getBasedir(), getJavadocDirectory().getAbsolutePath() ); > + File javadocDir = new File( > subProject.getBasedir(), javadocDirRelative ); > + if ( javadocDir.exists() && > javadocDir.isDirectory() ) > + { > + List<String> l = JavadocUtil.pruneDirs( > subProject, Collections.singletonList( > + javadocDir.getAbsolutePath() ) ); > + sourcePaths.addAll( l ); > + } > } > } > } > @@ -4026,7 +3988,7 @@ public abstract class AbstractJavadocMoj > { > for ( MavenProject subProject : reactorProjects ) > { > - if ( subProject != project ) > + if ( subProject != project && getJavadocDirectory() != null ) > { > String javadocDirRelative = > PathUtils.toRelative( project.getBasedir(), > getJavadocDirectory().getAbsolutePath() ); > > -- Dennis Lundberg --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
