You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2022/02/10 14:09:41 UTC

[sling-org-apache-sling-feature-analyser] branch master updated: Improve analyser output

This is an automated email from the ASF dual-hosted git repository.

cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-analyser.git


The following commit(s) were added to refs/heads/master by this push:
     new d79c6e8  Improve analyser output
d79c6e8 is described below

commit d79c6e8a22abd74c8f37787bed035463c45bad6f
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Thu Feb 10 15:08:21 2022 +0100

    Improve analyser output
---
 .../extensions/AnalyserMetaDataExtension.java      |  2 +-
 .../task/impl/CheckBundleExportsImports.java       | 23 +++++++++++-----------
 .../org/apache/sling/feature/scanner/Scanner.java  |  6 +++++-
 3 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/src/main/java/org/apache/sling/feature/analyser/extensions/AnalyserMetaDataExtension.java b/src/main/java/org/apache/sling/feature/analyser/extensions/AnalyserMetaDataExtension.java
index 9aca541..7324772 100644
--- a/src/main/java/org/apache/sling/feature/analyser/extensions/AnalyserMetaDataExtension.java
+++ b/src/main/java/org/apache/sling/feature/analyser/extensions/AnalyserMetaDataExtension.java
@@ -81,7 +81,7 @@ public class AnalyserMetaDataExtension {
         return ext != null && ext.getName().equals(EXTENSION_NAME) && ext.getType() == ExtensionType.JSON;
     }
 
-    public Map<String, String> getManifest(ArtifactId artifactId) {
+    public Map<String, String> getManifest(final ArtifactId artifactId) {
         return this.manifests.get(artifactId);
     }
 
diff --git a/src/main/java/org/apache/sling/feature/analyser/task/impl/CheckBundleExportsImports.java b/src/main/java/org/apache/sling/feature/analyser/task/impl/CheckBundleExportsImports.java
index 7f22ded..0aaac9d 100644
--- a/src/main/java/org/apache/sling/feature/analyser/task/impl/CheckBundleExportsImports.java
+++ b/src/main/java/org/apache/sling/feature/analyser/task/impl/CheckBundleExportsImports.java
@@ -65,8 +65,7 @@ public class CheckBundleExportsImports implements AnalyserTask {
 
         final SortedMap<Integer, List<BundleDescriptor>> bundlesMap = new TreeMap<>();
         for(final BundleDescriptor bi : ctx.getFeatureDescriptor().getBundleDescriptors()) {
-            List<BundleDescriptor> list = bundlesMap.computeIfAbsent(bi.getArtifact().getStartOrder(), key -> new ArrayList<>());
-            list.add(bi);
+            bundlesMap.computeIfAbsent(bi.getArtifact().getStartOrder(), key -> new ArrayList<>()).add(bi);
         }
 
         // add all system packages
@@ -116,16 +115,16 @@ public class CheckBundleExportsImports implements AnalyserTask {
         boolean errorReported = false;
         for(final Map.Entry<BundleDescriptor, Report> entry : reports.entrySet()) {
             if ( !entry.getValue().missingExports.isEmpty() ) {
-                ctx.reportArtifactError(entry.getKey().getArtifact().getId(), " is importing package(s) " + getPackageInfo(entry.getValue().missingExports, false) + " in start level " +
+                ctx.reportArtifactError(entry.getKey().getArtifact().getId(), "Bundle is importing " + getPackageInfo(entry.getValue().missingExports, false) + " with start order " +
                         String.valueOf(entry.getKey().getArtifact().getStartOrder())
-                        + " but no bundle is exporting these for that start level.");
+                        + " but no bundle is exporting these for that start order.");
                 errorReported = true;
             }
             if ( !entry.getValue().missingExportsWithVersion.isEmpty() ) {
-                ctx.reportArtifactError(entry.getKey().getArtifact().getId(), " is importing package(s) "
-                        + getPackageInfo(entry.getValue().missingExportsWithVersion, true) + " in start level "
+                ctx.reportArtifactError(entry.getKey().getArtifact().getId(), "Bundle is importing "
+                        + getPackageInfo(entry.getValue().missingExportsWithVersion, true) + " with start order "
                         + String.valueOf(entry.getKey().getArtifact().getStartOrder())
-                        + " but no bundle is exporting these for that start level in the required version range.");
+                        + " but no bundle is exporting these for that start order in the required version range.");
                 errorReported = true;
             }
         }
@@ -136,13 +135,15 @@ public class CheckBundleExportsImports implements AnalyserTask {
 
     private String getPackageInfo(final List<PackageInfo> pcks, final boolean includeVersion) {
         if ( pcks.size() == 1 ) {
+            final StringBuilder sb = new StringBuilder("package ");
+            sb.append(pcks.get(0).getName());
             if (includeVersion) {
-                return pcks.get(0).toString();
-            } else {
-                return pcks.get(0).getName();
+                sb.append(";version=");
+                sb.append(pcks.get(0).getVersion());
             }
+            return sb.toString();
         }
-        final StringBuilder sb = new StringBuilder();
+        final StringBuilder sb = new StringBuilder("packages ");
         boolean first = true;
         sb.append('[');
         for(final PackageInfo info : pcks) {
diff --git a/src/main/java/org/apache/sling/feature/scanner/Scanner.java b/src/main/java/org/apache/sling/feature/scanner/Scanner.java
index 3d70a4e..0f81d40 100644
--- a/src/main/java/org/apache/sling/feature/scanner/Scanner.java
+++ b/src/main/java/org/apache/sling/feature/scanner/Scanner.java
@@ -239,7 +239,11 @@ public class Scanner {
         return desc;
     }
 
-
+    /**
+     * Populate the scanner cache from the feature extension (if available)
+     * @param feature The feature
+     * @throws IOException If extracting the data fails
+     */
     private void populateCache(Feature feature) throws IOException {
         AnalyserMetaDataExtension extension = AnalyserMetaDataExtension.getAnalyserMetaDataExtension(feature);