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