View | Details | Raw Unified | Return to bug 220257 | Differences between
and this patch

Collapse All | Expand All

(-)ui/org/eclipse/jdt/ui/tests/jarexport/FatJarExportTests.java (-12 / +34 lines)
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"});
(-)ui/org/eclipse/jdt/internal/ui/jarpackagerfat/JarWriter4.java (-1 / +1 lines)
Lines 45-51 Link Here
45
		else {
45
		else {
46
			newEntry.setMethod(ZipEntry.STORED);
46
			newEntry.setMethod(ZipEntry.STORED);
47
			newEntry.setSize(zipEntry.getSize());
47
			newEntry.setSize(zipEntry.getSize());
48
			newEntry.setCompressedSize(zipEntry.getCrc());
48
			newEntry.setCrc(zipEntry.getCrc());
49
		}
49
		}
50
50
51
		long lastModified= System.currentTimeMillis();
51
		long lastModified= System.currentTimeMillis();
(-)ui/org/eclipse/jdt/internal/ui/jarpackagerfat/FatJarAntExporter.java (+5 lines)
Lines 234-239 Link Here
234
		attribute.setAttribute("value", mainClass); //$NON-NLS-1$ 
234
		attribute.setAttribute("value", mainClass); //$NON-NLS-1$ 
235
		manifest.appendChild(attribute);
235
		manifest.appendChild(attribute);
236
236
237
		attribute= document.createElement("attribute"); //$NON-NLS-1$
238
		attribute.setAttribute("name", "Class-Path"); //$NON-NLS-1$ //$NON-NLS-2$s 
239
		attribute.setAttribute("value", "."); //$NON-NLS-1$ //$NON-NLS-2$ 
240
		manifest.appendChild(attribute);
241
237
		for (int i= 0; i < sourceInfos.length; i++) {
242
		for (int i= 0; i < sourceInfos.length; i++) {
238
			SourceInfo sourceInfo= sourceInfos[i];
243
			SourceInfo sourceInfo= sourceInfos[i];
239
			if (sourceInfo.isJar) {
244
			if (sourceInfo.isJar) {

Return to bug 220257