jenkinsci/matrix-combinations-plugin — pull request #4 by ikedam (2014-03-02 00:19:52+00:00)
Title: [JENKINS-21971] Default combination

New feature for [JENKINS-21971] (https://issues.jenkins-ci.org/browse/JENKINS-21971).
This pull request provides a feature to specify a groovy expression to specify which combinations are checked by default.
This also handles schedules builds and can be another solution for #2.

I want to use this feature in following case:
* I have 3 target platforms to build (A, B, C).
* 2 of them (A, B) are major and I want to test automatically.
* 1 of them (C) are minor and I want not to test automatically as that platform is very slow and time-consuming. I want run tests for that platform only when I intend and operate manually.
* I want run them in a matrix project to know which artifacts are built from same versions.

This feature allows excluding platform-C usually, and enabling platform-C when needed.

This works like this:
* `MatrixCombinationsParameterDefinition#getDefaultParameterValue` returns an instance of `DefaultMatrixCombinationsParameterValue` instead of `MatrixCombinationsParameterValue`. `DefaultMatrixCombinationsParameterValue` is a subclass of `MatrixCombinationsParameterValue`.
* `DefaultMatrixCombinationsParameterValue` have a combination filter expression instead of a set of checked combinations.
* This results in `DefaultMatrixCombinationsParameterValue#getConfs` and `DefaultMatrixCombinationsParameterValue#getValues` not work (always return an empty array).
* `DefaultMatrixCombinationsParameterValue#combinationExists` decides combinations to build with the combination filter.
* I needed to extend `MatrixCombinationsParameterValue#combinationExists` adding `AxisList` to its parameters.

I'm afraid this is too specialized feature and you might not like it.