Scrub infra templates and macros of ecomp
[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       - infra-properties:
19           build-days-to-keep: '{build-days-to-keep}'
20
21     parameters:
22       - 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       - 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 #       - 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       - infra-properties:
82           build-days-to-keep: '{build-days-to-keep}'
83
84     parameters:
85       - 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       - 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 #       - 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       - infra-properties:
145           build-days-to-keep: '{build-days-to-keep}'
146
147     parameters:
148       - 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       - 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 #       - 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       - infra-properties:
204           build-days-to-keep: '{build-days-to-keep}'
205
206     parameters:
207       - 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       - 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       - infra-properties:
262           build-days-to-keep: '{build-days-to-keep}'
263
264     parameters:
265       - 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       - 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       - infra-properties:
335           build-days-to-keep: '{build-days-to-keep}'
336
337     parameters:
338       - 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       - 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       - infra-properties:
394           build-days-to-keep: '{build-days-to-keep}'
395
396     parameters:
397       - 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       - 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 #       - 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       - infra-properties:
455           build-days-to-keep: '{build-days-to-keep}'
456
457     parameters:
458       - 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       - 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 #       - 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       - infra-properties:
522           build-days-to-keep: '{build-days-to-keep}'
523
524     parameters:
525       - 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       - 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 #       - 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       - infra-properties:
575           build-days-to-keep: '{build-days-to-keep}'
576
577     parameters:
578       - 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       - 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       - infra-properties:
625           build-days-to-keep: '{build-days-to-keep}'
626
627     parameters:
628       - 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       - 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-java-version-shell-daily'
673     project-type: freestyle
674     node: 'ubuntu1604-docker-8c-8g'
675
676     properties:
677       - infra-properties:
678           build-days-to-keep: '{build-days-to-keep}'
679
680     parameters:
681       - 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       - 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-target:
728           maven-version: '{maven-version}'
729           goals: '{mvn-goals}'
730           settings: '{mvn-settings}'
731           settings-type: cfp
732           global-settings: 'global-settings'
733           global-settings-type: cfp
734
735       - shell: '{script}'
736
737 - job-template:
738     name: '{project-name}-{stream}-docker-version-java-daily'
739     project-type: freestyle
740     node: 'ubuntu1604-docker-8c-8g'
741
742     properties:
743       - infra-properties:
744           build-days-to-keep: '{build-days-to-keep}'
745
746     parameters:
747       - infra-parameters:
748           project: '{project}'
749           branch: '{branch}'
750           refspec: 'refs/heads/{branch}'
751           artifacts: '{archive-artifacts}'
752       - maven-exec:
753           maven-version: '{maven-version}'
754
755     scm:
756       - gerrit-trigger-scm:
757           refspec: ''
758           choosing-strategy: 'default'
759
760     wrappers:
761       - infra-wrappers:
762           build-timeout: '{build-timeout}'
763
764     triggers:
765       # 12 AM UTC
766       - timed: 'H 12 * * *'
767       - gerrit-trigger-release-manually:
768           server: '{server-name}'
769           project: '{project}'
770           branch: '{branch}'
771
772     builders:
773
774       - provide-maven-settings:
775           global-settings-file: 'global-settings'
776           settings-file: '{mvn-settings}'
777
778       - inject:
779           properties-file: version.properties
780
781       - maven-target:
782           maven-version: '{maven-version}'
783           goals: 'versions:set versions:update-child-modules versions:commit'
784           properties:
785             - 'newVersion=${{release_version}}'
786           settings: '{mvn-settings}'
787           settings-type: cfp
788           global-settings: 'global-settings'
789           global-settings-type: cfp
790
791       - docker-login
792
793       - maven-docker-push-daily:
794           maven-version: '{maven-version}'
795           mvn-settings: '{mvn-settings}'
796           pom: '{docker-pom}'
797           # use default as mvn-profile if profile is not needed
798           mvn-profile: '{mvn-profile}'
799
800 - job-template:
801     name: '{project-name}-{stream}-aai-docker-java-daily'
802     project-type: freestyle
803     node: 'ubuntu1604-docker-8c-8g'
804
805     properties:
806       - infra-properties:
807           build-days-to-keep: '{build-days-to-keep}'
808
809     parameters:
810       - infra-parameters:
811           project: '{project}'
812           branch: '{branch}'
813           refspec: 'refs/heads/{branch}'
814           artifacts: '{archive-artifacts}'
815       - maven-exec:
816           maven-version: '{maven-version}'
817
818     scm:
819       - gerrit-trigger-scm:
820           refspec: ''
821           choosing-strategy: 'default'
822
823     wrappers:
824       - infra-wrappers:
825           build-timeout: '{build-timeout}'
826
827     triggers:
828       # 12 AM UTC
829       - timed: 'H 12 * * *'
830       - gerrit-trigger-release-manually:
831           server: '{server-name}'
832           project: '{project}'
833           branch: '{branch}'
834
835     builders:
836
837       - provide-maven-settings:
838           global-settings-file: 'global-settings'
839           settings-file: '{mvn-settings}'
840
841       - docker-login
842
843       - maven-target:
844           maven-version: '{maven-version}'
845           pom: 'pom.xml'
846           goals: 'clean install -DskipTests'
847           settings: '{mvn-settings}'
848           settings-type: cfp
849           global-settings: 'global-settings'
850           global-settings-type: cfp
851
852       - maven-target:
853           maven-version: '{maven-version}'
854           pom: '{pom}'
855           goals: '{mvn-goals}'
856           settings: '{mvn-settings}'
857           settings-type: cfp
858           global-settings: 'global-settings'
859           global-settings-type: cfp
860           properties:
861             - maven.test.skip=true
862             - docker.pull.registry=nexus3.openecomp.org:10001
863             - docker.push.registry=nexus3.openecomp.org:10003
864
865       - shell: !include-raw-escape: include-docker-push.sh
866
867 - job-template:
868     # Job template for Java daily release jobs
869     #
870     # The purpose of this job template is to run
871     #   - change version in all POM files to the release version specified
872     #     in version.properties. This is done using a script instread of
873     #     the mvn version plugin that assumes some specific parent structure.
874     #   - runs maven clean deploy sonar
875     #
876     # The POM files are required to use the Maven staging plugin so the deploy
877     # does not deploy directly to the release repo.
878     #
879     # Required Variables:
880     #     branch:    git branch (eg. stable/lithium or master)
881     name: '{project-name}-{stream}-release-version2-java-daily'
882
883     project-type: freestyle
884     node: '{build-node}'
885     maven-deploy-properties:
886     properties:
887       - infra-properties:
888           build-days-to-keep: '{build-days-to-keep}'
889
890     parameters:
891       - infra-parameters:
892           project: '{project}'
893           branch: '{branch}'
894           refspec: 'refs/heads/{branch}'
895           artifacts: '{archive-artifacts}'
896       - maven-exec:
897           maven-version: '{maven-version}'
898
899     scm:
900       - gerrit-trigger-scm:
901           refspec: ''
902           choosing-strategy: 'default'
903
904     wrappers:
905       - infra-wrappers:
906           build-timeout: '{build-timeout}'
907
908     triggers:
909       # 11 AM UTC
910       - timed: 'H 11 * * *'
911       - gerrit-trigger-release-manually:
912           server: '{server-name}'
913           project: '{project}'
914           branch: '{branch}'
915
916     builders:
917       - provide-maven-settings:
918           global-settings-file: 'global-settings'
919           settings-file: '{mvn-settings}'
920       - maven-install:
921           maven-version: '{maven-version}'
922
923       - inject:
924           properties-file: version.properties
925
926       - shell: !include-raw-escape: include-update-pom-versions.sh
927
928       - maven-target:
929           maven-version: '{maven-version}'
930           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}}'
931           properties:
932             - '{maven-deploy-properties}'
933           settings: '{mvn-settings}'
934           settings-type: cfp
935           global-settings: 'global-settings'
936           global-settings-type: cfp
937
938 - job-template:
939     # Job template for Java daily release jobs
940     #
941     # The purpose of this job template is to run
942     #   - change version in all POM files to the release version specified
943     #     in version.properties. This is done using a script instread of
944     #     the mvn version plugin that assumes some specific parent structure.
945     #   - runs maven clean deploy sonar
946     #
947     # The POM files are required to use the Maven staging plugin so the deploy
948     # does not deploy directly to the release repo.
949     #
950     # Required Variables:
951     #     branch:    git branch (eg. stable/lithium or master)
952     #     pom:       name/location of the pom.xml file relative to the workspace
953     #     pattern:   ant file-path pattern relative to the workspace used to
954     #                trigger the job
955
956     name: '{project-name}-{stream}-{subproject}-release-version2-java-daily'
957
958     project-type: freestyle
959     node: '{build-node}'
960     maven-deploy-properties:
961     properties:
962       - infra-properties:
963           build-days-to-keep: '{build-days-to-keep}'
964
965     parameters:
966       - infra-parameters:
967           project: '{project}'
968           branch: '{branch}'
969           refspec: 'refs/heads/{branch}'
970           artifacts: '{archive-artifacts}'
971       - maven-exec:
972           maven-version: '{maven-version}'
973
974     scm:
975       - gerrit-trigger-scm:
976           refspec: ''
977           choosing-strategy: 'default'
978
979     wrappers:
980       - infra-wrappers:
981           build-timeout: '{build-timeout}'
982
983     triggers:
984       # 11 AM UTC
985       - timed: 'H 11 * * *'
986       - gerrit-trigger-release-manually:
987           server: '{server-name}'
988           project: '{project}'
989           branch: '{branch}'
990           files: '{pattern}'
991
992     builders:
993       - provide-maven-settings:
994           global-settings-file: 'global-settings'
995           settings-file: '{mvn-settings}'
996       - maven-install:
997           maven-version: '{maven-version}'
998
999       - inject:
1000           properties-file: version.properties
1001
1002       - shell: !include-raw-escape: include-update-pom-versions.sh
1003
1004       - maven-target:
1005           maven-version: '{maven-version}'
1006           pom: '{pom}'
1007           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}}'
1008           properties:
1009             - '{maven-deploy-properties}'
1010           settings: '{mvn-settings}'
1011           settings-type: cfp
1012           global-settings: 'global-settings'
1013           global-settings-type: cfp
1014
1015 - job-template:
1016     # Template for maven site plugin invocation
1017     #
1018     # It's designed to be triggered when the trigger-job job
1019     # succeeds as there's no need for new documentaiton
1020     # if the build job fails.
1021     #
1022     # Those parameters should be set :
1023     # - site-pom : the pom file that contains the site confiration
1024     # - trigger-job : the name of the project that triggers this job
1025     #                     upon success. The job name can be
1026     #                     parameterized.
1027     name: '{project-name}-{stream}-stage-site-java'
1028     project-type: freestyle
1029     node: '{build-node}'
1030
1031     properties:
1032       - infra-properties:
1033           build-days-to-keep: '{build-days-to-keep}'
1034
1035     parameters:
1036       - infra-parameters:
1037           project: '{project}'
1038           branch: '{branch}'
1039           refspec: 'refs/heads/{branch}'
1040           artifacts: '{archive-artifacts}'
1041       - maven-exec:
1042           maven-version: '{maven-version}'
1043
1044     scm:
1045       - gerrit-trigger-scm:
1046           refspec: ''
1047           choosing-strategy: 'default'
1048
1049     wrappers:
1050       - infra-wrappers:
1051           build-timeout: '{build-timeout}'
1052
1053     triggers:
1054       - trigger-on-build-success:
1055           job-name: '{trigger-job}'
1056
1057     builders:
1058       - provide-maven-settings:
1059           global-settings-file: 'global-settings'
1060           settings-file: '{mvn-settings}'
1061       - inject:
1062           properties-file: version.properties
1063       - maven-target:
1064           maven-version: '{maven-version}'
1065           goals: 'versions:set versions:update-child-modules versions:commit'
1066           properties:
1067             - 'newVersion=${{release_version}}'
1068           settings: '{mvn-settings}'
1069           settings-type: cfp
1070           global-settings: 'global-settings'
1071           global-settings-type: cfp
1072
1073       - maven-target:
1074           maven-version: '{maven-version}'
1075           pom: '{site-pom}'
1076           goals: 'clean site:site site:stage-deploy'
1077           settings: '{mvn-settings}'
1078           settings-type: cfp
1079           global-settings: 'global-settings'
1080           global-settings-type: cfp