Author: rombert
Date: Mon Aug 14 12:06:10 2017
New Revision: 1804983

URL: http://svn.apache.org/viewvc?rev=1804983&view=rev
Log:
LaunchpadComparer update for more recent Sling versions

- use latest provisioning model
- consider both versions as using the provisioning model

Modified:
    sling/trunk/tooling/release/launchpad-comparator/pom.xml
    
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/LaunchpadComparer.java
    
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/Main.java
    
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/aether/ArtifactKey.java
    
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/aether/Artifacts.java
    
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/jira/Issue.java

Modified: sling/trunk/tooling/release/launchpad-comparator/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/tooling/release/launchpad-comparator/pom.xml?rev=1804983&r1=1804982&r2=1804983&view=diff
==============================================================================
--- sling/trunk/tooling/release/launchpad-comparator/pom.xml (original)
+++ sling/trunk/tooling/release/launchpad-comparator/pom.xml Mon Aug 14 
12:06:10 2017
@@ -89,21 +89,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.provisioning.model</artifactId>
-            <version>1.3.0</version>
-        </dependency>
-
-        <!-- Launchpad plugin, used to read bundle lists -->
-        <dependency>
-            <groupId>org.apache.sling</groupId>
-            <artifactId>maven-launchpad-plugin</artifactId>
-            <version>2.3.2</version>
-        </dependency>
-
-        <!-- Force usable version of plexus-utils, needed by launchpad plugin 
-->
-        <dependency>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-utils</artifactId>
-            <version>3.0.15</version>
+            <version>1.8.2</version>
         </dependency>
 
         <!-- Retrieve changelog data from SVN -->
@@ -119,6 +105,13 @@
             <artifactId>gson</artifactId>
             <version>2.2.4</version>
         </dependency>
+        
+        <!-- Testing -->
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
 
     </dependencies>
 

Modified: 
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/LaunchpadComparer.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/LaunchpadComparer.java?rev=1804983&r1=1804982&r2=1804983&view=diff
==============================================================================
--- 
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/LaunchpadComparer.java
 (original)
+++ 
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/LaunchpadComparer.java
 Mon Aug 14 12:06:10 2017
@@ -30,9 +30,6 @@ import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
-import org.apache.sling.maven.projectsupport.BundleListUtils;
-import org.apache.sling.maven.projectsupport.bundlelist.v1_0_0.Bundle;
-import org.apache.sling.maven.projectsupport.bundlelist.v1_0_0.BundleList;
 import org.apache.sling.provisioning.model.Artifact;
 import org.apache.sling.provisioning.model.Model;
 import org.apache.sling.provisioning.model.ModelUtility;
@@ -71,23 +68,10 @@ public class LaunchpadComparer {
         File toFile = 
aether.download(Artifacts.launchpadCoordinates(secondVersion));
 
         // 2. parse artifact definitions
-        Model model;
-        try (BufferedReader reader = Files.newBufferedReader(toFile.toPath())) 
{
-            model = ModelUtility.getEffectiveModel(ModelReader.read(reader, 
null));
-        }
-        
-        Map<ArtifactKey, Artifact> to = model.getFeatures().stream()
-            .flatMap( f -> f.getRunModes().stream())
-            .flatMap( r -> r.getArtifactGroups().stream())
-            .flatMap( g -> StreamSupport.stream(g.spliterator(), false))
-            .collect(Collectors.toMap( a -> new ArtifactKey(a), 
Function.identity()));
+        Map<ArtifactKey, Artifact> from = readArtifactsFromModel(fromFile);
+        Map<ArtifactKey, Artifact> to = readArtifactsFromModel(toFile);
         
-        BundleList readBundleList = BundleListUtils.readBundleList(fromFile);
         
-        Map<ArtifactKey, Artifact> from = 
readBundleList.getStartLevels().stream()
-            .flatMap( sl -> sl.getBundles().stream() )
-            .collect(Collectors.toMap( b -> new ArtifactKey(b), 
LaunchpadComparer::newArtifact));
-
         // 3. generate added / removed / changed
         Set<Artifact> removed = Sets.difference(from.keySet(), 
to.keySet()).stream()
             .map( k -> from.get(k))
@@ -117,10 +101,19 @@ public class LaunchpadComparer {
             .forEach(LaunchpadComparer::outputFormatted);        
         
     }
-    
-    private static Artifact newArtifact(Bundle bundle) {
+
+    private Map<ArtifactKey, Artifact> readArtifactsFromModel(File toFile) 
throws IOException {
+        Model fromModel;
+        try (BufferedReader reader = Files.newBufferedReader(toFile.toPath())) 
{
+            fromModel = 
ModelUtility.getEffectiveModel(ModelReader.read(reader, null));
+        }
         
-        return new Artifact(bundle.getGroupId(), bundle.getArtifactId(), 
bundle.getVersion(), bundle.getClassifier(), bundle.getType());
+        Map<ArtifactKey, Artifact> to = fromModel.getFeatures().stream()
+            .flatMap( f -> f.getRunModes().stream())
+            .flatMap( r -> r.getArtifactGroups().stream())
+            .flatMap( g -> StreamSupport.stream(g.spliterator(), false))
+            .collect(Collectors.toMap( a -> new ArtifactKey(a), 
Function.identity()));
+        return to;
     }
     
     private static void outputFormatted(Artifact a) {

Modified: 
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/Main.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/Main.java?rev=1804983&r1=1804982&r2=1804983&view=diff
==============================================================================
--- 
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/Main.java
 (original)
+++ 
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/Main.java
 Mon Aug 14 12:06:10 2017
@@ -20,17 +20,13 @@ public class Main {
 
     public static void main(String[] args) throws Exception {
         
-        // 0. read CLI arguments
-        String firstVersion = "7";
-        String secondVersion = "8";
+        String firstVersion = "8";
+        String secondVersion = "9";
         if ( args.length == 2) {
             firstVersion = args[0];
             secondVersion = args[1];
         }
         
-        LaunchpadComparer comparer = new LaunchpadComparer(firstVersion, 
secondVersion);
-        comparer.run();
-        
-
+        new LaunchpadComparer(firstVersion, secondVersion).run();
     }
 }

Modified: 
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/aether/ArtifactKey.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/aether/ArtifactKey.java?rev=1804983&r1=1804982&r2=1804983&view=diff
==============================================================================
--- 
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/aether/ArtifactKey.java
 (original)
+++ 
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/aether/ArtifactKey.java
 Mon Aug 14 12:06:10 2017
@@ -18,7 +18,6 @@ package org.apache.sling.tooling.lc.aeth
 
 import java.util.Objects;
 
-import org.apache.sling.maven.projectsupport.bundlelist.v1_0_0.Bundle;
 import org.apache.sling.provisioning.model.Artifact;
 
 public class ArtifactKey implements Comparable<ArtifactKey> {
@@ -28,11 +27,6 @@ public class ArtifactKey implements Comp
     private String classifier;
     private String type;
     
-    public ArtifactKey(Bundle bundle) {
-        
-        this(bundle.getGroupId(), bundle.getArtifactId(), 
bundle.getClassifier(), bundle.getType());
-    }
-
     public ArtifactKey(Artifact artifact) {
         
         this(artifact.getGroupId(), artifact.getArtifactId(), 
artifact.getClassifier(), artifact.getType());

Modified: 
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/aether/Artifacts.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/aether/Artifacts.java?rev=1804983&r1=1804982&r2=1804983&view=diff
==============================================================================
--- 
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/aether/Artifacts.java
 (original)
+++ 
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/aether/Artifacts.java
 Mon Aug 14 12:06:10 2017
@@ -33,7 +33,6 @@ public class Artifacts {
         
         int versionNumber = Integer.parseInt(versionMatcher.group(1));
 
-        
         // versions 6 and 7 used an XML bundle list
         if ( versionNumber < 8 ) {
             return 
"org.apache.sling:org.apache.sling.launchpad:xml:bundlelist:" + version;

Modified: 
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/jira/Issue.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/jira/Issue.java?rev=1804983&r1=1804982&r2=1804983&view=diff
==============================================================================
--- 
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/jira/Issue.java
 (original)
+++ 
sling/trunk/tooling/release/launchpad-comparator/src/main/java/org/apache/sling/tooling/lc/jira/Issue.java
 Mon Aug 14 12:06:10 2017
@@ -16,10 +16,10 @@
  */
 package org.apache.sling.tooling.lc.jira;
 
+import java.util.Objects;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import com.google.inject.internal.util.Objects;
 
 public class Issue implements Comparable<Issue> {
     
@@ -67,7 +67,8 @@ public class Issue implements Comparable
         String ourProject = ourMatcher.group(1);
         String theirProject = theirMatcher.group(1);
         
-        if ( !Objects.equal(ourProject, theirProject)) {
+        
+        if ( !Objects.equals(ourProject, theirProject)) {
             return ourProject.compareTo(theirProject);
         }
         


Reply via email to