equal
deleted
inserted
replaced
135 } finally { |
135 } finally { |
136 dependencyFinder.shutdown(); |
136 dependencyFinder.shutdown(); |
137 } |
137 } |
138 } |
138 } |
139 |
139 |
140 boolean notFound(Archive m) { |
|
141 return m == NOT_FOUND || m == REMOVED_JDK_INTERNALS; |
|
142 } |
|
143 |
|
144 private Module toNormalModule(Module module, Set<Archive> requiresTransitive) |
140 private Module toNormalModule(Module module, Set<Archive> requiresTransitive) |
145 throws IOException |
141 throws IOException |
146 { |
142 { |
147 // done analysis |
143 // done analysis |
148 module.close(); |
144 module.close(); |
149 |
145 |
150 if (analyzer.requires(module).anyMatch(this::notFound)) { |
146 if (analyzer.requires(module).anyMatch(Analyzer::notFound)) { |
151 // missing dependencies |
147 // missing dependencies |
152 return null; |
148 return null; |
153 } |
149 } |
154 |
150 |
155 Map<String, Boolean> requires = new HashMap<>(); |
151 Map<String, Boolean> requires = new HashMap<>(); |
180 .map(Module::descriptor); |
176 .map(Module::descriptor); |
181 } |
177 } |
182 |
178 |
183 void visitMissingDeps(Analyzer.Visitor visitor) { |
179 void visitMissingDeps(Analyzer.Visitor visitor) { |
184 automaticModules().stream() |
180 automaticModules().stream() |
185 .filter(m -> analyzer.requires(m).anyMatch(this::notFound)) |
181 .filter(m -> analyzer.requires(m).anyMatch(Analyzer::notFound)) |
186 .forEach(m -> { |
182 .forEach(m -> { |
187 analyzer.visitDependences(m, visitor, Analyzer.Type.VERBOSE); |
183 analyzer.visitDependences(m, visitor, Analyzer.Type.VERBOSE, Analyzer::notFound); |
188 }); |
184 }); |
189 } |
185 } |
190 |
186 |
191 void writeModuleInfo(Path file, ModuleDescriptor md) { |
187 void writeModuleInfo(Path file, ModuleDescriptor md) { |
192 try { |
188 try { |