-
Bug
-
Resolution: Unresolved
-
Major
-
None
The following pipeline:
List<String> buildFlavours = ['ubuntu', 'macosx'] List<MyBuildStep> modulesGroups = [ new MyBuildStep('UnitTestGroup1'), new MyBuildStep('UnitTestGroup2') ] println "*** outside loop, buildFlavours.size() = ${buildFlavours.size()}" buildFlavours.each { flavour -> println "*** inside loop, flavour = ${flavour}" println "*** outside loop, modulesGroups.size() = ${modulesGroups.size()}" modulesGroups.each { group -> // Doesn't work, silently terminates the iteration of the loop with no error either! println "*** inside loop, group = ${group}" // Somehow this works: // String groupCopy = group.toString() // println "*** inside loop, group = ${groupCopy}" } } class MyBuildStep implements Serializable { private String displayName MyBuildStep(String displayName) { this.displayName = displayName } @Override String toString() { return displayName } }
Prints the following output:
[Pipeline] echo *** outside loop, buildFlavours.size() = 2 [Pipeline] echo *** inside loop, flavour = ubuntu [Pipeline] echo *** outside loop, modulesGroups.size() = 2 [Pipeline] echo *** inside loop, flavour = macosx [Pipeline] echo *** outside loop, modulesGroups.size() = 2 [Pipeline] End of Pipeline
I expected to see the output for "*** inside loop, group = ${group}" as well, but it doesn't, and I don't get an error either, so I have no idea what's broken.