Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 211386

Summary: PDE importer broken due to new source distro format
Product: [Eclipse Project] PDE Reporter: Dani Megert <daniel_megert>
Component: UIAssignee: Brian Bauman <baumanbr>
Status: VERIFIED FIXED QA Contact:
Severity: blocker    
Priority: P3 CC: aniefer, baumanbr, curtis.windatt.public, darin.eclipse
Version: 3.4   
Target Milestone: 3.4 M4   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on: 211243, 211506    
Bug Blocks:    

Description Dani Megert CLA 2007-11-29 03:05:38 EST
N20071128-0010.

As of N20071128-0010 source is shipped differently (one source bundle per bundle). This breaks the PDE importer: source is no longer attached for most bundles.

It works for ICU and JUnit4 but not for the *.eclipse.* bundles and still not for JUnit3 (but that's a different issues as this was already broken before, see bug 208453).
Comment 1 Brian Bauman CLA 2007-11-29 13:06:36 EST
Oops...  I figured we would have a few growing pains due to the source bundles.

The problem is we forgot to update our classpath computation to include the new source locations we imported for the project.  I should have caught this during the testing.  Sorry for the inconvenience.  I made some modifications in HEAD and it should be working much better for all *eclipse* plug-ins when you install tonight's N build.  If you see problems, please reopen the bug and I can reinvestigate.
Comment 2 Dani Megert CLA 2007-11-30 11:56:46 EST
*.eclipse.* and ICU now work but JUnit4 which worked in N20071128-0010 is now broken. And of course still bug 208453 for JUnit3.

Should I reopen?
Comment 3 Brian Bauman CLA 2007-11-30 12:30:22 EST
Andrew, I looked in org.junit4.source and saw the source is all in the root.  Since org.junit4 has a library (junit.jar), I figured it would be under a sub folder (junitsrc/ ?).  Is this the expected format?
Comment 4 Andrew Niefer CLA 2007-11-30 13:57:13 EST
The problem is that the src is contributed by custom script.  pde.build is not actually compiling anything in org.junit4 and doesn't know about its source.

We can change the custom script to extract it into a junitsrc/ subdirectory, but we don't currently have a way to update the roots directive on the Eclipse-SourceBundle header, so when importing the source bundle, the root will be wrong.  I have raised bug 211624 to provide a way to tell pde.build about the extra source roots so that it can update the manifest header.
Comment 5 Curtis Windatt CLA 2007-11-30 14:52:25 EST
Adding dependencies on bug 211243 and bug 211506.  PDE UI needs to be informed of the separate location in the manifest and we need to handle it properly in the import.
Comment 6 Andrew Niefer CLA 2007-11-30 18:11:16 EST
As a FYI, releng is running on the raggedy edge of pde.build which includes more than just these source generation changes.  As a result, fixes must have a successful test build before they can be used in the builds.  Testing for bug 211506 has uncovered a problem during packaging which was the result of bug 179612.  These have been fixed and a new test build will be run on Monday.
Comment 7 Dani Megert CLA 2007-12-11 04:41:31 EST
Verified in I20071211-0010: works for all binaries I tested (ICU, JUnit3, JUnit4 and for *.eclipse.*).
Comment 8 Brian Bauman CLA 2007-12-11 10:47:37 EST
Marking as fixed.  We did just modify the import process for bug 211506, so if you see any problems in I20071211-0010, please reopen this bug report and we can investigate.  Sorry for the inconvenience Dani.
Comment 9 Curtis Windatt CLA 2007-12-11 11:04:34 EST
Marking as verified.