127 annotationVisitor.visit("forRemoval", forRemoval);
128 annotationVisitor.visit("since", since);
129 annotationVisitor.visitEnd();
130
131 byte[] bytes = cw.toByteArray();
132 Path mi = output.resolve("module-info.class");
133 Files.write(mi, bytes);
134 }
135 }
136
137 /**
138 * Load the module of the given name in the given directory into a
139 * child layer.
140 */
141 static Module loadModule(Path dir, String name) throws IOException {
142 ModuleFinder finder = ModuleFinder.of(dir);
143
144 Layer bootLayer = Layer.boot();
145
146 Configuration cf = bootLayer.configuration()
147 .resolveRequires(finder, ModuleFinder.of(), Set.of(name));
148
149 ClassLoader scl = ClassLoader.getSystemClassLoader();
150 Layer layer = bootLayer.defineModulesWithOneLoader(cf, scl);
151
152 Module module = layer.findModule(name).orElse(null);
153 assertNotNull(module, name + " not loaded");
154 return module;
155 }
156 }
|
127 annotationVisitor.visit("forRemoval", forRemoval);
128 annotationVisitor.visit("since", since);
129 annotationVisitor.visitEnd();
130
131 byte[] bytes = cw.toByteArray();
132 Path mi = output.resolve("module-info.class");
133 Files.write(mi, bytes);
134 }
135 }
136
137 /**
138 * Load the module of the given name in the given directory into a
139 * child layer.
140 */
141 static Module loadModule(Path dir, String name) throws IOException {
142 ModuleFinder finder = ModuleFinder.of(dir);
143
144 Layer bootLayer = Layer.boot();
145
146 Configuration cf = bootLayer.configuration()
147 .resolve(finder, ModuleFinder.of(), Set.of(name));
148
149 ClassLoader scl = ClassLoader.getSystemClassLoader();
150 Layer layer = bootLayer.defineModulesWithOneLoader(cf, scl);
151
152 Module module = layer.findModule(name).orElse(null);
153 assertNotNull(module, name + " not loaded");
154 return module;
155 }
156 }
|