Merge "Add the common resources and resources jobs"
[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 -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
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 - job-template:
65     # Job template for Java verify jobs
66     #
67     # The purpose of this job template is to run "maven clean install" for
68     # projects using this template.
69     #
70     # Required Variables:
71     #     branch:    git branch (eg. stable/lithium or master)
72
73     name: '{project-name}-{stream}-verify-java'
74
75     project-type: freestyle
76     concurrent: true
77     node: '{build-node}'
78
79     properties:
80       - infra-properties:
81           build-days-to-keep: '{build-days-to-keep}'
82
83     parameters:
84       - infra-parameters:
85           project: '{project}'
86           branch: '{branch}'
87           refspec: 'refs/heads/{branch}'
88           artifacts: '{archive-artifacts}'
89       - maven-exec:
90           maven-version: '{maven-version}'
91
92     scm:
93       - gerrit-trigger-scm:
94           refspec: '$GERRIT_REFSPEC'
95           choosing-strategy: 'gerrit'
96
97     wrappers:
98       - infra-wrappers:
99           build-timeout: '{build-timeout}'
100
101     triggers:
102       - gerrit-trigger-patch-submitted:
103           server: '{server-name}'
104           project: '{project}'
105           branch: '{branch}'
106           files: '**'
107
108     builders:
109       - provide-maven-settings:
110           global-settings-file: 'global-settings'
111           settings-file: '{mvn-settings}'
112       - maven-target:
113           maven-version: '{maven-version}'
114           goals: 'clean install -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
115           settings: '{mvn-settings}'
116           settings-type: cfp
117           global-settings: 'global-settings'
118           global-settings-type: cfp
119
120     publishers:
121       - infra-shiplogs:
122           maven-version: '{maven-version}'
123
124 - job-template:
125     # Job template for Java verify jobs that takes a maven template
126     #
127     # The purpose of this job template is to run "maven clean install -P {x}"
128     # for projects using this template.
129     #
130     # Required Variables:
131     #     branch:    git branch (eg. stable/lithium or master)
132
133     name: '{project-name}-{stream}-verify-profile-java'
134
135     project-type: freestyle
136     concurrent: true
137     node: '{build-node}'
138
139     properties:
140       - infra-properties:
141           build-days-to-keep: '{build-days-to-keep}'
142
143     parameters:
144       - infra-parameters:
145           project: '{project}'
146           branch: '{branch}'
147           refspec: 'refs/heads/{branch}'
148           artifacts: '{archive-artifacts}'
149       - maven-exec:
150           maven-version: '{maven-version}'
151
152     scm:
153       - gerrit-trigger-scm:
154           refspec: '$GERRIT_REFSPEC'
155           choosing-strategy: 'gerrit'
156
157     wrappers:
158       - infra-wrappers:
159           build-timeout: '{build-timeout}'
160
161     triggers:
162       - gerrit-trigger-patch-submitted:
163           server: '{server-name}'
164           project: '{project}'
165           branch: '{branch}'
166           files: '**'
167
168     builders:
169       - provide-maven-settings:
170           global-settings-file: 'global-settings'
171           settings-file: '{mvn-settings}'
172       - maven-target:
173           maven-version: '{maven-version}'
174           goals: 'clean install -P {mvn-profile} -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
175           settings: '{mvn-settings}'
176           settings-type: cfp
177           global-settings: 'global-settings'
178           global-settings-type: cfp
179
180     publishers:
181       - infra-shiplogs:
182           maven-version: '{maven-version}'
183
184 - job-template:
185     # Job template for Java verify jobs with POM not at the root
186     #
187     # The purpose of this job template is to run "maven clean install" for
188     # projects using this template.
189     #
190     # Required Variables:
191     #     branch:    git branch (eg. stable/lithium or master)
192     #     pom:       name/location of the pom.xml file relative to the workspace
193     #     pattern:   ant file-path pattern relative to the workspace used to
194     #                trigger the job
195
196     name: '{project-name}-{stream}-{subproject}-verify-java'
197
198     project-type: freestyle
199     concurrent: true
200     node: '{build-node}'
201
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: '$GERRIT_REFSPEC'
218           choosing-strategy: 'gerrit'
219
220     wrappers:
221       - infra-wrappers:
222           build-timeout: '{build-timeout}'
223
224     triggers:
225       - gerrit-trigger-patch-submitted:
226           server: '{server-name}'
227           project: '{project}'
228           branch: '{branch}'
229           files: '{pattern}'
230
231     builders:
232       - provide-maven-settings:
233           global-settings-file: 'global-settings'
234           settings-file: '{mvn-settings}'
235       - maven-target:
236           maven-version: '{maven-version}'
237           pom: '{pom}'
238           goals: 'clean install -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
239           settings: '{mvn-settings}'
240           settings-type: cfp
241           global-settings: 'global-settings'
242           global-settings-type: cfp
243
244     publishers:
245       - infra-shiplogs:
246           maven-version: '{maven-version}'
247
248 - job-template:
249     # Job template for Java daily release jobs
250     #
251     # The purpose of this job template is to run "maven version && maven clean
252     # deploy" for projects using this template.
253     #
254     # Required Variables:
255     #     branch:    git branch (eg. stable/lithium or master)
256     name: '{project-name}-{stream}-release-java-daily'
257
258     project-type: freestyle
259     node: '{build-node}'
260     maven-deploy-properties:
261     properties:
262       - infra-properties:
263           build-days-to-keep: '{build-days-to-keep}'
264
265     parameters:
266       - infra-parameters:
267           project: '{project}'
268           branch: '{branch}'
269           refspec: 'refs/heads/{branch}'
270           artifacts: '{archive-artifacts}'
271       - maven-exec:
272           maven-version: '{maven-version}'
273
274     scm:
275       - gerrit-trigger-scm:
276           refspec: ''
277           choosing-strategy: 'default'
278
279     wrappers:
280       - infra-wrappers:
281           build-timeout: '{build-timeout}'
282
283     triggers:
284       # 11 AM UTC
285       - timed: 'H 11 * * *'
286       - gerrit-trigger-release-manually:
287           server: '{server-name}'
288           project: '{project}'
289           branch: '{branch}'
290
291     builders:
292       - provide-maven-settings:
293           global-settings-file: 'global-settings'
294           settings-file: '{mvn-settings}'
295
296       - maven-target:
297           maven-version: '{maven-version}'
298           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
299           properties:
300             - '{maven-deploy-properties}'
301           settings: '{mvn-settings}'
302           settings-type: cfp
303           global-settings: 'global-settings'
304           global-settings-type: cfp
305
306     publishers:
307       - infra-shiplogs:
308           maven-version: '{maven-version}'
309
310 - job-template:
311     # Job template for Java daily release jobs
312     #
313     # The purpose of this job template is to run "maven version && maven clean
314     # deploy" for projects using this template.
315     #
316     # Required Variables:
317     #     branch:    git branch (eg. stable/lithium or master)
318     name: '{project-name}-{stream}-release-version-java-daily'
319
320     project-type: freestyle
321     node: '{build-node}'
322     maven-deploy-properties:
323     properties:
324       - infra-properties:
325           build-days-to-keep: '{build-days-to-keep}'
326
327     parameters:
328       - infra-parameters:
329           project: '{project}'
330           branch: '{branch}'
331           refspec: 'refs/heads/{branch}'
332           artifacts: '{archive-artifacts}'
333       - maven-exec:
334           maven-version: '{maven-version}'
335
336     scm:
337       - gerrit-trigger-scm:
338           refspec: ''
339           choosing-strategy: 'default'
340
341     wrappers:
342       - infra-wrappers:
343           build-timeout: '{build-timeout}'
344
345     triggers:
346       # 11 AM UTC
347       - timed: 'H 11 * * *'
348       - gerrit-trigger-release-manually:
349           server: '{server-name}'
350           project: '{project}'
351           branch: '{branch}'
352
353     builders:
354       - provide-maven-settings:
355           global-settings-file: 'global-settings'
356           settings-file: '{mvn-settings}'
357
358       - inject:
359           properties-file: version.properties
360       - maven-target:
361           maven-version: '{maven-version}'
362           goals: 'versions:set versions:update-child-modules versions:commit'
363           properties:
364             - 'newVersion=${{release_version}}'
365           settings: '{mvn-settings}'
366           settings-type: cfp
367           global-settings: 'global-settings'
368           global-settings-type: cfp
369
370       - maven-target:
371           maven-version: '{maven-version}'
372           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
373           properties:
374             - '{maven-deploy-properties}'
375           settings: '{mvn-settings}'
376           settings-type: cfp
377           global-settings: 'global-settings'
378           global-settings-type: cfp
379
380     publishers:
381       - infra-shiplogs:
382           maven-version: '{maven-version}'
383
384 - job-template:
385     # Job template for Java daily release jobs with POM not at the root
386     #
387     # The purpose of this job template is to run "maven version && maven clean
388     # deploy" for projects using this template.
389     #
390     # Required Variables:
391     #     branch:    git branch (eg. stable/lithium or master)
392     #     pom:       name/location of the pom.xml file relative to the workspace
393
394
395     name: '{project-name}-{stream}-{subproject}-release-java-daily'
396
397     project-type: freestyle
398     node: '{build-node}'
399     maven-deploy-properties:
400     properties:
401       - infra-properties:
402           build-days-to-keep: '{build-days-to-keep}'
403
404     parameters:
405       - infra-parameters:
406           project: '{project}'
407           branch: '{branch}'
408           refspec: 'refs/heads/{branch}'
409           artifacts: '{archive-artifacts}'
410       - maven-exec:
411           maven-version: '{maven-version}'
412
413     scm:
414       - gerrit-trigger-scm:
415           refspec: ''
416           choosing-strategy: 'default'
417
418     wrappers:
419       - infra-wrappers:
420           build-timeout: '{build-timeout}'
421
422     triggers:
423       # 11 AM UTC
424       - timed: 'H 11 * * *'
425       - gerrit-trigger-release-manually:
426           server: '{server-name}'
427           project: '{project}'
428           branch: '{branch}'
429
430     builders:
431       - provide-maven-settings:
432           global-settings-file: 'global-settings'
433           settings-file: '{mvn-settings}'
434
435       - maven-target:
436           maven-version: '{maven-version}'
437           pom: '{pom}'
438           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
439           properties:
440             - '{maven-deploy-properties}'
441           settings: '{mvn-settings}'
442           settings-type: cfp
443           global-settings: 'global-settings'
444           global-settings-type: cfp
445
446     publishers:
447       - infra-shiplogs:
448           maven-version: '{maven-version}'
449
450 - job-template:
451     # Job template for Java merge jobs
452     #
453     # The purpose of this job template is to run "maven clean deploy" for
454     # projects using this template.
455     #
456     # Required Variables:
457     #     branch:    git branch (eg. stable/lithium or master)
458     name: '{project-name}-{stream}-merge-java'
459
460     project-type: freestyle
461     node: '{build-node}'
462
463     properties:
464       - infra-properties:
465           build-days-to-keep: '{build-days-to-keep}'
466
467     parameters:
468       - infra-parameters:
469           project: '{project}'
470           branch: '{branch}'
471           refspec: 'refs/heads/{branch}'
472           artifacts: '{archive-artifacts}'
473       - maven-exec:
474           maven-version: '{maven-version}'
475
476     scm:
477       - gerrit-trigger-scm:
478           refspec: ''
479           choosing-strategy: 'default'
480
481     wrappers:
482       - infra-wrappers:
483           build-timeout: '{build-timeout}'
484
485     triggers:
486       - gerrit-trigger-patch-merged:
487           server: '{server-name}'
488           project: '{project}'
489           branch: '{branch}'
490           files: '**'
491
492     builders:
493       - provide-maven-settings:
494           global-settings-file: 'global-settings'
495           settings-file: '{mvn-settings}'
496       - maven-target:
497           maven-version: '{maven-version}'
498           # yamllint disable rule:line-length
499           goals: 'clean deploy -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
500           # yamllint enable
501           settings: '{mvn-settings}'
502           settings-type: cfp
503           global-settings: 'global-settings'
504           global-settings-type: cfp
505
506     publishers:
507       - infra-shiplogs:
508           maven-version: '{maven-version}'
509
510 - job-template:
511     # Job template for Java merge jobs that takes a maven template
512     #
513     # The purpose of this job template is to run "maven clean deploy -P {x}"
514     # for projects using this template.
515     #
516     # Required Variables:
517     #     branch:    git branch (eg. stable/lithium or master)
518     name: '{project-name}-{stream}-merge-profile-java'
519
520     project-type: freestyle
521     node: '{build-node}'
522
523     properties:
524       - infra-properties:
525           build-days-to-keep: '{build-days-to-keep}'
526
527     parameters:
528       - infra-parameters:
529           project: '{project}'
530           branch: '{branch}'
531           refspec: 'refs/heads/{branch}'
532           artifacts: '{archive-artifacts}'
533       - maven-exec:
534           maven-version: '{maven-version}'
535
536     scm:
537       - gerrit-trigger-scm:
538           refspec: ''
539           choosing-strategy: 'default'
540
541     wrappers:
542       - infra-wrappers:
543           build-timeout: '{build-timeout}'
544
545     triggers:
546       - gerrit-trigger-patch-merged:
547           server: '{server-name}'
548           project: '{project}'
549           branch: '{branch}'
550           files: '**'
551
552     builders:
553       - provide-maven-settings:
554           global-settings-file: 'global-settings'
555           settings-file: '{mvn-settings}'
556
557       - docker-login
558
559       - maven-target:
560           maven-version: '{maven-version}'
561           # yamllint disable rule:line-length
562           goals: 'clean deploy -P {mvn-profile} -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
563           # yamllint enable
564           settings: '{mvn-settings}'
565           settings-type: cfp
566           global-settings: 'global-settings'
567           global-settings-type: cfp
568           properties:
569             - docker.pull.registry=nexus3.onap.org:10001
570             - docker.push.registry=nexus3.onap.org:10003
571
572     publishers:
573       - infra-shiplogs:
574           maven-version: '{maven-version}'
575
576 - job-template:
577     # Job template for Java merge jobs that should also be triggered by upstream
578     # merges
579     #
580     # Required Variables:
581     #   stream:         release stream
582     #   branch:         git branch
583     #   dependencies:   fully qualified upstream job name to trigger on
584     #                   this may be ''
585     name: '{project-name}-{stream}-downstream-merge-java'
586
587     project-type: freestyle
588     node: '{build-node}'
589
590     properties:
591       - infra-properties:
592           build-days-to-keep: '{build-days-to-keep}'
593
594     parameters:
595       - infra-parameters:
596           project: '{project}'
597           branch: '{branch}'
598           refspec: 'refs/heads/{branch}'
599           artifacts: '{archive-artifacts}'
600       - maven-exec:
601           maven-version: '{maven-version}'
602
603     scm:
604       - gerrit-trigger-scm:
605           refspec: ''
606           choosing-strategy: 'default'
607
608     wrappers:
609       - infra-wrappers:
610           build-timeout: '{build-timeout}'
611
612     triggers:
613       - reverse:
614           jobs: '{dependencies}'
615           result: 'success'
616       - gerrit-trigger-patch-merged:
617           server: '{server-name}'
618           project: '{project}'
619           branch: '{branch}'
620           files: '**'
621
622     builders:
623       - provide-maven-settings:
624           global-settings-file: 'global-settings'
625           settings-file: '{mvn-settings}'
626       - maven-target:
627           maven-version: '{maven-version}'
628           # yamllint disable rule:line-length
629           goals: 'clean deploy -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
630           # yamllint enable
631           settings: '{mvn-settings}'
632           settings-type: cfp
633           global-settings: 'global-settings'
634           global-settings-type: cfp
635
636     publishers:
637       - infra-shiplogs:
638           maven-version: '{maven-version}'
639
640 - job-template:
641     # Job template for Java merge jobs with POM not at the root
642     #
643     # The purpose of this job template is to run "maven clean deploy" for
644     # projects using this template.
645     #
646     # Required Variables:
647     #     branch:    git branch (eg. stable/lithium or master)
648     #     pom:       name/location of the pom.xml file relative to the workspace
649     #     pattern:   ant file-path pattern relative to the workspace used to
650     #                trigger the job
651
652     name: '{project-name}-{stream}-{subproject}-merge-java'
653
654     project-type: freestyle
655     node: '{build-node}'
656
657     properties:
658       - infra-properties:
659           build-days-to-keep: '{build-days-to-keep}'
660
661     parameters:
662       - infra-parameters:
663           project: '{project}'
664           branch: '{branch}'
665           refspec: 'refs/heads/{branch}'
666           artifacts: '{archive-artifacts}'
667       - maven-exec:
668           maven-version: '{maven-version}'
669
670     scm:
671       - gerrit-trigger-scm:
672           refspec: ''
673           choosing-strategy: 'default'
674
675     wrappers:
676       - infra-wrappers:
677           build-timeout: '{build-timeout}'
678
679     triggers:
680       - gerrit-trigger-patch-merged:
681           server: '{server-name}'
682           project: '{project}'
683           branch: '{branch}'
684           files: '{pattern}'
685
686     builders:
687       - provide-maven-settings:
688           global-settings-file: 'global-settings'
689           settings-file: '{mvn-settings}'
690       - maven-target:
691           maven-version: '{maven-version}'
692           pom: '{pom}'
693           # yamllint disable rule:line-length
694           goals: 'clean deploy -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
695           # yamllint enable
696           settings: '{mvn-settings}'
697           settings-type: cfp
698           global-settings: 'global-settings'
699           global-settings-type: cfp
700
701     publishers:
702       - infra-shiplogs:
703           maven-version: '{maven-version}'
704
705 - job-template:
706     name: '{project-name}-{stream}-docker-java-daily'
707     project-type: freestyle
708     node: 'ubuntu1604-docker-8c-8g'
709
710     properties:
711       - infra-properties:
712           build-days-to-keep: '{build-days-to-keep}'
713
714     parameters:
715       - infra-parameters:
716           project: '{project}'
717           branch: '{branch}'
718           refspec: 'refs/heads/{branch}'
719           artifacts: '{archive-artifacts}'
720       - maven-exec:
721           maven-version: '{maven-version}'
722
723     scm:
724       - gerrit-trigger-scm:
725           refspec: ''
726           choosing-strategy: 'default'
727
728     wrappers:
729       - infra-wrappers:
730           build-timeout: '{build-timeout}'
731
732     triggers:
733       # 12 AM UTC
734       - timed: 'H 12 * * *'
735       - gerrit-trigger-release-manually:
736           server: '{server-name}'
737           project: '{project}'
738           branch: '{branch}'
739
740     builders:
741
742       - provide-maven-settings:
743           global-settings-file: 'global-settings'
744           settings-file: '{mvn-settings}'
745
746       - docker-login
747
748       - maven-docker-push-daily:
749           maven-version: '{maven-version}'
750           mvn-settings: '{mvn-settings}'
751           pom: '{docker-pom}'
752           # use default as mvn-profile if profile is not needed
753           mvn-profile: '{mvn-profile}'
754
755     publishers:
756       - infra-shiplogs:
757           maven-version: '{maven-version}'
758
759 - job-template:
760     name: '{project-name}-{stream}-docker-java-shell-daily'
761     project-type: freestyle
762     node: 'ubuntu1604-docker-8c-8g'
763
764     properties:
765       - infra-properties:
766           build-days-to-keep: '{build-days-to-keep}'
767
768     parameters:
769       - infra-parameters:
770           project: '{project}'
771           branch: '{branch}'
772           refspec: 'refs/heads/{branch}'
773           artifacts: '{archive-artifacts}'
774       - maven-exec:
775           maven-version: '{maven-version}'
776
777     scm:
778       - gerrit-trigger-scm:
779           refspec: ''
780           choosing-strategy: 'default'
781
782     wrappers:
783       - infra-wrappers:
784           build-timeout: '{build-timeout}'
785
786     triggers:
787       # 12 AM UTC
788       - timed: 'H 12 * * *'
789       - gerrit-trigger-release-manually:
790           server: '{server-name}'
791           project: '{project}'
792           branch: '{branch}'
793
794     builders:
795
796       - provide-maven-settings:
797           global-settings-file: 'global-settings'
798           settings-file: '{mvn-settings}'
799
800       - docker-login
801
802       - maven-target:
803           maven-version: '{maven-version}'
804           goals: '{mvn-goals}'
805           settings: '{mvn-settings}'
806           settings-type: cfp
807           global-settings: 'global-settings'
808           global-settings-type: cfp
809
810       - shell: '{script}'
811
812     publishers:
813       - infra-shiplogs:
814           maven-version: '{maven-version}'
815
816 - job-template:
817     name: '{project-name}-{stream}-docker-java-version-shell-daily'
818     project-type: freestyle
819     node: 'ubuntu1604-docker-8c-8g'
820
821     properties:
822       - infra-properties:
823           build-days-to-keep: '{build-days-to-keep}'
824
825     parameters:
826       - infra-parameters:
827           project: '{project}'
828           branch: '{branch}'
829           refspec: 'refs/heads/{branch}'
830           artifacts: '{archive-artifacts}'
831       - maven-exec:
832           maven-version: '{maven-version}'
833
834     scm:
835       - gerrit-trigger-scm:
836           refspec: ''
837           choosing-strategy: 'default'
838
839     wrappers:
840       - infra-wrappers:
841           build-timeout: '{build-timeout}'
842
843     triggers:
844       # 12 AM UTC
845       - timed: 'H 12 * * *'
846       - gerrit-trigger-release-manually:
847           server: '{server-name}'
848           project: '{project}'
849           branch: '{branch}'
850
851     builders:
852
853       - provide-maven-settings:
854           global-settings-file: 'global-settings'
855           settings-file: '{mvn-settings}'
856
857       - inject:
858           properties-file: version.properties
859
860       - maven-target:
861           maven-version: '{maven-version}'
862           goals: 'versions:set versions:update-child-modules versions:commit'
863           properties:
864             - 'newVersion=${{release_version}}'
865           settings: '{mvn-settings}'
866           settings-type: cfp
867           global-settings: 'global-settings'
868           global-settings-type: cfp
869
870       - docker-login
871
872       - maven-target:
873           maven-version: '{maven-version}'
874           goals: '{mvn-goals}'
875           settings: '{mvn-settings}'
876           settings-type: cfp
877           global-settings: 'global-settings'
878           global-settings-type: cfp
879
880       - shell: '{script}'
881
882     publishers:
883       - infra-shiplogs:
884           maven-version: '{maven-version}'
885
886 - job-template:
887     name: '{project-name}-{stream}-docker-version-java-daily'
888     project-type: freestyle
889     node: 'ubuntu1604-docker-8c-8g'
890
891     properties:
892       - infra-properties:
893           build-days-to-keep: '{build-days-to-keep}'
894
895     parameters:
896       - infra-parameters:
897           project: '{project}'
898           branch: '{branch}'
899           refspec: 'refs/heads/{branch}'
900           artifacts: '{archive-artifacts}'
901       - maven-exec:
902           maven-version: '{maven-version}'
903
904     scm:
905       - gerrit-trigger-scm:
906           refspec: ''
907           choosing-strategy: 'default'
908
909     wrappers:
910       - infra-wrappers:
911           build-timeout: '{build-timeout}'
912
913     triggers:
914       # 12 AM UTC
915       - timed: 'H 12 * * *'
916       - gerrit-trigger-release-manually:
917           server: '{server-name}'
918           project: '{project}'
919           branch: '{branch}'
920
921     builders:
922
923       - provide-maven-settings:
924           global-settings-file: 'global-settings'
925           settings-file: '{mvn-settings}'
926
927       - inject:
928           properties-file: version.properties
929
930       - maven-target:
931           maven-version: '{maven-version}'
932           goals: 'versions:set versions:update-child-modules versions:commit'
933           properties:
934             - 'newVersion=${{release_version}}'
935           settings: '{mvn-settings}'
936           settings-type: cfp
937           global-settings: 'global-settings'
938           global-settings-type: cfp
939
940       - docker-login
941
942       - maven-docker-push-daily:
943           maven-version: '{maven-version}'
944           mvn-settings: '{mvn-settings}'
945           pom: '{docker-pom}'
946           # use default as mvn-profile if profile is not needed
947           mvn-profile: '{mvn-profile}'
948
949     publishers:
950       - infra-shiplogs:
951           maven-version: '{maven-version}'
952
953 - job-template:
954     name: '{project-name}-{stream}-aai-docker-java-daily'
955     project-type: freestyle
956     node: 'ubuntu1604-docker-8c-8g'
957
958     properties:
959       - infra-properties:
960           build-days-to-keep: '{build-days-to-keep}'
961
962     parameters:
963       - infra-parameters:
964           project: '{project}'
965           branch: '{branch}'
966           refspec: 'refs/heads/{branch}'
967           artifacts: '{archive-artifacts}'
968       - maven-exec:
969           maven-version: '{maven-version}'
970
971     scm:
972       - gerrit-trigger-scm:
973           refspec: ''
974           choosing-strategy: 'default'
975
976     wrappers:
977       - infra-wrappers:
978           build-timeout: '{build-timeout}'
979
980     triggers:
981       # 12 AM UTC
982       - timed: 'H 12 * * *'
983       - gerrit-trigger-release-manually:
984           server: '{server-name}'
985           project: '{project}'
986           branch: '{branch}'
987
988     builders:
989
990       - provide-maven-settings:
991           global-settings-file: 'global-settings'
992           settings-file: '{mvn-settings}'
993
994       - docker-login
995
996       - maven-target:
997           maven-version: '{maven-version}'
998           pom: 'pom.xml'
999           goals: 'clean install -DskipTests -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1000           settings: '{mvn-settings}'
1001           settings-type: cfp
1002           global-settings: 'global-settings'
1003           global-settings-type: cfp
1004
1005       - maven-target:
1006           maven-version: '{maven-version}'
1007           pom: '{pom}'
1008           goals: '{mvn-goals}'
1009           settings: '{mvn-settings}'
1010           settings-type: cfp
1011           global-settings: 'global-settings'
1012           global-settings-type: cfp
1013           properties:
1014             - maven.test.skip=true
1015             - docker.pull.registry=nexus3.onap.org:10001
1016             - docker.push.registry=nexus3.onap.org:10003
1017
1018       - shell: !include-raw-escape: include-docker-push.sh
1019
1020     publishers:
1021       - infra-shiplogs:
1022           maven-version: '{maven-version}'
1023
1024 - job-template:
1025     # Job template for Java daily release jobs
1026     #
1027     # The purpose of this job template is to run
1028     #   - change version in all POM files to the release version specified
1029     #     in version.properties. This is done using a script instread of
1030     #     the mvn version plugin that assumes some specific parent structure.
1031     #   - runs maven clean deploy sonar
1032     #
1033     # The POM files are required to use the Maven staging plugin so the deploy
1034     # does not deploy directly to the release repo.
1035     #
1036     # Required Variables:
1037     #     branch:    git branch (eg. stable/lithium or master)
1038     name: '{project-name}-{stream}-release-version2-java-daily'
1039
1040     project-type: freestyle
1041     node: '{build-node}'
1042     maven-deploy-properties:
1043     properties:
1044       - infra-properties:
1045           build-days-to-keep: '{build-days-to-keep}'
1046
1047     parameters:
1048       - infra-parameters:
1049           project: '{project}'
1050           branch: '{branch}'
1051           refspec: 'refs/heads/{branch}'
1052           artifacts: '{archive-artifacts}'
1053       - maven-exec:
1054           maven-version: '{maven-version}'
1055
1056     scm:
1057       - gerrit-trigger-scm:
1058           refspec: ''
1059           choosing-strategy: 'default'
1060
1061     wrappers:
1062       - infra-wrappers:
1063           build-timeout: '{build-timeout}'
1064
1065     triggers:
1066       # 11 AM UTC
1067       - timed: 'H 11 * * *'
1068       - gerrit-trigger-release-manually:
1069           server: '{server-name}'
1070           project: '{project}'
1071           branch: '{branch}'
1072
1073     builders:
1074       - provide-maven-settings:
1075           global-settings-file: 'global-settings'
1076           settings-file: '{mvn-settings}'
1077       - maven-install:
1078           maven-version: '{maven-version}'
1079
1080       - inject:
1081           properties-file: version.properties
1082
1083       - shell: !include-raw-escape: include-update-pom-versions.sh
1084
1085       - maven-target:
1086           maven-version: '{maven-version}'
1087           goals: 'clean deploy sonar:sonar site:site site:stage-deploy -Dsonar.host.url=${{SONAR}} -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1088           properties:
1089             - '{maven-deploy-properties}'
1090           settings: '{mvn-settings}'
1091           settings-type: cfp
1092           global-settings: 'global-settings'
1093           global-settings-type: cfp
1094
1095     publishers:
1096       - infra-shiplogs:
1097           maven-version: '{maven-version}'
1098
1099 - job-template:
1100     # Job template for Java daily release jobs
1101     #
1102     # The purpose of this job template is to run
1103     #   - change version in all POM files to the release version specified
1104     #     in version.properties. This is done using a script instread of
1105     #     the mvn version plugin that assumes some specific parent structure.
1106     #   - runs maven clean deploy sonar
1107     #
1108     # The POM files are required to use the Maven staging plugin so the deploy
1109     # does not deploy directly to the release repo.
1110     #
1111     # Required Variables:
1112     #     branch:    git branch (eg. stable/lithium or master)
1113     #     pom:       name/location of the pom.xml file relative to the workspace
1114     #     pattern:   ant file-path pattern relative to the workspace used to
1115     #                trigger the job
1116
1117     name: '{project-name}-{stream}-{subproject}-release-version2-java-daily'
1118
1119     project-type: freestyle
1120     node: '{build-node}'
1121     maven-deploy-properties:
1122     properties:
1123       - infra-properties:
1124           build-days-to-keep: '{build-days-to-keep}'
1125
1126     parameters:
1127       - infra-parameters:
1128           project: '{project}'
1129           branch: '{branch}'
1130           refspec: 'refs/heads/{branch}'
1131           artifacts: '{archive-artifacts}'
1132       - maven-exec:
1133           maven-version: '{maven-version}'
1134
1135     scm:
1136       - gerrit-trigger-scm:
1137           refspec: ''
1138           choosing-strategy: 'default'
1139
1140     wrappers:
1141       - infra-wrappers:
1142           build-timeout: '{build-timeout}'
1143
1144     triggers:
1145       # 11 AM UTC
1146       - timed: 'H 11 * * *'
1147       - gerrit-trigger-release-manually:
1148           server: '{server-name}'
1149           project: '{project}'
1150           branch: '{branch}'
1151           files: '{pattern}'
1152
1153     builders:
1154       - provide-maven-settings:
1155           global-settings-file: 'global-settings'
1156           settings-file: '{mvn-settings}'
1157       - maven-install:
1158           maven-version: '{maven-version}'
1159
1160       - inject:
1161           properties-file: version.properties
1162
1163       - shell: !include-raw-escape: include-update-pom-versions.sh
1164
1165       - maven-target:
1166           maven-version: '{maven-version}'
1167           pom: '{pom}'
1168           goals: 'clean deploy sonar:sonar site:site site:stage-deploy -Dsonar.host.url=${{SONAR}} -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1169           properties:
1170             - '{maven-deploy-properties}'
1171           settings: '{mvn-settings}'
1172           settings-type: cfp
1173           global-settings: 'global-settings'
1174           global-settings-type: cfp
1175
1176     publishers:
1177       - infra-shiplogs:
1178           maven-version: '{maven-version}'
1179
1180 - job-template:
1181     # Template for maven site plugin invocation
1182     #
1183     # It's designed to be triggered when the trigger-job job
1184     # succeeds as there's no need for new documentaiton
1185     # if the build job fails.
1186     #
1187     # Those parameters should be set :
1188     # - site-pom : the pom file that contains the site confiration
1189     # - trigger-job : the name of the project that triggers this job
1190     #                     upon success. The job name can be
1191     #                     parameterized.
1192     name: '{project-name}-{stream}-stage-site-java'
1193     project-type: freestyle
1194     node: '{build-node}'
1195
1196     properties:
1197       - infra-properties:
1198           build-days-to-keep: '{build-days-to-keep}'
1199
1200     parameters:
1201       - infra-parameters:
1202           project: '{project}'
1203           branch: '{branch}'
1204           refspec: 'refs/heads/{branch}'
1205           artifacts: '{archive-artifacts}'
1206       - maven-exec:
1207           maven-version: '{maven-version}'
1208
1209     scm:
1210       - gerrit-trigger-scm:
1211           refspec: ''
1212           choosing-strategy: 'default'
1213
1214     wrappers:
1215       - infra-wrappers:
1216           build-timeout: '{build-timeout}'
1217
1218     triggers:
1219       - trigger-on-build-success:
1220           job-name: '{trigger-job}'
1221
1222     builders:
1223       - provide-maven-settings:
1224           global-settings-file: 'global-settings'
1225           settings-file: '{mvn-settings}'
1226       - inject:
1227           properties-file: version.properties
1228       - maven-target:
1229           maven-version: '{maven-version}'
1230           goals: 'versions:set versions:update-child-modules versions:commit'
1231           properties:
1232             - 'newVersion=${{release_version}}'
1233           settings: '{mvn-settings}'
1234           settings-type: cfp
1235           global-settings: 'global-settings'
1236           global-settings-type: cfp
1237
1238       - maven-target:
1239           maven-version: '{maven-version}'
1240           pom: '{site-pom}'
1241           goals: 'clean site:site site:stage-deploy'
1242           settings: '{mvn-settings}'
1243           settings-type: cfp
1244           global-settings: 'global-settings'
1245           global-settings-type: cfp
1246
1247     publishers:
1248       - infra-shiplogs:
1249           maven-version: '{maven-version}'
1250
1251 - job-template:
1252     # Job template for Java merge jobs
1253     #
1254     # The purpose of this job template is to run "maven clean deploy" for
1255     # projects using this template.
1256     #
1257     # Required Variables:
1258     #     branch:    git branch (eg. stable/lithium or master)
1259     name: '{project-name}-{stream}-sdc-merge-java'
1260
1261     project-type: freestyle
1262     node: 'ubuntu1604-docker-8c-8g'
1263
1264     properties:
1265       - infra-properties:
1266           build-days-to-keep: '{build-days-to-keep}'
1267
1268     parameters:
1269       - infra-parameters:
1270           project: '{project}'
1271           branch: '{branch}'
1272           refspec: 'refs/heads/{branch}'
1273           artifacts: '{archive-artifacts}'
1274       - maven-exec:
1275           maven-version: '{maven-version}'
1276
1277     scm:
1278       - gerrit-trigger-scm:
1279           refspec: ''
1280           choosing-strategy: 'default'
1281
1282     wrappers:
1283       - infra-wrappers:
1284           build-timeout: '{build-timeout}'
1285
1286     triggers:
1287       - gerrit-trigger-patch-merged:
1288           server: '{server-name}'
1289           project: '{project}'
1290           branch: '{branch}'
1291           files: '**'
1292
1293     builders:
1294       - provide-maven-settings:
1295           global-settings-file: 'global-settings'
1296           settings-file: '{mvn-settings}'
1297
1298       - docker-login
1299
1300       - maven-docker-push-daily:
1301           maven-version: '{maven-version}'
1302           mvn-settings: '{mvn-settings}'
1303           pom: '{docker-pom}'
1304           # use default as mvn-profile if profile is not needed
1305           mvn-profile: '{mvn-profile}'
1306
1307     publishers:
1308       - infra-shiplogs:
1309           maven-version: '{maven-version}'
1310
1311 - job-template:
1312     name: '{project-name}-{stream}-aai-docker-java-version-daily'
1313     project-type: freestyle
1314     node: 'ubuntu1604-docker-8c-8g'
1315
1316     properties:
1317       - infra-properties:
1318           build-days-to-keep: '{build-days-to-keep}'
1319
1320     parameters:
1321       - infra-parameters:
1322           project: '{project}'
1323           branch: '{branch}'
1324           refspec: 'refs/heads/{branch}'
1325           artifacts: '{archive-artifacts}'
1326       - maven-exec:
1327           maven-version: '{maven-version}'
1328
1329     scm:
1330       - gerrit-trigger-scm:
1331           refspec: ''
1332           choosing-strategy: 'default'
1333
1334     wrappers:
1335       - infra-wrappers:
1336           build-timeout: '{build-timeout}'
1337
1338     triggers:
1339       # 12 AM UTC
1340       - timed: 'H 12 * * *'
1341       - gerrit-trigger-release-manually:
1342           server: '{server-name}'
1343           project: '{project}'
1344           branch: '{branch}'
1345
1346     builders:
1347
1348       - provide-maven-settings:
1349           global-settings-file: 'global-settings'
1350           settings-file: '{mvn-settings}'
1351
1352       - docker-login
1353
1354       - maven-target:
1355           maven-version: '{maven-version}'
1356           pom: 'pom.xml'
1357           goals: 'clean install -DskipTests -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1358           settings: '{mvn-settings}'
1359           settings-type: cfp
1360           global-settings: 'global-settings'
1361           global-settings-type: cfp
1362
1363       - maven-target:
1364           maven-version: '{maven-version}'
1365           pom: '{pom}'
1366           goals: '{mvn-goals}'
1367           settings: '{mvn-settings}'
1368           settings-type: cfp
1369           global-settings: 'global-settings'
1370           global-settings-type: cfp
1371           properties:
1372             - maven.test.skip=true
1373             - docker.pull.registry=nexus3.onap.org:10001
1374             - docker.push.registry=nexus3.onap.org:10003
1375
1376     publishers:
1377       - infra-shiplogs:
1378           maven-version: '{maven-version}'
1379