Author: hboutemy
Date: Mon Jul 15 20:25:07 2013
New Revision: 1503455

URL: http://svn.apache.org/r1503455
Log:
added options to ignore check failures for configured artifacts

Modified:
    maven/sandbox/trunk/dist-tools/dist-tool-plugin/pom.xml
    
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/AbstractDistCheckMojo.java
    
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DistCheckSiteMojo.java
    
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DistCheckSourceReleaseMojo.java

Modified: maven/sandbox/trunk/dist-tools/dist-tool-plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/pom.xml?rev=1503455&r1=1503454&r2=1503455&view=diff
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/pom.xml (original)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/pom.xml Mon Jul 15 20:25:07 
2013
@@ -253,13 +253,31 @@
         <groupId>${project.groupId}</groupId>
         <artifactId>${project.artifactId}</artifactId>
         <version>${project.version}</version>
+        <configuration>
+          <ignoreSiteFailures>
+            <ignoreSiteFailure>apache-maven:2.0.11</ignoreSiteFailure>
+            <ignoreSiteFailure>apache-maven:2.2.1</ignoreSiteFailure>
+            <ignoreSiteFailure>maven-indexer:5.1.1</ignoreSiteFailure>
+            <ignoreSiteFailure>file-management:1.2.1</ignoreSiteFailure>
+          </ignoreSiteFailures>
+          <ignoreDistFailures>
+            <ignoreDistFailure>doxia-linkcheck:1.2</ignoreDistFailure>
+            <ignoreDistFailure>apache-maven:2.0.11</ignoreDistFailure>
+            <ignoreDistFailure>maven-docck-plugin:1.0</ignoreDistFailure>
+            <ignoreDistFailure>maven-idea-plugin:2.2</ignoreDistFailure>
+            <ignoreDistFailure>maven-one-plugin:1.2</ignoreDistFailure>
+            <ignoreDistFailure>maven-reactor-plugin:1.0</ignoreDistFailure>
+            <ignoreDistFailure>file-management:1.2.1</ignoreDistFailure>
+            <ignoreDistFailure>maven-model-converter:2.2</ignoreDistFailure>
+            
<ignoreDistFailure>maven-repository-builder:1.0-alpha-2</ignoreDistFailure>
+          </ignoreDistFailures>
+        </configuration>
         <reportSets>
           <reportSet>
             <id>html</id>
             <reports>
               <report>check-site</report>
               <report>check-source-release</report>
-              
             </reports>
           </reportSet>
           <reportSet>

Modified: 
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/AbstractDistCheckMojo.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/AbstractDistCheckMojo.java?rev=1503455&r1=1503454&r2=1503455&view=diff
==============================================================================
--- 
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/AbstractDistCheckMojo.java
 (original)
+++ 
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/AbstractDistCheckMojo.java
 Mon Jul 15 20:25:07 2013
@@ -260,21 +260,29 @@ public abstract class AbstractDistCheckM
     }
     
     /**
-     * Add Error line to logs.txt
+     * Log and add Error line to logs.txt if not configured to ignore the 
artifact+version
      * 
      * @param error 
      */
-    protected void addErrorLine( String error ) 
+    protected void addErrorLine( ConfigurationLineInfo cli, String version, 
List<String> ignore, String error ) 
     {
-        getLog().error( error );
-        try ( PrintWriter output = new PrintWriter(
-                new FileWriter( new File( "target", "logs.txt" 
).getAbsolutePath(), true ) ) )
+        if ( ignore.contains( cli.getArtifactId() + ':' + version ) || 
ignore.contains( cli.getArtifactId() ) )
         {
-            output.printf( "%s\r\n", error );
+            getLog().warn( error );
         }
-        catch ( Exception e )
+        else
         {
-            getLog().error( "Cannot append logs.txt" );
+            getLog().error( error );
+
+            try ( PrintWriter output = new PrintWriter(
+                    new FileWriter( new File( "target", "logs.txt" 
).getAbsolutePath(), true ) ) )
+            {
+                output.printf( "%s\r\n", error );
+            }
+            catch ( Exception e )
+            {
+                getLog().error( "Cannot append to logs.txt" );
+            }
         }
     }
 }

Modified: 
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DistCheckSiteMojo.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DistCheckSiteMojo.java?rev=1503455&r1=1503454&r2=1503455&view=diff
==============================================================================
--- 
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DistCheckSiteMojo.java
 (original)
+++ 
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DistCheckSiteMojo.java
 Mon Jul 15 20:25:07 2013
@@ -62,6 +62,12 @@ public class DistCheckSiteMojo
     extends AbstractDistCheckMojo
 {
     /**
+     * Ignore site failure for <code>artifactId</code> or 
<code>artifactId:version</code>
+     */
+    @Parameter
+    protected List<String> ignoreSiteFailures;
+
+    /**
      * Artifact factory.
      */
     @Component
@@ -401,27 +407,27 @@ public class DistCheckSiteMojo
         return url;
     }
 
-    private void checkSite( ConfigurationLineInfo configLine, String version )
+    private void checkSite( ConfigurationLineInfo cli, String version )
     {
-        DistCheckSiteResult result = new DistCheckSiteResult( configLine, 
version );
+        DistCheckSiteResult result = new DistCheckSiteResult( cli, version );
         results.add( result );
         try
         {
-            Artifact pluginArtifact =
-                artifactFactory.createProjectArtifact( 
configLine.getGroupId(), configLine.getArtifactId(), version );
-            MavenProject pluginProject =
-                mavenProjectBuilder.buildFromRepository( pluginArtifact, 
artifactRepositories, localRepository, false );
+            Artifact artifact =
+                artifactFactory.createProjectArtifact( cli.getGroupId(), 
cli.getArtifactId(), version );
+            MavenProject artifactProject =
+                mavenProjectBuilder.buildFromRepository( artifact, 
artifactRepositories, localRepository, false );
 
-            result.setUrl( pluginProject.getUrl() );
-            Document doc = Jsoup.connect( pluginProject.getUrl() ).get();
+            result.setUrl( artifactProject.getUrl() );
+            Document doc = Jsoup.connect( artifactProject.getUrl() ).get();
             if ( screenShot )
             {
-                driver.get( pluginProject.getUrl() );
+                driver.get( artifactProject.getUrl() );
                 File scrFile = ( ( TakesScreenshot ) driver ).getScreenshotAs( 
OutputType.FILE );
                 String fileName = "images" + File.separator
-                        + configLine.getGroupId() + "_" + 
configLine.getArtifactId() + ".png";
+                        + cli.getGroupId() + "_" + cli.getArtifactId() + 
".png";
                 result.setScreenShot( fileName );
-                FileUtils.copyFile( scrFile, new File( 
getReportOutputDirectory() + File.separator + fileName ) );
+                FileUtils.copyFile( scrFile, new File( 
getReportOutputDirectory(), fileName ) );
             }
             for ( HTMLChecker c : checker )
             {
@@ -432,13 +438,17 @@ public class DistCheckSiteMojo
         }
         catch ( HttpStatusException hes )
         {
-            addErrorLine( "HTTP result code: " + hes.getStatusCode() + " for " 
+ hes.getUrl() );
+            addErrorLine( cli,
+                          version,
+                          ignoreSiteFailures,
+                          "HTTP result code: " + hes.getStatusCode() + " for " 
+ cli.getArtifactId() + " site = "
+                              + hes.getUrl() );
             result.setHTTPErrorUrl( hes.getStatusCode() );
         }
         catch ( Exception ex )
         {
             //continue for  other artifact
-            getLog().error( ex.getMessage() + configLine.getArtifactId() );
+            getLog().error( ex.getMessage() + cli.getArtifactId() );
         }
 
     }

Modified: 
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DistCheckSourceReleaseMojo.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DistCheckSourceReleaseMojo.java?rev=1503455&r1=1503454&r2=1503455&view=diff
==============================================================================
--- 
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DistCheckSourceReleaseMojo.java
 (original)
+++ 
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DistCheckSourceReleaseMojo.java
 Mon Jul 15 20:25:07 2013
@@ -31,6 +31,7 @@ import org.apache.maven.doxia.sink.Sink;
 import org.apache.maven.doxia.sink.SinkEventAttributeSet;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.reporting.MavenReportException;
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;
@@ -51,6 +52,12 @@ public class DistCheckSourceReleaseMojo
     private static final String DIST_AREA = 
"http://www.apache.org/dist/maven/";;
     //private static final String DIST_SVNPUBSUB = 
"https://dist.apache.org/repos/dist/release/maven/";;
 
+    /**
+     * Ignore dist failure for <code>artifactId</code> or 
<code>artifactId:version</code>
+     */
+    @Parameter
+    protected List<String> ignoreDistFailures;
+
     @Override
     public String getOutputName()
     {
@@ -419,7 +426,7 @@ public class DistCheckSourceReleaseMojo
         }
     }
 
-    private List<String> checkContainsOld( String url, ConfigurationLineInfo 
configLine, String version )
+    private List<String> checkContainsOld( String url, ConfigurationLineInfo 
cli, String version )
             throws IOException
     {
         Elements links = selectLinks( url );
@@ -428,24 +435,25 @@ public class DistCheckSourceReleaseMojo
         for ( Element e : links )
         {
             String art = e.attr( "href" );
-            if ( art.matches( getSourceReleasePattern( 
configLine.getArtifactId() ) ) )
+            if ( art.matches( getSourceReleasePattern( cli.getArtifactId() ) ) 
)
             {
                 retrievedFile.add( e.attr( "href" ) );
             }
         }
 
-        List<String> expectedFiles = configLine.getExpectedFilenames( version, 
true );
+        List<String> expectedFiles = cli.getExpectedFilenames( version, true );
 
         retrievedFile.removeAll( expectedFiles );
 
         if ( !retrievedFile.isEmpty() )
         {
             // write the following output in red so it's more readable in 
jenkins console
-            addErrorLine( "Older version than " + version + " for "
-                    + configLine.getArtifactId() + " still available in " + 
url );
+            addErrorLine( cli, version, ignoreDistFailures,
+                          "Older version than " + version + " for " + 
cli.getArtifactId() + " still available in "
+                              + url );
             for ( String sourceItem : retrievedFile )
             {
-                addErrorLine( " > " + sourceItem + " <" );
+                addErrorLine( cli, version, ignoreDistFailures, " > " + 
sourceItem + " <" );
             }
         }
 
@@ -455,12 +463,12 @@ public class DistCheckSourceReleaseMojo
     /**
      * Check that url points to a directory index containing expected release 
files
      * @param url
-     * @param configLine
+     * @param cli
      * @param version
      * @return missing files
      * @throws IOException
      */
-    private List<String> checkDirectoryIndex( String url, 
ConfigurationLineInfo configLine, String version, boolean dist )
+    private List<String> checkDirectoryIndex( String url, 
ConfigurationLineInfo cli, String version, boolean dist )
             throws IOException
     {
         List<String> retrievedFile = new LinkedList<>();
@@ -472,17 +480,17 @@ public class DistCheckSourceReleaseMojo
 
         List<String> missingFiles;
         // initialize missing files with expected release file names
-        missingFiles = configLine.getExpectedFilenames( version, dist );
+        missingFiles = cli.getExpectedFilenames( version, dist );
 
         // removed retrieved files
         missingFiles.removeAll( retrievedFile );
 
         if ( !missingFiles.isEmpty() )
         {
-            addErrorLine( "Missing file for " + configLine.getArtifactId() + " 
in " + url );
+            addErrorLine( cli, version, ignoreDistFailures, "Missing file for 
" + cli.getArtifactId() + " in " + url );
             for ( String sourceItem : missingFiles )
             {
-                addErrorLine( " > " + sourceItem + " <" );
+                addErrorLine( cli, version, ignoreDistFailures, " > " + 
sourceItem + " <" );
             }
         }
 


Reply via email to