5f2b0638a021f12746580e2d24d554387dff2bdc
[ci-management.git] / jjb / global-templates-java.yaml
1 ---
2 - job-template:
3     # Job template for Java verify jobs
4     #
5     # The purpose of this job template is to run "maven clean install" for
6     # projects using this template.
7     #
8     # Required Variables:
9     #     branch:    git branch (eg. stable/lithium or master)
10
11     name: '{project-name}-{stream}-verify-java-skip-tests'
12
13     project-type: freestyle
14     concurrent: true
15     node: '{build-node}'
16
17     properties:
18       - ecomp-infra-properties:
19           build-days-to-keep: '{build-days-to-keep}'
20
21     parameters:
22       - ecomp-infra-parameters:
23           project: '{project}'
24           branch: '{branch}'
25           refspec: 'refs/heads/{branch}'
26           artifacts: '{archive-artifacts}'
27       - maven-exec:
28           maven-version: '{maven-version}'
29
30     scm:
31       - gerrit-trigger-scm:
32           refspec: '$GERRIT_REFSPEC'
33           choosing-strategy: 'gerrit'
34
35     wrappers:
36       - ecomp-infra-wrappers:
37           build-timeout: '{build-timeout}'
38
39     triggers:
40       - gerrit-trigger-patch-submitted:
41           server: '{server-name}'
42           project: '{project}'
43           branch: '{branch}'
44           files: '**'
45
46     builders:
47       - provide-maven-settings:
48           global-settings-file: 'global-settings'
49           settings-file: '{mvn-settings}'
50       - maven-target:
51           maven-version: '{maven-version}'
52           goals: 'clean install -DskipTests=true'
53           settings: '{mvn-settings}'
54           settings-type: cfp
55           global-settings: 'global-settings'
56           global-settings-type: cfp
57           maven-opts:
58             - maven.test.skip=true
59
60 #     publishers:
61 #       - ecomp-infra-shiplogs:
62 #           maven-version: '{maven-version}'
63
64
65 - job-template:
66     # Job template for Java verify jobs
67     #
68     # The purpose of this job template is to run "maven clean install" for
69     # projects using this template.
70     #
71     # Required Variables:
72     #     branch:    git branch (eg. stable/lithium or master)
73
74     name: '{project-name}-{stream}-verify-java'
75
76     project-type: freestyle
77     concurrent: true
78     node: '{build-node}'
79
80     properties:
81       - ecomp-infra-properties:
82           build-days-to-keep: '{build-days-to-keep}'
83
84     parameters:
85       - ecomp-infra-parameters:
86           project: '{project}'
87           branch: '{branch}'
88           refspec: 'refs/heads/{branch}'
89           artifacts: '{archive-artifacts}'
90       - maven-exec:
91           maven-version: '{maven-version}'
92
93     scm:
94       - gerrit-trigger-scm:
95           refspec: '$GERRIT_REFSPEC'
96           choosing-strategy: 'gerrit'
97
98     wrappers:
99       - ecomp-infra-wrappers:
100           build-timeout: '{build-timeout}'
101
102     triggers:
103       - gerrit-trigger-patch-submitted:
104           server: '{server-name}'
105           project: '{project}'
106           branch: '{branch}'
107           files: '**'
108
109     builders:
110       - provide-maven-settings:
111           global-settings-file: 'global-settings'
112           settings-file: '{mvn-settings}'
113       - maven-target:
114           maven-version: '{maven-version}'
115           goals: 'clean install'
116           settings: '{mvn-settings}'
117           settings-type: cfp
118           global-settings: 'global-settings'
119           global-settings-type: cfp
120
121 #     publishers:
122 #       - ecomp-infra-shiplogs:
123 #           maven-version: '{maven-version}'
124
125 - job-template:
126     # Job template for Java verify jobs with POM not at the root
127     #
128     # The purpose of this job template is to run "maven clean install" for
129     # projects using this template.
130     #
131     # Required Variables:
132     #     branch:    git branch (eg. stable/lithium or master)
133     #     pom:       name/location of the pom.xml file relative to the workspace
134     #     pattern:   ant file-path pattern relative to the workspace used to
135     #                trigger the job
136
137     name: '{project-name}-{stream}-{subproject}-verify-java'
138
139     project-type: freestyle
140     concurrent: true
141     node: '{build-node}'
142
143     properties:
144       - ecomp-infra-properties:
145           build-days-to-keep: '{build-days-to-keep}'
146
147     parameters:
148       - ecomp-infra-parameters:
149           project: '{project}'
150           branch: '{branch}'
151           refspec: 'refs/heads/{branch}'
152           artifacts: '{archive-artifacts}'
153       - maven-exec:
154           maven-version: '{maven-version}'
155
156     scm:
157       - gerrit-trigger-scm:
158           refspec: '$GERRIT_REFSPEC'
159           choosing-strategy: 'gerrit'
160
161     wrappers:
162       - ecomp-infra-wrappers:
163           build-timeout: '{build-timeout}'
164
165     triggers:
166       - gerrit-trigger-patch-submitted:
167           server: '{server-name}'
168           project: '{project}'
169           branch: '{branch}'
170           files: '{pattern}'
171
172     builders:
173       - provide-maven-settings:
174           global-settings-file: 'global-settings'
175           settings-file: '{mvn-settings}'
176       - maven-target:
177           maven-version: '{maven-version}'
178           pom: '{pom}'
179           goals: 'clean install'
180           settings: '{mvn-settings}'
181           settings-type: cfp
182           global-settings: 'global-settings'
183           global-settings-type: cfp
184
185 #     publishers:
186 #       - ecomp-infra-shiplogs:
187 #           maven-version: '{maven-version}'
188
189 - job-template:
190     # Job template for Java daily release jobs
191     #
192     # The purpose of this job template is to run "maven version && maven clean
193     # deploy" for projects using this template.
194     #
195     # Required Variables:
196     #     branch:    git branch (eg. stable/lithium or master)
197     name: '{project-name}-{stream}-release-java-daily'
198
199     project-type: freestyle
200     node: '{build-node}'
201     maven-deploy-properties:
202     properties:
203       - ecomp-infra-properties:
204           build-days-to-keep: '{build-days-to-keep}'
205
206     parameters:
207       - ecomp-infra-parameters:
208           project: '{project}'
209           branch: '{branch}'
210           refspec: 'refs/heads/{branch}'
211           artifacts: '{archive-artifacts}'
212       - maven-exec:
213           maven-version: '{maven-version}'
214
215     scm:
216       - gerrit-trigger-scm:
217           refspec: ''
218           choosing-strategy: 'default'
219
220     wrappers:
221       - ecomp-infra-wrappers:
222           build-timeout: '{build-timeout}'
223
224     triggers:
225       # 11 AM UTC
226       - timed: 'H 11 * * *'
227       - gerrit-trigger-release-manually:
228           server: '{server-name}'
229           project: '{project}'
230           branch: '{branch}'
231
232     builders:
233       - provide-maven-settings:
234           global-settings-file: 'global-settings'
235           settings-file: '{mvn-settings}'
236
237       - maven-target:
238           maven-version: '{maven-version}'
239           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}}'
240           properties:
241             - '{maven-deploy-properties}'
242           settings: '{mvn-settings}'
243           settings-type: cfp
244           global-settings: 'global-settings'
245           global-settings-type: cfp
246
247 - job-template:
248     # Job template for Java daily release jobs
249     #
250     # The purpose of this job template is to run "maven version && maven clean
251     # deploy" for projects using this template.
252     #
253     # Required Variables:
254     #     branch:    git branch (eg. stable/lithium or master)
255     name: '{project-name}-{stream}-release-version-java-daily'
256
257     project-type: freestyle
258     node: '{build-node}'
259     maven-deploy-properties:
260     properties:
261       - ecomp-infra-properties:
262           build-days-to-keep: '{build-days-to-keep}'
263
264     parameters:
265       - ecomp-infra-parameters:
266           project: '{project}'
267           branch: '{branch}'
268           refspec: 'refs/heads/{branch}'
269           artifacts: '{archive-artifacts}'
270       - maven-exec:
271           maven-version: '{maven-version}'
272
273     scm:
274       - gerrit-trigger-scm:
275           refspec: ''
276           choosing-strategy: 'default'
277
278     wrappers:
279       - ecomp-infra-wrappers:
280           build-timeout: '{build-timeout}'
281
282     triggers:
283       # 11 AM UTC
284       - timed: 'H 11 * * *'
285       - gerrit-trigger-release-manually:
286           server: '{server-name}'
287           project: '{project}'
288           branch: '{branch}'
289
290     builders:
291       - provide-maven-settings:
292           global-settings-file: 'global-settings'
293           settings-file: '{mvn-settings}'
294
295       - inject:
296           properties-file: version.properties
297       - maven-target:
298           maven-version: '{maven-version}'
299           goals: 'versions:set versions:update-child-modules versions:commit'
300           properties:
301             - 'newVersion=${{release_version}}'
302           settings: '{mvn-settings}'
303           settings-type: cfp
304           global-settings: 'global-settings'
305           global-settings-type: cfp
306
307       - maven-target:
308           maven-version: '{maven-version}'
309           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}}'
310           properties:
311             - '{maven-deploy-properties}'
312           settings: '{mvn-settings}'
313           settings-type: cfp
314           global-settings: 'global-settings'
315           global-settings-type: cfp
316
317 - job-template:
318     # Job template for Java daily release jobs with POM not at the root
319     #
320     # The purpose of this job template is to run "maven version && maven clean
321     # deploy" for projects using this template.
322     #
323     # Required Variables:
324     #     branch:    git branch (eg. stable/lithium or master)
325     #     pom:       name/location of the pom.xml file relative to the workspace
326
327
328     name: '{project-name}-{stream}-{subproject}-release-java-daily'
329
330     project-type: freestyle
331     node: '{build-node}'
332     maven-deploy-properties:
333     properties:
334       - ecomp-infra-properties:
335           build-days-to-keep: '{build-days-to-keep}'
336
337     parameters:
338       - ecomp-infra-parameters:
339           project: '{project}'
340           branch: '{branch}'
341           refspec: 'refs/heads/{branch}'
342           artifacts: '{archive-artifacts}'
343       - maven-exec:
344           maven-version: '{maven-version}'
345
346     scm:
347       - gerrit-trigger-scm:
348           refspec: ''
349           choosing-strategy: 'default'
350
351     wrappers:
352       - ecomp-infra-wrappers:
353           build-timeout: '{build-timeout}'
354
355     triggers:
356       # 11 AM UTC
357       - timed: 'H 11 * * *'
358       - gerrit-trigger-release-manually:
359           server: '{server-name}'
360           project: '{project}'
361           branch: '{branch}'
362
363     builders:
364       - provide-maven-settings:
365           global-settings-file: 'global-settings'
366           settings-file: '{mvn-settings}'
367
368       - maven-target:
369           maven-version: '{maven-version}'
370           pom: '{pom}'
371           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}}'
372           properties:
373             - '{maven-deploy-properties}'
374           settings: '{mvn-settings}'
375           settings-type: cfp
376           global-settings: 'global-settings'
377           global-settings-type: cfp
378
379 - job-template:
380     # Job template for Java merge jobs
381     #
382     # The purpose of this job template is to run "maven clean deploy" for
383     # projects using this template.
384     #
385     # Required Variables:
386     #     branch:    git branch (eg. stable/lithium or master)
387     name: '{project-name}-{stream}-merge-java'
388
389     project-type: freestyle
390     node: '{build-node}'
391
392     properties:
393       - ecomp-infra-properties:
394           build-days-to-keep: '{build-days-to-keep}'
395
396     parameters:
397       - ecomp-infra-parameters:
398           project: '{project}'
399           branch: '{branch}'
400           refspec: 'refs/heads/{branch}'
401           artifacts: '{archive-artifacts}'
402       - maven-exec:
403           maven-version: '{maven-version}'
404
405     scm:
406       - gerrit-trigger-scm:
407           refspec: ''
408           choosing-strategy: 'default'
409
410     wrappers:
411       - ecomp-infra-wrappers:
412           build-timeout: '{build-timeout}'
413
414     triggers:
415       - gerrit-trigger-patch-merged:
416           server: '{server-name}'
417           project: '{project}'
418           branch: '{branch}'
419           files: '**'
420
421     builders:
422       - provide-maven-settings:
423           global-settings-file: 'global-settings'
424           settings-file: '{mvn-settings}'
425       - maven-target:
426           maven-version: '{maven-version}'
427           # yamllint disable rule:line-length
428           goals: 'clean deploy'
429           # yamllint enable
430           settings: '{mvn-settings}'
431           settings-type: cfp
432           global-settings: 'global-settings'
433           global-settings-type: cfp
434
435 #     publishers:
436 #       - ecomp-infra-shiplogs:
437 #           maven-version: '{maven-version}'
438
439 - job-template:
440     # Job template for Java merge jobs that should also be triggered by upstream
441     # merges
442     #
443     # Required Variables:
444     #   stream:         release stream
445     #   branch:         git branch
446     #   dependencies:   fully qualified upstream job name to trigger on
447     #                   this may be ''
448     name: '{project-name}-{stream}-downstream-merge-java'
449
450     project-type: freestyle
451     node: '{build-node}'
452
453     properties:
454       - ecomp-infra-properties:
455           build-days-to-keep: '{build-days-to-keep}'
456
457     parameters:
458       - ecomp-infra-parameters:
459           project: '{project}'
460           branch: '{branch}'
461           refspec: 'refs/heads/{branch}'
462           artifacts: '{archive-artifacts}'
463       - maven-exec:
464           maven-version: '{maven-version}'
465
466     scm:
467       - gerrit-trigger-scm:
468           refspec: ''
469           choosing-strategy: 'default'
470
471     wrappers:
472       - ecomp-infra-wrappers:
473           build-timeout: '{build-timeout}'
474
475     triggers:
476       - reverse:
477           jobs: '{dependencies}'
478           result: 'success'
479       - gerrit-trigger-patch-merged:
480           server: '{server-name}'
481           project: '{project}'
482           branch: '{branch}'
483           files: '**'
484
485     builders:
486       - provide-maven-settings:
487           global-settings-file: 'global-settings'
488           settings-file: '{mvn-settings}'
489       - maven-target:
490           maven-version: '{maven-version}'
491           # yamllint disable rule:line-length
492           goals: 'clean deploy'
493           # yamllint enable
494           settings: '{mvn-settings}'
495           settings-type: cfp
496           global-settings: 'global-settings'
497           global-settings-type: cfp
498
499 #     publishers:
500 #       - ecomp-infra-shiplogs:
501 #           maven-version: '{maven-version}'
502
503 - job-template:
504     # Job template for Java merge jobs with POM not at the root
505     #
506     # The purpose of this job template is to run "maven clean deploy" for
507     # projects using this template.
508     #
509     # Required Variables:
510     #     branch:    git branch (eg. stable/lithium or master)
511     #     pom:       name/location of the pom.xml file relative to the workspace
512     #     pattern:   ant file-path pattern relative to the workspace used to
513     #                trigger the job
514
515     name: '{project-name}-{stream}-{subproject}-merge-java'
516
517     project-type: freestyle
518     node: '{build-node}'
519
520     properties:
521       - ecomp-infra-properties:
522           build-days-to-keep: '{build-days-to-keep}'
523
524     parameters:
525       - ecomp-infra-parameters:
526           project: '{project}'
527           branch: '{branch}'
528           refspec: 'refs/heads/{branch}'
529           artifacts: '{archive-artifacts}'
530       - maven-exec:
531           maven-version: '{maven-version}'
532
533     scm:
534       - gerrit-trigger-scm:
535           refspec: ''
536           choosing-strategy: 'default'
537
538     wrappers:
539       - ecomp-infra-wrappers:
540           build-timeout: '{build-timeout}'
541
542     triggers:
543       - gerrit-trigger-patch-merged:
544           server: '{server-name}'
545           project: '{project}'
546           branch: '{branch}'
547           files: '{pattern}'
548
549     builders:
550       - provide-maven-settings:
551           global-settings-file: 'global-settings'
552           settings-file: '{mvn-settings}'
553       - maven-target:
554           maven-version: '{maven-version}'
555           pom: '{pom}'
556           # yamllint disable rule:line-length
557           goals: 'clean deploy'
558           # yamllint enable
559           settings: '{mvn-settings}'
560           settings-type: cfp
561           global-settings: 'global-settings'
562           global-settings-type: cfp
563
564 #     publishers:
565 #       - ecomp-infra-shiplogs:
566 #           maven-version: '{maven-version}'
567
568 - job-template:
569     name: '{project-name}-{stream}-docker-java-daily'
570     project-type: freestyle
571     node: 'ubuntu1604-docker-8c-8g'
572
573     properties:
574       - ecomp-infra-properties:
575           build-days-to-keep: '{build-days-to-keep}'
576
577     parameters:
578       - ecomp-infra-parameters:
579           project: '{project}'
580           branch: '{branch}'
581           refspec: 'refs/heads/{branch}'
582           artifacts: '{archive-artifacts}'
583       - maven-exec:
584           maven-version: '{maven-version}'
585
586     scm:
587       - gerrit-trigger-scm:
588           refspec: ''
589           choosing-strategy: 'default'
590
591     wrappers:
592       - ecomp-infra-wrappers:
593           build-timeout: '{build-timeout}'
594
595     triggers:
596       # 12 AM UTC
597       - timed: 'H 12 * * *'
598       - gerrit-trigger-release-manually:
599           server: '{server-name}'
600           project: '{project}'
601           branch: '{branch}'
602
603     builders:
604
605       - provide-maven-settings:
606           global-settings-file: 'global-settings'
607           settings-file: '{mvn-settings}'
608
609       - docker-login
610
611       - maven-docker-push-daily:
612           maven-version: '{maven-version}'
613           mvn-settings: '{mvn-settings}'
614           pom: '{docker-pom}'
615           # use default as mvn-profile if profile is not needed
616           mvn-profile: '{mvn-profile}'
617
618 - job-template:
619     name: '{project-name}-{stream}-docker-java-shell-daily'
620     project-type: freestyle
621     node: 'ubuntu1604-docker-8c-8g'
622
623     properties:
624       - ecomp-infra-properties:
625           build-days-to-keep: '{build-days-to-keep}'
626
627     parameters:
628       - ecomp-infra-parameters:
629           project: '{project}'
630           branch: '{branch}'
631           refspec: 'refs/heads/{branch}'
632           artifacts: '{archive-artifacts}'
633       - maven-exec:
634           maven-version: '{maven-version}'
635
636     scm:
637       - gerrit-trigger-scm:
638           refspec: ''
639           choosing-strategy: 'default'
640
641     wrappers:
642       - ecomp-infra-wrappers:
643           build-timeout: '{build-timeout}'
644
645     triggers:
646       # 12 AM UTC
647       - timed: 'H 12 * * *'
648       - gerrit-trigger-release-manually:
649           server: '{server-name}'
650           project: '{project}'
651           branch: '{branch}'
652
653     builders:
654
655       - provide-maven-settings:
656           global-settings-file: 'global-settings'
657           settings-file: '{mvn-settings}'
658
659       - docker-login
660
661       - maven-target:
662           maven-version: '{maven-version}'
663           goals: '{mvn-goals}'
664           settings: '{mvn-settings}'
665           settings-type: cfp
666           global-settings: 'global-settings'
667           global-settings-type: cfp
668
669       - shell: '{script}'
670
671 - job-template:
672     name: '{project-name}-{stream}-docker-version-java-daily'
673     project-type: freestyle
674     node: 'ubuntu1604-docker-8c-8g'
675
676     properties:
677       - ecomp-infra-properties:
678           build-days-to-keep: '{build-days-to-keep}'
679
680     parameters:
681       - ecomp-infra-parameters:
682           project: '{project}'
683           branch: '{branch}'
684           refspec: 'refs/heads/{branch}'
685           artifacts: '{archive-artifacts}'
686       - maven-exec:
687           maven-version: '{maven-version}'
688
689     scm:
690       - gerrit-trigger-scm:
691           refspec: ''
692           choosing-strategy: 'default'
693
694     wrappers:
695       - ecomp-infra-wrappers:
696           build-timeout: '{build-timeout}'
697
698     triggers:
699       # 12 AM UTC
700       - timed: 'H 12 * * *'
701       - gerrit-trigger-release-manually:
702           server: '{server-name}'
703           project: '{project}'
704           branch: '{branch}'
705
706     builders:
707
708       - provide-maven-settings:
709           global-settings-file: 'global-settings'
710           settings-file: '{mvn-settings}'
711
712       - inject:
713           properties-file: version.properties
714
715       - maven-target:
716           maven-version: '{maven-version}'
717           goals: 'versions:set versions:update-child-modules versions:commit'
718           properties:
719             - 'newVersion=${{release_version}}'
720           settings: '{mvn-settings}'
721           settings-type: cfp
722           global-settings: 'global-settings'
723           global-settings-type: cfp
724
725       - docker-login
726
727       - maven-docker-push-daily:
728           maven-version: '{maven-version}'
729           mvn-settings: '{mvn-settings}'
730           pom: '{docker-pom}'
731           # use default as mvn-profile if profile is not needed
732           mvn-profile: '{mvn-profile}'
733
734 - job-template:
735     name: '{project-name}-{stream}-aai-docker-java-daily'
736     project-type: freestyle
737     node: 'ubuntu1604-docker-8c-8g'
738
739     properties:
740       - ecomp-infra-properties:
741           build-days-to-keep: '{build-days-to-keep}'
742
743     parameters:
744       - ecomp-infra-parameters:
745           project: '{project}'
746           branch: '{branch}'
747           refspec: 'refs/heads/{branch}'
748           artifacts: '{archive-artifacts}'
749       - maven-exec:
750           maven-version: '{maven-version}'
751
752     scm:
753       - gerrit-trigger-scm:
754           refspec: ''
755           choosing-strategy: 'default'
756
757     wrappers:
758       - ecomp-infra-wrappers:
759           build-timeout: '{build-timeout}'
760
761     triggers:
762       # 12 AM UTC
763       - timed: 'H 12 * * *'
764       - gerrit-trigger-release-manually:
765           server: '{server-name}'
766           project: '{project}'
767           branch: '{branch}'
768
769     builders:
770
771       - provide-maven-settings:
772           global-settings-file: 'global-settings'
773           settings-file: '{mvn-settings}'
774
775       - docker-login
776
777       - maven-target:
778           maven-version: '{maven-version}'
779           pom: 'pom.xml'
780           goals: 'clean install -DskipTests'
781           settings: '{mvn-settings}'
782           settings-type: cfp
783           global-settings: 'global-settings'
784           global-settings-type: cfp
785
786       - maven-target:
787           maven-version: '{maven-version}'
788           pom: '{pom}'
789           goals: '{mvn-goals}'
790           settings: '{mvn-settings}'
791           settings-type: cfp
792           global-settings: 'global-settings'
793           global-settings-type: cfp
794           properties:
795             - maven.test.skip=true
796             - docker.pull.registry=nexus3.openecomp.org:10001
797             - docker.push.registry=nexus3.openecomp.org:10003
798
799       - shell: !include-raw-escape: include-docker-push.sh
800
801 - job-template:
802     # Job template for Java daily release jobs
803     #
804     # The purpose of this job template is to run
805     #   - change version in all POM files to the release version specified
806     #     in version.properties. This is done using a script instread of
807     #     the mvn version plugin that assumes some specific parent structure.
808     #   - runs maven clean deploy sonar
809     #
810     # The POM files are required to use the Maven staging plugin so the deploy
811     # does not deploy directly to the release repo.
812     #
813     # Required Variables:
814     #     branch:    git branch (eg. stable/lithium or master)
815     name: '{project-name}-{stream}-release-version2-java-daily'
816
817     project-type: freestyle
818     node: '{build-node}'
819     maven-deploy-properties:
820     properties:
821       - ecomp-infra-properties:
822           build-days-to-keep: '{build-days-to-keep}'
823
824     parameters:
825       - ecomp-infra-parameters:
826           project: '{project}'
827           branch: '{branch}'
828           refspec: 'refs/heads/{branch}'
829           artifacts: '{archive-artifacts}'
830       - maven-exec:
831           maven-version: '{maven-version}'
832
833     scm:
834       - gerrit-trigger-scm:
835           refspec: ''
836           choosing-strategy: 'default'
837
838     wrappers:
839       - ecomp-infra-wrappers:
840           build-timeout: '{build-timeout}'
841
842     triggers:
843       # 11 AM UTC
844       - timed: 'H 11 * * *'
845       - gerrit-trigger-release-manually:
846           server: '{server-name}'
847           project: '{project}'
848           branch: '{branch}'
849
850     builders:
851       - provide-maven-settings:
852           global-settings-file: 'global-settings'
853           settings-file: '{mvn-settings}'
854       - maven-install:
855           maven-version: '{maven-version}'
856
857       - inject:
858           properties-file: version.properties
859
860       - shell: !include-raw-escape: include-update-pom-versions.sh
861
862       - maven-target:
863           maven-version: '{maven-version}'
864           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}}'
865           properties:
866             - '{maven-deploy-properties}'
867           settings: '{mvn-settings}'
868           settings-type: cfp
869           global-settings: 'global-settings'
870           global-settings-type: cfp
871
872 - job-template:
873     # Job template for Java daily release jobs
874     #
875     # The purpose of this job template is to run
876     #   - change version in all POM files to the release version specified
877     #     in version.properties. This is done using a script instread of
878     #     the mvn version plugin that assumes some specific parent structure.
879     #   - runs maven clean deploy sonar
880     #
881     # The POM files are required to use the Maven staging plugin so the deploy
882     # does not deploy directly to the release repo.
883     #
884     # Required Variables:
885     #     branch:    git branch (eg. stable/lithium or master)
886     #     pom:       name/location of the pom.xml file relative to the workspace
887     #     pattern:   ant file-path pattern relative to the workspace used to
888     #                trigger the job
889
890     name: '{project-name}-{stream}-{subproject}-release-version2-java-daily'
891
892     project-type: freestyle
893     node: '{build-node}'
894     maven-deploy-properties:
895     properties:
896       - ecomp-infra-properties:
897           build-days-to-keep: '{build-days-to-keep}'
898
899     parameters:
900       - ecomp-infra-parameters:
901           project: '{project}'
902           branch: '{branch}'
903           refspec: 'refs/heads/{branch}'
904           artifacts: '{archive-artifacts}'
905       - maven-exec:
906           maven-version: '{maven-version}'
907
908     scm:
909       - gerrit-trigger-scm:
910           refspec: ''
911           choosing-strategy: 'default'
912
913     wrappers:
914       - ecomp-infra-wrappers:
915           build-timeout: '{build-timeout}'
916
917     triggers:
918       # 11 AM UTC
919       - timed: 'H 11 * * *'
920       - gerrit-trigger-release-manually:
921           server: '{server-name}'
922           project: '{project}'
923           branch: '{branch}'
924           files: '{pattern}'
925
926     builders:
927       - provide-maven-settings:
928           global-settings-file: 'global-settings'
929           settings-file: '{mvn-settings}'
930       - maven-install:
931           maven-version: '{maven-version}'
932
933       - inject:
934           properties-file: version.properties
935
936       - shell: !include-raw-escape: include-update-pom-versions.sh
937
938       - maven-target:
939           maven-version: '{maven-version}'
940           pom: '{pom}'
941           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}}'
942           properties:
943             - '{maven-deploy-properties}'
944           settings: '{mvn-settings}'
945           settings-type: cfp
946           global-settings: 'global-settings'
947           global-settings-type: cfp
948
949 - job-template:
950     # Template for maven site plugin invocation
951     #
952     # It's designed to be triggered when the trigger-job job
953     # succeeds as there's no need for new documentaiton
954     # if the build job fails.
955     #
956     # Those parameters should be set :
957     # - site-pom : the pom file that contains the site confiration
958     # - trigger-job : the name of the project that triggers this job
959     #                     upon success. The job name can be
960     #                     parameterized.
961     name: '{project-name}-{stream}-stage-site-java'
962     project-type: freestyle
963     node: '{build-node}'
964
965     properties:
966       - ecomp-infra-properties:
967           build-days-to-keep: '{build-days-to-keep}'
968
969     parameters:
970       - ecomp-infra-parameters:
971           project: '{project}'
972           branch: '{branch}'
973           refspec: 'refs/heads/{branch}'
974           artifacts: '{archive-artifacts}'
975       - maven-exec:
976           maven-version: '{maven-version}'
977
978     scm:
979       - gerrit-trigger-scm:
980           refspec: ''
981           choosing-strategy: 'default'
982
983     wrappers:
984       - ecomp-infra-wrappers:
985           build-timeout: '{build-timeout}'
986
987     triggers:
988       - trigger-on-build-success:
989           job-name: '{trigger-job}'
990
991     builders:
992       - provide-maven-settings:
993           global-settings-file: 'global-settings'
994           settings-file: '{mvn-settings}'
995       - inject:
996           properties-file: version.properties
997       - maven-target:
998           maven-version: '{maven-version}'
999           goals: 'versions:set versions:update-child-modules versions:commit'
1000           properties:
1001             - 'newVersion=${{release_version}}'
1002           settings: '{mvn-settings}'
1003           settings-type: cfp
1004           global-settings: 'global-settings'
1005           global-settings-type: cfp
1006
1007       - maven-target:
1008           maven-version: '{maven-version}'
1009           pom: '{site-pom}'
1010           goals: 'clean site:site site:stage-deploy'
1011           settings: '{mvn-settings}'
1012           settings-type: cfp
1013           global-settings: 'global-settings'
1014           global-settings-type: cfp