Update automated project templates
[releng/builder.git] / jjb / openflowjava / openflowjava.yaml
1 # REMOVE THIS LINE IF YOU WANT TO CUSTOMIZE ANYTHING BELOW
2 # Otherwise this file will be automatically overwritten by the template
3 # autobuilder.
4
5 # ODL Releng build templates
6 - project:
7     name: openflowjava
8     jobs:
9         - 'openflowjava-verify-{stream}'
10         - 'openflowjava-merge-{stream}'
11         - 'openflowjava-daily-{stream}'
12         - 'openflowjava-integration-{stream}'
13         - 'openflowjava-sonar'
14         - 'openflowjava-clm'
15
16
17     # stream:    branch with - in place of / (eg. stable-helium)
18     # branch:    branch (eg. stable/helium)
19     stream:
20         - master:
21             branch: 'master'
22         - stable-helium:
23             branch: 'stable/helium'
24
25     project: 'openflowjava'
26     jdk: 'openjdk7'
27
28 # For the Job templates below replace instances of:
29 # PROJECT with your project name (eg. controller)
30 # MAVEN_GOALS with your maven goals to build
31 # MAVEN_OPTS with your maven options to build
32
33 - job-template:
34     name: 'openflowjava-verify-{stream}'
35
36     # Job template for ODL verify jobs
37     #
38     # The purpose of this job template is to setup a ODL verify job
39     #
40     # Required Variables:
41     #     stream:    branch with - in place of / (eg. stable-helium)
42     #     branch:    branch (eg. stable/helium)
43
44     project-type: matrix
45     node: matrix_master
46     concurrent: true
47
48     axes:
49         - axis:
50             type: slave
51             name: nodes
52             values:
53                 - dynamic_verify
54         - axis:
55             type: jdk
56             values:
57                 - openjdk7
58                 - openjdk8
59
60
61     logrotate:
62         daysToKeep: '{build-days-to-keep}'
63         numToKeep: '{build-num-to-keep}'
64         artifactDaysToKeep: '{build-artifact-days-to-keep}'
65         artifactNumToKeep: '{build-artifact-num-to-keep}'
66
67     parameters:
68         - project-parameter:
69             project: '{project}'
70         - gerrit-parameter:
71             branch: '{branch}'
72
73     scm:
74         - gerrit-trigger-scm:
75             credentials-id: '{ssh-credentials}'
76             refspec: '$GERRIT_REFSPEC'
77             choosing-strategy: 'gerrit'
78
79     wrappers:
80         - build-timeout
81         - ssh-agent-credentials:
82             user: '{ssh-credentials}'
83
84     triggers:
85         - gerrit-trigger-patch-submitted:
86             name: 'openflowjava'
87             branch: '{branch}'
88
89     builders:
90         - wipe-org-opendaylight-repo
91         - maven-target:
92             maven-version: '{mvn32}'
93             pom: 'pom.xml'
94             goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
95             java-opts:
96                 - '-Xmx1024m -XX:MaxPermSize=256m'
97             settings: '{openflowjava-settings}'
98             global-settings: '{odl-global-settings}'
99         - jacoco-nojava-workaround
100
101     publishers:
102         - findbugs
103         - email-notification:
104             email-prefix: '[openflowjava]'
105         - jacoco-report
106
107 - job-template:
108     name: 'openflowjava-merge-{stream}'
109
110     # Job template for ODL merge jobs
111     #
112     # The purpose of this job template is to setup a ODL merge job
113     # and deploy artifacts to Nexus.
114     #
115     # Required Variables:
116     #     stream:    branch with - in place of / (eg. stable-helium)
117     #     branch:    branch (eg. stable/helium)
118
119     project-type: maven
120     node: dynamic_merge
121     jdk: '{jdk}'
122
123     logrotate:
124         daysToKeep: '{build-days-to-keep}'
125         numToKeep: '{build-num-to-keep}'
126         artifactDaysToKeep: '{build-artifact-days-to-keep}'
127         artifactNumToKeep: '{build-artifact-num-to-keep}'
128
129     parameters:
130         - project-parameter:
131             project: '{project}'
132
133     scm:
134         - gerrit-trigger-scm:
135             credentials-id: '{ssh-credentials}'
136             refspec: ''
137             choosing-strategy: 'default'
138
139     wrappers:
140         - build-timeout
141         - ssh-agent-credentials:
142             user: '{ssh-credentials}'
143
144     triggers:
145         - gerrit-trigger-patch-merged:
146             name: 'openflowjava'
147             branch: '{branch}'
148
149     prebuilders:
150         - wipe-org-opendaylight-repo
151
152     maven:
153         maven-name: '{mvn32}'
154         root-pom: 'pom.xml'
155         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
156         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
157         settings: '{openflowjava-settings}'
158         global-settings: '{odl-global-settings}'
159
160     postbuilders:
161         - jacoco-nojava-workaround
162
163     reporters:
164         - findbugs
165
166     publishers:
167         
168         - email-notification:
169             email-prefix: '[openflowjava]'
170         - maven-deploy:
171             id: ''
172             unique-version: true
173             deploy-unstable: false
174         - jacoco-report
175
176 - job-template:
177     name: 'openflowjava-daily-{stream}'
178
179     # Job template for daily builders
180     #
181     # The purpose of this job template is to setup a daily/nightly
182     # builder and pushes to Sonar analysis.
183     #
184     # Required Variables:
185     #     stream:    branch with - in place of / (eg. stable-helium)
186     #     branch:    branch (eg. stable/helium)
187
188     project-type: maven
189     node: dynamic_verify
190     jdk: '{jdk}'
191
192     logrotate:
193         daysToKeep: '{build-days-to-keep}'
194         numToKeep: '{build-num-to-keep}'
195         artifactDaysToKeep: '{build-artifact-days-to-keep}'
196         artifactNumToKeep: '{build-artifact-num-to-keep}'
197
198     parameters:
199         - project-parameter:
200             project: '{project}'
201
202     scm:
203         - git-scm:
204             credentials-id: '{ssh-credentials}'
205             refspec: ''
206             branch: '{branch}'
207
208     wrappers:
209         - build-timeout
210         - ssh-agent-credentials:
211             user: '{ssh-credentials}'
212
213     triggers:
214         - timed: 'H H * * *'
215
216     prebuilders:
217         - wipe-org-opendaylight-repo
218
219     maven:
220         maven-name: '{mvn32}'
221         root-pom: 'pom.xml'
222         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
223         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
224         settings: '{openflowjava-settings}'
225         global-settings: '{odl-global-settings}'
226
227     postbuilders:
228         - jacoco-nojava-workaround
229
230     reporters:
231         - findbugs
232
233     publishers:
234         - email-notification:
235             email-prefix: '[openflowjava]'
236         - jacoco-report
237
238 - job-template:
239     name: 'openflowjava-integration-{stream}'
240     disabled: false
241
242     # Job template for ODL merge jobs
243     #
244     # The purpose of this job template is to setup a ODL merge job
245     # and deploy artifacts to Nexus.
246     #
247     # Required Variables:
248     #     stream:    branch with - in place of / (eg. stable-helium)
249     #     branch:    branch (eg. stable/helium)
250
251     project-type: maven
252     node: dynamic_merge
253     jdk: '{jdk}'
254
255     logrotate:
256         daysToKeep: '{build-days-to-keep}'
257         numToKeep: '{build-num-to-keep}'
258         artifactDaysToKeep: '{build-artifact-days-to-keep}'
259         artifactNumToKeep: '{build-artifact-num-to-keep}'
260
261     parameters:
262         - project-parameter:
263             project: '{project}'
264
265     scm:
266         - git-scm:
267             credentials-id: '{ssh-credentials}'
268             refspec: ''
269             branch: '{branch}'
270
271     wrappers:
272         - build-timeout
273         - ssh-agent-credentials:
274             user: '{ssh-credentials}'
275
276     triggers:
277         - reverse:
278             jobs: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
279             result: 'success'
280
281     prebuilders:
282         - wipe-org-opendaylight-repo
283
284     maven:
285         maven-name: '{mvn32}'
286         root-pom: 'pom.xml'
287         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
288         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
289         settings: '{openflowjava-settings}'
290         global-settings: '{odl-global-settings}'
291
292     postbuilders:
293         - jacoco-nojava-workaround
294
295     reporters:
296         - findbugs
297
298     publishers:
299         - email-notification:
300             email-prefix: '[openflowjava] [odlparent] [yangtools] [controller]'
301         - jacoco-report
302
303 - job-template:
304     name: 'openflowjava-sonar'
305
306     project-type: maven
307     node: dynamic_verify
308     jdk: '{jdk}'
309
310     logrotate:
311         daysToKeep: '7'
312         numToKeep: '10'
313         artifactDaysToKeep: '1'
314         artifactNumToKeep: '1'
315
316     parameters:
317         - project-parameter:
318             project: '{project}'
319
320     scm:
321         - git-scm:
322             credentials-id: '{ssh-credentials}'
323             refspec: ''
324             branch: 'master'
325
326     wrappers:
327         - build-timeout
328         - ssh-agent-credentials:
329             user: '{ssh-credentials}'
330
331     triggers:
332         - timed: 'H H * * *'
333
334     maven:
335         maven-name: '{mvn32}'
336         root-pom: 'pom.xml'
337         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dsonar'
338         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
339         settings: '{openflowjava-settings}'
340         global-settings: '{odl-global-settings}'
341
342     postbuilders:
343         - jacoco-nojava-workaround
344
345     reporters:
346         - findbugs
347
348     publishers:
349         - sonar:
350             language: 'java'
351             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
352         - email-notification:
353             email-prefix: '[openflowjava]'
354         - jacoco-report
355
356 - job-template:
357     name: 'openflowjava-clm'
358
359     project-type: maven
360     node: dynamic_verify
361     jdk: '{jdk}'
362
363     logrotate:
364         daysToKeep: '{build-days-to-keep}'
365         numToKeep: '{build-num-to-keep}'
366         artifactDaysToKeep: '{build-artifact-days-to-keep}'
367         artifactNumToKeep: '{build-artifact-num-to-keep}'
368
369     parameters:
370         - project-parameter:
371             project: '{project}'
372
373     scm:
374         - git-scm:
375             credentials-id: '{ssh-credentials}'
376             refspec: ''
377             branch: 'master'
378
379     wrappers:
380         - build-timeout
381         - ssh-agent-credentials:
382             user: '{ssh-credentials}'
383
384     triggers:
385         - timed: '@weekly'
386
387     prebuilders:
388         - wipe-org-opendaylight-repo
389
390     maven:
391         maven-name: '{mvn32}'
392         root-pom: 'pom.xml'
393         goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
394         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
395         settings: '{openflowjava-settings}'
396         global-settings: '{odl-global-settings}'
397
398     postbuilders:
399         - check-clm:
400             application-name: openflowjava
401
402     publishers:
403         - email-notification:
404             email-prefix: '[openflowjava]'
405