311 Path modularJar = mp.resolve(FOO.moduleName + ".jar");
312
313 jar("--create",
314 "--file=" + modularJar.toString(),
315 "--no-manifest",
316 "-C", modClasses.toString(), "jdk")
317 .assertSuccess();
318 jar("--update",
319 "--file=" + modularJar.toString(),
320 "--main-class=" + FOO.mainClass,
321 "--module-version=" + FOO.version,
322 "-m", mrjarDir.resolve("META-INF/MANIFEST.MF").toRealPath().toString(),
323 "-C", mrjarDir.toString(), "META-INF/versions/9/module-info.class",
324 "-C", modClasses.toString(), "module-info.class")
325 .assertSuccess();
326 java(mp, FOO.moduleName + "/" + FOO.mainClass)
327 .assertSuccess()
328 .resultChecker(r -> assertModuleData(r, FOO));
329 }
330
331 @Test
332 public void partialUpdateFooMainClass() throws IOException {
333 Path mp = Paths.get("partialUpdateFooMainClass");
334 createTestDir(mp);
335 Path modClasses = MODULE_CLASSES.resolve(FOO.moduleName);
336 Path modularJar = mp.resolve(FOO.moduleName + ".jar");
337
338 // A "bad" main class in first create ( and no version )
339 jar("--create",
340 "--file=" + modularJar.toString(),
341 "--main-class=" + "IAmNotTheEntryPoint",
342 "--no-manifest",
343 "-C", modClasses.toString(), ".") // includes module-info.class
344 .assertSuccess();
345 jar("--update",
346 "--file=" + modularJar.toString(),
347 "--main-class=" + FOO.mainClass,
348 "--module-version=" + FOO.version,
349 "--no-manifest")
350 .assertSuccess();
351 java(mp, FOO.moduleName + "/" + FOO.mainClass)
|
311 Path modularJar = mp.resolve(FOO.moduleName + ".jar");
312
313 jar("--create",
314 "--file=" + modularJar.toString(),
315 "--no-manifest",
316 "-C", modClasses.toString(), "jdk")
317 .assertSuccess();
318 jar("--update",
319 "--file=" + modularJar.toString(),
320 "--main-class=" + FOO.mainClass,
321 "--module-version=" + FOO.version,
322 "-m", mrjarDir.resolve("META-INF/MANIFEST.MF").toRealPath().toString(),
323 "-C", mrjarDir.toString(), "META-INF/versions/9/module-info.class",
324 "-C", modClasses.toString(), "module-info.class")
325 .assertSuccess();
326 java(mp, FOO.moduleName + "/" + FOO.mainClass)
327 .assertSuccess()
328 .resultChecker(r -> assertModuleData(r, FOO));
329 }
330
331 @Test(enabled = false)
332 public void partialUpdateFooMainClass() throws IOException {
333 Path mp = Paths.get("partialUpdateFooMainClass");
334 createTestDir(mp);
335 Path modClasses = MODULE_CLASSES.resolve(FOO.moduleName);
336 Path modularJar = mp.resolve(FOO.moduleName + ".jar");
337
338 // A "bad" main class in first create ( and no version )
339 jar("--create",
340 "--file=" + modularJar.toString(),
341 "--main-class=" + "IAmNotTheEntryPoint",
342 "--no-manifest",
343 "-C", modClasses.toString(), ".") // includes module-info.class
344 .assertSuccess();
345 jar("--update",
346 "--file=" + modularJar.toString(),
347 "--main-class=" + FOO.mainClass,
348 "--module-version=" + FOO.version,
349 "--no-manifest")
350 .assertSuccess();
351 java(mp, FOO.moduleName + "/" + FOO.mainClass)
|