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/22 00:34:29 UTC

svn commit: r1495628 - in /maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools: AbstractDistCheckMojo.java ConfigurationLineInfo.java DistCheckSiteMojo.java DistCheckSourceReleaseMojo.java

Author: skygo
Date: Fri Jun 21 22:34:29 2013
New Revision: 1495628

URL: http://svn.apache.org/r1495628
Log:
reduce duplicate read metadata in AbstractDistCheckMojo and propagate version to checkArtifact

Modified:
    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/DistCheckSourceReleaseMojo.java

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=1495628&r1=1495627&r2=1495628&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 Fri Jun 21 22:34:29 2013
@@ -23,6 +23,8 @@ import java.io.BufferedReader;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
 import org.apache.maven.artifact.factory.ArtifactFactory;
@@ -30,6 +32,8 @@ import org.apache.maven.artifact.reposit
 import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
 import org.apache.maven.artifact.repository.MavenArtifactRepository;
 import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
+import org.apache.maven.artifact.repository.metadata.Metadata;
+import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
 import org.apache.maven.doxia.sink.Sink;
 import org.apache.maven.doxia.siterenderer.Renderer;
 import org.apache.maven.plugin.MojoExecutionException;
@@ -38,6 +42,7 @@ import org.apache.maven.plugins.annotati
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectBuilder;
 import org.apache.maven.reporting.AbstractMavenReport;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 /**
  *
@@ -161,9 +166,31 @@ public abstract class AbstractDistCheckM
             }
             else
             {
-                String[] artifactInfo = line.split( ";" );
-                checkArtifact(
-                        new ConfigurationLineInfo( artifactInfo[0], artifactInfo[1], artifactInfo[2] ), repoBaseUrl );
+                ConfigurationLineInfo aLine = new ConfigurationLineInfo( line.split( ";" ) );
+                // 
+                try ( BufferedReader input = new BufferedReader(
+                        new InputStreamReader( new URL( aLine.getMetadataFileURL( repoBaseUrl ) ).openStream() ) ) )
+                {
+                    MetadataXpp3Reader metadataReader = new MetadataXpp3Reader();
+                    Metadata metadata = metadataReader.read( input );
+
+                    aLine.addMetadata( metadata );
+                    getLog().debug( "Checking for site for artifact : " + aLine.getGroupId() + ":"
+                            + aLine.getArtifactId() + ":" + metadata.getVersioning().getLatest() );
+                    // revert sort versions (not handling alpha and 
+                    // complex vesion scheme but more usefull version are displayed left side
+                    Collections.sort( metadata.getVersioning().getVersions(), Collections.reverseOrder() );
+                    getLog().debug( metadata.getVersioning().getVersions() + " version(s) detected " + repoBaseUrl );
+
+                    // central
+                    checkArtifact( aLine, metadata.getVersioning().getLatest() );                   
+
+                }
+                catch ( IOException | XmlPullParserException ex )
+                {
+                    throw new MojoExecutionException( ex.getMessage(), ex );
+                }
+                
             }
         }
     }

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=1495628&r1=1495627&r2=1495628&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 Fri Jun 21 22:34:29 2013
@@ -38,11 +38,11 @@ class ConfigurationLineInfo
     private static final String URLSEP = "/";
     private Metadata metadata;
 
-    public ConfigurationLineInfo( String groupId, String artifactId, String dist )
+    public ConfigurationLineInfo( String[] infos )
     {
-        this.groupId = groupId;
-        this.artifactId = artifactId;
-        this.dist = dist;
+        this.groupId = infos[0];
+        this.artifactId = infos[1];
+        this.dist = infos[2];
     }
 
     /**

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=1495628&r1=1495627&r2=1495628&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 Fri Jun 21 22:34:29 2013
@@ -19,12 +19,7 @@ package org.apache.maven.dist.tools;
  * under the License.
  */
 
-import java.io.BufferedReader;
 import java.io.File;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
@@ -33,8 +28,6 @@ import java.util.Map;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.metadata.Metadata;
-import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
 import org.apache.maven.dist.tools.checkers.HTMLChecker;
 import org.apache.maven.dist.tools.checkers.HTMLCheckerFactory;
 import org.apache.maven.doxia.sink.Sink;
@@ -44,7 +37,6 @@ import org.apache.maven.plugins.annotati
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.MavenReportException;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 import org.jsoup.HttpStatusException;
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Comment;
@@ -393,11 +385,10 @@ public class DistCheckSiteMojo extends A
         return url;
     }
 
-    private void checkSite( String repourl, ConfigurationLineInfo configLine, String version )
+    private void checkSite( ConfigurationLineInfo configLine, String version )
     {
         DistCheckSiteResult result = new DistCheckSiteResult( configLine, version );
         results.add( result );
-        StringBuilder message = new StringBuilder();
         try
         {
             Artifact pluginArtifact = artifactFactory.createProjectArtifact(
@@ -439,32 +430,9 @@ public class DistCheckSiteMojo extends A
     }
 
     @Override
-    void checkArtifact( ConfigurationLineInfo configLine, String repoBaseUrl ) throws MojoExecutionException
+    void checkArtifact( ConfigurationLineInfo configLine, String latestVersion ) throws MojoExecutionException
     {
-        try ( BufferedReader input = new BufferedReader( 
-                new InputStreamReader( new URL( configLine.getMetadataFileURL( repoBaseUrl ) ).openStream() ) ) )
-        {
-            MetadataXpp3Reader metadataReader = new MetadataXpp3Reader();
-            Metadata metadata = metadataReader.read( input );
-            
-            configLine.addMetadata( metadata );
-            getLog().debug( "Checking for site for artifact : " + configLine.getGroupId() + ":"
-                    + configLine.getArtifactId() + ":" + metadata.getVersioning().getLatest() );
-            // revert sort versions (not handling alpha and 
-            // complex vesion scheme but more usefull version are displayed left side
-            Collections.sort( metadata.getVersioning().getVersions(), Collections.reverseOrder() );
-            getLog().debug( metadata.getVersioning().getVersions() + " version(s) detected " + repoBaseUrl );
-            
-            // central
-            checkSite( configLine.getVersionnedPomFileURL( 
-                    repoBaseUrl, metadata.getVersioning().getLatest() ), 
-                    configLine, metadata.getVersioning().getLatest() );
-
-        }
-        catch ( IOException | XmlPullParserException ex )
-        {
-            throw new MojoExecutionException( ex.getMessage(), ex );
-        }
+        checkSite( configLine, latestVersion );
     }
 
     @Override

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=1495628&r1=1495627&r2=1495628&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 Fri Jun 21 22:34:29 2013
@@ -19,24 +19,17 @@ package org.apache.maven.dist.tools;
  * under the License.
  */
 
-import java.io.BufferedReader;
 import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Locale;
 
-import org.apache.maven.artifact.repository.metadata.Metadata;
-import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
 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.plugin.MojoExecutionException;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.reporting.MavenReportException;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;
 import org.jsoup.nodes.Element;
@@ -50,7 +43,7 @@ import org.jsoup.select.Elements;
  */
 @Mojo( name = "check-source-release", requiresProject = false )
 public class DistCheckSourceReleaseMojo
-    extends AbstractDistCheckMojo
+        extends AbstractDistCheckMojo
 {
 //Artifact metadata retrieval done y hands.
 
@@ -75,7 +68,7 @@ public class DistCheckSourceReleaseMojo
     }
 
     class DistCheckSourceRelease
-        extends AbstractCheckResult
+            extends AbstractCheckResult
     {
 
         private List<String> central;
@@ -230,10 +223,10 @@ public class DistCheckSourceReleaseMojo
         sink.tableCell_();
         sink.tableRow_();
     }
-     
+
     @Override
     protected void executeReport( Locale locale )
-        throws MavenReportException
+            throws MavenReportException
     {
         if ( !outputDirectory.exists() )
         {
@@ -311,7 +304,7 @@ public class DistCheckSourceReleaseMojo
         sink.flush();
         sink.close();
     }
-    
+
     /**
      * Report a pattern for an artifact.
      *
@@ -325,7 +318,7 @@ public class DistCheckSourceReleaseMojo
     }
 
     private Elements selectLinks( String repourl )
-        throws IOException
+            throws IOException
     {
         try
         {
@@ -339,12 +332,12 @@ public class DistCheckSourceReleaseMojo
     }
 
     private List<String> checkOldinRepos( String repourl, ConfigurationLineInfo configLine, String version )
-        throws IOException
+            throws IOException
     {
         Elements links = selectLinks( repourl );
 
         List<String> expectedFile = new LinkedList<>();
-        
+
         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" );
@@ -407,37 +400,26 @@ public class DistCheckSourceReleaseMojo
     }
 
     @Override
-    void checkArtifact( ConfigurationLineInfo configLine, String repoBaseUrl )
-        throws MojoExecutionException
+    void checkArtifact( ConfigurationLineInfo configLine, String latestVersion )
+            throws MojoExecutionException
     {
-        try ( BufferedReader input = new BufferedReader( 
-                new InputStreamReader( new URL( configLine.getMetadataFileURL( repoBaseUrl ) ).openStream() ) ) )
+        try
         {
-            MetadataXpp3Reader metadataReader = new MetadataXpp3Reader();
-            Metadata metadata = metadataReader.read( input );
-            
-            getLog().debug( "Checking for artifact : " + configLine.getGroupId() + ":"
-                    + configLine.getArtifactId() + ":" + metadata.getVersioning().getLatest() );
-            // revert sort versions (not handling alpha and 
-            //complex version scheme but more usefull version are displayed left side
-            Collections.sort( metadata.getVersioning().getVersions(), Collections.reverseOrder() );
-            getLog().debug( metadata.getVersioning().getVersions() + " version(s) detected " + repoBaseUrl );
-            configLine.addMetadata( metadata );
-            DistCheckSourceRelease result = new DistCheckSourceRelease( configLine, 
-                    metadata.getVersioning().getLatest() );
+            DistCheckSourceRelease result = new DistCheckSourceRelease( configLine,
+                    latestVersion );
             results.add( result );
             // central
             result.setMissingCentralSourceRelease(
                     checkRepos( configLine.getVersionnedFolderURL(
-                    repoBaseUrl, metadata.getVersioning().getLatest() ), 
-                    configLine, metadata.getVersioning().getLatest() ) );
+                    repoBaseUrl, latestVersion ),
+                    configLine, latestVersion ) );
             //dist
             result.setMissingDistSourceRelease(
-                    checkRepos( configLine.getDist(), configLine, metadata.getVersioning().getLatest() ) );
+                    checkRepos( configLine.getDist(), configLine, latestVersion ) );
             result.setOlderSourceRelease(
-                    checkOldinRepos( configLine.getDist(), configLine, metadata.getVersioning().getLatest() ) );
+                    checkOldinRepos( configLine.getDist(), configLine, latestVersion ) );
         }
-        catch ( IOException | XmlPullParserException ex )
+        catch ( IOException ex )
         {
             throw new MojoExecutionException( ex.getMessage(), ex );
         }