...
First, define a short code for each distinct product. Let's say we have two products, ABC and DEF. However, sometimes ABC needs to be built with an extra sub-product. We'll call that combination ABC2.
INI File
Create an INI file with some parameters for each build:
...
SVNBranch=Prod/ABC
BuildABC2=True
Variables
Create a "productcode" variable. Make it persistent, so that each build can default to the same type as the previous one.
Prompt
Create a "Enhanced prompt for variables" action. Here you will give the user the choice of which build to create. By using the "unsorted list" type with the current value as the default, a drop down list is shown with the current value already selected.
...
At runtime, this will look as follows:
Load INI file
Next, we need to load the settings for the chosen build. We first load the mandatory settings, then the optional ones.
...
Next, we create one for the optional settings:
Use the variables
Now construct your build process, using these variables everywhere:
Conclusion
The overall result looks like this:
...