Lines 146-154
Link Here
|
146 |
return buf.toString(); |
146 |
return buf.toString(); |
147 |
} |
147 |
} |
148 |
|
148 |
|
149 |
private static JarPackageData createAndRunFatJar(IJavaProject project, String testName) throws Exception, CoreException { |
149 |
private static JarPackageData createAndRunFatJar(IJavaProject project, String testName, boolean compressJar) throws Exception, CoreException { |
150 |
// create jar and check contents |
150 |
// create jar and check contents |
151 |
JarPackageData data= assertFatJarExport(project, testName); |
151 |
JarPackageData data= assertFatJarExport(project, testName, compressJar); |
152 |
|
152 |
|
153 |
// run newly generated jar and check stdout |
153 |
// run newly generated jar and check stdout |
154 |
String stdout= runJar(project, data.getJarLocation().toOSString()); |
154 |
String stdout= runJar(project, data.getJarLocation().toOSString()); |
Lines 161-167
Link Here
|
161 |
return data; |
161 |
return data; |
162 |
} |
162 |
} |
163 |
|
163 |
|
164 |
private static JarPackageData assertFatJarExport(IJavaProject project, String testName) throws Exception { |
164 |
private static JarPackageData assertFatJarExport(IJavaProject project, String testName, boolean compressJar) throws Exception { |
165 |
//create class files |
165 |
//create class files |
166 |
ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, null); |
166 |
ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, null); |
167 |
|
167 |
|
Lines 176-181
Link Here
|
176 |
//create data |
176 |
//create data |
177 |
JarPackageData data= createJarPackageData(project, testName); |
177 |
JarPackageData data= createJarPackageData(project, testName); |
178 |
|
178 |
|
|
|
179 |
// set compression |
180 |
data.setCompress(compressJar); |
181 |
|
179 |
//create archive |
182 |
//create archive |
180 |
ZipFile generatedArchive= createArchive(data); |
183 |
ZipFile generatedArchive= createArchive(data); |
181 |
|
184 |
|
Lines 202-207
Link Here
|
202 |
private static JarPackageData createJarPackageData(IJavaProject project, String testName) throws CoreException { |
205 |
private static JarPackageData createJarPackageData(IJavaProject project, String testName) throws CoreException { |
203 |
JarPackageData data= new JarPackageData(); |
206 |
JarPackageData data= new JarPackageData(); |
204 |
data.setJarBuilder(new FatJarBuilder()); |
207 |
data.setJarBuilder(new FatJarBuilder()); |
|
|
208 |
data.setCompress(false); |
205 |
|
209 |
|
206 |
IPath destination= ResourcesPlugin.getWorkspace().getRoot().getLocation().append(testName + ".jar"); |
210 |
IPath destination= ResourcesPlugin.getWorkspace().getRoot().getLocation().append(testName + ".jar"); |
207 |
data.setJarLocation(destination); |
211 |
data.setJarLocation(destination); |
Lines 358-363
Link Here
|
358 |
assertEquals("Main-Class", xmlAttribute2.getAttribute("name")); |
362 |
assertEquals("Main-Class", xmlAttribute2.getAttribute("name")); |
359 |
assertEquals("org.eclipse.jdt.ui.test.Main", xmlAttribute2.getAttribute("value")); |
363 |
assertEquals("org.eclipse.jdt.ui.test.Main", xmlAttribute2.getAttribute("value")); |
360 |
|
364 |
|
|
|
365 |
Element xmlAttribute3= (Element) xmlManifest.getElementsByTagName("attribute").item(2); |
366 |
assertEquals("Class-Path", xmlAttribute3.getAttribute("name")); |
367 |
assertEquals(".", xmlAttribute3.getAttribute("value")); |
368 |
|
361 |
NodeList xmlFilesets = xmlJar.getElementsByTagName("fileset"); |
369 |
NodeList xmlFilesets = xmlJar.getElementsByTagName("fileset"); |
362 |
assertEquals(filesets.length, xmlFilesets.getLength()); |
370 |
assertEquals(filesets.length, xmlFilesets.getLength()); |
363 |
|
371 |
|
Lines 418-424
Link Here
|
418 |
try { |
426 |
try { |
419 |
pack.createCompilationUnit("Foo.java", getFooContent(), true, null); |
427 |
pack.createCompilationUnit("Foo.java", getFooContent(), true, null); |
420 |
|
428 |
|
421 |
JarPackageData data= createAndRunFatJar(fProject, getName()); |
429 |
JarPackageData data= createAndRunFatJar(fProject, getName(), true); |
422 |
assertAntScript(data, antScriptLocation(getName()), |
430 |
assertAntScript(data, antScriptLocation(getName()), |
423 |
new String[] { "TestSetupProject/bin" }, |
431 |
new String[] { "TestSetupProject/bin" }, |
424 |
new String[] { "rtstubs15.jar" }); |
432 |
new String[] { "rtstubs15.jar" }); |
Lines 434-440
Link Here
|
434 |
IPackageFragment pack= root.createPackageFragment("mylib", true, null); |
442 |
IPackageFragment pack= root.createPackageFragment("mylib", true, null); |
435 |
pack.createCompilationUnit("Foo.java", getFooContent(), true, null); |
443 |
pack.createCompilationUnit("Foo.java", getFooContent(), true, null); |
436 |
|
444 |
|
437 |
JarPackageData data= createAndRunFatJar(fProject, getName()); |
445 |
JarPackageData data= createAndRunFatJar(fProject, getName(), true); |
438 |
assertAntScript(data, antScriptLocation(getName()), |
446 |
assertAntScript(data, antScriptLocation(getName()), |
439 |
new String[] { "TestSetupProject/bin", "TestSetupProject/otherout" }, |
447 |
new String[] { "TestSetupProject/bin", "TestSetupProject/otherout" }, |
440 |
new String[] { "rtstubs15.jar" }); |
448 |
new String[] { "rtstubs15.jar" }); |
Lines 450-456
Link Here
|
450 |
IPackageFragment pack= root.createPackageFragment("mylib", true, null); |
458 |
IPackageFragment pack= root.createPackageFragment("mylib", true, null); |
451 |
pack.createCompilationUnit("Foo.java", getFooContent(), true, null); |
459 |
pack.createCompilationUnit("Foo.java", getFooContent(), true, null); |
452 |
|
460 |
|
453 |
JarPackageData data= createAndRunFatJar(fProject, getName()); |
461 |
JarPackageData data= createAndRunFatJar(fProject, getName(), true); |
454 |
assertAntScript(data, antScriptLocation(getName()), |
462 |
assertAntScript(data, antScriptLocation(getName()), |
455 |
new String[]{"TestSetupProject/bin"}, |
463 |
new String[]{"TestSetupProject/bin"}, |
456 |
new String[]{"rtstubs15.jar"}); |
464 |
new String[]{"rtstubs15.jar"}); |
Lines 470-476
Link Here
|
470 |
|
478 |
|
471 |
JavaProjectHelper.addRequiredProject(fProject, otherProject); |
479 |
JavaProjectHelper.addRequiredProject(fProject, otherProject); |
472 |
|
480 |
|
473 |
JarPackageData data= createAndRunFatJar(fProject, getName()); |
481 |
JarPackageData data= createAndRunFatJar(fProject, getName(), true); |
474 |
assertAntScript(data, antScriptLocation(getName()), |
482 |
assertAntScript(data, antScriptLocation(getName()), |
475 |
new String[]{"TestSetupProject/bin", "OtherProject/bin"}, |
483 |
new String[]{"TestSetupProject/bin", "OtherProject/bin"}, |
476 |
new String[]{"rtstubs15.jar"}); |
484 |
new String[]{"rtstubs15.jar"}); |
Lines 485-491
Link Here
|
485 |
IPackageFragmentRoot root= JavaProjectHelper.addLibraryWithImport(fProject, Path.fromOSString(lib.getPath()), null, null); |
493 |
IPackageFragmentRoot root= JavaProjectHelper.addLibraryWithImport(fProject, Path.fromOSString(lib.getPath()), null, null); |
486 |
|
494 |
|
487 |
try { |
495 |
try { |
488 |
JarPackageData data= createAndRunFatJar(fProject, getName()); |
496 |
JarPackageData data= createAndRunFatJar(fProject, getName(), true); |
|
|
497 |
assertAntScript(data, antScriptLocation(getName()), |
498 |
new String[]{"TestSetupProject/bin"}, |
499 |
new String[]{"rtstubs15.jar", "TestSetupProject/mylib_stdout.jar"}); |
500 |
} finally { |
501 |
JavaProjectHelper.removeFromClasspath(fProject, root.getPath()); |
502 |
} |
503 |
} |
504 |
|
505 |
public void testExportInternalLib_UncompressedJar() throws Exception { |
506 |
File lib= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB_STDOUT); |
507 |
IPackageFragmentRoot root= JavaProjectHelper.addLibraryWithImport(fProject, Path.fromOSString(lib.getPath()), null, null); |
508 |
|
509 |
try { |
510 |
JarPackageData data= createAndRunFatJar(fProject, getName(), false); |
489 |
assertAntScript(data, antScriptLocation(getName()), |
511 |
assertAntScript(data, antScriptLocation(getName()), |
490 |
new String[]{"TestSetupProject/bin"}, |
512 |
new String[]{"TestSetupProject/bin"}, |
491 |
new String[]{"rtstubs15.jar", "TestSetupProject/mylib_stdout.jar"}); |
513 |
new String[]{"rtstubs15.jar", "TestSetupProject/mylib_stdout.jar"}); |
Lines 499-505
Link Here
|
499 |
IPackageFragmentRoot root= JavaProjectHelper.addLibrary(fProject, Path.fromOSString(lib.getPath())); |
521 |
IPackageFragmentRoot root= JavaProjectHelper.addLibrary(fProject, Path.fromOSString(lib.getPath())); |
500 |
|
522 |
|
501 |
try { |
523 |
try { |
502 |
JarPackageData data= createAndRunFatJar(fProject, getName()); |
524 |
JarPackageData data= createAndRunFatJar(fProject, getName(), true); |
503 |
assertAntScript(data, antScriptLocation(getName()), |
525 |
assertAntScript(data, antScriptLocation(getName()), |
504 |
new String[]{"TestSetupProject/bin"}, |
526 |
new String[]{"TestSetupProject/bin"}, |
505 |
new String[]{"rtstubs15.jar", "testresources/mylib_stdout.jar"}); |
527 |
new String[]{"rtstubs15.jar", "testresources/mylib_stdout.jar"}); |
Lines 513-519
Link Here
|
513 |
|
535 |
|
514 |
IPackageFragmentRoot root= JavaProjectHelper.addClassFolderWithImport(fProject, "cf", null, null, lib); |
536 |
IPackageFragmentRoot root= JavaProjectHelper.addClassFolderWithImport(fProject, "cf", null, null, lib); |
515 |
try { |
537 |
try { |
516 |
JarPackageData data= createAndRunFatJar(fProject, getName()); |
538 |
JarPackageData data= createAndRunFatJar(fProject, getName(), true); |
517 |
assertAntScript(data, antScriptLocation(getName()), |
539 |
assertAntScript(data, antScriptLocation(getName()), |
518 |
new String[]{"TestSetupProject/bin", "TestSetupProject/cf"}, |
540 |
new String[]{"TestSetupProject/bin", "TestSetupProject/cf"}, |
519 |
new String[]{"rtstubs15.jar"}); |
541 |
new String[]{"rtstubs15.jar"}); |
Lines 528-534
Link Here
|
528 |
|
550 |
|
529 |
JavaProjectHelper.addVariableEntry(fProject, new Path("MYLIB"), null, null); |
551 |
JavaProjectHelper.addVariableEntry(fProject, new Path("MYLIB"), null, null); |
530 |
try { |
552 |
try { |
531 |
JarPackageData data= createAndRunFatJar(fProject, getName()); |
553 |
JarPackageData data= createAndRunFatJar(fProject, getName(), true); |
532 |
assertAntScript(data, antScriptLocation(getName()), |
554 |
assertAntScript(data, antScriptLocation(getName()), |
533 |
new String[]{"TestSetupProject/bin"}, |
555 |
new String[]{"TestSetupProject/bin"}, |
534 |
new String[]{"rtstubs15.jar", "testresources/mylib_stdout.jar"}); |
556 |
new String[]{"rtstubs15.jar", "testresources/mylib_stdout.jar"}); |
Lines 542-548
Link Here
|
542 |
IPackageFragmentRoot root= JavaProjectHelper.addLibraryWithImport(fProject, Path.fromOSString(lib.getPath()), null, null); |
564 |
IPackageFragmentRoot root= JavaProjectHelper.addLibraryWithImport(fProject, Path.fromOSString(lib.getPath()), null, null); |
543 |
|
565 |
|
544 |
try { |
566 |
try { |
545 |
JarPackageData data= createAndRunFatJar(fProject, getName()); |
567 |
JarPackageData data= createAndRunFatJar(fProject, getName(), true); |
546 |
assertAntScript(data, antScriptLocation(getName()), |
568 |
assertAntScript(data, antScriptLocation(getName()), |
547 |
new String[]{"TestSetupProject/bin"}, |
569 |
new String[]{"TestSetupProject/bin"}, |
548 |
new String[]{"rtstubs15.jar", "TestSetupProject/mylib_sig.jar"}); |
570 |
new String[]{"rtstubs15.jar", "TestSetupProject/mylib_sig.jar"}); |