309 ClassLoader scl = ClassLoader.getSystemClassLoader(); |
309 ClassLoader scl = ClassLoader.getSystemClassLoader(); |
310 Path dir = Paths.get(System.getProperty("test.classes", "."), "modules"); |
310 Path dir = Paths.get(System.getProperty("test.classes", "."), "modules"); |
311 ModuleFinder finder = ModuleFinder.of(dir); |
311 ModuleFinder finder = ModuleFinder.of(dir); |
312 |
312 |
313 // layer1 |
313 // layer1 |
314 Configuration cf1 = cf0.resolveRequiresAndUses(finder, ModuleFinder.of(), Set.of()); |
314 Configuration cf1 = cf0.resolveAndBind(finder, ModuleFinder.of(), Set.of()); |
315 Layer layer1 = bootLayer.defineModulesWithOneLoader(cf1, scl); |
315 Layer layer1 = bootLayer.defineModulesWithOneLoader(cf1, scl); |
316 assertTrue(layer1.modules().size() == 1); |
316 assertTrue(layer1.modules().size() == 1); |
317 |
317 |
318 // layer2 |
318 // layer2 |
319 Configuration cf2 = cf0.resolveRequiresAndUses(finder, ModuleFinder.of(), Set.of()); |
319 Configuration cf2 = cf0.resolveAndBind(finder, ModuleFinder.of(), Set.of()); |
320 Layer layer2 = bootLayer.defineModulesWithOneLoader(cf2, scl); |
320 Layer layer2 = bootLayer.defineModulesWithOneLoader(cf2, scl); |
321 assertTrue(layer2.modules().size() == 1); |
321 assertTrue(layer2.modules().size() == 1); |
322 |
322 |
323 // layer3 with layer1 and layer2 as parents |
323 // layer3 with layer1 and layer2 as parents |
324 Configuration cf3 = Configuration.resolveRequiresAndUses(finder, |
324 Configuration cf3 = Configuration.resolveAndBind(finder, |
325 List.of(cf1, cf2), |
325 List.of(cf1, cf2), |
326 ModuleFinder.of(), |
326 ModuleFinder.of(), |
327 Set.of()); |
327 Set.of()); |
328 Layer layer3 = Layer.defineModulesWithOneLoader(cf3, List.of(layer1, layer2), scl).layer(); |
328 Layer layer3 = Layer.defineModulesWithOneLoader(cf3, List.of(layer1, layer2), scl).layer(); |
329 assertTrue(layer3.modules().size() == 1); |
329 assertTrue(layer3.modules().size() == 1); |
411 ModuleFinder finder = ModuleFinder.of(dir); |
411 ModuleFinder finder = ModuleFinder.of(dir); |
412 Set<String> roots = new HashSet<>(); |
412 Set<String> roots = new HashSet<>(); |
413 Collections.addAll(roots, modules); |
413 Collections.addAll(roots, modules); |
414 Layer bootLayer = Layer.boot(); |
414 Layer bootLayer = Layer.boot(); |
415 Configuration parent = bootLayer.configuration(); |
415 Configuration parent = bootLayer.configuration(); |
416 Configuration cf = parent.resolveRequires(finder, ModuleFinder.of(), roots); |
416 Configuration cf = parent.resolve(finder, ModuleFinder.of(), roots); |
417 ClassLoader scl = ClassLoader.getSystemClassLoader(); |
417 ClassLoader scl = ClassLoader.getSystemClassLoader(); |
418 Layer layer = bootLayer.defineModulesWithOneLoader(cf, scl); |
418 Layer layer = bootLayer.defineModulesWithOneLoader(cf, scl); |
419 assertTrue(layer.modules().size() == 1); |
419 assertTrue(layer.modules().size() == 1); |
420 return layer; |
420 return layer; |
421 } |
421 } |