I need to create a build pipeline which consists of multiple projects that depend on each other. Here is a simplified illustration:
SVN A --> build A --\
|
SVN B --> build B --|
|
SVN C ----------------> build C
The pipeline should work so that when a change is committed to the SVN repository of any of the projects, then that project is build automatically. Additionally, after either A or B has been built, it triggers the building of C.
Each build produces binaries with a unique version number ("X.Y.BuildNumber") and C must get as a parameter the version numbers of both A and B, so that C can be built using those versions. C should default to using the latest successful builds of A and B, but it should also be possible to trigger C manually using an older version of A or B (e.g. if we want to deploy an older version of one of the projects).
Creating a pipeline like this can be done out-of-the-box on Go, but my company considers it too expensive. (Update 2014-02-27: Go is not open source and free!) So now I'm trying to find out how to achieve the same thing using Jenkins, but have not yet found a way. I've only found instructions for creating simple linear and diamond shaped pipelines in Jenkins, but not pipelines with multiple independent upstream projects.