You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sk...@apache.org on 2013/06/05 21:59:34 UTC
svn commit: r1490017 - in /maven/sandbox/trunk/dist-tools/dist-tool-plugin:
./ src/main/java/org/apache/maven/dist/tools/
src/main/java/org/apache/maven/dist/tools/checkers/ src/site/markdown/
src/test/ src/test/java/ src/test/java/org/ src/test/java/o...
Author: skygo
Date: Wed Jun 5 19:59:34 2013
New Revision: 1490017
URL: http://svn.apache.org/r1490017
Log:
better pattern
some javadoc
Added:
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/test/
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/test/java/
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/test/java/org/
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/test/java/org/apache/
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/test/java/org/apache/maven/
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/test/java/org/apache/maven/dist/
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/test/java/org/apache/maven/dist/tools/
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/test/java/org/apache/maven/dist/tools/PatternTest.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/ConfigurationLineInfo.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/DistCheckSiteTakeScreenMojo.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/src/main/java/org/apache/maven/dist/tools/MavenMetadata.java
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/FluidoHTMLChecker.java
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/HTMLChecker.java
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/HTMLCheckerFactory.java
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/StylusLeftHTMLChecker.java
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/StylusRightHTMLChecker.java
maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/site/markdown/index.md
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=1490017&r1=1490016&r2=1490017&view=diff
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/pom.xml (original)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/pom.xml Wed Jun 5 19:59:34 2013
@@ -133,6 +133,12 @@
<version>2.31.0</version>
<type>jar</type>
</dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.11</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
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=1490017&r1=1490016&r2=1490017&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 Wed Jun 5 19:59:34 2013
@@ -47,30 +47,59 @@ public abstract class AbstractDistCheckM
{
private static final String MAVEN_DB = "db/mavendb.csv";
+ /**
+ * URL of repository where artifacts are stored.
+ */
@Parameter( property = "repositoryUrl", defaultValue = "http://repo.maven.apache.org/maven2/" )
protected String repoBaseUrl;
+ /**
+ * List of configuration line for specific inspection.
+ * groupId:artifactId:distributionurl.
+ *
+ */
@Parameter( property = "configurationLines", defaultValue = "" )
private List<String> configurationLines;
+ /**
+ * Site renderer.
+ */
@Component
protected Renderer siteRenderer;
+ /**
+ * Reporting directory.
+ */
@Parameter( property = "project.reporting.outputDirectory", required = true )
protected File outputDirectory;
+ /**
+ * Maven project.
+ */
@Component
protected MavenProject project;
+ /**
+ * Local repository.
+ */
@Parameter( property = "localRepository", required = true, readonly = true )
protected ArtifactRepository localRepository;
+ /**
+ * Artifact factory.
+ */
@Component
protected ArtifactFactory artifactFactory;
+ /**
+ * Maven project builder.
+ */
@Component
protected MavenProjectBuilder mavenProjectBuilder;
+ /**
+ * list of artifacts repositories.
+ */
protected List<ArtifactRepository> artifactRepositories = new LinkedList<>();
abstract void checkArtifact( ConfigurationLineInfo request, String repoBase ) throws MojoExecutionException;
@@ -96,11 +125,21 @@ public abstract class AbstractDistCheckM
@Override
public void execute() throws MojoExecutionException
{
- ArtifactRepository aa = new MavenArtifactRepository( "central", repoBaseUrl, new DefaultRepositoryLayout(), new ArtifactRepositoryPolicy( false, ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN ), new ArtifactRepositoryPolicy( true, ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN ) );
+ ArtifactRepository aa = new MavenArtifactRepository( "central",
+ repoBaseUrl,
+ new DefaultRepositoryLayout(),
+ new ArtifactRepositoryPolicy(
+ false,
+ ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN ),
+ new ArtifactRepositoryPolicy(
+ true,
+ ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN ) );
artifactRepositories.add( aa );
if ( configurationLines.isEmpty() )
{
- try ( BufferedReader input = new BufferedReader( new InputStreamReader( Thread.currentThread().getContextClassLoader().getResource( MAVEN_DB ).openStream() ) ) )
+ try ( BufferedReader input = new BufferedReader(
+ new InputStreamReader(
+ Thread.currentThread().getContextClassLoader().getResource( MAVEN_DB ).openStream() ) ) )
{
String text;
while ( ( text = input.readLine() ) != null )
@@ -123,27 +162,43 @@ public abstract class AbstractDistCheckM
else
{
String[] artifactInfo = line.split( ";" );
- checkArtifact( new ConfigurationLineInfo( artifactInfo[0], artifactInfo[1], artifactInfo[2] ), repoBaseUrl );
+ checkArtifact(
+ new ConfigurationLineInfo( artifactInfo[0], artifactInfo[1], artifactInfo[2] ), repoBaseUrl );
}
}
}
+ /**
+ * add an error icon.
+ *
+ * @param sink doxiasink
+ */
protected void iconError( Sink sink )
{
icon( sink, "error" );
}
-
+
+ /**
+ * add a warning icon.
+ *
+ * @param sink doxiasink
+ */
protected void iconWarning( Sink sink )
{
icon( sink, "warning" );
}
-
+
+ /**
+ * add an succses icon.
+ *
+ * @param sink doxiasink
+ */
protected void iconSuccess( Sink sink )
{
icon( sink, "success" );
}
- protected void icon( Sink sink, String level )
+ private void icon( Sink sink, String level )
{
sink.figure();
sink.figureCaption();
Modified: maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/ConfigurationLineInfo.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/ConfigurationLineInfo.java?rev=1490017&r1=1490016&r2=1490017&view=diff
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/ConfigurationLineInfo.java (original)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/ConfigurationLineInfo.java Wed Jun 5 19:59:34 2013
@@ -87,9 +87,9 @@ class ConfigurationLineInfo
return getBaseURL( repoBaseUrl, version + URLSEP + artifactId + "-" + version + ".pom" );
}
- void addMetadata( MavenMetadata metadata )
+ void addMetadata( MavenMetadata aMetadata )
{
- this.metadata = metadata;
+ this.metadata = aMetadata;
}
String getReleaseFromMetadata()
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=1490017&r1=1490016&r2=1490017&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 Wed Jun 5 19:59:34 2013
@@ -57,7 +57,10 @@ import org.jsoup.select.Elements;
public class DistCheckSiteMojo extends AbstractDistCheckMojo
{
private static final String MAVEN_SITE = "http://maven.apache.org";
- private static final int HTTP_OK = 200;
+ /**
+ * Http status ok code.
+ */
+ protected static final int HTTP_OK = 200;
@Override
public String getOutputName()
@@ -236,7 +239,8 @@ public class DistCheckSiteMojo extends A
sink.body();
sink.section1();
sink.rawText( "Checked sites, also do some basic checking in index.html contents." );
- sink.rawText( "This is to help maintaining some coherence. How many site are skin fluido, stylus, where they have version (right left)" );
+ sink.rawText( "This is to help maintaining some coherence. How many site are skin fluido, stylus,"
+ + " where they have version (right left)" );
sink.rawText( "All sun icons in one column is kind of objective." );
sink.section1_();
sink.table();
@@ -345,20 +349,29 @@ public class DistCheckSiteMojo extends A
return url;
}
- private void checkSite( String repourl, ConfigurationLineInfo r, String version )
+ private void checkSite( String repourl, ConfigurationLineInfo configLine, String version )
{
- DistCheckSiteResult result = new DistCheckSiteResult( r, version );
+ DistCheckSiteResult result = new DistCheckSiteResult( configLine, version );
results.add( result );
StringBuilder message = new StringBuilder();
try
{
- Artifact pluginArtifact = artifactFactory.createProjectArtifact( r.getGroupId(), r.getArtifactId(), version );
- MavenProject pluginProject = mavenProjectBuilder.buildFromRepository( pluginArtifact, artifactRepositories, localRepository, false );
+ Artifact pluginArtifact = artifactFactory.createProjectArtifact(
+ configLine.getGroupId(),
+ configLine.getArtifactId(), version );
+ MavenProject pluginProject = mavenProjectBuilder.buildFromRepository(
+ pluginArtifact,
+ artifactRepositories, localRepository, false );
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() ).append( " " );
+ message.append( "Site for " ).
+ append( pluginProject.getArtifactId() ).
+ append( " at " ).
+ append( pluginProject.getUrl() ).
+ append( " seek for" ).
+ append( pluginProject.getVersion() );
for ( HTMLChecker c : checker )
{
result.getCheckMap().put( c, c.isOk( doc, version ) );
@@ -385,19 +398,23 @@ public class DistCheckSiteMojo extends A
@Override
void checkArtifact( ConfigurationLineInfo configLine, String repoBaseUrl ) throws MojoExecutionException
{
- try ( BufferedReader input = new BufferedReader( new InputStreamReader( new URL( configLine.getMetadataFileURL( repoBaseUrl ) ).openStream() ) ) )
+ try ( BufferedReader input = new BufferedReader(
+ new InputStreamReader( new URL( configLine.getMetadataFileURL( repoBaseUrl ) ).openStream() ) ) )
{
JAXBContext context = JAXBContext.newInstance( MavenMetadata.class );
Unmarshaller unmarshaller = context.createUnmarshaller();
MavenMetadata metadata = ( MavenMetadata ) unmarshaller.unmarshal( input );
configLine.addMetadata( metadata );
- getLog().info( "Checking for site for artifact : " + configLine.getGroupId() + ":" + configLine.getArtifactId() + ":" + metadata.versioning.latest );
- // revert sort versions (not handling alpha and complex vesion scheme but more usefull version are displayed left side
+ getLog().debug( "Checking for site for artifact : " + configLine.getGroupId() + ":"
+ + configLine.getArtifactId() + ":" + metadata.versioning.latest );
+ // 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 );
// central
- checkSite( configLine.getVersionnedPomFileURL( repoBaseUrl, metadata.versioning.latest ), configLine, metadata.versioning.latest );
+ checkSite( configLine.getVersionnedPomFileURL(
+ repoBaseUrl, metadata.versioning.latest ), configLine, metadata.versioning.latest );
}
catch ( MalformedURLException ex )
Modified: maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DistCheckSiteTakeScreenMojo.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DistCheckSiteTakeScreenMojo.java?rev=1490017&r1=1490016&r2=1490017&view=diff
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DistCheckSiteTakeScreenMojo.java (original)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/DistCheckSiteTakeScreenMojo.java Wed Jun 5 19:59:34 2013
@@ -56,7 +56,7 @@ import org.openqa.selenium.firefox.Firef
* @author skygo
*/
@Mojo( name = "check-screen-site" )
-public class DistCheckSiteTakeScreenMojo extends AbstractDistCheckMojo
+public class DistCheckSiteTakeScreenMojo extends DistCheckSiteMojo
{
private static final String MAVEN_SITE = "http://maven.apache.org";
@@ -85,7 +85,7 @@ public class DistCheckSiteTakeScreenMojo
private String url;
private Map<HTMLChecker, Boolean> checkMap = new HashMap<>();
- private int statusCode = 200;
+ private int statusCode = HTTP_OK;
public DistCheckSiteResult( ConfigurationLineInfo r, String version )
{
@@ -113,9 +113,9 @@ public class DistCheckSiteTakeScreenMojo
return checkMap;
}
- private void setHTTPErrorUrl( int statusCode )
+ private void setHTTPErrorUrl( int aStatusCode )
{
- this.statusCode = statusCode;
+ this.statusCode = aStatusCode;
}
/**
@@ -129,7 +129,7 @@ public class DistCheckSiteTakeScreenMojo
private void getOverall( Sink sink )
{
- if ( statusCode != 200 )
+ if ( statusCode != HTTP_OK )
{
iconError( sink );
}
@@ -181,7 +181,8 @@ public class DistCheckSiteTakeScreenMojo
sink.body();
sink.section1();
sink.rawText( "Checked sites, also do some basic checking in index.html contents." );
- sink.rawText( "This is to help maintaining some coherence. How many site are skin fluido, stylus, where they have version (right left)" );
+ sink.rawText( "This is to help maintaining some coherence. How many site are skin fluido, "
+ + "stylus, where they have version (right left)" );
sink.rawText( "All sun icons in one column is kind of objective." );
sink.section1_();
sink.table();
@@ -225,7 +226,7 @@ public class DistCheckSiteTakeScreenMojo
sink.tableCell_();
sink.tableCell();
- if ( csr.getStatusCode() != 200 )
+ if ( csr.getStatusCode() != HTTP_OK )
{
iconError( sink );
sink.rawText( "[" + csr.getStatusCode() + "] " );
@@ -284,8 +285,10 @@ public class DistCheckSiteTakeScreenMojo
StringBuilder message = new StringBuilder();
try
{
- Artifact pluginArtifact = artifactFactory.createProjectArtifact( r.getGroupId(), r.getArtifactId(), version );
- MavenProject pluginProject = mavenProjectBuilder.buildFromRepository( pluginArtifact, artifactRepositories, localRepository, false );
+ Artifact pluginArtifact = artifactFactory.createProjectArtifact(
+ r.getGroupId(), r.getArtifactId(), version );
+ MavenProject pluginProject = mavenProjectBuilder.buildFromRepository(
+ pluginArtifact, artifactRepositories, localRepository, false );
result.setUrl( pluginProject.getUrl() );
getLog().error( pluginProject.getUrl() );
@@ -298,7 +301,13 @@ public class DistCheckSiteTakeScreenMojo
driver.close();
Document doc = Jsoup.connect( pluginProject.getUrl() ).get();
getLog().error( pluginProject.getUrl() );
- message.append( "Site for " ).append( pluginProject.getArtifactId() ).append( " at " ).append( pluginProject.getUrl() ).append( " seek for" ).append( pluginProject.getVersion() ).append( " " );
+ message.append( "Site for " ).
+ append( pluginProject.getArtifactId() ).
+ append( " at " ).
+ append( pluginProject.getUrl() ).
+ append( " seek for" ).
+ append( pluginProject.getVersion() ).
+ append( " " );
for ( HTMLChecker c : checker )
{
result.getCheckMap().put( c, c.isOk( doc, version ) );
@@ -325,19 +334,24 @@ public class DistCheckSiteTakeScreenMojo
@Override
void checkArtifact( ConfigurationLineInfo configLine, String repoBaseUrl ) throws MojoExecutionException
{
- try ( BufferedReader input = new BufferedReader( new InputStreamReader( new URL( configLine.getMetadataFileURL( repoBaseUrl ) ).openStream() ) ) )
+ try ( BufferedReader input = new BufferedReader(
+ new InputStreamReader( new URL( configLine.getMetadataFileURL( repoBaseUrl ) ).openStream() ) ) )
{
JAXBContext context = JAXBContext.newInstance( MavenMetadata.class );
Unmarshaller unmarshaller = context.createUnmarshaller();
MavenMetadata metadata = ( MavenMetadata ) unmarshaller.unmarshal( input );
- getLog().info( "Checking for site for artifact : " + configLine.getGroupId() + ":" + configLine.getArtifactId() + ":" + metadata.versioning.latest );
- // revert sort versions (not handling alpha and complex vesion scheme but more usefull version are displayed left side
+ getLog().info( "Checking for site for artifact : " + configLine.getGroupId() + ":"
+ + configLine.getArtifactId() + ":" + metadata.versioning.latest );
+ // 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 );
configLine.addMetadata( metadata );
// central
- checkSite( configLine.getVersionnedPomFileURL( repoBaseUrl, metadata.versioning.latest ), configLine, metadata.versioning.latest );
+ checkSite(
+ configLine.getVersionnedPomFileURL( repoBaseUrl, metadata.versioning.latest ),
+ configLine, metadata.versioning.latest );
}
catch ( MalformedURLException 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=1490017&r1=1490016&r2=1490017&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 Wed Jun 5 19:59:34 2013
@@ -34,7 +34,6 @@ import javax.xml.bind.Unmarshaller;
import org.apache.maven.doxia.markup.HtmlMarkup;
import org.apache.maven.doxia.sink.Sink;
import org.apache.maven.doxia.sink.SinkEventAttributeSet;
-import org.apache.maven.doxia.sink.SinkEventAttributes;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.reporting.MavenReportException;
@@ -74,6 +73,8 @@ public class DistCheckSourceReleaseMojo
return "Verification of source release";
}
+
+
class DistCheckSourceRelease extends AbstractCheckResult
@@ -105,6 +106,133 @@ public class DistCheckSourceReleaseMojo
}
private List<DistCheckSourceRelease> results = new LinkedList<>();
+ private void reportLine( Sink sink, DistCheckSourceRelease csr )
+ {
+ ConfigurationLineInfo cli = csr.getConfigurationLine();
+
+ sink.tableRow();
+ sink.tableCell();
+ // shorten groupid
+ sink.rawText( csr.getConfigurationLine().getGroupId().replaceAll( "org.apache.maven", "o.a.m" ) );
+ sink.tableCell_();
+ sink.tableCell();
+ sink.rawText( csr.getConfigurationLine().getArtifactId() );
+ sink.tableCell_();
+ sink.tableCell();
+ sink.link( cli.getMetadataFileURL( repoBaseUrl ) );
+ sink.rawText( csr.getVersion() );
+ sink.link_();
+ sink.tableCell_();
+
+ sink.tableCell();
+ sink.rawText( csr.getConfigurationLine().getReleaseFromMetadata() );
+ sink.tableCell_();
+
+ sink.tableCell();
+ sink.link( cli.getBaseURL( repoBaseUrl, "" ) );
+ sink.text( "artifact" );
+ sink.link_();
+ sink.text( "/" );
+ sink.link( cli.getVersionnedFolderURL( repoBaseUrl, csr.getVersion() ) );
+ sink.text( csr.getVersion() );
+ sink.link_();
+ sink.text( "/source-release" );
+ if ( csr.central.isEmpty() )
+ {
+ iconSuccess( sink );
+ }
+ else
+ {
+ iconWarning( sink );
+ }
+ for ( String missing : csr.central )
+ {
+ sink.lineBreak();
+ iconError( sink );
+ sink.rawText( missing );
+ }
+ sink.tableCell_();
+ // dist
+ sink.tableCell();
+ sink.link( cli.getDist() );
+ sink.text( cli.getDist().substring( DIST_AREA.length() ) );
+ sink.link_();
+ sink.text( "source-release" );
+ if ( csr.dist.isEmpty() )
+ {
+ iconSuccess( sink );
+ }
+ else
+ {
+ iconWarning( sink );
+ }
+ StringBuilder cliMissing = new StringBuilder();
+ for ( String missing : csr.dist )
+ {
+ sink.lineBreak();
+ iconError( sink );
+ sink.rawText( missing );
+ cliMissing.append( "\nwget -O " ).append( cli.getVersionnedFolderURL( repoBaseUrl, csr.getVersion() ) ).
+ append( "/" ).append( missing );
+ cliMissing.append( "\nsvn co " ).append( missing );
+ }
+ if ( !cliMissing.toString().isEmpty() )
+ {
+ sink.lineBreak();
+ SinkEventAttributeSet atts = new SinkEventAttributeSet();
+ sink.unknown( "pre", new Object[]
+ {
+ new Integer( HtmlMarkup.TAG_TYPE_START )
+ }, atts );
+ sink.text( cliMissing.toString() );
+ sink.unknown( "pre", new Object[]
+ {
+ new Integer( HtmlMarkup.TAG_TYPE_END )
+ }, null );
+ }
+ sink.tableCell_();
+ //older
+ sink.tableCell();
+ sink.link( cli.getDist() );
+ sink.text( cli.getDist().substring( DIST_AREA.length() ) );
+ sink.link_();
+ sink.text( "source-release" );
+ if ( csr.dist.isEmpty() )
+ {
+ iconSuccess( sink );
+ }
+ else
+ {
+ iconWarning( sink );
+ }
+
+ StringBuilder cliOlder = new StringBuilder();
+ for ( String missing : csr.older )
+ {
+ sink.lineBreak();
+ iconError( sink );
+ sink.rawText( missing );
+ cliOlder.append( "\nsvn rm " ).append( missing );
+ }
+ if ( !cliOlder.toString().isEmpty() )
+ {
+ sink.lineBreak();
+ SinkEventAttributeSet atts = new SinkEventAttributeSet();
+ sink.unknown( "pre", new Object[]
+ {
+ new Integer( HtmlMarkup.TAG_TYPE_START )
+ }, atts );
+ sink.text( cliOlder.toString() );
+ sink.unknown( "pre", new Object[]
+ {
+ new Integer( HtmlMarkup.TAG_TYPE_END )
+ }, null );
+ }
+
+ sink.tableCell_();
+ sink.tableRow_();
+ }
+
@Override
protected void executeReport( Locale locale ) throws MavenReportException
{
@@ -130,7 +258,8 @@ public class DistCheckSourceReleaseMojo
sink.body();
sink.section1();
sink.paragraph();
- sink.text( "Check Source Release (= artifactId + version + '-source-release.zip[.asc|.md5]') availability in:" );
+ sink.text( "Check Source Release"
+ + " (= artifactId + version + '-source-release.zip[.asc|.md5]') availability in:" );
sink.paragraph_();
sink.paragraph();
sink.text( "cli command and olders artifact exploration is Work In Progress" );
@@ -175,123 +304,8 @@ public class DistCheckSourceReleaseMojo
for ( DistCheckSourceRelease csr : results )
{
- ConfigurationLineInfo cli = csr.getConfigurationLine();
+ reportLine( sink, csr );
- sink.tableRow();
- sink.tableCell();
- // shorten groupid
- sink.rawText( csr.getConfigurationLine().getGroupId().replaceAll( "org.apache.maven", "o.a.m" ) );
- sink.tableCell_();
- sink.tableCell();
- sink.rawText( csr.getConfigurationLine().getArtifactId() );
- sink.tableCell_();
- sink.tableCell();
- sink.link( cli.getMetadataFileURL( repoBaseUrl ) );
- sink.rawText( csr.getVersion() );
- sink.link_();
- sink.tableCell_();
-
- sink.tableCell();
- sink.rawText( csr.getConfigurationLine().getReleaseFromMetadata() );
- sink.tableCell_();
-
- sink.tableCell();
- sink.link( cli.getBaseURL( repoBaseUrl, "" ) );
- sink.text( "artifact" );
- sink.link_();
- sink.text( "/" );
- sink.link( cli.getVersionnedFolderURL( repoBaseUrl, csr.getVersion() ) );
- sink.text( csr.getVersion() );
- sink.link_();
- sink.text( "/source-release" );
- if ( csr.central.isEmpty() )
- {
- iconSuccess( sink );
- }
- else
- {
- iconWarning( sink );
- }
- for ( String missing : csr.central )
- {
- sink.lineBreak();
- iconError( sink );
- sink.rawText( missing );
- }
- sink.tableCell_();
- // dist
- sink.tableCell();
- sink.link( cli.getDist() );
- sink.text( cli.getDist().substring( DIST_AREA.length() ) );
- sink.link_();
- sink.text( "source-release" );
- if ( csr.dist.isEmpty() )
- {
- iconSuccess( sink );
- }
- else
- {
- iconWarning( sink );
- }
- StringBuilder cliMissing = new StringBuilder();
- for ( String missing : csr.dist )
- {
- sink.lineBreak();
- iconError( sink );
- sink.rawText( missing );
- cliMissing.append( "\nwget -O " ).append( cli.getVersionnedFolderURL( repoBaseUrl, csr.getVersion() ) ).
- append( "/" ).append( missing );
- cliMissing.append( "\nsvn co " ).append( missing );
- }
- if ( !cliMissing.toString().isEmpty() )
- {
- sink.lineBreak();
- SinkEventAttributeSet atts = new SinkEventAttributeSet();
- sink.unknown( "pre", new Object[]
- {
- new Integer( HtmlMarkup.TAG_TYPE_START )
- }, atts );
- sink.text( cliMissing.toString() );
- sink.unknown( "pre", new Object[]{new Integer( HtmlMarkup.TAG_TYPE_END )}, null );
- }
- sink.tableCell_();
- //older
- sink.tableCell();
- sink.link( cli.getDist() );
- sink.text( cli.getDist().substring( DIST_AREA.length() ) );
- sink.link_();
- sink.text( "source-release" );
- if ( csr.dist.isEmpty() )
- {
- iconSuccess( sink );
- }
- else
- {
- iconWarning( sink );
- }
-
- StringBuilder cliOlder = new StringBuilder();
- for ( String missing : csr.older )
- {
- sink.lineBreak();
- iconError( sink );
- sink.rawText( missing );
- cliOlder.append( "\nsvn rm " ).append( missing );
- }
- if ( !cliOlder.toString().isEmpty() )
- {
- sink.lineBreak();
- SinkEventAttributeSet atts = new SinkEventAttributeSet();
- sink.unknown( "pre", new Object[]
- {
- new Integer( HtmlMarkup.TAG_TYPE_START )
- }, atts );
- sink.text( cliOlder.toString() );
- sink.unknown( "pre", new Object[]{new Integer( HtmlMarkup.TAG_TYPE_END )}, null );
- }
-
- sink.tableCell_();
- sink.tableRow_();
}
sink.table_();
sink.body_();
@@ -299,28 +313,36 @@ public class DistCheckSourceReleaseMojo
sink.close();
}
- private List<String> checkOldinRepos( String repourl, ConfigurationLineInfo r, String version ) throws IOException
+ /**
+ * Report a pattern for an artifact.
+ *
+ * @param artifact artifact name
+ * @return regex
+ */
+ protected static String getArtifactPattern( String artifact )
+ {
+ /// not the safest
+ return "^" + artifact + "-[0-9].*source-release.*$";
+ }
+
+ private List<String> checkOldinRepos( String repourl, ConfigurationLineInfo configLine, String version )
+ throws IOException
{
Document doc = Jsoup.connect( repourl ).get();
Elements links = doc.select( "a[href]" );
List<String> expectedFile = new LinkedList<>();
List<String> retrievedFile = new LinkedList<>();
- // http://maven.apache.org/developers/release/maven-project-release-procedure.html#Copy_the_source_release_to_the_Apache_Distribution_Area
- // build source artifact name
- expectedFile.add( r.getArtifactId() + "-" + version + "-source-release.zip" );
- expectedFile.add( r.getArtifactId() + "-" + version + "-source-release.zip.asc" );
- expectedFile.add( r.getArtifactId() + "-" + version + "-source-release.zip.md5" );
+
+ expectedFile.add( configLine.getArtifactId() + "-" + version + "-source-release.zip" );
+ expectedFile.add( configLine.getArtifactId() + "-" + version + "-source-release.zip.asc" );
+ expectedFile.add( configLine.getArtifactId() + "-" + version + "-source-release.zip.md5" );
for ( Element e : links )
{
String art = e.attr( "href" );
- // need a regex no strong enough
- if ( art.startsWith( r.getArtifactId() + "-" ) && (art.endsWith( "-source-release.zip" )
- || art.endsWith( "-source-release.zip.asc" )
- || art.endsWith( "-source-release.zip.md5" )) )
- //if (art.matches( "^"+r.getArtifactId()+"-\d.-source-release.zip[]"))
+ if ( art.matches( getArtifactPattern( configLine.getArtifactId() ) ) )
{
retrievedFile.add( e.attr( "href" ) );
@@ -336,17 +358,17 @@ public class DistCheckSourceReleaseMojo
}
return retrievedFile;
}
- private List<String> checkRepos( String repourl, ConfigurationLineInfo r, String version ) throws IOException
+ private List<String> checkRepos( String repourl, ConfigurationLineInfo configLine, String version )
+ throws IOException
{
Document doc = Jsoup.connect( repourl ).get();
Elements links = doc.select( "a[href]" );
List<String> expectedFile = new LinkedList<>();
List<String> retrievedFile = new LinkedList<>();
- // http://maven.apache.org/developers/release/maven-project-release-procedure.html#Copy_the_source_release_to_the_Apache_Distribution_Area
// build source artifact name
- expectedFile.add( r.getArtifactId() + "-" + version + "-source-release.zip" );
- expectedFile.add( r.getArtifactId() + "-" + version + "-source-release.zip.asc" );
- expectedFile.add( r.getArtifactId() + "-" + version + "-source-release.zip.md5" );
+ expectedFile.add( configLine.getArtifactId() + "-" + version + "-source-release.zip" );
+ expectedFile.add( configLine.getArtifactId() + "-" + version + "-source-release.zip.asc" );
+ expectedFile.add( configLine.getArtifactId() + "-" + version + "-source-release.zip.md5" );
@@ -368,24 +390,31 @@ public class DistCheckSourceReleaseMojo
@Override
void checkArtifact( ConfigurationLineInfo configLine, String repoBaseUrl ) throws MojoExecutionException
{
- try ( BufferedReader input = new BufferedReader( new InputStreamReader( new URL( configLine.getMetadataFileURL( repoBaseUrl ) ).openStream() ) ) )
+ try ( BufferedReader input = new BufferedReader(
+ new InputStreamReader( new URL( configLine.getMetadataFileURL( repoBaseUrl ) ).openStream() ) ) )
{
JAXBContext context = JAXBContext.newInstance( MavenMetadata.class );
Unmarshaller unmarshaller = context.createUnmarshaller();
MavenMetadata metadata = ( MavenMetadata ) unmarshaller.unmarshal( input );
- getLog().info( "Checking for artifact : " + configLine.getGroupId() + ":" + configLine.getArtifactId() + ":" + metadata.versioning.latest );
- // revert sort versions (not handling alpha and complex vesion scheme but more usefull version are displayed left side
+ getLog().debug( "Checking for artifact : " + configLine.getGroupId() + ":"
+ + configLine.getArtifactId() + ":" + metadata.versioning.latest );
+ // revert sort versions (not handling alpha and
+ //complex version 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 );
configLine.addMetadata( metadata );
DistCheckSourceRelease result = new DistCheckSourceRelease( configLine, metadata.versioning.latest );
results.add( result );
// central
- result.setMisingCentralSourceRelease( checkRepos( configLine.getVersionnedFolderURL( repoBaseUrl, metadata.versioning.latest ), configLine, metadata.versioning.latest ) );
+ result.setMisingCentralSourceRelease(
+ checkRepos( configLine.getVersionnedFolderURL(
+ repoBaseUrl, metadata.versioning.latest ), configLine, metadata.versioning.latest ) );
//dist
- result.setMissingDistSourceRelease( checkRepos( configLine.getDist(), configLine, metadata.versioning.latest ) );
- result.setOlderSourceRelease( checkOldinRepos( configLine.getDist(), configLine, metadata.versioning.latest ) );
+ result.setMissingDistSourceRelease(
+ checkRepos( configLine.getDist(), configLine, metadata.versioning.latest ) );
+ result.setOlderSourceRelease(
+ checkOldinRepos( configLine.getDist(), configLine, metadata.versioning.latest ) );
}
catch ( MalformedURLException ex )
{
Modified: maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/MavenMetadata.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/MavenMetadata.java?rev=1490017&r1=1490016&r2=1490017&view=diff
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/MavenMetadata.java (original)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/MavenMetadata.java Wed Jun 5 19:59:34 2013
@@ -41,6 +41,9 @@ public class MavenMetadata
@XmlElement
VersioningTag versioning = new VersioningTag();
+ /**
+ * Versioning element of metadata.
+ */
public static class VersioningTag
{
Modified: maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/FluidoHTMLChecker.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/FluidoHTMLChecker.java?rev=1490017&r1=1490016&r2=1490017&view=diff
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/FluidoHTMLChecker.java (original)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/FluidoHTMLChecker.java Wed Jun 5 19:59:34 2013
@@ -22,6 +22,11 @@ package org.apache.maven.dist.tools.chec
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
+/**
+ * Check if version is present in fluido skin.
+ *
+ * @author skygo
+ */
public class FluidoHTMLChecker implements HTMLChecker
{
Modified: maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/HTMLChecker.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/HTMLChecker.java?rev=1490017&r1=1490016&r2=1490017&view=diff
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/HTMLChecker.java (original)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/HTMLChecker.java Wed Jun 5 19:59:34 2013
@@ -31,20 +31,22 @@ public interface HTMLChecker
/**
* name of the checker.
*
- * @return
+ * @return name
*/
String getName();
/**
- * skink related ?
+ * Get an id representing sink.
+ *
+ * @return string for skin
*/
String getSkin();
/**
* true if checker find pattern in document
*
- * @param doc
- * @param version
- * @return
+ * @param doc html document
+ * @param version version to check against
+ * @return true if version is found
*/
boolean isOk( Document doc, String version );
Modified: maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/HTMLCheckerFactory.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/HTMLCheckerFactory.java?rev=1490017&r1=1490016&r2=1490017&view=diff
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/HTMLCheckerFactory.java (original)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/HTMLCheckerFactory.java Wed Jun 5 19:59:34 2013
@@ -33,6 +33,10 @@ public final class HTMLCheckerFactory
{
}
+ /**
+ * get all checker
+ * @return list of checker
+ */
public static List<HTMLChecker> getCheckers()
{
List<HTMLChecker> tmp = new LinkedList<>();
Modified: maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/StylusLeftHTMLChecker.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/StylusLeftHTMLChecker.java?rev=1490017&r1=1490016&r2=1490017&view=diff
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/StylusLeftHTMLChecker.java (original)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/StylusLeftHTMLChecker.java Wed Jun 5 19:59:34 2013
@@ -22,6 +22,11 @@ package org.apache.maven.dist.tools.chec
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
+/**
+ * Check if version is present on left side in stylus skin.
+ *
+ * @author skygo
+ */
public class StylusLeftHTMLChecker implements HTMLChecker
{
Modified: maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/StylusRightHTMLChecker.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/StylusRightHTMLChecker.java?rev=1490017&r1=1490016&r2=1490017&view=diff
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/StylusRightHTMLChecker.java (original)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/checkers/StylusRightHTMLChecker.java Wed Jun 5 19:59:34 2013
@@ -22,6 +22,11 @@ package org.apache.maven.dist.tools.chec
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
+/**
+ * Check if version is present on right side in stylus skin.
+ *
+ * @author skygo
+ */
public class StylusRightHTMLChecker implements HTMLChecker
{
Modified: maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/site/markdown/index.md
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/site/markdown/index.md?rev=1490017&r1=1490016&r2=1490017&view=diff
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/site/markdown/index.md (original)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/site/markdown/index.md Wed Jun 5 19:59:34 2013
@@ -16,4 +16,7 @@ in other context, it would require more
[1]: ./dist-tool-checksite.html
[2]: ./dist-tool-checksourcerelease.html
-[3]: ./todo.html
\ No newline at end of file
+[3]: ./todo.html
+
+http://maven.apache.org/developers/release/maven-project-release-procedure.html#Copy_the_source_release_to_the_Apache_Distribution_Area
+
\ No newline at end of file
Added: maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/test/java/org/apache/maven/dist/tools/PatternTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/test/java/org/apache/maven/dist/tools/PatternTest.java?rev=1490017&view=auto
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/test/java/org/apache/maven/dist/tools/PatternTest.java (added)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/test/java/org/apache/maven/dist/tools/PatternTest.java Wed Jun 5 19:59:34 2013
@@ -0,0 +1,58 @@
+package org.apache.maven.dist.tools;
+
+/*
+ * Copyright 2013 The Apache Software Foundation.
+ *
+ * Licensed 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.util.regex.Pattern;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+/**
+ *
+ * @author skygo
+ */
+public class PatternTest
+{
+
+ /**
+ * Test of getGroupId method, of class ConfigurationLineInfo.
+ */
+ @Test
+ public void testGetGroupId()
+ {
+ String q = DistCheckSourceReleaseMojo.getArtifactPattern( "doxia" );
+
+ assertTrue( "doxia-1.4-source-release.zip.asc".matches( q ) );
+ assertTrue( "doxia-1.4-source-release.zip.md5".matches( q ) );
+ assertTrue( "doxia-1.4-source-release.zip".matches( q ) );
+ assertFalse( "doxia-sitetools-1.4-source-release.zip.asc".matches( q ) );
+ assertFalse( "doxia-sitetools-1.4-source-release.zip.md5".matches( q ) );
+ assertFalse( "doxia-sitetools-1.4-source-release.zip".matches( q ) );
+
+ String r = DistCheckSourceReleaseMojo.getArtifactPattern( "doxia-sitetools" );
+
+ assertFalse( "doxia-1.4-source-release.zip.asc".matches( r ) );
+ assertFalse( "doxia-1.4-source-release.zip.md5".matches( r ) );
+ assertFalse( "doxia-1.4-source-release.zip".matches( r ) );
+ assertTrue( "doxia-sitetools-1.4-source-release.zip.asc".matches( r ) );
+ assertTrue( "doxia-sitetools-1.4-source-release.zip.md5".matches( r ) );
+ assertTrue( "doxia-sitetools-1.4-source-release.zip".matches( r ) );
+ }
+
+
+
+
+}
Propchange: maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/test/java/org/apache/maven/dist/tools/PatternTest.java
------------------------------------------------------------------------------
svn:eol-style = native