Community
Participate
Working Groups
I'm opening this bug to continue/finish the discussion from bug 426543 comment 19 +/- a few comments. Even in the most recent X-build http://build.eclipse.org/eclipse/builds/4X/siteDir/eclipse/downloads/drops4/X20140217-0938/ ... which uses latest compiler, version 3.9.2.v20140216-2054 The same JUnitStubUtility.class shows up as different, as a result of using the new Beta Java 8 compiler. http://build.eclipse.org/eclipse/builds/4X/siteDir/eclipse/downloads/drops4/X20140217-0938/buildlogs/comparatorlogs/buildtimeComparatorUnanticipated.log.txt So, the alternatives are: A. The difference is actually a bug in JDT compiler? -- in this case, org.eclipse.jdt.junit does not need to be included in the patch, and the compiler just needs to be fixed. B. The difference is an intentional, important change produced by the JDT compiler. -- In this case, the version of the org.eclipse.jdt.junit bundle should be increased, and it should be included in the "patch feature". C. It's just noise and really does not effect functioning of that "JUnitStubUtility" class. -- In this case, it could go either way. Functionally, it would not have to be included, but my preference would be to go ahead and do "B" above, just to be sure all our byte codes match what the compiler produces.
(And, just in case not clear, an "X-build" is rebuilding the entire 4.3.2 build, except with BETA_JAVA8 branch for those repositories that differ from R4_3_maintenance. eclipse.jdt.core: BETA_JAVA8 eclipse.jdt.debug: BETA_JAVA8 eclipse.jdt: BETA_JAVA8 eclipse.jdt.ui: BETA_JAVA8 eclipse.pde.ui: BETA_JAVA8
Now that I look back at original bug 42654 comment 22, I think the answer is "yes, org.eclipse.jdt.junit should be included in the 4.3.2 patch build". That is, Markus says "For JUnitStubUtility in X20140130-0132, I can definitely say: No problem. Classfile difference is expected (bundle didn't increase version number, but a referenced int constant changed its value)." Which, I think also implies that in the BETA_JAVA8 branch we want to at least "touch" that bundle (so its qualifier increases) if not increase its service field?)
Yes, it's between B and C. The compiler is correct and the comparator found a valid difference. However, in practice the difference doesn't matter, since the (possibly recovered) JLS4 AST should be good enough for this particular use case. Technically, the bundle version should be increased, and I've bumped org.eclipse.jdt.junit to 3.7.201 now: http://git.eclipse.org/c/jdt/eclipse.jdt.ui.git/commit/?id=4988ad3c788e93ca19b3122ab83395056ee445e3
Markus, best thing to happen to me all week (that I don't have to add it to patches) ... though remember, the difference we are seeing is against "Kepler 4.3.2", and there are no more builds planned for what we release.
(In reply to David Williams from comment #4) > ... though remember, the difference we are seeing is against > "Kepler 4.3.2", and there are no more builds planned for what we release. Yes, that's fine. Kepler 4.3.2 doesn't need any change. In BETA_JAVA8, the junit bundle refers to an internal constant that has been changed in o.e.jdt.ui (which has been branched in BETA_JAVA8). Therefore, o.e.jdt.junit also needs a version upgrade in BETA_JAVA8 (since the Kepler 4.3.2 version still has the old value of the constant inlined).
(In reply to Markus Keller from comment #5) > (In reply to David Williams from comment #4) > > ... though remember, the difference we are seeing is against > > "Kepler 4.3.2", and there are no more builds planned for what we release. > > Yes, that's fine. Kepler 4.3.2 doesn't need any change. In BETA_JAVA8, the > junit bundle refers to an internal constant that has been changed in > o.e.jdt.ui (which has been branched in BETA_JAVA8). Therefore, o.e.jdt.junit > also needs a version upgrade in BETA_JAVA8 (since the Kepler 4.3.2 version > still has the old value of the constant inlined). Hmm, now it sounds like you are saying it should go in the patch? The only bundles that "go into" the patch featues are listed in http://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/tree/eclipse.platform.releng.tychoeclipsebuilder/java8patch/pom.xml?h=BETA_JAVA8 It doesn't matter what's in the branch, per se, we need to name them. So, either needs to be named, and go in the patch ... or else you are saying "the function doesn't really matter ... close enough for patched version of 4.3.2".
(In reply to David Williams from comment #6) > Hmm, now it sounds like you are saying it should go in the patch? Yes, org.eclipse.jdt.junit should be in the BETA_JAVA8 patch. Could you please add it to java8patch/pom.xml then? The unpatched version would also work, but it's cleaner this way, and we can get rid of the comparator problem. And could you also add org.eclipse.jdt.junit.core? We have some changes in that bundle in master, which I will soon merge into BETA_JAVA8.
Done. http://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/commit/?h=BETA_JAVA8&id=079d3d70c83db40327cc1b7c4cc6daa89b40c781
(In reply to David Williams from comment #8) > Done. > > http://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/ > commit/?h=BETA_JAVA8&id=079d3d70c83db40327cc1b7c4cc6daa89b40c781 FYI ... test build went ok (whew) ... next official patch build at 4.
(In reply to David Williams from comment #9) > FYI ... test build went ok (whew) ... next official patch build at 4. David, should there a newer build available here? I am not finding anything after X20140217-0938. http://build.eclipse.org/eclipse/builds/4X/siteDir/eclipse/downloads/drops4/
(In reply to Jayaprakash Arthanareeswaran from comment #10) > (In reply to David Williams from comment #9) > > FYI ... test build went ok (whew) ... next official patch build at 4. > http://build.eclipse.org/eclipse/builds/4X/siteDir/eclipse/downloads/drops4/ Sorry, never mind. I should be looking at the 4P siteDir, right?
Verified for Eclipse + Java 8 RC1 using Kepler SR2(RC4) + Eclipse Java Development Tools Patch for Java 8 Support (BETA) 1.0.0.v20140220-2054. The update site contains the JUnit bundles: http://build.eclipse.org/eclipse/builds/4P/siteDir/updates/4.3-P-builds/P20140220-1600/plugins/
(In reply to Jayaprakash Arthanareeswaran from comment #11) > (In reply to Jayaprakash Arthanareeswaran from comment #10) > > (In reply to David Williams from comment #9) > > > FYI ... test build went ok (whew) ... next official patch build at 4. > > http://build.eclipse.org/eclipse/builds/4X/siteDir/eclipse/downloads/drops4/ > > Sorry, never mind. I should be looking at the 4P siteDir, right? Right. The patch builds are done daily. The X-builds are done once a week, on Monday, and Y-builds on Tuesday. I've put some of this on http://wiki.eclipse.org/Platform-releng/Platform_Build_BETA_JAVA8_Branch I could add to http://www.eclipse.org/eclipse/platform-releng/buildSchedule.html if you think enough people need to know and enough of them look at buildSchedule. Thanks.
(In reply to David Williams from comment #13) > I could add to > http://www.eclipse.org/eclipse/platform-releng/buildSchedule.html > if you think enough people need to know and enough of them look at > buildSchedule. For me, it's good enough that it's part of the wiki page you mentioned. Thanks.