Hi, I'm trying to fix it since then, but my problem is that I can't reproduce the failure.
If you can reproduce it, perhaps I can understand the cause. I suppose it has to do with proxy: do you use a proxy? How do you configure it? Regards, Hervé Le jeudi 21 avril 2011, Dennis Lundberg a écrit : > Hi > > This commit seems to have broken the unit tests for Maven Javadoc > Plugin. I can see the broken test on my machine and in Jenkins: > > https://builds.apache.org/hudson/view/M-R/view/Maven/job/maven-plugins/167/ > > https://builds.apache.org/hudson/view/M-R/view/Maven/job/maven-plugins/176/ > org.apache.maven.plugins$maven-javadoc-plugin/testReport/junit/org.apache.m > aven.plugin.javadoc/JavadocReportTest/testProxy/ > > [email protected] skrev 2011-04-17 22:52: > > Author: hboutemy > > Date: Sun Apr 17 20:52:02 2011 > > New Revision: 1094194 > > > > URL: http://svn.apache.org/viewvc?rev=1094194&view=rev > > > > Log: > > |MJAVADOC-317] limited javadoc links checks for automatic dependency urls > > > > Modified: > > maven/plugins/trunk/maven-javadoc-plugin/ (props changed) > > maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/mav > > en/plugin/javadoc/AbstractJavadocMojo.java > > maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/ma > > ven/plugin/javadoc/JavadocReportTest.java > > maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/ma > > ven/plugin/javadoc/stubs/ProxyTestMavenProjectStub.java > > maven/plugins/trunk/maven-javadoc-plugin/src/test/resources/unit/pro > > xy-test/proxy-test-plugin-config.xml > > > > Propchange: maven/plugins/trunk/maven-javadoc-plugin/ > > ------------------------------------------------------------------------- > > ----- --- svn:ignore (original) > > +++ svn:ignore Sun Apr 17 20:52:02 2011 > > @@ -8,3 +8,5 @@ target > > > > cobertura.ser > > .settings > > bin > > > > + > > +javadoc-options-javadoc-resources.xml > > > > 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/sr > > c/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java?rev= > > 1094194&r1=1094193&r2=1094194&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 Sun Apr 17 20:52:02 2011 @@ > > -3819,7 +3819,6 @@ public abstract class AbstractJavadocMoj > > > > * @throws MavenReportException > > * @see #detectLinks > > * @see #getDependenciesLinks() > > > > - * @see JavadocUtil#fetchURL(Settings, URL) > > > > * @see <a > > href="http://download.oracle.com/javase/1.4.2/docs/tooldocs/window > > s/javadoc.html#package-list">package-list spec</a> */ > > > > private void addLinkArguments( List<String> arguments ) > > > > @@ -3839,10 +3838,7 @@ public abstract class AbstractJavadocMoj > > > > link = link.substring( 0, link.lastIndexOf( "/" ) ); > > > > } > > > > - if ( isValidJavadocLink( link ) ) > > - { > > - addArgIfNotEmpty( arguments, "-link", > > JavadocUtil.quotedPathArgument( link ), true ); - } > > + addArgIfNotEmpty( arguments, "-link", > > JavadocUtil.quotedPathArgument( link ), true ); > > > > } > > > > } > > > > @@ -5320,6 +5316,7 @@ public abstract class AbstractJavadocMoj > > > > * @return the detected Javadoc links using the Maven conventions > > for all dependencies defined in the current * project or an empty > > list. > > * @see #detectLinks > > > > + * @see #isValidJavadocLink(String) > > > > * @since 2.6 > > */ > > > > private List<String> getDependenciesLinks() > > > > @@ -5332,40 +5329,35 @@ public abstract class AbstractJavadocMoj > > > > getLog().debug( "Trying to add links for dependencies..." ); > > > > List<String> dependenciesLinks = new ArrayList<String>(); > > > > - for ( Iterator<Artifact> it = > > project.getDependencyArtifacts().iterator(); it.hasNext(); ) + > > + final Set<Artifact> dependencies = > > project.getDependencyArtifacts(); + for ( Artifact artifact : > > dependencies ) > > > > { > > > > - Artifact artifact = it.next(); > > + if ( artifact.getFile() == null || > > !artifact.getFile().exists() ) + { > > + continue; > > + } > > > > - if ( artifact != null && artifact.getFile() != null && > > artifact.getFile().exists() ) + try > > > > { > > > > - try > > + MavenProject artifactProject = > > + mavenProjectBuilder.buildFromRepository( artifact, > > remoteRepositories, localRepository ); + > > + if ( StringUtils.isNotEmpty( artifactProject.getUrl() ) > > ) > > > > { > > > > - MavenProject artifactProject = > > - mavenProjectBuilder.buildFromRepository( > > artifact, remoteRepositories, localRepository ); + > > String url = getJavadocLink( artifactProject ); > > > > - if ( StringUtils.isNotEmpty( > > artifactProject.getUrl() ) ) + if ( > > isValidJavadocLink( url ) ) > > > > { > > > > - String url = getJavadocLink( artifactProject ); > > + getLog().debug( "Added Javadoc link: " + url + " > > for " + artifactProject.getId() ); > > > > - if ( getLog().isDebugEnabled() ) > > - { > > - getLog().debug( > > - "Added Javadoc link: " + url > > + " for the artifact: " - > > + artifactProject.getId() ); - } > > > > dependenciesLinks.add( url ); > > > > } > > > > } > > > > - catch ( ProjectBuildingException e ) > > - { > > - if ( getLog().isDebugEnabled() ) > > - { > > - getLog().debug( > > - "Error when building the > > artifact: " + artifact.toString() - > > + ". Ignored to add Javadoc link." ); - } > > - logError( "ProjectBuildingException: " + > > e.getMessage(), e ); - } > > + } > > + catch ( ProjectBuildingException e ) > > + { > > + logError( "ProjectBuildingException for " + > > artifact.toString() + ": " + e.getMessage(), e ); > > > > } > > > > } > > > > @@ -5401,24 +5393,16 @@ public abstract class AbstractJavadocMoj > > > > } > > catch ( NumberFormatException e ) > > { > > > > - if ( getLog().isDebugEnabled() ) > > - { > > - getLog().debug( > > - "NumberFormatException for the > > source parameter in the maven-compiler-plugin. " - > > + "Ignored it", e ); > > - } > > + getLog().debug( "NumberFormatException for the source > > parameter in the maven-compiler-plugin. " + > > + "Ignored it", e ); > > > > } > > > > } > > else > > { > > > > - if ( getLog().isDebugEnabled() ) > > - { > > - getLog().debug( > > - "No maven-compiler-plugin defined in > > ${build.plugins} or in " - + > > "${project.build.pluginManagement} for the " + project.getId() - > > + ". Added Javadoc API link according the > > javadoc executable version i.e.: " - > > + fJavadocVersion ); > > - } > > + getLog().debug( "No maven-compiler-plugin defined in > > ${build.plugins} or in " + + > > "${project.build.pluginManagement} for the " + project.getId() + > > + ". Added Javadoc API link according the javadoc > > executable version i.e.: " + + > > fJavadocVersion ); > > > > } > > > > String javaApiLink = null; > > > > 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/sr > > c/test/java/org/apache/maven/plugin/javadoc/JavadocReportTest.java?rev=10 > > 94194&r1=1094193&r2=1094194&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 Sun Apr 17 20:52:02 2011 @@ -902,6 > > +902,10 @@ public class JavadocReportTest > > > > public void testProxy() > > > > throws Exception > > > > { > > > > + final boolean isMavenSiteOnline = > > + JavadocUtilTest.isWebSiteOnline( null, > > getContainer().getLogger(), + > > "http://maven.apache.org/shared/maven-filtering/apidocs/package-list" > > ); + > > > > Settings settings = new Settings(); > > Proxy proxy = new Proxy(); > > > > @@ -919,6 +923,7 @@ public class JavadocReportTest > > > > JavadocReport mojo = (JavadocReport) lookupMojo( "javadoc", > > testPom ); assertNotNull( mojo ); > > setVariableValueToObject( mojo, "settings", settings ); > > > > + setVariableValueToObject( mojo, "remoteRepositories", > > mojo.project.getRemoteArtifactRepositories() ); > > > > mojo.execute(); > > > > File commandLine = new File( getBasedir(), > > "target/test/unit/proxy-test/target/site/apidocs/javadoc." + ( > > SystemUtils.IS_OS_WINDOWS ? "bat" : "sh" ) ); > > > > @@ -934,10 +939,10 @@ public class JavadocReportTest > > > > File options = new File( getBasedir(), > > "target/test/unit/proxy-test/target/site/apidocs/options" ); > > assertTrue( FileUtils.fileExists( options.getAbsolutePath() ) > > ); String optionsContent = readFile( options ); > > > > - // NO -link > > http://download.oracle.com/javase/1.5.0/docs/api/docs/api/package-list - > > if ( JavadocUtilTest.isWebSiteOnline( null, > > getContainer().getLogger(), "http://download.oracle.com/" ) ) + > > if ( isMavenSiteOnline ) > > > > { > > > > - assertTrue( optionsContent.indexOf( "-link" ) == -1 ); > > + // NO -link > > http://maven.apache.org/shared/maven-filtering/apidocs/package-list + > > assertTrue( !optionsContent.contains( "-link > > 'http://maven.apache.org/shared/maven-filtering/apidocs'" ) ); > > > > } > > > > // real proxy > > > > @@ -959,6 +964,7 @@ public class JavadocReportTest > > > > mojo = (JavadocReport) lookupMojo( "javadoc", testPom ); > > setVariableValueToObject( mojo, "settings", settings ); > > > > + setVariableValueToObject( mojo, "remoteRepositories", > > mojo.project.getRemoteArtifactRepositories() ); > > > > mojo.execute(); > > readed = readFile( commandLine ); > > assertTrue( readed.indexOf( "-J-Dhttp.proxySet=true" ) != -1 > > ); > > > > @@ -966,10 +972,10 @@ public class JavadocReportTest > > > > assertTrue( readed.indexOf( "-J-Dhttp.proxyPort=" + > > proxyServer.getPort() ) != -1 ); > > > > optionsContent = readFile( options ); > > > > - // -link > > http://download.oracle.com/javase/1.5.0/docs/api/package-list - > > if ( JavadocUtilTest.isWebSiteOnline( null, > > getContainer().getLogger(), "http://download.oracle.com/" ) ) + > > if ( isMavenSiteOnline ) > > > > { > > > > - assertTrue( optionsContent.indexOf( "-link" ) != -1 ); > > + // -link > > http://maven.apache.org/shared/maven-filtering/apidocs/package-list + > > assertTrue( optionsContent.contains( "-link > > 'http://maven.apache.org/shared/maven-filtering/apidocs'" ) ); > > > > } > > assertTrue( true ); > > > > } > > > > @@ -1006,6 +1012,7 @@ public class JavadocReportTest > > > > mojo = (JavadocReport) lookupMojo( "javadoc", testPom ); > > setVariableValueToObject( mojo, "settings", settings ); > > > > + setVariableValueToObject( mojo, "remoteRepositories", > > mojo.project.getRemoteArtifactRepositories() ); > > > > mojo.execute(); > > readed = readFile( commandLine ); > > assertTrue( readed.indexOf( "-J-Dhttp.proxySet=true" ) != -1 > > ); > > > > @@ -1015,10 +1022,10 @@ public class JavadocReportTest > > > > assertTrue( readed.indexOf( > > "-J-Dhttp.proxyPassword=\\\"bar\\\"" ) != -1 ); > > > > optionsContent = readFile( options ); > > > > - // -link > > http://download.oracle.com/javase/1.5.0/docs/api/docs/api/package-list - > > if ( JavadocUtilTest.isWebSiteOnline( null, > > getContainer().getLogger(), "http://download.oracle.com" ) ) + > > if ( isMavenSiteOnline ) > > > > { > > > > - assertTrue( optionsContent.indexOf( "-link" ) != -1 ); > > + // -link > > http://maven.apache.org/shared/maven-filtering/apidocs/package-list + > > assertTrue( optionsContent.contains( "-link > > 'http://maven.apache.org/shared/maven-filtering/apidocs'" ) ); > > > > } > > assertTrue( true ); > > > > } > > > > Modified: > > maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/ > > plugin/javadoc/stubs/ProxyTestMavenProjectStub.java URL: > > http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/sr > > c/test/java/org/apache/maven/plugin/javadoc/stubs/ProxyTestMavenProjectSt > > ub.java?rev=1094194&r1=1094193&r2=1094194&view=diff > > ======================================================================== > > ====== --- > > maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/ > > plugin/javadoc/stubs/ProxyTestMavenProjectStub.java (original) +++ > > maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/ > > plugin/javadoc/stubs/ProxyTestMavenProjectStub.java Sun Apr 17 20:52:02 > > 2011 @@ -19,19 +19,26 @@ package org.apache.maven.plugin.javadoc. > > > > * under the License. > > */ > > > > +import org.apache.maven.artifact.Artifact; > > > > import org.apache.maven.model.Build; > > > > +import org.apache.maven.plugin.testing.stubs.ArtifactStub; > > > > import org.apache.maven.plugin.testing.stubs.MavenProjectStub; > > > > import java.io.File; > > import java.util.ArrayList; > > > > +import java.util.HashSet; > > > > import java.util.List; > > > > +import java.util.Set; > > > > /** > > > > * @author <a href="mailto:[email protected]">Vincent > > Siveton</a> * @version $Id$ > > */ > > > > -public class ProxyTestMavenProjectStub extends MavenProjectStub > > +public class ProxyTestMavenProjectStub > > + extends MavenProjectStub > > > > { > > > > + private Set<Artifact> dependencyArtifacts = new HashSet<Artifact>(); > > + > > > > public ProxyTestMavenProjectStub() > > { > > > > readModel( new File( getBasedir(), > > "proxy-test-plugin-config.xml" ) ); > > > > @@ -52,6 +59,16 @@ public class ProxyTestMavenProjectStub e > > > > List<String> compileSourceRoots = new ArrayList<String>(); > > compileSourceRoots.add( getBasedir() + "/src/main/java" ); > > setCompileSourceRoots( compileSourceRoots ); > > > > + > > + ArtifactStub artifact = new ArtifactStub(); > > + artifact.setGroupId( "org.apache.maven.shared" ); > > + artifact.setArtifactId( "maven-filtering" ); > > + artifact.setVersion( "1.0-beta-4" ); > > + artifact.setScope( Artifact.SCOPE_RUNTIME ); > > + artifact.setType( "jar" ); > > + artifact.setFile( getBasedir() ); > > + > > + dependencyArtifacts.add( artifact ); > > > > } > > > > /** {@inheritDoc} */ > > > > @@ -59,4 +76,9 @@ public class ProxyTestMavenProjectStub e > > > > { > > > > return new File( super.getBasedir() + > > "/src/test/resources/unit/proxy-test" ); > > > > } > > > > + > > + public Set<Artifact> getDependencyArtifacts() > > + { > > + return dependencyArtifacts; > > + } > > > > } > > > > Modified: > > maven/plugins/trunk/maven-javadoc-plugin/src/test/resources/unit/proxy-t > > est/proxy-test-plugin-config.xml URL: > > http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/sr > > c/test/resources/unit/proxy-test/proxy-test-plugin-config.xml?rev=1094194 > > &r1=1094193&r2=1094194&view=diff > > ======================================================================== > > ====== --- > > maven/plugins/trunk/maven-javadoc-plugin/src/test/resources/unit/proxy-t > > est/proxy-test-plugin-config.xml (original) +++ > > maven/plugins/trunk/maven-javadoc-plugin/src/test/resources/unit/proxy-t > > est/proxy-test-plugin-config.xml Sun Apr 17 20:52:02 2011 @@ -42,7 +42,8 > > @@ under the License. > > > > <groups/> > > <tags/> > > <stylesheet>java</stylesheet> > > > > - <detectJavaApiLink>true</detectJavaApiLink> > > + <detectJavaApiLink>false</detectJavaApiLink> > > + <detectLinks>true</detectLinks> > > > > <quiet>true</quiet> > > <debug>true</debug> > > <failOnError>true</failOnError> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
