I'm working on an integration of the Activiti engine with Jenkins in form of a Jenkins plugin (http://wikicentral.cisco.com/display/JENKINS/Jenkow). This integration allows to define Jenkins job "orchestrations" as BPMN workflows. For the authoring of these workflows I rely on Activiti Designer in Eclipse. A custom designer extension is part of my effort. To make it easy for a Jenkins admin to author his workflows I want to bundle the Activiti Designer together with my designer extension (plus one additional Eclipse plugin) and ship it with my Jenkins plugin. The admin would then simply install all of this into Eclipse by accessing a URL of his Jenkins instance and Jenkins would serve out the update site.
This makes it very challenging to build my Jenkins plugin against a well-defined Activiti Designer version, so that I have a designer extension used with the same Designer version as it was built against.
Do you see a way this could be improved? E.g. if there were fixed version update sites, e.g. http://activiti.org/designer/update/5.9.3/, I could build my Jenkow update site against it.
And of course, having each Designer release available in the Maven repository would be very helpful too 🙂
here's a simple solution, in module org.activiti.designer.updatesite - change the packaging from clipse-update-site to eclipse-repository, - rename site.xml to category.xml. Tycho will then also create org.activiti.designer.updatesite-5.9.3.zip which is the zipped-up update site.
If you do 'mvn deploy' this zip file will end up on the Maven repository. From there I can consume it as a versioned artifact.
That sounds like a decent solution. Will Tycho also keep generating an update site as well when you change it to an eclipse-repository? If that's not the case I can still add an additional project for this of course.
yes, with packaging=eclipse-repository Tycho produces the typical update site hierarchy, too. It sits under target/repository/ (with packaging=eclipse-update-site it sits under target/site/).