commit | 5bae77bb94f6b51729d177b1d9a16e8dde8f800f | [log] [tgz] |
---|---|---|
author | Andrey Loskutov <loskutov@gmx.de> | Tue Jan 24 11:04:46 2017 +0100 |
committer | Andrey Loskutov <loskutov@gmx.de> | Tue Jan 24 16:04:05 2017 -0400 |
tree | a4c11b794650d206f8e21cc3ce737acb4861b6fc | |
parent | 57e5baff5e882b0fcdc75673394ca9aaf4f11053 [diff] |
Bug 508741 - Some ThemeAPITest#testThemeExtension* tests fail on some platforms TopologicalSort didn't preserved definition order for the extensions with same id from same plugin.xml, because it used a custom, *random* order of iteration offered by HashMap. Quote: "This class makes no guarantees as to the order of the map; in particular, it does not guarantee that the order will remain constant over time." Depending on the order of map insertion and on the custom HashMap hash algorithm implementation, the TopologicalSort produced different results for same inputs on different environments, so that equal elements order was changed by the sort algorithm and the result order for equal elements was more or less random in different environments. This showed up in the unstable test behavior of the ThemeAPITest, which relied on the right (definition) order of contributions to the "org.eclipse.ui.themes" extension point. By using "Linked" versions of the Map and Set we make the code in TopologicalSort stable across different environments because we preserve the sort order for equal elements and so preserve the definition order for contributions with equal keys coming from same plugin.xml. See also http://javaclipse.blogspot.de/2016/03/stable-tests-and-transition-to-java-8.html Change-Id: Iabba91de64a8bb96da4589ff74cda0506e4fd886 Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
Thanks for your interest in this project.
Platform UI provides the basic building blocks for user interfaces built with Eclipse. Some of these form the Eclipse Rich Client Platform (RCP) and can be used for arbitrary rich client applications, while others are specific to the Eclipse IDE. The Platform UI codebase is built on top of the Eclipse Standard Widget Toolkit (SWT), which is developed as an independent project.
Website: http://www.eclipse.org/platform/ui/
For more information, refer to the [Platform UI wiki page] 1.
Contributions to Platform UI are most welcome. There are many ways to contribute, from entering high quality bug reports, to contributing code or documentation changes. For a complete guide, see the [Platform UI - How to contribute wiki page] 2 page on the team wiki.
You need Maven 3.3.1 installed. After this you can run the build via the following command:
mvn clean verify -Pbuild-individual-bundles
Information regarding source code management, builds, coding standards, and more.
Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA).
This project uses Bugzilla to track ongoing development and issues.
Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome!
Contact the project developers via the project's “dev” list.