c5515353777c46e1eb431c4e5ae82cc32e73cda6
[releng/builder.git] / jjb / releng-templates-java.yaml
1 - job-template:
2     # Template used for running CLM scans
3     # Arguements:
4     #   {name}         - Project Shortname
5     #   {project}      - Fully qualified project name
6     #   {mvn-settings} - Project maven settings file
7     #   {stream}
8     #   {jdk}
9     name: '{project-name}-clm-{stream}'
10
11     project-type: freestyle
12     node: '{build-node}'
13     jdk: '{jdk}'
14
15     logrotate:
16         daysToKeep: '{build-days-to-keep}'
17         numToKeep: '{build-num-to-keep}'
18
19     parameters:
20         - opendaylight-infra-parameters:
21             project: '{project}'
22             branch: '{branch}'
23             refspec: 'refs/heads/{branch}'
24             artifacts: '{archive-artifacts}'
25
26     scm:
27         - git-scm:
28             refspec: ''
29             branch: '{branch}'
30
31     wrappers:
32         - opendaylight-infra-wrappers:
33             build-timeout: '{build-timeout}'
34
35     triggers:
36         - timed: 'H H * * 6'
37
38     builders:
39         - provide-maven-settings:
40             global-settings-file: 'odl-global-settings'
41             settings-file: '{mvn-settings}'
42         - maven-target:
43             maven-version: '{mvn33}'
44             pom: 'pom.xml'
45             goals: 'clean install dependency:tree com.sonatype.clm:clm-maven-plugin:index -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
46             java-opts:
47               - '-Xmx4096m -XX:MaxPermSize=512m'
48             settings: '{mvn-settings}'
49             settings-type: cfp
50             global-settings: 'odl-global-settings'
51             global-settings-type: cfp
52         - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
53         - check-clm:
54             application-name: '{project-name}'
55
56     publishers:
57         - email-notification:
58             email-prefix: '[{project-name}]'
59         - opendaylight-infra-shiplogs:
60             maven-version: '{mvn33}'
61
62 - job-template:
63     name: '{project-name}-distribution-{stream}'
64
65     # Required variables:
66     #     stream:    release stream (eg. stable-lithium or beryllium)
67     #     branch:    git branch (eg. stable/lithium or master)
68
69     # Need to keep jobs that deploy to Nexus at end of build as Maven
70     # projects. Maybe reconsider this once upstream moves deploy to a
71     # separate lifecycle:
72     #     https://issues.apache.org/jira/browse/MNG-5666
73     project-type: maven
74     node: '{build-node}'
75     jdk: '{jdk}'
76
77     logrotate:
78         daysToKeep: '{build-days-to-keep}'
79         numToKeep: '{build-num-to-keep}'
80         artifactDaysToKeep: '{build-artifact-days-to-keep}'
81         artifactNumToKeep: '{build-artifact-num-to-keep}'
82
83     parameters:
84         - opendaylight-infra-parameters:
85             project: 'integration/distribution'
86             branch: '{branch}'
87             refspec: 'refs/heads/{branch}'
88             artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt'
89
90     scm:
91         - git-scm:
92             refspec: ''
93             branch: '{branch}'
94
95     wrappers:
96         - opendaylight-infra-wrappers:
97             build-timeout: '{build-timeout}'
98
99     triggers:
100         - reverse:
101             jobs: '{project}-merge-{stream}'
102             result: 'success'
103
104     prebuilders:
105         - provide-maven-settings:
106             global-settings-file: 'odl-global-settings'
107             settings-file: '{mvn-settings}'
108
109     maven:
110         maven-name: '{mvn33}'
111         root-pom: 'pom.xml'
112         goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
113         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
114         settings: 'integration-distribution-settings'
115         settings-type: cfp
116         global-settings: 'odl-global-settings'
117         global-settings-type: cfp
118
119     publishers:
120         - email-notification:
121             email-prefix: '[{project}]'
122         - maven-deploy:
123             id: ''
124             unique-version: true
125             deploy-unstable: false
126         - opendaylight-infra-shiplogs:
127             maven-version: '{mvn33}'
128
129 - job-template:
130     # Template: {project-name}-distribution-check-{stream}
131     # Goal: Build a patch and make sure the distribution can deploy with this change
132     # Operation: This job template builds a patch, creates a distribution containing
133     #            the patch, and triggers the distribution deploy test
134
135     name: '{project-name}-distribution-check-{stream}'
136     disabled: '{obj:disable_distribution_check}'
137
138     project-type: freestyle
139     node: '{build-node}'
140     concurrent: true
141     jdk: '{jdk}'
142
143     logrotate:
144         daysToKeep: '{build-days-to-keep}'
145         numToKeep: '{build-num-to-keep}'
146         artifactDaysToKeep: '{build-artifact-days-to-keep}'
147         artifactNumToKeep: '{build-artifact-num-to-keep}'
148
149     parameters:
150         - opendaylight-infra-parameters:
151             project: '{project}'
152             branch: '{branch}'
153             refspec: 'refs/heads/{branch}'
154             artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt'
155         - integration-distribution-git-url
156
157     scm:
158         - integration-gerrit-scm:
159             basedir: '$GERRIT_PROJECT'
160             refspec: '$GERRIT_REFSPEC'
161             branch: '{branch}'
162         - integration-distribution-scm:
163             branch: '{branch}'
164
165     wrappers:
166         - opendaylight-infra-wrappers:
167             build-timeout: '{build-timeout}'
168
169     triggers:
170         - gerrit:
171             server-name: 'OpenDaylight'
172             trigger-on:
173                 - patchset-created-event:
174                     exclude-drafts: 'true'
175                     exclude-trivial-rebase: 'false'
176                     exclude-no-code-change: 'true'
177                 - draft-published-event
178                 - comment-added-contains-event:
179                     comment-contains-value: 'test-distribution'
180                 - comment-added-contains-event:
181                     comment-contains-value: 'reverify'
182                 - comment-added-contains-event:
183                     comment-contains-value: 'recheck'
184             projects:
185               - project-compare-type: 'ANT'
186                 project-pattern: '{project}'
187                 branches:
188                   - branch-compare-type: 'ANT'
189                     branch-pattern: '**/{branch}'
190             skip-vote:
191                 successful: false
192                 failed: false
193                 unstable: false
194                 notbuilt: false
195
196     builders:
197         # This step is to cache artifacts needed to build distribution. "fr" stands for "fake remote".
198         # Running SingleFeaturesTest here does not seem to be required.
199         - maven-target:
200             maven-version: '{mvn33}'
201             pom: 'distribution/pom.xml'
202             goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/fr -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/fr'
203             java-opts:
204               - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
205             settings: '{mvn-settings}'
206             settings-type: cfp
207             global-settings: 'odl-global-settings'
208             global-settings-type: cfp
209         # Now delete artifacts related to $GERRIT_PROJECT. To be safe, delete {project-name} location as well.
210         - shell: |
211             rm -rfv /tmp/fr/org/opendaylight/$GERRIT_PROJECT
212             rm -rfv /tmp/fr/org/opendaylight/{project-name}
213         # Now build project in really local repository /tmp/r/ and deploy to /tmp/fr/.
214         # We could copy some artifacts from /tmp/fr/ to /tmp/r/,
215         # but that would hide errors of missing POM dependency references.
216         # Ordinary SingleFeatureTest failures are detected in verify job, so we can use "q" profile here.
217         - maven-target:
218             maven-version: '{mvn33}'
219             pom: '$GERRIT_PROJECT/pom.xml'
220             goals: 'clean deploy dependency:tree -DoutputFile=dependency_tree.txt -V -B -Pq -DaltDeploymentRepository=fake-remote::default::file:///tmp/fr/ -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}'
221             java-opts:
222                 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
223             settings: '{mvn-settings}'
224             settings-type: cfp
225             global-settings: 'odl-global-settings'
226             global-settings-type: cfp
227         # Now wipe the local repository.
228         - shell: |
229             rm -rf /tmp/r
230         # Now the ugly part. It seems that the only way to tell Maven 2+
231         # which remote repositories to use is via settings.xml file.
232         # So we create such file here.
233         - shell: |
234             set -exu
235             echo '
236             <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
237               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
238               xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
239               https://maven.apache.org/xsd/settings-1.0.0.xsd">
240               <profiles>
241                 <profile>
242                   <id>file</id>
243                   <repositories>
244                     <repository>
245                       <id>file</id>
246                       <name>file</name>
247                       <url>file:///tmp/fr/</url>
248                       <releases/>
249                       <snapshots/>
250                     </repository>
251                   </repositories>
252                   <pluginRepositories>
253                     <pluginRepository>
254                       <id>file</id>
255                       <name>file</name>
256                       <url>file:///tmp/fr/</url>
257                       <releases/>
258                       <snapshots/>
259                     </pluginRepository>
260                   </pluginRepositories>
261                 </profile>
262               </profiles>
263             </settings>
264             ' > fake_remotes.xml
265         # Finally, repeat the distribution build but with the new settings.
266         # We cannot use --offline, because: "Cannot access file (file:///tmp/fr) in offline mode"
267         # This final build step not only detects when important project artifacts are not deployed,
268         # but also when they are deployed and just POM dependency reference for them is missing.
269         # For that, not only distribution-karaf is to be built, but also features, and without skipping SingleFeatureTest.
270         - maven-target:
271             maven-version: '{mvn33}'
272             pom: 'distribution/pom.xml'
273             goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -s fake_remotes.xml -V -B -Pq,file -DskipTests=false -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
274             java-opts:
275               - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
276         - integration-distribution-check
277
278     publishers:
279         - email-notification:
280             email-prefix: '[{project-name}]'
281         - postbuildscript:
282             builders:
283                 - shell: |
284                     #!/bin/bash
285                     mkdir -p $WORKSPACE/archives
286                     cp karaf*.log $WORKSPACE/archives
287             script-only-if-succeeded: False
288             script-only-if-failed: False
289             mark-unstable-if-failed: True
290         - archive:
291             artifacts: '*.zip'
292         - opendaylight-infra-shiplogs:
293             maven-version: '{mvn33}'
294
295 - job-template:
296     name: '{project-name}-integration-{stream}'
297
298     # Job template for ODL integration verify jobs
299     #
300     # This is similar to a normal verify job, but it runs
301     # when a project that's a dependency of your project
302     # is successfully built.
303     #
304     # Required Variables:
305     #     stream:    release stream (eg. stable-lithium or beryllium)
306     #     branch:    git branch (eg. stable/lithium or master)
307
308     project-type: freestyle
309     node: '{build-node}'
310     jdk: '{jdk}'
311
312     logrotate:
313         daysToKeep: '{build-days-to-keep}'
314         numToKeep: '{build-num-to-keep}'
315         artifactDaysToKeep: '{build-artifact-days-to-keep}'
316         artifactNumToKeep: '{build-artifact-num-to-keep}'
317
318     parameters:
319         - opendaylight-infra-parameters:
320             project: '{project}'
321             branch: '{branch}'
322             refspec: 'refs/heads/{branch}'
323             artifacts: '{archive-artifacts}'
324
325     scm:
326         - git-scm:
327             refspec: ''
328             branch: '{branch}'
329
330     wrappers:
331         - opendaylight-infra-wrappers:
332             build-timeout: '{build-timeout}'
333
334     triggers:
335         - reverse:
336             jobs: '{dependencies}'
337             result: 'success'
338
339     builders:
340         - jacoco-nojava-workaround
341         - provide-maven-settings:
342             global-settings-file: 'odl-global-settings'
343             settings-file: '{mvn-settings}'
344         - maven-target:
345             maven-version: '{mvn33}'
346             goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
347             java-opts:
348               - '{mvn-opts}'
349             settings: '{mvn-settings}'
350             settings-type: cfp
351             global-settings: 'odl-global-settings'
352             global-settings-type: cfp
353
354     publishers:
355         - email-notification:
356             email-prefix: '{email-upstream}'
357         - findbugs
358         - jacoco-report
359         - opendaylight-infra-shiplogs:
360             maven-version: '{mvn33}'
361
362 - job-template:
363     name: '{project-name}-merge-{stream}'
364
365     # Job template for ODL merge jobs
366     #
367     # The purpose of this job template is to setup a ODL merge job
368     # and deploy artifacts to Nexus.
369     #
370     # Required Variables:
371     #     stream:    release stream (eg. stable-lithium or beryllium)
372     #     branch:    git branch (eg. stable/lithium or master)
373
374     # Need to keep jobs that deploy to Nexus at end of build as Maven
375     # projects. Maybe reconsider this once upstream moves deploy to a
376     # separate lifecycle:
377     #     https://issues.apache.org/jira/browse/MNG-5666
378     project-type: maven
379     node: '{build-node}'
380     jdk: '{jdk}'
381
382     logrotate:
383         daysToKeep: '14'
384         numToKeep: '10'
385         artifactDaysToKeep: '{build-artifact-days-to-keep}'
386         artifactNumToKeep: '{build-artifact-num-to-keep}'
387
388     parameters:
389         - opendaylight-infra-parameters:
390             project: '{project}'
391             branch: '{branch}'
392             refspec: 'refs/heads/{branch}'
393             artifacts: '{archive-artifacts}'
394
395     scm:
396         - gerrit-trigger-scm:
397             refspec: ''
398             choosing-strategy: 'default'
399
400     wrappers:
401         - opendaylight-infra-wrappers:
402             build-timeout: '{build-timeout}'
403
404     triggers:
405         - timed: 'H H * * 0'
406         - gerrit-trigger-patch-merged:
407             name: '{project}'
408             branch: '{branch}'
409
410     prebuilders:
411         - jacoco-nojava-workaround
412         - provide-maven-settings:
413             global-settings-file: 'odl-global-settings'
414             settings-file: '{mvn-settings}'
415
416     # TODO: Do we want to apply sophisticated checks as in *-distribution-check-*?
417     maven:
418         maven-name: '{mvn33}'
419         goals: '{mvn-goals} -V -B -Djenkins -Dmerge -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
420         maven-opts: '{mvn-opts}'
421         settings: '{mvn-settings}'
422         settings-type: cfp
423         global-settings: 'odl-global-settings'
424         global-settings-type: cfp
425         post-step-run-condition: UNSTABLE
426
427     postbuilders:
428         - conditional-step:
429             condition-kind: file-exists
430             condition-filename: deploy-site.xml
431             condition-basedir: workspace
432
433             # The strategy here is intentional to run Maven site:deploy twice
434             # once using regular pom.xml to produce a staged-site which is
435             # then used by deploy-site.xml to push to Nexus. This is a
436             # workaround to Maven Site's default linking code which creates
437             # incorrect URLs for sites due to auto-detection assuming your
438             # project is configured in a certain way which ODL is not.
439             steps:
440             - maven-target:
441                 maven-version: '{mvn33}'
442                 pom: pom.xml
443                 goals: 'site:deploy -V -B -Dstream={stream}'
444                 java-opts:
445                     - '-Xmx2g'
446                 settings: '{mvn-settings}'
447                 settings-type: cfp
448                 global-settings: 'odl-global-settings'
449                 global-settings-type: cfp
450             - maven-target:
451                 maven-version: '{mvn33}'
452                 pom: deploy-site.xml
453                 goals: 'site:deploy -V -B -Dstream={stream}'
454                 java-opts:
455                     - '-Xmx2g'
456                 settings: '{mvn-settings}'
457                 settings-type: cfp
458                 global-settings: 'odl-global-settings'
459                 global-settings-type: cfp
460
461     reporters:
462         - findbugs
463
464     publishers:
465         - email-notification:
466             email-prefix: '[{project-name}]'
467         - maven-deploy:
468             id: ''
469             unique-version: true
470             deploy-unstable: false
471         - jacoco-report
472         - opendaylight-infra-shiplogs:
473             maven-version: '{mvn33}'
474
475 - job-template:
476     name: '{project-name}-periodic-{stream}'
477
478     # Job template for periodic builders
479     #
480     # The purpose of this job template is to setup a periodic
481     # builder.
482     #
483     # Required Variables:
484     #     stream:    release stream (eg. stable-lithium or beryllium)
485     #     branch:    git branch (eg. stable/lithium or master)
486
487     project-type: freestyle
488     node: '{build-node}'
489     jdk: '{jdk}'
490
491     logrotate:
492         daysToKeep: '14'
493
494     parameters:
495         - opendaylight-infra-parameters:
496             project: '{project}'
497             branch: '{branch}'
498             refspec: 'refs/heads/{branch}'
499             artifacts: '{archive-artifacts}'
500
501     scm:
502         - git-scm:
503             refspec: ''
504             branch: '{branch}'
505
506     wrappers:
507         - opendaylight-infra-wrappers:
508             build-timeout: '{build-timeout}'
509
510     triggers:
511         - timed: '@daily'
512
513     builders:
514         - jacoco-nojava-workaround
515         - provide-maven-settings:
516             global-settings-file: 'odl-global-settings'
517             settings-file: '{mvn-settings}'
518         - maven-target:
519             maven-version: '{mvn33}'
520             goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
521             java-opts:
522               - '{mvn-opts}'
523             settings: '{mvn-settings}'
524             settings-type: cfp
525             global-settings: 'odl-global-settings'
526             global-settings-type: cfp
527
528     publishers:
529         - email-notification:
530             email-prefix: '[{project-name}]'
531         - jacoco-report
532         - findbugs
533         - opendaylight-infra-shiplogs:
534             maven-version: '{mvn33}'
535
536 - job-template:
537     name: '{project-name}-sonar'
538     disabled: false
539
540     project-type: freestyle
541     node: '{build-node}'
542     jdk: 'openjdk8'
543
544     logrotate:
545         daysToKeep: '7'
546         numToKeep: '10'
547         artifactDaysToKeep: '1'
548         artifactNumToKeep: '1'
549
550     parameters:
551         - opendaylight-infra-parameters:
552             project: '{project}'
553             branch: '{branch}'
554             refspec: 'refs/heads/{branch}'
555             artifacts: '{archive-artifacts}'
556
557     scm:
558         - git-scm:
559             refspec: ''
560             branch: 'master'
561
562     wrappers:
563         - opendaylight-infra-wrappers:
564             build-timeout: '{build-timeout}'
565
566     triggers:
567         - timed: 'H H * * 6'
568         - gerrit-trigger-patch-sonar:
569             name: '{project}'
570
571     builders:
572         - jacoco-nojava-workaround
573         - provide-maven-settings:
574             global-settings-file: 'odl-global-settings'
575             settings-file: '{mvn-settings}'
576         - maven-target:
577             maven-version: '{mvn33}'
578             goals: '{mvn-goals} -V -B -Djenkins -Dsonar -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
579             maven-opts:
580               - '{mvn-opts}'
581             settings: '{mvn-settings}'
582             settings-type: cfp
583             global-settings: 'odl-global-settings'
584             global-settings-type: cfp
585         - maven-target:
586             maven-version: '{mvn33}'
587             # We should switch to the recommended configuration of sonar once
588             # JJB adds support for configurating the Sonar wrapper:
589             #    http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
590             goals: 'sonar:sonar -V -B -Djenkins -Dsonar -Dsonar.host.url=https://sonar.opendaylight.org -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
591             maven-opts:
592               - '{mvn-opts}'
593             settings: '{mvn-settings}'
594             settings-type: cfp
595             global-settings: 'odl-global-settings'
596             global-settings-type: cfp
597
598     publishers:
599         - email-notification:
600             email-prefix: '[{project-name}]'
601         - jacoco-report
602         - findbugs
603         - opendaylight-infra-shiplogs:
604             maven-version: '{mvn33}'
605
606 - job-template:
607     name: '{project-name}-validate-autorelease-{stream}'
608     disabled: '{obj:disable_autorelease}'
609
610     project-type: freestyle
611     node: '{build-node}'
612     concurrent: true
613     jdk: '{jdk}'
614
615     logrotate:
616         daysToKeep: '7'
617
618     parameters:
619         - opendaylight-infra-parameters:
620             project: '{project}'
621             branch: '{branch}'
622             refspec: 'refs/heads/{branch}'
623             artifacts: '{archive-artifacts}'
624         - autorelease-release-tag:
625             release-tag: 'validate'
626         - autorelease-release-branch:
627             release-branch: '{branch}'
628         - string:
629             name: CLONE_URL
630             default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
631             description: "Autorelease clone URL"
632
633     scm:
634         - git:
635             url: '$CLONE_URL'
636             credentials-id: 'opendaylight-jenkins-ssh'
637             refspec: ''
638             branches:
639                 - 'origin/{branch}'
640             skip-tag: true
641             submodule:
642                 recursive: true
643                 timeout: 60
644
645     wrappers:
646         - opendaylight-infra-wrappers:
647             build-timeout: '{build-timeout}'
648
649     triggers:
650         - gerrit:
651             server-name: 'OpenDaylight'
652             trigger-on:
653                 - patchset-created-event:
654                     exclude-drafts: 'true'
655                     exclude-trivial-rebase: 'false'
656                     exclude-no-code-change: 'true'
657                 - draft-published-event
658                 - comment-added-contains-event:
659                     comment-contains-value: 'recheck'
660                 - comment-added-contains-event:
661                     comment-contains-value: 'reverify'
662                 - comment-added-contains-event:
663                     comment-contains-value: 'revalidate'
664             projects:
665               - project-compare-type: 'ANT'
666                 project-pattern: '{project}'
667                 branches:
668                   - branch-compare-type: 'ANT'
669                     branch-pattern: '**/{branch}'
670                 file-paths:
671                     - compare-type: ANT
672                       pattern: '**/*.xml'
673
674     builders:
675         - jacoco-nojava-workaround
676         - autorelease-checkout-gerrit-patch
677         - autorelease-generate-release-patches
678         - maven-target:
679             maven-version: '{mvn33}'
680             pom: validate-pom.xml
681             goals: 'clean install dependency:tree -V -B -T1.5C -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
682             java-opts:
683               - '-Xmx8g'
684             settings: 'autorelease-settings'
685             settings-type: cfp
686             global-settings: 'odl-global-settings'
687             global-settings-type: cfp
688         - maven-target:
689             maven-version: '{mvn33}'
690             pom: 'pom.xml'
691             goals: 'clean validate -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
692             java-opts:
693               - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
694             settings: 'autorelease-settings'
695             settings-type: cfp
696             global-settings: 'odl-global-settings'
697             global-settings-type: cfp
698         - autorelease-sys-stats
699
700     publishers:
701         - email-notification:
702             email-prefix: '[autorelease] [{project-name}]'
703         - opendaylight-infra-shiplogs:
704             maven-version: '{mvn33}'
705
706 - job-template:
707     name: '{project-name}-verify-{stream}-{maven}-{jdks}'
708
709     # Job template for ODL verify jobs
710     #
711     # The purpose of this job template is to setup a ODL verify job
712     #
713     # Required Variables:
714     #     stream:    release stream (eg. stable-lithium or beryllium)
715     #     branch:    git branch (eg. stable/lithium or master)
716
717     project-type: freestyle
718     node: '{build-node}'
719     concurrent: true
720     jdk: '{jdks}'
721
722     logrotate:
723         daysToKeep: '7'
724
725     parameters:
726         - opendaylight-infra-parameters:
727             project: '{project}'
728             branch: '{branch}'
729             refspec: 'refs/heads/{branch}'
730             artifacts: '{archive-artifacts}'
731
732     scm:
733         - gerrit-trigger-scm:
734             refspec: '$GERRIT_REFSPEC'
735             choosing-strategy: 'gerrit'
736
737     wrappers:
738         - opendaylight-infra-wrappers:
739             build-timeout: '{build-timeout}'
740
741     triggers:
742         - gerrit-trigger-patch-submitted:
743             name: '{project}'
744             branch: '{branch}'
745
746     builders:
747         - jacoco-nojava-workaround
748         - provide-maven-settings:
749             global-settings-file: 'odl-global-settings'
750             settings-file: '{mvn-settings}'
751         - maven-target:
752             maven-version: '{mvn-version}'
753             goals: '{mvn-goals} -V -B -Djenkins -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
754             java-opts:
755                 - '{mvn-opts}'
756             settings: '{mvn-settings}'
757             settings-type: cfp
758             global-settings: 'odl-global-settings'
759             global-settings-type: cfp
760
761     publishers:
762         - findbugs
763         - email-notification:
764             email-prefix: '[{project-name}]'
765         - jacoco-report
766         - opendaylight-infra-shiplogs:
767             maven-version: '{mvn-version}'