Community
Participate
Working Groups
I200406250010 not a big issue, but: 0.(on Linux, platform encoding is UTF-8 by default, it may work as well if you set the platform encoding to UTF-8 on other platforms) 1. Create a new java project JUnit 2. Import JUnit Observe: I get JavaModelExceptions due to sun.io.MalformedInputException, which is ok because junit.framework.TestSuite is not readable using UTF-8. This also keeps the project from being built. 3. Change the Workbench->Editors->Platform encoding preference to ISO-8859-1 -> problem is corrected 4. Do a rebuild (clean) all Observe: everything seems fine now as I can open TestSuite.java compile, use code resolve inside TestSuite.java to navigate etc. 5. In TestCase.java, put the caret on TestCase and do a Global Search (Ctrl+Shift+G) Observe: the TestCase references in TestSuite are not found. Also, when renaming TestCase, the references in TestSuite are not updated, resulting in compile errors. -> The index (or cache or whatever) seems to have lost TestSuite. It can be corrected by dirtying and rebuilding TestSuite.
This is a known platform issue (no change is broadcasted when encoding is changed). Thus we are inconsistent. Recommended steps after encoding change: 1. close all projects 2. exit/restart Eclipse 3. reopen all projects 4. clean build all projects This will cause all indexes to be recreated automatically (since we have code discarding stale indexes on shutdown).
Moving to platform.
*** This bug has been marked as a duplicate of 59899 ***
Will use this one as counterpart on JDT Core side for encoding API enhancement.
Changed DeltaProcessor and buider to react to the new ENCODING flag the same way they react to the CONTENT flag. Added regression test EncodingTests.test033(). Fix and test released in both 3_0_maintennace and HEAD.
Verified for 3.0.1 RC1