SLING-10977 : Exclude JDK packages from version range checks
diff --git a/src/main/java/org/apache/sling/feature/extension/apiregions/analyser/CheckApiRegionsBundleExportsImports.java b/src/main/java/org/apache/sling/feature/extension/apiregions/analyser/CheckApiRegionsBundleExportsImports.java
index 39d64bb..5ce1635 100644
--- a/src/main/java/org/apache/sling/feature/extension/apiregions/analyser/CheckApiRegionsBundleExportsImports.java
+++ b/src/main/java/org/apache/sling/feature/extension/apiregions/analyser/CheckApiRegionsBundleExportsImports.java
@@ -21,6 +21,7 @@
import java.io.IOException;
import java.util.AbstractMap;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -52,6 +53,9 @@
private static final String NO_REGION = " __NO_REGION__ ";
private static final String OWN_FEATURE = " __OWN_FEATURE__ ";
+ /** Ignore JDK packages */
+ private static final List<String> IGNORED_IMPORT_PREFIXES = Arrays.asList("java.", "javax.", "org.w3c.", "org.xml.");
+
@Override
public String getName() {
return "Bundle Import/Export Check";
@@ -100,16 +104,21 @@
}
}
+ private boolean ignoreImportPackage(final String name) {
+ for(final String prefix : IGNORED_IMPORT_PREFIXES) {
+ if ( name.startsWith(prefix) ) {
+ return true;
+ }
+ }
+ return false;
+ }
+
private void checkForVersionOnImportingPackages(final AnalyserTaskContext ctx, final Map<BundleDescriptor, Report> reports) {
for(final BundleDescriptor info : ctx.getFeatureDescriptor().getBundleDescriptors()) {
if ( info.getImportedPackages() != null ) {
for(final PackageInfo i : info.getImportedPackages()) {
- if ( i.getVersion() == null ) {
- // don't report for javax, org.xml. and org.w3c. packages (TODO)
- if ( !i.getName().startsWith("javax.")
- && !i.getName().startsWith("org.w3c.") && !i.getName().startsWith("org.xml.")) {
- getReport(reports, info).importWithoutVersion.add(i);
- }
+ if ( i.getVersion() == null && !ignoreImportPackage(i.getName()) ) {
+ getReport(reports, info).importWithoutVersion.add(i);
}
}
}