--- a/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsFilter.java Wed Nov 21 22:33:33 2018 -0800
+++ b/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsFilter.java Wed Nov 21 22:34:01 2018 -0800
@@ -55,6 +55,7 @@
private final boolean filterSamePackage;
private final boolean filterSameArchive;
private final boolean findJDKInternals;
+ private final boolean findMissingDeps;
private final Pattern includePattern;
private final Set<String> requires;
@@ -64,6 +65,7 @@
boolean filterSamePackage,
boolean filterSameArchive,
boolean findJDKInternals,
+ boolean findMissingDeps,
Pattern includePattern,
Set<String> requires) {
this.filter = filter;
@@ -71,6 +73,7 @@
this.filterSamePackage = filterSamePackage;
this.filterSameArchive = filterSameArchive;
this.findJDKInternals = findJDKInternals;
+ this.findMissingDeps = findMissingDeps;
this.includePattern = includePattern;
this.requires = requires;
}
@@ -153,6 +156,8 @@
Module module = targetArchive.getModule();
return originArchive != targetArchive &&
isJDKInternalPackage(module, target.getPackageName());
+ } else if (findMissingDeps) {
+ return Analyzer.notFound(targetArchive);
} else if (filterSameArchive) {
// accepts origin and target that from different archive
return originArchive != targetArchive;
@@ -188,6 +193,7 @@
boolean filterSamePackage;
boolean filterSameArchive;
boolean findJDKInterals;
+ boolean findMissingDeps;
// source filters
Pattern includePattern;
Set<String> requires = new HashSet<>();
@@ -221,6 +227,10 @@
this.findJDKInterals = value;
return this;
}
+ public Builder findMissingDeps(boolean value) {
+ this.findMissingDeps = value;
+ return this;
+ }
public Builder includePattern(Pattern regex) {
this.includePattern = regex;
return this;
@@ -238,6 +248,7 @@
filterSamePackage,
filterSameArchive,
findJDKInterals,
+ findMissingDeps,
includePattern,
requires);
}