I am using Continua CI as a continuous integration server. One of the things I always do is to try and mainsteam all the configurations so I know what is happening for each product. However, I always found myself doing a lot of if/else to determine the state of a build:
The advantage of these variables is that I can implement logic inside a configuration based on whether the build is a CI build and whether it is an official build. My goal was to replace this whole tree by a single call to an executable that contains rules to determine variables and init them all.
The result is ContinuaInit. You can replace the whole tree by the Execute Program action and call ContinuaInit.exe. That will result in a much cleaner initialization:
What initialization is supported?
For now, it supports the following rules:
If the branch is master, the PublishType will be set to Official. Otherwise the PublishType will be set to Nightly.
true if the branch master, otherwise false
true if the branch does not equal master, otherwise false
Will be set to the version provided by the command line. Then it will apply one of the following values:
nightly => when nightly build
ci => when CI build