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 ); }