< prev index next >
src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsTask.java
Print this page
*** 219,228 ****
--- 219,235 ----
if (task.options.includePattern == null) {
task.options.includePattern = Pattern.compile(".*");
}
}
},
+ new Option(false, "--list-deps", "--list-reduced-deps") {
+ void process(JdepsTask task, String opt, String arg) {
+ task.options.showModulesAddExports = true;
+ task.options.reduced = opt.equals("--list-reduced-deps");
+ task.options.verbose = PACKAGE;
+ }
+ },
// ---- paths option ----
new Option(true, "-cp", "-classpath", "--class-path") {
void process(JdepsTask task, String opt, String arg) {
task.options.classpath = arg;
*** 515,540 ****
config.splitPackages().entrySet().stream()
.sorted(Map.Entry.comparingByKey())
.forEach(e -> System.out.format("split package: %s %s%n", e.getKey(),
e.getValue().toString()));
! // check if any module specified in -requires is missing
Stream.concat(options.addmods.stream(), options.requires.stream())
.filter(mn -> !config.isValidToken(mn))
.forEach(mn -> config.findModule(mn).orElseThrow(() ->
new UncheckedBadArgs(new BadArgs("err.module.not.found", mn))));
! // --gen-module-info
if (options.genModuleInfo != null) {
return genModuleInfo(config);
}
// --check
if (options.checkModuleDeps != null) {
return new ModuleAnalyzer(config, log, options.checkModuleDeps).run();
}
if (options.dotOutputDir != null &&
(options.verbose == SUMMARY || options.verbose == MODULE) &&
!options.addmods.isEmpty() && inputArgs.isEmpty()) {
return new ModuleAnalyzer(config, log).genDotFiles(options.dotOutputDir);
}
--- 522,554 ----
config.splitPackages().entrySet().stream()
.sorted(Map.Entry.comparingByKey())
.forEach(e -> System.out.format("split package: %s %s%n", e.getKey(),
e.getValue().toString()));
! // check if any module specified in --require is missing
Stream.concat(options.addmods.stream(), options.requires.stream())
.filter(mn -> !config.isValidToken(mn))
.forEach(mn -> config.findModule(mn).orElseThrow(() ->
new UncheckedBadArgs(new BadArgs("err.module.not.found", mn))));
! // --generate-module-info
if (options.genModuleInfo != null) {
return genModuleInfo(config);
}
// --check
if (options.checkModuleDeps != null) {
return new ModuleAnalyzer(config, log, options.checkModuleDeps).run();
}
+ if (options.showModulesAddExports) {
+ return new ModuleExportsAnalyzer(config,
+ dependencyFilter(config),
+ options.reduced,
+ log).run();
+ }
+
if (options.dotOutputDir != null &&
(options.verbose == SUMMARY || options.verbose == MODULE) &&
!options.addmods.isEmpty() && inputArgs.isEmpty()) {
return new ModuleAnalyzer(config, log).genDotFiles(options.dotOutputDir);
}
*** 553,563 ****
builder.upgradeModulePath(options.upgradeModulePath)
.appModulePath(options.modulePath)
.addmods(options.addmods);
! if (options.checkModuleDeps != null) {
// check all system modules in the image
builder.allModules();
}
if (options.classpath != null)
--- 567,577 ----
builder.upgradeModulePath(options.upgradeModulePath)
.appModulePath(options.modulePath)
.addmods(options.addmods);
! if (options.checkModuleDeps != null || options.showModulesAddExports) {
// check all system modules in the image
builder.allModules();
}
if (options.classpath != null)
*** 725,745 ****
/**
* Returns a filter used during dependency analysis
*/
private JdepsFilter dependencyFilter(JdepsConfiguration config) {
! // Filter specified by -filter, -package, -regex, and -requires options
JdepsFilter.Builder builder = new JdepsFilter.Builder();
// source filters
builder.includePattern(options.includePattern);
builder.includeSystemModules(options.includeSystemModulePattern);
builder.filter(options.filterSamePackage, options.filterSameArchive);
builder.findJDKInternals(options.findJDKInternals);
! // -requires
if (!options.requires.isEmpty()) {
options.requires.stream()
.forEach(mn -> {
Module m = config.findModule(mn).get();
builder.requires(mn, m.packages());
--- 739,759 ----
/**
* Returns a filter used during dependency analysis
*/
private JdepsFilter dependencyFilter(JdepsConfiguration config) {
! // Filter specified by -filter, -package, -regex, and --require options
JdepsFilter.Builder builder = new JdepsFilter.Builder();
// source filters
builder.includePattern(options.includePattern);
builder.includeSystemModules(options.includeSystemModulePattern);
builder.filter(options.filterSamePackage, options.filterSameArchive);
builder.findJDKInternals(options.findJDKInternals);
! // --require
if (!options.requires.isEmpty()) {
options.requires.stream()
.forEach(mn -> {
Module m = config.findModule(mn).get();
builder.requires(mn, m.packages());
*** 884,893 ****
--- 898,909 ----
String upgradeModulePath;
String modulePath;
String rootModule;
Set<String> addmods = new HashSet<>();
Runtime.Version multiRelease;
+ boolean showModulesAddExports;
+ boolean reduced;
boolean hasFilter() {
return numFilters() > 0;
}
< prev index next >