49 |
49 |
50 private static ModuleDescriptor descriptorOf(ResourcePoolModule mod) { |
50 private static ModuleDescriptor descriptorOf(ResourcePoolModule mod) { |
51 ModuleDescriptor md = mod.descriptor(); |
51 ModuleDescriptor md = mod.descriptor(); |
52 |
52 |
53 // drop hashes |
53 // drop hashes |
54 ModuleDescriptor.Builder builder = ModuleDescriptor.module(md.name()); |
54 ModuleDescriptor.Builder builder = ModuleDescriptor.newModule(md.name()); |
55 md.requires().stream() |
55 md.requires().stream() |
56 .forEach(builder::requires); |
56 .forEach(builder::requires); |
57 md.exports().stream() |
57 md.exports().stream() |
58 .forEach(builder::exports); |
58 .forEach(builder::exports); |
59 md.opens().stream() |
59 md.opens().stream() |
60 .forEach(builder::opens); |
60 .forEach(builder::opens); |
61 md.uses().stream() |
61 md.uses().stream() |
62 .forEach(builder::uses); |
62 .forEach(builder::uses); |
63 md.provides().stream() |
63 md.provides().stream() |
64 .forEach(builder::provides); |
64 .forEach(builder::provides); |
65 |
65 builder.packages(md.packages()); |
66 // build the proper concealed packages |
|
67 Set<String> concealed = new HashSet<>(mod.packages()); |
|
68 md.exports().stream().map(ModuleDescriptor.Exports::source).forEach(concealed::remove); |
|
69 md.opens().stream().map(ModuleDescriptor.Opens::source).forEach(concealed::remove); |
|
70 concealed.stream().forEach(builder::contains); |
|
71 |
66 |
72 md.version().ifPresent(builder::version); |
67 md.version().ifPresent(builder::version); |
73 md.mainClass().ifPresent(builder::mainClass); |
68 md.mainClass().ifPresent(builder::mainClass); |
74 md.osName().ifPresent(builder::osName); |
69 md.osName().ifPresent(builder::osName); |
75 md.osArch().ifPresent(builder::osArch); |
70 md.osArch().ifPresent(builder::osArch); |