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