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