Hi

I put together a matrix execution strategy which allows greater control 
than the default strategy.

It will run either a groovy script, as entered or a script from an absolute 
path or from the workspace.

This is probably best suited to dynamically built axis.

There are a couple of problems though.

I'd like to move the combination filter box into the default plugin box if 
possible
The plugin doesn't display correctly the first time in for some reason
Some of the methods have been pulled directly form the default strategy so 
perhaps could be refactored

I think the name could be better 

This is an example script it would use where jobs will be executed in axis2 
order and axis2 = z and axis1 = b skipped

            combinations.each{


             if(it.axis2 == 'z')
                   return


             if(it.axis1 == 'b')
                   return


             result[it.axis2] = result[it.axis2] ?: []
             result[it.axis2] << it
            }


            result

where combinations is a list of all the combinations
result is a TreeMap<String, List<Combination>> and is expected to be 
returned from the script

There are other bindings passed in (workspace, 
Jenkins.instance, MatrixBuild.MatrixBuildExecution execution)
The map entries will be executed in parallel in the natural order and a 
failure will stop the next set, but allow that phase to finish

I wrote it with the gradle-jpi-plugin in groovy

https://github.com/JeremyMarshall/groovier-matrix-project-plugin

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to