@@ -24,45 +24,47 @@ abstract class JobParent extends Script implements DslFactory {
2424 List<String > queueToBuild = []
2525
2626 @Override
27- FreeStyleJob job (String name , @DslContext (FreeStyleJob ) Closure closure ) {
27+ FreeStyleJob job (String name , @DslContext (FreeStyleJob ) Closure closure = null ) {
2828 freeStyleJob(name, closure)
2929 }
3030
3131 @Override
32- FreeStyleJob freeStyleJob (String name , @DslContext (FreeStyleJob ) Closure closure ) {
32+ FreeStyleJob freeStyleJob (String name , @DslContext (FreeStyleJob ) Closure closure = null ) {
3333 processJob(name, FreeStyleJob , closure)
3434 }
3535
3636 @Override
37- BuildFlowJob buildFlowJob (String name , @DslContext (BuildFlowJob ) Closure closure ) {
37+ BuildFlowJob buildFlowJob (String name , @DslContext (BuildFlowJob ) Closure closure = null ) {
3838 processJob(name, BuildFlowJob , closure)
3939 }
4040
4141 @Override
42- MatrixJob matrixJob (String name , @DslContext (MatrixJob ) Closure closure ) {
42+ MatrixJob matrixJob (String name , @DslContext (MatrixJob ) Closure closure = null ) {
4343 processJob(name, MatrixJob , closure)
4444 }
4545
4646 @Override
47- MavenJob mavenJob (String name , @DslContext (MavenJob ) Closure closure ) {
47+ MavenJob mavenJob (String name , @DslContext (MavenJob ) Closure closure = null ) {
4848 processJob(name, MavenJob , closure)
4949 }
5050
5151 @Override
52- MultiJob multiJob (String name , @DslContext (MultiJob ) Closure closure ) {
52+ MultiJob multiJob (String name , @DslContext (MultiJob ) Closure closure = null ) {
5353 processJob(name, MultiJob , closure)
5454 }
5555
5656 @Override
57- WorkflowJob workflowJob (String name , @DslContext (WorkflowJob ) Closure closure ) {
57+ WorkflowJob workflowJob (String name , @DslContext (WorkflowJob ) Closure closure = null ) {
5858 processJob(name, WorkflowJob , closure)
5959 }
6060
6161 // this method cannot be private due to http://jira.codehaus.org/browse/GROOVY-6263
6262 protected <T extends Job > T processJob (String name , Class<T> jobClass , Closure closure ) {
6363 T job = jobClass. newInstance(jm)
6464 job. name = name
65- job. with(closure)
65+ if (closure) {
66+ job. with(closure)
67+ }
6668 referencedJobs << job
6769 job
6870 }
@@ -82,40 +84,42 @@ abstract class JobParent extends Script implements DslFactory {
8284 }
8385
8486 @Override
85- ListView listView (String name , @DslContext (ListView ) Closure closure ) {
87+ ListView listView (String name , @DslContext (ListView ) Closure closure = null ) {
8688 processView(name, ListView , closure)
8789 }
8890
8991 @Override
90- SectionedView sectionedView (String name , @DslContext (SectionedView ) Closure closure ) {
92+ SectionedView sectionedView (String name , @DslContext (SectionedView ) Closure closure = null ) {
9193 processView(name, SectionedView , closure)
9294 }
9395
9496 @Override
95- NestedView nestedView (String name , @DslContext (NestedView ) Closure closure ) {
97+ NestedView nestedView (String name , @DslContext (NestedView ) Closure closure = null ) {
9698 processView(name, NestedView , closure)
9799 }
98100
99101 @Override
100- DeliveryPipelineView deliveryPipelineView (String name , @DslContext (DeliveryPipelineView ) Closure closure ) {
102+ DeliveryPipelineView deliveryPipelineView (String name , @DslContext (DeliveryPipelineView ) Closure closure = null ) {
101103 processView(name, DeliveryPipelineView , closure)
102104 }
103105
104106 @Override
105- BuildPipelineView buildPipelineView (String name , @DslContext (BuildPipelineView ) Closure closure ) {
107+ BuildPipelineView buildPipelineView (String name , @DslContext (BuildPipelineView ) Closure closure = null ) {
106108 processView(name, BuildPipelineView , closure)
107109 }
108110
109111 @Override
110- BuildMonitorView buildMonitorView (String name , @DslContext (BuildMonitorView ) Closure closure ) {
112+ BuildMonitorView buildMonitorView (String name , @DslContext (BuildMonitorView ) Closure closure = null ) {
111113 processView(name, BuildMonitorView , closure)
112114 }
113115
114116 // this method cannot be private due to http://jira.codehaus.org/browse/GROOVY-6263
115117 protected <T extends View > T processView (String name , Class<T> viewClass , Closure closure ) {
116118 T view = viewClass. newInstance(jm)
117119 view. name = name
118- view. with(closure)
120+ if (closure) {
121+ view. with(closure)
122+ }
119123 referencedViews << view
120124 view
121125 }
@@ -145,21 +149,23 @@ abstract class JobParent extends Script implements DslFactory {
145149 }
146150
147151 @Override
148- Folder folder (String name , @DslContext (Folder ) Closure closure ) {
152+ Folder folder (String name , @DslContext (Folder ) Closure closure = null ) {
149153 Preconditions . checkArgument(! Strings . isNullOrEmpty(name), ' name must be specified' )
150154
151155 Folder folder = new Folder (jm)
152156 folder. name = name
153- folder. with(closure)
157+ if (closure) {
158+ folder. with(closure)
159+ }
154160 referencedJobs << folder
155161 folder
156162 }
157163
158- ConfigFile customConfigFile (String name , @DslContext (ConfigFile ) Closure closure ) {
164+ ConfigFile customConfigFile (String name , @DslContext (ConfigFile ) Closure closure = null ) {
159165 processConfigFile(name, ConfigFileType.Custom , closure)
160166 }
161167
162- ConfigFile mavenSettingsConfigFile (String name , @DslContext (ConfigFile ) Closure closure ) {
168+ ConfigFile mavenSettingsConfigFile (String name , @DslContext (ConfigFile ) Closure closure = null ) {
163169 processConfigFile(name, ConfigFileType.MavenSettings , closure)
164170 }
165171
@@ -180,7 +186,9 @@ abstract class JobParent extends Script implements DslFactory {
180186 protected ConfigFile processConfigFile (String name , ConfigFileType configFileType , Closure closure ) {
181187 ConfigFile configFile = new ConfigFile (configFileType, jm)
182188 configFile. name = name
183- configFile. with(closure)
189+ if (closure) {
190+ configFile. with(closure)
191+ }
184192 referencedConfigFiles << configFile
185193 configFile
186194 }
0 commit comments