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 jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to