jenkinsci/jenkins — pull request #377 by tho74 (2012-02-17 09:52:12+00:00)
Title: Jenkins 12778 fixed

This branch implements http:://issues.jenkins.org/browseJENKINS-12778, support for multiple touchstones in matrix builds. Motivation is to organize build, test and deployment for multiple platforms in separated groups and to execute each group only if the preceding group meets expectations. For me this feature would have a huge positive impact. (More detailed description is in the ticket)

Summery of implementation:
In MatrixBuild::RunnerImpl::doRun
* I replaced the destinct groups touchStoneConfigurations and delayedConfigurations by the list groupedActiveConfigurations.
* The text configuration field touchStoneCombinationFilter is split using semicolon as separators.
* The duplicate code to execute touchStoneConfigurations and delayedConfigurations is replaced by a loop executing each member of groupedActiveConfigurations
* Updated help text on config page accordingly.

Unfortunately I did not find an easy way to implemet a good unit test. I tested manually Matrix builds:

* with inactive touchstone option
* with active touchstone option but empty touchStoneCombinationFilter
* with touchStoneCombinationFilter contains multiple semicolon only
* with one combination, no semicolon at end
* with one combination, semicolon at end
* with multiple combination, no semicolon at end
* with multiple combination, semicolon at end
* with multiple combination, one step expected to fail the build

A tar archive with these job configurations is attached to the ticket.

The japanese help text for touchstone builds is not updated, I don't have the expertize.