def stepsFor()

in src/org/apache/jackrabbit/vault/PipelineSupport.groovy [75:89]


    def stepsFor(String stepsLabel, Set<String> nodeLabels, Set<Integer> jdkVersions, Set<String> mavenVersions, Closure closure, boolean excludeMain = false) {
        def stepsMap = [failFast: true]
        for (nodeLabel in nodeLabels) {
            for (jdkVersion in jdkVersions) {
                for (mavenVersion in mavenVersions) {
                    boolean isMainBuild = (nodeLabel.equals(mainNodeLabel) && jdkVersion.equals(mainJdkVersion) && mavenVersion.equals(mainMavenVersion))
                    if (excludeMain && isMainBuild) {
                        continue // skip main environment
                    }
                    stepsMap["${stepsLabel} (JDK ${jdkVersion}, ${nodeLabel}, Maven ${mavenVersion}${isMainBuild ? ' (Main)' : ''})"] = closure(nodeLabel, jdkVersion, mavenVersion, isMainBuild)
                }
            }
        }
        return stepsMap
    }