Author: aheritier Date: Fri Feb 3 16:59:13 2006 New Revision: 374800 URL: http://svn.apache.org/viewcvs?rev=374800&view=rev Log: Add the property "maven.linkcheck.method" to select the method to use to do the tests (head -by default-,or get).
Modified: maven/maven-1/plugins/trunk/linkcheck/plugin.jelly maven/maven-1/plugins/trunk/linkcheck/plugin.properties maven/maven-1/plugins/trunk/linkcheck/project.properties maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/LinkCheck.java maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/validation/OnlineHTTPLinkValidator.java maven/maven-1/plugins/trunk/linkcheck/src/test/org/apache/maven/plugin/linkcheck/validation/HTTPLinkValidatorTest.java maven/maven-1/plugins/trunk/linkcheck/xdocs/changes.xml maven/maven-1/plugins/trunk/linkcheck/xdocs/properties.xml Modified: maven/maven-1/plugins/trunk/linkcheck/plugin.jelly URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/linkcheck/plugin.jelly?rev=374800&r1=374799&r2=374800&view=diff ============================================================================== --- maven/maven-1/plugins/trunk/linkcheck/plugin.jelly (original) +++ maven/maven-1/plugins/trunk/linkcheck/plugin.jelly Fri Feb 3 16:59:13 2006 @@ -89,6 +89,7 @@ basedir="${maven.docs.dest}" output="${maven.build.dir}/linkcheck/linkcheck-results.xml" outputEncoding="${maven.docs.outputencoding}" + method="${maven.linkcheck.method}" /> <!-- Do we want an error to be generated if there are link errors? --> Modified: maven/maven-1/plugins/trunk/linkcheck/plugin.properties URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/linkcheck/plugin.properties?rev=374800&r1=374799&r2=374800&view=diff ============================================================================== --- maven/maven-1/plugins/trunk/linkcheck/plugin.properties (original) +++ maven/maven-1/plugins/trunk/linkcheck/plugin.properties Fri Feb 3 16:59:13 2006 @@ -26,3 +26,4 @@ maven.linkcheck.proxy.password=${maven.proxy.password} maven.linkcheck.proxy.ntlm.host=${maven.proxy.ntlm.host} maven.linkcheck.proxy.ntlm.domain=${maven.proxy.ntlm.domain} +maven.linkcheck.method=head Modified: maven/maven-1/plugins/trunk/linkcheck/project.properties URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/linkcheck/project.properties?rev=374800&r1=374799&r2=374800&view=diff ============================================================================== --- maven/maven-1/plugins/trunk/linkcheck/project.properties (original) +++ maven/maven-1/plugins/trunk/linkcheck/project.properties Fri Feb 3 16:59:13 2006 @@ -20,6 +20,7 @@ maven.junit.fork=yes # Properties required for the unit tests maven.junit.sysproperties = \ + maven.linkcheck.method \ maven.linkcheck.proxy.host \ maven.linkcheck.proxy.port \ maven.linkcheck.proxy.username \ Modified: maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/LinkCheck.java URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/LinkCheck.java?rev=374800&r1=374799&r2=374800&view=diff ============================================================================== --- maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/LinkCheck.java (original) +++ maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/LinkCheck.java Fri Feb 3 16:59:13 2006 @@ -76,6 +76,8 @@ private String exclude; + private String method; + private List filesToCheck = null; private LinkValidatorManager lvm = null; @@ -151,6 +153,22 @@ this.exclude = exclude; } + /** + * @return the method + */ + public String getMethod() + { + return method; + } + + /** + * @param method the method to set + */ + public void setMethod( String method ) + { + this.method = method; + } + public List getFiles() { return filesToCheck; @@ -182,6 +200,7 @@ { lvm .addLinkValidator( new OnlineHTTPLinkValidator( + getMethod(), (String) ctx.getVariable( MAVEN_PROXY_HOST ), (String) ctx.getVariable( MAVEN_PROXY_PORT ), (String) ctx.getVariable( MAVEN_PROXY_USERNAME ), Modified: maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/validation/OnlineHTTPLinkValidator.java URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/validation/OnlineHTTPLinkValidator.java?rev=374800&r1=374799&r2=374800&view=diff ============================================================================== --- maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/validation/OnlineHTTPLinkValidator.java (original) +++ maven/maven-1/plugins/trunk/linkcheck/src/main/org/apache/maven/plugin/linkcheck/validation/OnlineHTTPLinkValidator.java Fri Feb 3 16:59:13 2006 @@ -18,6 +18,7 @@ import org.apache.commons.httpclient.NTCredentials; import org.apache.commons.httpclient.StatusLine; import org.apache.commons.httpclient.UsernamePasswordCredentials; +import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.httpclient.methods.HeadMethod; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -39,6 +40,12 @@ /** The maximum number of redirections for a link */ private final static int MAX_NB_REDIRECT = 10; + /** Use the get method to test pages. */ + private final static String GET_METHOD = "GET"; + + /** Use the head method to test pages. */ + private final static String HEAD_METHOD = "HEAD"; + private String proxyHost; private int proxyPort; @@ -51,11 +58,16 @@ private String proxyNtlmDomain; + private String method = HEAD_METHOD; + private transient HttpClient cl; - public OnlineHTTPLinkValidator( String proxyHost, String proxyPort, String proxyUser, String proxyPass, - String proxyNtlmHost, String proxyNtlmDomain ) + public OnlineHTTPLinkValidator( String method, String proxyHost, String proxyPort, String proxyUser, + String proxyPass, String proxyNtlmHost, String proxyNtlmDomain ) { + if ( LOG.isDebugEnabled() ) + LOG.debug( "Will use method : [" + method + "]" ); + this.method = method; if ( proxyHost == null || proxyHost.trim().equals( "" ) ) { this.proxyHost = null; @@ -203,8 +215,11 @@ { throw new HttpException( "Maximum number of redirections (" + MAX_NB_REDIRECT + ") exceeded" ); } - // execute the HEAD (a GET without the body returned) - HttpMethod hm = new HeadMethod( link ); + HttpMethod hm; + if ( HEAD_METHOD.equals( method ) ) + hm = new HeadMethod( link ); + else + hm = new GetMethod( link ); try { // We want to do it manually Modified: maven/maven-1/plugins/trunk/linkcheck/src/test/org/apache/maven/plugin/linkcheck/validation/HTTPLinkValidatorTest.java URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/linkcheck/src/test/org/apache/maven/plugin/linkcheck/validation/HTTPLinkValidatorTest.java?rev=374800&r1=374799&r2=374800&view=diff ============================================================================== --- maven/maven-1/plugins/trunk/linkcheck/src/test/org/apache/maven/plugin/linkcheck/validation/HTTPLinkValidatorTest.java (original) +++ maven/maven-1/plugins/trunk/linkcheck/src/test/org/apache/maven/plugin/linkcheck/validation/HTTPLinkValidatorTest.java Fri Feb 3 16:59:13 2006 @@ -39,7 +39,7 @@ System.err.println( "maven.mode.online : " + mavenOnline ); if ( mavenOnline ) { - hlv = new OnlineHTTPLinkValidator( System.getProperty( "maven.linkcheck.proxy.host" ), System + hlv = new OnlineHTTPLinkValidator( System.getProperty( "maven.linkcheck.method" ), System.getProperty( "maven.linkcheck.proxy.host" ), System .getProperty( "maven.linkcheck.proxy.port" ), System.getProperty( "maven.linkcheck.proxy.username" ), System.getProperty( "maven.linkcheck.proxy.password" ), System .getProperty( "maven.linkcheck.proxy.ntlm.host" ), System Modified: maven/maven-1/plugins/trunk/linkcheck/xdocs/changes.xml URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/linkcheck/xdocs/changes.xml?rev=374800&r1=374799&r2=374800&view=diff ============================================================================== --- maven/maven-1/plugins/trunk/linkcheck/xdocs/changes.xml (original) +++ maven/maven-1/plugins/trunk/linkcheck/xdocs/changes.xml Fri Feb 3 16:59:13 2006 @@ -25,6 +25,7 @@ </properties> <body> <release version="1.4-SNAPSHOT" date="in SVN"> + <action dev="aheritier" type="add">Add the property "maven.linkcheck.method" to select the method to use to do the tests (head -by default-,or get).</action> <action dev="aheritier" type="add" issue="MPLINKCHECK-25">Display for each file the number of links and the number of errors.</action> <action dev="aheritier" type="add" issue="MPLINKCHECK-25">New counters to report how many files and links are checked and how many errors are found.</action> <action dev="aheritier" type="update" issue="MPLINKCHECK-25">Display a more verbose message than the "NOT FOUND" error.</action> Modified: maven/maven-1/plugins/trunk/linkcheck/xdocs/properties.xml URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/linkcheck/xdocs/properties.xml?rev=374800&r1=374799&r2=374800&view=diff ============================================================================== --- maven/maven-1/plugins/trunk/linkcheck/xdocs/properties.xml (original) +++ maven/maven-1/plugins/trunk/linkcheck/xdocs/properties.xml Fri Feb 3 16:59:13 2006 @@ -109,6 +109,15 @@ Defaults to <code>maven.proxy.ntlm.domain</code>. </td> </tr> + <tr> + <td>maven.linkcheck.method</td> + <td>Yes</td> + <td> + The method to use to test pages. The value should be 'head' or 'get'. + In some cases (particularly with some proxies) the head method doesn't work witl all servers. + The get method is slower but safe. Defaults to <code>head</code>. + </td> + </tr> </table> </section> </body>