< prev index next >
test/tools/jar/modularJar/src/bar/jdk/test/bar/Bar.java
Print this page
rev 14541 : 8156497: Add jar tool support for Multi-Release Modular JARs
Reviewed-by:
@@ -24,10 +24,12 @@
*/
package jdk.test.bar;
import java.lang.module.ModuleDescriptor;
+import java.lang.module.ModuleDescriptor.Exports;
+import java.lang.module.ModuleDescriptor.Requires;
import java.lang.reflect.Method;
import java.util.Optional;
import java.util.StringJoiner;
import jdk.internal.module.ModuleHashes;
@@ -37,20 +39,38 @@
public static void main(String[] args) throws Exception {
System.out.println("message:" + Message.get());
ModuleDescriptor md = Bar.class.getModule().getDescriptor();
System.out.println("nameAndVersion:" + md.toNameAndVersion());
- System.out.println("mainClass:" + md.mainClass().get());
+ md.mainClass().ifPresent(mc -> System.out.println("mainClass:" + mc));
- Method m = ModuleDescriptor.class.getDeclaredMethod("hashes");
- m.setAccessible(true);
- ModuleDescriptor foo = jdk.test.foo.Foo.class.getModule().getDescriptor();
- Optional<ModuleHashes> oHashes =
- (Optional<ModuleHashes>) m.invoke(foo);
+ StringJoiner sj = new StringJoiner(",");
+ md.requires().stream().map(ModuleDescriptor.Requires::name).sorted().forEach(sj::add);
+ System.out.println("requires:" + sj.toString());
- System.out.println("hashes:" + oHashes.get().hashFor("bar"));
+ sj = new StringJoiner(",");
+ md.exports().stream().map(ModuleDescriptor.Exports::source).sorted().forEach(sj::add);
+ if (!sj.toString().equals(""))
+ System.out.println("exports:" + sj.toString());
+
+ sj = new StringJoiner(",");
+ md.uses().stream().sorted().forEach(sj::add);
+ if (!sj.toString().equals(""))
+ System.out.println("uses:" + sj.toString());
+
+ sj = new StringJoiner(",");
+ md.provides().keySet().stream().sorted().forEach(sj::add);
+ if (!sj.toString().equals(""))
+ System.out.println("provides:" + sj.toString());
- StringJoiner sj = new StringJoiner(",");
+ sj = new StringJoiner(",");
md.conceals().forEach(sj::add);
+ if (!sj.toString().equals(""))
System.out.println("conceals:" + sj.toString());
+
+ Method m = ModuleDescriptor.class.getDeclaredMethod("hashes");
+ m.setAccessible(true);
+ ModuleDescriptor foo = jdk.test.foo.Foo.class.getModule().getDescriptor();
+ Optional<ModuleHashes> oHashes = (Optional<ModuleHashes>) m.invoke(foo);
+ System.out.println("hashes:" + oHashes.get().hashFor("bar"));
}
}
< prev index next >