Community
Participate
Working Groups
The org.eclipse.swtbot.junit4_x bundle and org.eclipse.swtbot.eclipse.ui have different code inside according to the version of Junit or Eclipse. That makes the build very difficult to run and maintain. We'd rather use a more OSGi-friendly way to deal with these dependencies to improve usability and openness of the project to new contributors
Created attachment 182368 [details] Suggested refactoring of bundles for org.eclipse.swtbot.junit4_x This splits some bundles, and move some classes to avoid platform-specific MANIFEST and so on. It is not well tested at the moment... But I'll try work on it !
Created attachment 182400 [details] Beginning of refactoring of the org.eclipse.swtbot.eclipse.ui bundle This archive contains the bundle splitted into several Eclipse-version-specific bundles. It has currently an issue under Helios. (Caused by: org.osgi.framework.BundleException: The activator org.eclipse.swtbot.eclipse.ui.Activator for bundle org.eclipse.swtbot.eclipse.ui is invalid)
I created a new branch for SWTBot. You can find it here: https://github.com/mickaelistria/SWTBot. I mainly consists in separating the 2 bundles that has some version-specific source folders into 2 different bundles using a strict version for org.eclipse.core.runtime dependency and using it as an optional dependency in other bundles. That way, according to the version of org.eclipse.core.runtime, only one of these bundles will be loaded by other bundles that depend on it. I tested it in dev-mode (ie I did not built it yet), and it works correctly. Next step is to update the build to follow this refactoring. I'll probably give a try to Tycho, which solves naturally the dependency managements issues at runtime, allowing bundles to be build against different target platforms.
This was fixed as part of the move to Tycho. Minimum compatibility for future releases is Helios, and Junit 4.