You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2013/06/20 21:41:48 UTC

svn commit: r1495147 - in /maven/sandbox/trunk/dist-tools/dist-tool-plugin: ./ src/it/check-source-release/ src/main/java/org/apache/maven/dist/tools/

Author: rfscholte
Date: Thu Jun 20 19:41:48 2013
New Revision: 1495147

URL: http://svn.apache.org/r1495147
Log:
Use maven-repository-metadata to build MetaData
Add IT for check-source-release, which still checks actual dist

Added:
    maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/it/check-source-release/
    maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/it/check-source-release/invoker.properties
Removed:
    maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/main/java/org/apache/maven/dist/tools/MavenMetadata.java
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/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=1495147&r1=1495146&r2=1495147&view=diff
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/pom.xml (original)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/pom.xml Thu Jun 20 19:41:48 2013
@@ -60,6 +60,11 @@
       <version>${mvnversion}</version>
     </dependency>
     <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-repository-metadata</artifactId>
+      <version>${mvnversion}</version>
+    </dependency>
+    <dependency>
       <groupId>org.apache.maven.reporting</groupId>
       <artifactId>maven-reporting-impl</artifactId>
       <version>2.2</version>
@@ -247,6 +252,9 @@
             <configuration>
               <projectsDirectory>src/it</projectsDirectory>
               <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
+              <pomIncludes>
+                <pomInclude>*</pomInclude>
+              </pomIncludes>
               <preBuildHookScript>setup</preBuildHookScript>
               <postBuildHookScript>verify</postBuildHookScript>
               <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>

Added: maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/it/check-source-release/invoker.properties
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/it/check-source-release/invoker.properties?rev=1495147&view=auto
==============================================================================
--- maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/it/check-source-release/invoker.properties (added)
+++ maven/sandbox/trunk/dist-tools/dist-tool-plugin/src/it/check-source-release/invoker.properties Thu Jun 20 19:41:48 2013
@@ -0,0 +1 @@
+invoker.goals = ${project.groupId}:${project.artifactId}:${project.version}:check-source-release
\ No newline at end of file

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=1495147&r1=1495146&r2=1495147&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 Thu Jun 20 19:41:48 2013
@@ -70,7 +70,7 @@ public abstract class AbstractDistCheckM
     /**
      * Reporting directory.
      */
-    @Parameter( defaultValue = "${project.reporting.outputDirectory}", required = true )
+    @Parameter( defaultValue = "target/site", required = true )
     protected File outputDirectory;
 
     /**

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=1495147&r1=1495146&r2=1495147&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 Thu Jun 20 19:41:48 2013
@@ -23,6 +23,8 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
+import org.apache.maven.artifact.repository.metadata.Metadata;
+
 /**
  *
  * @author skygo
@@ -34,7 +36,7 @@ class ConfigurationLineInfo
     private final String artifactId;
     private final String dist;
     private static final String URLSEP = "/";
-    private MavenMetadata metadata;
+    private Metadata metadata;
 
     public ConfigurationLineInfo( String groupId, String artifactId, String dist )
     {
@@ -87,7 +89,7 @@ class ConfigurationLineInfo
         return getBaseURL( repoBaseUrl, version + URLSEP + artifactId + "-" + version + ".pom" );
     }
 
-    void addMetadata( MavenMetadata aMetadata )
+    void addMetadata( Metadata aMetadata )
     {
         this.metadata = aMetadata;
     }
@@ -98,7 +100,7 @@ class ConfigurationLineInfo
         try
         {
             SimpleDateFormat dateFormatter = new SimpleDateFormat( "yyyyMMddkkmmss" );
-            Date f = dateFormatter.parse( metadata.versioning.lastUpdated );
+            Date f = dateFormatter.parse( metadata.getVersioning().getLastUpdated() );
             SimpleDateFormat dateFormattertarget = new SimpleDateFormat( "MMM dd, yyyy" );
             return dateFormattertarget.format( f );
         }

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=1495147&r1=1495146&r2=1495147&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 Thu Jun 20 19:41:48 2013
@@ -23,7 +23,6 @@ import java.io.BufferedReader;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStreamReader;
-import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.Collections;
 import java.util.HashMap;
@@ -31,11 +30,11 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Locale;
 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.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;
@@ -45,6 +44,7 @@ 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;
@@ -61,7 +61,7 @@ import org.openqa.selenium.firefox.Firef
  *
  * @author skygo
  */
-@Mojo( name = "check-site" )
+@Mojo( name = "check-site", requiresProject = false )
 public class DistCheckSiteMojo extends AbstractDistCheckMojo
 {
     
@@ -445,27 +445,23 @@ public class DistCheckSiteMojo extends A
         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 );
+            MetadataXpp3Reader metadataReader = new MetadataXpp3Reader();
+            Metadata metadata = metadataReader.read( input );
+            
             configLine.addMetadata( metadata );
             getLog().debug( "Checking for site for artifact : " + configLine.getGroupId() + ":"
-                    + configLine.getArtifactId() + ":" + metadata.versioning.latest );
+                    + 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.versioning.versions, Collections.reverseOrder() );
-            getLog().debug( metadata.versioning.versions + " version(s) detected " + repoBaseUrl );
+            Collections.sort( metadata.getVersioning().getVersions(), Collections.reverseOrder() );
+            getLog().debug( metadata.getVersioning().getVersions() + " version(s) detected " + repoBaseUrl );
             
             // central
             checkSite( configLine.getVersionnedPomFileURL( 
-                    repoBaseUrl, metadata.versioning.latest ), configLine, metadata.versioning.latest );
+                    repoBaseUrl, metadata.getVersioning().getLatest() ), configLine, metadata.getVersioning().getLatest() );
 
         }
-        catch ( MalformedURLException ex )
-        {
-            throw new MojoExecutionException( ex.getMessage(), ex );
-        }
-        catch ( IOException | JAXBException ex )
+        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/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=1495147&r1=1495146&r2=1495147&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 Thu Jun 20 19:41:48 2013
@@ -22,21 +22,21 @@ package org.apache.maven.dist.tools;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
-import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Locale;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
+
+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;
@@ -48,7 +48,7 @@ import org.jsoup.select.Elements;
  *
  * @author skygo
  */
-@Mojo( name = "check-source-release" )
+@Mojo( name = "check-source-release", requiresProject = false )
 public class DistCheckSourceReleaseMojo
     extends AbstractDistCheckMojo
 {
@@ -409,34 +409,29 @@ public class DistCheckSourceReleaseMojo
         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 );
-
+            MetadataXpp3Reader metadataReader = new MetadataXpp3Reader();
+            Metadata metadata = metadataReader.read( input );
+            
             getLog().debug( "Checking for artifact : " + configLine.getGroupId() + ":"
-                    + configLine.getArtifactId() + ":" + metadata.versioning.latest );
+                    + 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.versioning.versions, Collections.reverseOrder() );
-            getLog().debug( metadata.versioning.versions + " version(s) detected " + repoBaseUrl );
+            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.versioning.latest );
+            DistCheckSourceRelease result = new DistCheckSourceRelease( configLine, metadata.getVersioning().getLatest() );
             results.add( result );
             // central
             result.setMissingCentralSourceRelease(
                     checkRepos( configLine.getVersionnedFolderURL(
-                    repoBaseUrl, metadata.versioning.latest ), configLine, metadata.versioning.latest ) );
+                    repoBaseUrl, metadata.getVersioning().getLatest() ), configLine, metadata.getVersioning().getLatest() ) );
             //dist
             result.setMissingDistSourceRelease(
-                    checkRepos( configLine.getDist(), configLine, metadata.versioning.latest ) );
+                    checkRepos( configLine.getDist(), configLine, metadata.getVersioning().getLatest() ) );
             result.setOlderSourceRelease(
-                    checkOldinRepos( configLine.getDist(), configLine, metadata.versioning.latest ) );
-        }
-        catch ( MalformedURLException ex )
-        {
-            throw new MojoExecutionException( ex.getMessage(), ex );
+                    checkOldinRepos( configLine.getDist(), configLine, metadata.getVersioning().getLatest() ) );
         }
-        catch ( IOException | JAXBException ex )
+        catch ( IOException | XmlPullParserException ex )
         {
             throw new MojoExecutionException( ex.getMessage(), ex );
         }