Author: skygo
Date: Mon Jul  8 21:51:12 2013
New Revision: 1500982

URL: http://svn.apache.org/r1500982
Log:
all error displayed as ususal for red output in jenkins
feed a logs.txt 
add dummy report failing build if error.logs present
(copy file from skin to have usage of website event if build fail) 

Added:
    
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DummyFailureMojo.java
   (with props)
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=1500982&r1=1500981&r2=1500982&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  8 21:51:12 
2013
@@ -181,6 +181,31 @@
           <source>1.7</source>
         </configuration>
       </plugin>
+   <!-- copy data from fluido skin to make generated site usable even if 
failure -->
+      <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-dependency-plugin</artifactId>
+          <executions>
+              <execution>
+                  <id>unpack</id>
+                  <phase>pre-site</phase>
+                  <goals>
+                      <goal>unpack</goal>
+                  </goals>
+                  <configuration>
+                      <artifactItems>
+                          <artifactItem>
+                              <groupId>org.apache.maven.skins</groupId>
+                              <artifactId>maven-fluido-skin</artifactId>
+                              <version>1.3.0</version>
+                              
<outputDirectory>${project.build.directory}/site</outputDirectory>
+                              <includes>**\/*.css, **\/*.png</includes>
+                          </artifactItem>
+                      </artifactItems>
+                  </configuration>
+              </execution>
+          </executions>
+      </plugin>
     </plugins>
   </build>
 
@@ -234,6 +259,13 @@
             <reports>
               <report>check-site</report>
               <report>check-source-release</report>
+              
+            </reports>
+          </reportSet>
+          <reportSet>
+            <id>fail</id>
+            <reports>
+              <report>failure-report</report>
             </reports>
           </reportSet>
         </reportSets>

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=1500982&r1=1500981&r2=1500982&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  8 21:51:12 2013
@@ -22,9 +22,11 @@ package org.apache.maven.dist.tools;
 import java.io.BufferedInputStream;
 import java.io.BufferedReader;
 import java.io.File;
+import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.io.PrintWriter;
 import java.net.URL;
 import java.util.Collections;
 import java.util.LinkedList;
@@ -256,4 +258,23 @@ public abstract class AbstractDistCheckM
         sink.figureGraphics( "images/" + level + ".gif" );
         sink.figure_();
     }
+    
+    /**
+     * Add Error line to logs.txt
+     * 
+     * @param error 
+     */
+    protected void addErrorLine( String error ) 
+    {
+        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 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=1500982&r1=1500981&r2=1500982&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  8 21:51:12 2013
@@ -437,7 +437,7 @@ public class DistCheckSiteMojo extends A
         }
         catch ( HttpStatusException hes )
         {
-            getLog().error( hes.getStatusCode() + " for " + hes.getUrl() );
+            addErrorLine( "HTTP result code: " + hes.getStatusCode() + " for " 
+ hes.getUrl() );
             result.setHTTPErrorUrl( hes.getStatusCode() );
         }
         catch ( Exception ex )

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=1500982&r1=1500981&r2=1500982&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  8 21:51:12 2013
@@ -444,11 +444,11 @@ public class DistCheckSourceReleaseMojo
         if ( !retrievedFile.isEmpty() )
         {
             // write the following output in red so it's more readable in 
jenkins console
-            getLog().error( "Older version than " + version + " for "
+            addErrorLine( "Older version than " + version + " for "
                     + configLine.getArtifactId() + " still available in " + 
repourl );
             for ( String sourceItem : retrievedFile )
             {
-                getLog().error( " > " + sourceItem + " <" );
+                addErrorLine( " > " + sourceItem + " <" );
             }
         }
 
@@ -476,10 +476,10 @@ public class DistCheckSourceReleaseMojo
 
         if ( !expectedFile.isEmpty() )
         {
-            getLog().error( "Missing archive for " + 
configLine.getArtifactId() + " in " + repourl );
+            addErrorLine( "Missing archive for " + configLine.getArtifactId() 
+ " in " + repourl );
             for ( String sourceItem : expectedFile )
             {
-                getLog().error( " > " + sourceItem + " <" );
+                addErrorLine( " > " + sourceItem + " <" );
             }
         }
 

Added: 
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DummyFailureMojo.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DummyFailureMojo.java?rev=1500982&view=auto
==============================================================================
--- 
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DummyFailureMojo.java
 (added)
+++ 
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DummyFailureMojo.java
 Mon Jul  8 21:51:12 2013
@@ -0,0 +1,109 @@
+package org.apache.maven.dist.tools;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.File;
+import java.util.Locale;
+import org.apache.maven.doxia.siterenderer.Renderer;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.reporting.MavenReportException;
+
+/**
+ *
+ * @author skygo
+ */
+@Mojo( name = "failure-report", requiresProject = false )
+public class DummyFailureMojo extends AbstractDistCheckMojo
+{
+    /**
+     * Site renderer.
+     */
+    @Component
+    protected Renderer siteRenderer;
+
+    /**
+     * Reporting directory.
+     */
+    @Parameter( defaultValue = "target/site", required = true )
+    protected File outputDirectory;
+
+    /**
+     * Maven project.
+     */
+    @Component
+    protected MavenProject project;
+    
+    @Override
+    public void execute() throws MojoExecutionException
+    {
+        // if logs.txt is present throw exception to fail build
+        if ( new File( "target", "logs.txt" ).exists() )
+        {
+            throw new MojoExecutionException( "Dist tools report non empty 
please check: "
+                    + " https://builds.apache.org/job/dist-tool-plugin/site/"; 
);
+        }
+    }
+
+    @Override
+    protected void executeReport( Locale locale ) throws MavenReportException
+    {
+        if ( !outputDirectory.exists() )
+        {
+            outputDirectory.mkdirs();
+        }
+        try
+        {
+            this.execute();
+        }
+        catch ( MojoExecutionException ex )
+        {
+            throw new MavenReportException( ex.getMessage(), ex );
+        }
+
+    }
+
+    @Override
+    public String getOutputName()
+    {
+        return "dist-tool-failure";
+    }
+
+    @Override
+    public String getName( Locale locale )
+    {
+        return "Failure Hack";
+    }
+
+    @Override
+    public String getDescription( Locale locale )
+    {
+        return "Failure Hack";
+    }
+
+    @Override
+    void checkArtifact( ConfigurationLineInfo request, String repoBase ) 
throws MojoExecutionException
+    {
+    }
+  
+}

Propchange: 
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DummyFailureMojo.java
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to