Author: skygo
Date: Mon Jun 10 23:14:42 2013
New Revision: 1491637
URL: http://svn.apache.org/r1491637
Log:
Add screenshot (firefox only) neeeded
set screenShot to false
reduce verbosity
Removed:
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DistCheckSiteTakeScreenMojo.java
Modified:
maven/sandbox/trunk/dist-tools/dist-tool-plugin/nbactions.xml
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/DistCheckSiteMojo.java
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DistCheckSourceReleaseMojo.java
maven/sandbox/trunk/dist-tools/dist-tool-plugin/test.sh
Modified: maven/sandbox/trunk/dist-tools/dist-tool-plugin/nbactions.xml
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/nbactions.xml?rev=1491637&r1=1491636&r2=1491637&view=diff
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/nbactions.xml (original)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/nbactions.xml Mon Jun 10
23:14:42 2013
@@ -1,19 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<actions>
<action>
- <actionName>CUSTOM-checksourcerelease</actionName>
+ <actionName>CUSTOM-debugme</actionName>
<displayName>check-source-release</displayName>
<goals>
-
<goal>org.apache.maven.dist.tools:dist-tool-plugin:check-source-release</goal>
- <goal>-X</goal>
+ <goal>clean</goal>
+ <goal>install</goal>
+ <goal>site</goal>
+ <!--<goal>-X</goal>-->
</goals>
</action>
- <action>
- <actionName>CUSTOM-checksite</actionName>
- <displayName>check-site</displayName>
- <goals>
-
<goal>org.apache.maven.dist.tools:dist-tool-plugin:check-site</goal>
- <goal>-X</goal>
- </goals>
- </action>
</actions>
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=1491637&r1=1491636&r2=1491637&view=diff
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/pom.xml (original)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/pom.xml Mon Jun 10 23:14:42
2013
@@ -111,34 +111,22 @@
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
- <artifactId>selenium-htmlunit-driver</artifactId>
- <version>2.31.0</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
- <version>2.31.0</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>org.seleniumhq.selenium</groupId>
- <artifactId>selenium-chrome-driver</artifactId>
- <version>2.31.0</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>org.seleniumhq.selenium</groupId>
- <artifactId>selenium-ie-driver</artifactId>
- <version>2.31.0</version>
+ <version>2.33.0</version>
<type>jar</type>
</dependency>
+
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>4.2.5</version>
+ </dependency>
</dependencies>
<build>
@@ -237,7 +225,6 @@
<reportSet>
<id>html</id>
<reports>
- <!--<report>check-screen-site</report>-->
<report>check-site</report>
<report>check-source-release</report>
</reports>
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=1491637&r1=1491636&r2=1491637&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 Jun 10 23:14:42 2013
@@ -20,6 +20,7 @@ package org.apache.maven.dist.tools;
*/
import java.io.BufferedReader;
+import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
@@ -33,12 +34,15 @@ import java.util.Map;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
+import org.apache.commons.io.FileUtils;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.dist.tools.checkers.HTMLChecker;
import org.apache.maven.dist.tools.checkers.HTMLCheckerFactory;
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.project.MavenProject;
import org.apache.maven.reporting.MavenReportException;
import org.jsoup.HttpStatusException;
@@ -48,6 +52,10 @@ import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.nodes.Node;
import org.jsoup.select.Elements;
+import org.openqa.selenium.OutputType;
+import org.openqa.selenium.TakesScreenshot;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.firefox.FirefoxDriver;
/**
*
@@ -56,6 +64,13 @@ import org.jsoup.select.Elements;
@Mojo( name = "check-site" )
public class DistCheckSiteMojo extends AbstractDistCheckMojo
{
+
+ /**
+ * Take screenshot with web browser
+ */
+ @Parameter( property = "screenshot", defaultValue = "true" )
+ protected boolean screenShot;
+
private static final String MAVEN_SITE = "http://maven.apache.org";
/**
* Http status ok code.
@@ -87,6 +102,7 @@ public class DistCheckSiteMojo extends A
private Map<HTMLChecker, Boolean> checkMap = new HashMap<>();
private int statusCode = HTTP_OK;
private Document document;
+ private String screenshotName;
public DistCheckSiteResult( ConfigurationLineInfo r, String version )
{
@@ -209,10 +225,21 @@ public class DistCheckSiteMojo extends A
{
this.document = doc ;
}
+
+ private void setScreenShot( String fileName )
+ {
+ this.screenshotName = fileName;
+ }
+ private String getScreenShot()
+ {
+ return screenshotName;
+ }
}
// keep result
private List<DistCheckSiteResult> results = new LinkedList<>();
private final List<HTMLChecker> checker = HTMLCheckerFactory.getCheckers();
+ private WebDriver driver;
+
@Override
protected void executeReport( Locale locale ) throws MavenReportException
@@ -260,6 +287,12 @@ public class DistCheckSiteMojo extends A
sink.tableHeaderCell();
sink.rawText( "URL" );
sink.tableHeaderCell_();
+ if ( screenShot )
+ {
+ sink.tableHeaderCell();
+ sink.rawText( "Screen" );
+ sink.tableHeaderCell_();
+ }
sink.tableHeaderCell();
sink.rawText( "Skins and comments on top of html (helping for date but
not always)" );
sink.tableHeaderCell_();
@@ -302,14 +335,25 @@ public class DistCheckSiteMojo extends A
sink.rawText( getSimplifiedUrl( csr.getUrl() ) );
sink.link_();
sink.tableCell_();
-
- sink.tableHeaderCell();
+ if ( screenShot )
+ {
+ sink.tableCell();
+ sink.figure( null );
+ SinkEventAttributeSet atts = new SinkEventAttributeSet();
+ // no direct attribute, override style only
+ atts.addAttribute( "style", "height:200px;width:200px" );
+ atts.addAttribute( "alt", getSimplifiedUrl( csr.getUrl() ) );
+ sink.figureGraphics( csr.getScreenShot(), atts );
+ sink.figure_();
+ sink.tableCell_();
+ }
+ sink.tableCell();
csr.getSkins( sink );
- sink.tableHeaderCell_();
+ sink.tableCell_();
- sink.tableHeaderCell();
+ sink.tableCell();
csr.getOverall( sink );
- sink.tableHeaderCell_();
+ sink.tableCell_();
for ( HTMLChecker c : checker )
{
@@ -365,25 +409,25 @@ public class DistCheckSiteMojo extends A
result.setUrl( pluginProject.getUrl() );
Document doc = Jsoup.connect( pluginProject.getUrl() ).get();
-
- message.append( "Site for " ).
- append( pluginProject.getArtifactId() ).
- append( " at " ).
- append( pluginProject.getUrl() ).
- append( " seek for" ).
- append( pluginProject.getVersion() );
+ if ( screenShot )
+ {
+ driver.get( pluginProject.getUrl() );
+ File scrFile = ( ( TakesScreenshot ) driver ).getScreenshotAs(
OutputType.FILE );
+ String fileName = "images" + File.separator
+ + configLine.getGroupId() + "_" +
configLine.getArtifactId() + ".png";
+ result.setScreenShot( fileName );
+ FileUtils.copyFile( scrFile, new File(
getReportOutputDirectory() + File.separator + fileName ) );
+ }
for ( HTMLChecker c : checker )
{
result.getCheckMap().put( c, c.isOk( doc, version ) );
- message.append( "[" ).append( c.getName() ).append( c.isOk(
doc, version ) ).append( "]" );
}
result.setDocument( doc );
- getLog().warn( message.toString() );
-
+
}
catch ( HttpStatusException hes )
{
- getLog().warn( hes.getStatusCode() + " for " + hes.getUrl() );
+ getLog().error( hes.getStatusCode() + " for " + hes.getUrl() );
result.setHTTPErrorUrl( hes.getStatusCode() );
}
catch ( Exception ex )
@@ -410,8 +454,8 @@ public class DistCheckSiteMojo extends A
// revert sort versions (not handling alpha and
// complex vesion scheme but more usefull version are displayed
left side
Collections.sort( metadata.versioning.versions,
Collections.reverseOrder() );
- getLog().warn( metadata.versioning.versions + " version(s)
detected " + repoBaseUrl );
-
+ getLog().debug( metadata.versioning.versions + " version(s)
detected " + repoBaseUrl );
+
// central
checkSite( configLine.getVersionnedPomFileURL(
repoBaseUrl, metadata.versioning.latest ), configLine,
metadata.versioning.latest );
@@ -431,8 +475,16 @@ public class DistCheckSiteMojo extends A
public void execute() throws MojoExecutionException
{
//resolve only to what we set
-
+ if ( screenShot )
+ {
+ // create driver once reduce time to complete mojo
+ driver = new FirefoxDriver();
+ }
super.execute();
+ if ( screenShot )
+ {
+ driver.close();
+ }
}
}
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=1491637&r1=1491636&r2=1491637&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 Jun 10 23:14:42 2013
@@ -349,11 +349,11 @@ public class DistCheckSourceReleaseMojo
}
}
retrievedFile.removeAll( expectedFile );
- if ( !expectedFile.isEmpty() )
+ if ( !retrievedFile.isEmpty() )
{
- for ( String sourceItem : expectedFile )
+ for ( String sourceItem : retrievedFile )
{
- getLog().error( "Older:" + sourceItem + " in " + repourl );
+ getLog().error( "Older than " + version + " version >> " +
sourceItem + " << in " + repourl );
}
}
return retrievedFile;
@@ -381,7 +381,7 @@ public class DistCheckSourceReleaseMojo
{
for ( String sourceItem : expectedFile )
{
- getLog().error( "Missing:" + sourceItem + " in " + repourl );
+ getLog().error( "Missing archive >> " + sourceItem + " << in "
+ repourl );
}
}
return expectedFile;
Modified: maven/sandbox/trunk/dist-tools/dist-tool-plugin/test.sh
URL:
http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/test.sh?rev=1491637&r1=1491636&r2=1491637&view=diff
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/test.sh (original)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/test.sh Mon Jun 10 23:14:42
2013
@@ -1,3 +1 @@
-mvn clean install
-mvn org.apache.maven.dist.tools:dist-tool-plugin:check-site
-mvn org.apache.maven.dist.tools:dist-tool-plugin:check-site
+mvn clean install site