Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 354682 - Export deployable feature produces corrupted jar (data dependent)
Summary: Export deployable feature produces corrupted jar (data dependent)
Status: RESOLVED WONTFIX
Alias: None
Product: PDE
Classification: Eclipse Project
Component: Build (show other bugs)
Version: 4.0   Edit
Hardware: Other Linux
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: pde-build-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-12 20:50 EDT by Terry Parker CLA
Modified: 2018-12-03 09:09 EST (History)
0 users

See Also:


Attachments
feature.xml file to recreate the bug (848 bytes, text/xml)
2011-08-12 20:56 EDT, Terry Parker CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Terry Parker CLA 2011-08-12 20:50:49 EDT
Build Identifier: I20110613-1736

Creating a feature patch for the org.eclipse.jdt.core plug-in results in a corrupted jar, but only for certain version strings.

Reproducible: Always

Steps to Reproduce:
Steps:
1) Connect to the Eclipse CVS repository and checkout v_B61 of org.eclipse.jdt.core
2) In the org.eclipse.jdt.core plug-in's MANIFEST.MF file, change the version to "3.7.0.v_B61_gg1"
3) Set up a feature patch project with the attached feature.xml file
4) Use the Export wizard from the feature.xml file to create a deployable feature patch
5) Unzip the resulting org.eclipse.jdt.core plug-in jar, and compare it against the org.eclipse.jdt.core.source_3.7.0.v_B61.jar shipped in Eclipse 3.7.0

Expected:
Classes in the jar files are identical (actually the binary contents differ, but javap indicated it is a reshuffling of the constant pool)

Actual:
Eight inner/anonymous classes are missing:
org.eclipse.jdt.core.internal.codeassist.SelectionEngine$4.class
org.eclipse.jdt.core.internal.codeassist.SelectionEngine$5.class
org.eclipse.jdt.core.internal.codeassist.SelectionEngine$6.class
org.eclipse.jdt.core.internal.codeassist.SelectionEngine$InheritDocVisitor.class
org.eclipse.jdt.core.internal.compiler.flow.LoopingFlowContext$EscapingExceptionCacheSite.class
org.eclipse.jdt.core.internal.compiler.ISourceElementRequestor$ParameterInfo.class
org.eclipse.jdt.core.internal.core.DeltaProcessor$5.class
org.eclipse.jdt.core.internal.core.SourceMapper$LocalVariableElementKey.class

And two appear:
org.eclipse.jdt.core.internal.core.formatter.Scribe$2.class
org.eclipse.jdt.core.internal.core.formatter.Scribe$3.class

In addition, the JDT UI becomes unusable, with modal dialogs popping up about missing methods such as:
java.lang.NoSuchMethodError: org.eclipse.jdt.core.ISourceReference.getNameRange()Lorg/eclipse/jdt/core/ISourceRange;

Most interestingly, everything works as expected if the version in the manifest file for org.eclipse.jdt.core is changed to "3.7.0.v_B61_gg2".  !!!
Comment 1 Terry Parker CLA 2011-08-12 20:56:02 EDT
Created attachment 201451 [details]
feature.xml file to recreate the bug
Comment 2 Lars Vogel CLA 2018-12-03 09:09:03 EST
Currently we are not actively enhancing PDE build anymore. Therefore, I close this bug as WONTFIX. 

Please reopen, if you plan to provide a fix.