133 // analyze all classes
134
135 if (apionly) {
136 dependencyFinder.parseExportedAPIs(Stream.of(root));
137 } else {
138 dependencyFinder.parse(Stream.of(root));
139 }
140
141 // find the modules of all the dependencies found
142 return dependencyFinder.getDependences(root)
143 .map(Archive::getModule);
144 }
145
146 ModuleDescriptor descriptor() {
147 return descriptor(requiresTransitive, requires);
148 }
149
150 private ModuleDescriptor descriptor(Set<Module> requiresTransitive,
151 Set<Module> requires) {
152
153 ModuleDescriptor.Builder builder = ModuleDescriptor.module(root.name());
154
155 if (!root.name().equals(JAVA_BASE))
156 builder.requires(Set.of(MANDATED), JAVA_BASE);
157
158 requiresTransitive.stream()
159 .filter(m -> !m.name().equals(JAVA_BASE))
160 .map(Module::name)
161 .forEach(mn -> builder.requires(Set.of(TRANSITIVE), mn));
162
163 requires.stream()
164 .filter(m -> !requiresTransitive.contains(m))
165 .filter(m -> !m.name().equals(JAVA_BASE))
166 .map(Module::name)
167 .forEach(mn -> builder.requires(mn));
168
169 return builder.build();
170 }
171
172 private Graph<Module> buildReducedGraph() {
173 ModuleGraphBuilder rpBuilder = new ModuleGraphBuilder(configuration);
|
133 // analyze all classes
134
135 if (apionly) {
136 dependencyFinder.parseExportedAPIs(Stream.of(root));
137 } else {
138 dependencyFinder.parse(Stream.of(root));
139 }
140
141 // find the modules of all the dependencies found
142 return dependencyFinder.getDependences(root)
143 .map(Archive::getModule);
144 }
145
146 ModuleDescriptor descriptor() {
147 return descriptor(requiresTransitive, requires);
148 }
149
150 private ModuleDescriptor descriptor(Set<Module> requiresTransitive,
151 Set<Module> requires) {
152
153 ModuleDescriptor.Builder builder = ModuleDescriptor.newModule(root.name());
154
155 if (!root.name().equals(JAVA_BASE))
156 builder.requires(Set.of(MANDATED), JAVA_BASE);
157
158 requiresTransitive.stream()
159 .filter(m -> !m.name().equals(JAVA_BASE))
160 .map(Module::name)
161 .forEach(mn -> builder.requires(Set.of(TRANSITIVE), mn));
162
163 requires.stream()
164 .filter(m -> !requiresTransitive.contains(m))
165 .filter(m -> !m.name().equals(JAVA_BASE))
166 .map(Module::name)
167 .forEach(mn -> builder.requires(mn));
168
169 return builder.build();
170 }
171
172 private Graph<Module> buildReducedGraph() {
173 ModuleGraphBuilder rpBuilder = new ModuleGraphBuilder(configuration);
|