|[emft-dev] Creating a Build-From-HEAD build stack (was Re: Build infrastructure)
1) Is it possible to tell the infrastructure that whenever there is a change in the repository the corresponding build should be triggered (like one usually does with e.g. cruise control)?
With the current system, your options are RSS feed watching or scheduled builds with sufficient delays between them. The four tied project MDT-OCL EMF-Query, EMF-Validation and EMF-Transaction employ a structured schedule so that they build in series and always adopt the latest version in the stack.
2) Is it possible for the build of Xtext to wait for running builds of MWE and Xpand, so that it starts when all dependencies are available?
For Build A to "listen" for Build B, you can set up a process to watch Build A's RSS feed. It's a bit cumbersome as currently built (because it doesn't use Ant Contrib), but it is doable. I can provide more information if you would like.
1) We would like to get feedback as soon as possible (right after check-in).
You mean CVS commit notification? Set up Eclipse like this: a) check out projects (or the whole CVS tree) into your workspace b) Team > Synch c) set a schedule to check for updates
2) We need to develop against the HEAD of MWE and Xpand and therefore the build should run against the same version.
See above - if your regex is set correctly in /www/modeling/../../build/_common.php, you can schedule the stack of builds to run one after another in series. The only caveat here is that the -a or -addSDK flag must be enabled so that Build A will add itself into the /home/www-data/build/requests/dependencies.urls.txt file and can thus be found by Build B.
Crontab examples abound.
We as well work against the head of EMF, btw.
That's a little trickier because EMF builds on modeling.eclipse.org, not emft.eclipse.org, so the -addSDK trick won't work. You'll have to add EMF to the list manually.
Once we move to the new Hudson-based Athena build , you will be able to have builds push other (downstream) builds, and builds listen for upstream builds. The Galileo build is actually 4 steps, which run in series. The same will be possible for the Modeling stack... once we get there. In the meantime, it's rss feeds and crontabs. :)
 http://wiki.eclipse.org/Build_Workshop_Report -- Nick Boldt :: http://wiki.eclipse.org/User:Nickb Release Engineer :: Eclipse Modeling & Dash CBI
Back to the top