I think the plugin can be forked, but it's better to agree on the plugin 
name before forking.

   - What about using http://groovy-sandbox.kohsuke.org/ to run Groovy 
   scripts? Just to avoid new security holes...
   - > "I think the name could be better "
      - Definitely. Actually, you don't introduce new project types
      - I'd propose to use a name like matrix-groovy-execution-strategy 
      (and to name GitHub repo accordingly)
      - If you don't actually need to manage the execution order, see below
      - > "I'd like to move the combination filter box into the default 
   plugin box if possible"
      - There's no extension points for this field
      - If somebody implements it, you will be able to reduce the scope of 
      the plugin (and probably rename it)
      - > "I wrote it with the gradle-jpi-plugin in groovy"
      - A Maven spec wrapper could be useful for automatic Pull Request 
      Builder in jenkinsci org (not sure if it supports Gradle now)
      

среда, 22 октября 2014 г., 14:50:46 UTC+4 пользователь Jeremy Marshall 
написал:
>
> 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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to