Post Build Participant - Build Engine Cannot find participant?
Accepted answer
Thanks for the response.
My final issue was also that the plugin was not resolving, but the underlying cause was different.
First for anyone else's benefit, I struggled to find the log that outputs errors on initialising the Jazz Build Engines. As this is an eclipse product, the log is in the workspace/.metadata/.log file. This is the log where you will see plugin initialisation failures. You can explicilty state the workspace that the JBEs use, by adding a -data <path_to_worskpace> to the jbe initialisation arguments.e
My final issue was that the classpath was not set correctly, and my plugin contained no compiled classes. I modified the Manifest's "Bundle-ClassPath" :
Bundle-ClassPath: .
Mike, I also experienced your issue before - To resolve your issue, and potentially further problems, I set my target environment in eclipse to be the JBE's plugin folder for both the engine and common parts of my plugin (as apposed to the RTC-SDK for example). I copied the JBE from the server here at work to ensure I had the same plugins as would be in my target runtime environment. Then for the ui part of the plugin, I used another workspace, where the target environment was the RTC-SDK with the same version as that of my target rtc version.
It probably is a good idea to subsequently remove versions in case you accept minor updates into the target environment, however, this reduced the risk of using incorrect methdos/classes due to different versions within the Javas Plain Apis and the RTC-SDK.
Another tip I have (I plan on writing a wiki somewhere) is to look at the existing build.common plugin written by the jazz team.
This sounds obvious, but finding all this stuff and how it pieces together was not for me. For example, the ant build participant has 3 plugins:
com.ibm.team.build.engine
com.ibm.team.build.common
com.ibm.team.build.client (or maybe .ui)
If you get the eclipse sdk, and add all those plugins in eclipse, you will be able to see all of the required classes that are described in the various tutorials. For example, a prebuild participant plugin:
PreBuildParticipant (Engine)
the Activator (UI)
ConfigurationElementEditor (UI)
ConfigurationElementEditorFactory (UI)
You can also see how this all hangs together in the plugin.xml and the manifest by unzipping these plugins and inspecting those files.
This got me past the final step of actually getting my plugin to work!
Hope this helps someone :)
2 other answers
Comments
Yes, you have to be careful with the dependencies and version numbers if you develop with one version and run it on another. Best to use a minimum number. This might also be interesting:
http://ryehle.wordpress.com/2011/12/21/adding-a-custom-ant-task-to-your-build-toolkit/
sure would be nice if the default was NOT to set the versions.
this trips up too many folks
This is a decision of the Eclipse PDE team. You can file a request or bug here. I found myself recently also going through the manifest, removing the versions for the same reasons.
Should not have accepted the answer, that is something William should do. Please do so if this fixes your problem.
removing the version dependent check is the first thing I do before I test on my rtc servers.
another option would be to have the rtc server/process complain of some version mismatch.. instead of being quiet.. maybe that is something u could add to the workshop if its doable..
Sam, I will have a look. However, having the development server/jetty complain for the mismatch probably won't help a lot.In the workshop, the situation is, that you always will have a matching version. The problem appears if you deploy to a production environment with a different version, doesn't it?
More training people to remove them except when needed for a particular reason. (I haven't seen one yet, all my 2.0.0.2 stuff runs unchanged in 5.0).
but I would want some large warning trying to run a 5.0 toolkit plugin on a 4.0 system
Comments
sam detweiler
Aug 19 '14, 3:34 p.m.where did you put the build participant plugin?
if it provides UI, then it has to be in the Eclipse plugins folder to execute during the build definition editing,
and it also has to be in the build engines plugin folder to execute during the build