61b4b0700fb555d76a1b631795d732b0344638d8
[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:
6     # 1. maven clean install -DskipTests=true
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           submodule-recursive: '{submodule-recursive}'
35
36     wrappers:
37       - infra-wrappers:
38           build-timeout: '{build-timeout}'
39
40     triggers:
41       - gerrit-trigger-patch-submitted:
42           server: '{server-name}'
43           project: '{project}'
44           branch: '{branch}'
45           files: '**'
46
47     builders:
48       - provide-maven-settings:
49           global-settings-file: 'global-settings'
50           settings-file: '{mvn-settings}'
51       - maven-target:
52           maven-version: '{maven-version}'
53           goals: 'clean install -DskipTests=true -B
54             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
55           settings: '{mvn-settings}'
56           settings-type: cfp
57           global-settings: 'global-settings'
58           global-settings-type: cfp
59           maven-opts:
60             - maven.test.skip=true
61
62     publishers:
63       - infra-shiplogs:
64           maven-version: '{maven-version}'
65
66 - job-template:
67     # Job template for Java verify jobs
68     #
69     # The purpose of this job template is to run:
70     # 1. maven clean install
71     #
72     # Required Variables:
73     #     branch:    git branch (eg. stable/lithium or master)
74
75     name: '{project-name}-{stream}-verify-java'
76
77     project-type: freestyle
78     concurrent: true
79     node: '{build-node}'
80
81     properties:
82       - infra-properties:
83           build-days-to-keep: '{build-days-to-keep}'
84
85     parameters:
86       - infra-parameters:
87           project: '{project}'
88           branch: '{branch}'
89           refspec: 'refs/heads/{branch}'
90           artifacts: '{archive-artifacts}'
91       - maven-exec:
92           maven-version: '{maven-version}'
93
94     scm:
95       - gerrit-trigger-scm:
96           refspec: '$GERRIT_REFSPEC'
97           choosing-strategy: 'gerrit'
98           submodule-recursive: '{submodule-recursive}'
99
100     wrappers:
101       - infra-wrappers:
102           build-timeout: '{build-timeout}'
103
104     triggers:
105       - gerrit-trigger-patch-submitted:
106           server: '{server-name}'
107           project: '{project}'
108           branch: '{branch}'
109           files: '**'
110
111     builders:
112       - provide-maven-settings:
113           global-settings-file: 'global-settings'
114           settings-file: '{mvn-settings}'
115       - maven-target:
116           maven-version: '{maven-version}'
117           goals: 'clean install -B
118             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
119           settings: '{mvn-settings}'
120           settings-type: cfp
121           global-settings: 'global-settings'
122           global-settings-type: cfp
123
124     publishers:
125       - infra-shiplogs:
126           maven-version: '{maven-version}'
127
128 - job-template:
129     # Job template for Java verify jobs running checkstyle at the end
130     # When checkstyle will be fully incorporated, it is meant to replace
131     #  '{project-name}-{stream}-verify-java-checkstyle'
132     #
133     # The purpose of this job template is to run:
134     # 1. maven clean install
135     #
136     # This job publishes checkstyle results.
137     #
138     # Required Variables:
139     #     branch:    git branch (eg. stable/lithium or master)
140
141     name: '{project-name}-{stream}-verify-java-checkstyle'
142     project-type: freestyle
143     concurrent: true
144     node: '{build-node}'
145     properties:
146       - infra-properties:
147           build-days-to-keep: '{build-days-to-keep}'
148     parameters:
149       - infra-parameters:
150           project: '{project}'
151           branch: '{branch}'
152           refspec: 'refs/heads/{branch}'
153           artifacts: '{archive-artifacts}'
154       - maven-exec:
155           maven-version: '{maven-version}'
156     scm:
157       - gerrit-trigger-scm:
158           refspec: '$GERRIT_REFSPEC'
159           choosing-strategy: 'gerrit'
160           submodule-recursive: '{submodule-recursive}'
161     wrappers:
162       - infra-wrappers:
163           build-timeout: '{build-timeout}'
164     triggers:
165       - gerrit-trigger-patch-submitted:
166           server: '{server-name}'
167           project: '{project}'
168           branch: '{branch}'
169           files: '**'
170     builders:
171       - provide-maven-settings:
172           global-settings-file: 'global-settings'
173           settings-file: '{mvn-settings}'
174       - maven-target:
175           maven-version: '{maven-version}'
176           goals: 'clean install -B
177             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
178           settings: '{mvn-settings}'
179           settings-type: cfp
180           global-settings: 'global-settings'
181           global-settings-type: cfp
182     publishers:
183       - infra-shiplogs:
184           maven-version: '{maven-version}'
185       - checkstyle-result
186
187 - job-template:
188     # Job template for Java verify jobs that takes a maven template
189     #
190     # The purpose of this job template is to run:
191     # 1. maven clean install -P {mvn-profile}
192     #
193     # Required Variables:
194     #     branch:    git branch (eg. stable/lithium or master)
195
196     name: '{project-name}-{stream}-verify-profile-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           submodule-recursive: '{submodule-recursive}'
220
221     wrappers:
222       - infra-wrappers:
223           build-timeout: '{build-timeout}'
224
225     triggers:
226       - gerrit-trigger-patch-submitted:
227           server: '{server-name}'
228           project: '{project}'
229           branch: '{branch}'
230           files: '**'
231
232     builders:
233       - provide-maven-settings:
234           global-settings-file: 'global-settings'
235           settings-file: '{mvn-settings}'
236       - maven-target:
237           maven-version: '{maven-version}'
238           goals: 'clean install -P {mvn-profile} -B
239             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
240           settings: '{mvn-settings}'
241           settings-type: cfp
242           global-settings: 'global-settings'
243           global-settings-type: cfp
244
245     publishers:
246       - infra-shiplogs:
247           maven-version: '{maven-version}'
248
249 - job-template:
250     # Job template for Java verify jobs with POM not at the root
251     #
252     # The purpose of this job template is to run:
253     # 1. maven clean install
254     #
255     # This job supports subprojects.
256     #
257     # Required Variables:
258     #     branch:    git branch (eg. stable/lithium or master)
259     #     pom:       name/location of the pom.xml file relative to the workspace
260     #     pattern:   ant file-path pattern relative to the workspace used to
261     #                trigger the job
262
263     name: '{project-name}-{stream}-{subproject}-verify-java'
264
265     project-type: freestyle
266     concurrent: true
267     node: '{build-node}'
268
269     properties:
270       - infra-properties:
271           build-days-to-keep: '{build-days-to-keep}'
272
273     parameters:
274       - infra-parameters:
275           project: '{project}'
276           branch: '{branch}'
277           refspec: 'refs/heads/{branch}'
278           artifacts: '{archive-artifacts}'
279       - maven-exec:
280           maven-version: '{maven-version}'
281
282     scm:
283       - gerrit-trigger-scm:
284           refspec: '$GERRIT_REFSPEC'
285           choosing-strategy: 'gerrit'
286           submodule-recursive: '{submodule-recursive}'
287
288     wrappers:
289       - infra-wrappers:
290           build-timeout: '{build-timeout}'
291
292     triggers:
293       - gerrit-trigger-patch-submitted:
294           server: '{server-name}'
295           project: '{project}'
296           branch: '{branch}'
297           files: '{pattern}'
298
299     builders:
300       - provide-maven-settings:
301           global-settings-file: 'global-settings'
302           settings-file: '{mvn-settings}'
303       - maven-target:
304           maven-version: '{maven-version}'
305           pom: '{pom}'
306           goals: 'clean install -B
307             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
308           settings: '{mvn-settings}'
309           settings-type: cfp
310           global-settings: 'global-settings'
311           global-settings-type: cfp
312
313     publishers:
314       - infra-shiplogs:
315           maven-version: '{maven-version}'
316
317 - job-template:
318     # Job template for Java daily release jobs
319     #
320     # The purpose of this job template is to run:
321     # 1. maven clean deploy with Sonar scans
322     #
323     # Required Variables:
324     #     branch:    git branch (eg. stable/lithium or master)
325
326     name: '{project-name}-{stream}-release-java-daily'
327
328     project-type: freestyle
329     node: '{build-node}'
330     maven-deploy-properties:
331     properties:
332       - infra-properties:
333           build-days-to-keep: '{build-days-to-keep}'
334
335     parameters:
336       - infra-parameters:
337           project: '{project}'
338           branch: '{branch}'
339           refspec: 'refs/heads/{branch}'
340           artifacts: '{archive-artifacts}'
341       - maven-exec:
342           maven-version: '{maven-version}'
343
344     scm:
345       - gerrit-trigger-scm:
346           refspec: ''
347           choosing-strategy: 'default'
348           submodule-recursive: '{submodule-recursive}'
349
350     wrappers:
351       - infra-wrappers:
352           build-timeout: '{build-timeout}'
353
354     triggers:
355       # 11 AM UTC
356       - timed: 'H 11 * * *'
357       - gerrit-trigger-release-manually:
358           server: '{server-name}'
359           project: '{project}'
360           branch: '{branch}'
361
362     builders:
363       - provide-maven-settings:
364           global-settings-file: 'global-settings'
365           settings-file: '{mvn-settings}'
366
367       - maven-target:
368           maven-version: '{maven-version}'
369           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
370             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
371           properties:
372             - '{maven-deploy-properties}'
373           java-opts:
374             - '-Xmx4096m -XX:MaxPermSize=512m'
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
386     #
387     # The purpose of this job template is to run:
388     # 1. maven clean deploy skipping Sonar scans
389     #
390     # This template skips Sonar scans.
391     #
392     # Required Variables:
393     #     branch:    git branch (eg. stable/lithium or master)
394
395     name: '{project-name}-{stream}-release-java-daily-no-sonar'
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           submodule-recursive: '{submodule-recursive}'
418
419     wrappers:
420       - infra-wrappers:
421           build-timeout: '{build-timeout}'
422
423     triggers:
424       # 11 AM UTC
425       - timed: 'H 11 * * *'
426       - gerrit-trigger-release-manually:
427           server: '{server-name}'
428           project: '{project}'
429           branch: '{branch}'
430
431     builders:
432       - provide-maven-settings:
433           global-settings-file: 'global-settings'
434           settings-file: '{mvn-settings}'
435
436       - maven-target:
437           maven-version: '{maven-version}'
438           goals: 'clean deploy -B
439             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
440           properties:
441             - '{maven-deploy-properties}'
442           java-opts:
443             - '-Xmx4096m -XX:MaxPermSize=512m'
444           settings: '{mvn-settings}'
445           settings-type: cfp
446           global-settings: 'global-settings'
447           global-settings-type: cfp
448
449     publishers:
450       - infra-shiplogs:
451           maven-version: '{maven-version}'
452
453 - job-template:
454     # Job template for Java daily release jobs running checkstyle at the end
455     # When checkstyle will be fully incorporated, it is meant to replace
456     #  '{project-name}-{stream}-release-java-daily'
457     #
458     # The purpose of this job template is to run:
459     # 1. maven clean deploy with Sonar scans
460     #
461     # This job publishes checkstyle results.
462     # This job uses a conditional regex match step to set versions.
463     #
464     # Required Variables:
465     #     branch:    git branch (eg. stable/lithium or master)
466
467     name: '{project-name}-{stream}-release-java-daily-checkstyle'
468     project-type: freestyle
469     node: '{build-node}'
470     maven-deploy-properties:
471     properties:
472       - infra-properties:
473           build-days-to-keep: '{build-days-to-keep}'
474     parameters:
475       - infra-parameters:
476           project: '{project}'
477           branch: '{branch}'
478           refspec: 'refs/heads/{branch}'
479           artifacts: '{archive-artifacts}'
480       - maven-exec:
481           maven-version: '{maven-version}'
482     scm:
483       - gerrit-trigger-scm:
484           refspec: ''
485           choosing-strategy: 'default'
486           submodule-recursive: '{submodule-recursive}'
487     wrappers:
488       - infra-wrappers:
489           build-timeout: '{build-timeout}'
490     triggers:
491       # 11 AM UTC
492       - timed: 'H 11 * * *'
493       - gerrit-trigger-release-manually:
494           server: '{server-name}'
495           project: '{project}'
496           branch: '{branch}'
497     builders:
498       - provide-maven-settings:
499           global-settings-file: 'global-settings'
500           settings-file: '{mvn-settings}'
501       - conditional-step:
502           condition-kind: regex-match
503           regex: DoSetVersion
504           label: '{setVersion}'
505           steps:
506             - inject:
507                 properties-file: version.properties
508             - maven-target:
509                 maven-version: '{maven-version}'
510                 goals: 'versions:set versions:update-child-modules versions:commit -B'
511                 properties:
512                   - 'newVersion=${{release_version}}'
513                 settings: '{mvn-settings}'
514                 settings-type: cfp
515                 global-settings: 'global-settings'
516                 global-settings-type: cfp
517       - maven-target:
518           maven-version: '{maven-version}'
519           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
520             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
521           properties: '{obj:mvn_properties}'
522           settings: '{mvn-settings}'
523           settings-type: cfp
524           global-settings: 'global-settings'
525           global-settings-type: cfp
526     publishers:
527       - infra-shiplogs:
528           maven-version: '{maven-version}'
529       - checkstyle-result-daily
530
531 - job-template:
532     # Job template for Java daily release jobs
533     #
534     # The purpose of this job template is to run:
535     # 1. maven set versions
536     # 2. maven clean deploy
537     #
538     # This template skips Sonar scans.
539     #
540     # Required Variables:
541     #     branch:    git branch (eg. stable/lithium or master)
542
543     name: '{project-name}-{stream}-release-version-java-daily-no-sonar'
544
545     project-type: freestyle
546     node: '{build-node}'
547     maven-deploy-properties:
548     properties:
549       - infra-properties:
550           build-days-to-keep: '{build-days-to-keep}'
551
552     parameters:
553       - infra-parameters:
554           project: '{project}'
555           branch: '{branch}'
556           refspec: 'refs/heads/{branch}'
557           artifacts: '{archive-artifacts}'
558       - maven-exec:
559           maven-version: '{maven-version}'
560
561     scm:
562       - gerrit-trigger-scm:
563           refspec: ''
564           choosing-strategy: 'default'
565           submodule-recursive: '{submodule-recursive}'
566
567     wrappers:
568       - infra-wrappers:
569           build-timeout: '{build-timeout}'
570
571     triggers:
572       # 11 AM UTC
573       - timed: 'H H(10-17) * * *'
574       - gerrit-trigger-release-manually:
575           server: '{server-name}'
576           project: '{project}'
577           branch: '{branch}'
578
579     builders:
580       - provide-maven-settings:
581           global-settings-file: 'global-settings'
582           settings-file: '{mvn-settings}'
583
584       - inject:
585           properties-file: version.properties
586       - maven-target:
587           maven-version: '{maven-version}'
588           goals: 'versions:set versions:update-child-modules versions:commit -B'
589           properties:
590             - 'newVersion=${{release_version}}'
591           settings: '{mvn-settings}'
592           settings-type: cfp
593           global-settings: 'global-settings'
594           global-settings-type: cfp
595
596       - maven-target:
597           maven-version: '{maven-version}'
598           goals: 'clean deploy -B
599             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
600           properties:
601             - '{maven-deploy-properties}'
602           settings: '{mvn-settings}'
603           settings-type: cfp
604           global-settings: 'global-settings'
605           global-settings-type: cfp
606
607     publishers:
608       - infra-shiplogs:
609           maven-version: '{maven-version}'
610
611 - job-template:
612     # Job template for Java daily release jobs for subprojects
613     #
614     # The purpose of this job template is to run:
615     # 1. maven set versions
616     # 2. maven clean deploy
617     #
618     # This template skips Sonar scans.
619     # This job supports subprojects.
620     #
621     # Required Variables:
622     #     branch:    git branch (eg. stable/lithium or master)
623
624     name: '{project-name}-{stream}-{subproject}-release-version-java-daily-no-sonar'
625
626     project-type: freestyle
627     node: '{build-node}'
628     maven-deploy-properties:
629     properties:
630       - infra-properties:
631           build-days-to-keep: '{build-days-to-keep}'
632
633     parameters:
634       - infra-parameters:
635           project: '{project}'
636           branch: '{branch}'
637           refspec: 'refs/heads/{branch}'
638           artifacts: '{archive-artifacts}'
639       - maven-exec:
640           maven-version: '{maven-version}'
641
642     scm:
643       - gerrit-trigger-scm:
644           refspec: ''
645           choosing-strategy: 'default'
646           submodule-recursive: '{submodule-recursive}'
647
648     wrappers:
649       - infra-wrappers:
650           build-timeout: '{build-timeout}'
651
652     triggers:
653       # 11 AM UTC
654       - timed: 'H H(10-17) * * *'
655       - gerrit-trigger-release-manually:
656           server: '{server-name}'
657           project: '{project}'
658           branch: '{branch}'
659
660     builders:
661       - provide-maven-settings:
662           global-settings-file: 'global-settings'
663           settings-file: '{mvn-settings}'
664
665       - inject:
666           properties-file: version.properties
667       - maven-target:
668           maven-version: '{maven-version}'
669           pom: '{pom}'
670           goals: 'versions:set versions:update-child-modules versions:commit -B'
671           properties:
672             - 'newVersion=${{release_version}}'
673           settings: '{mvn-settings}'
674           settings-type: cfp
675           global-settings: 'global-settings'
676           global-settings-type: cfp
677
678       - maven-target:
679           maven-version: '{maven-version}'
680           pom: '{pom}'
681           goals: 'clean deploy -B
682             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
683           properties:
684             - '{maven-deploy-properties}'
685           settings: '{mvn-settings}'
686           settings-type: cfp
687           global-settings: 'global-settings'
688           global-settings-type: cfp
689
690     publishers:
691       - infra-shiplogs:
692           maven-version: '{maven-version}'
693
694 - job-template:
695     # Job template for Java daily release jobs
696     #
697     # The purpose of this job template is to run:
698     # 1. maven set versions
699     # 2. maven clean deploy with Sonar scans
700     #
701     # Required Variables:
702     #     branch:    git branch (eg. stable/lithium or master)
703
704     name: '{project-name}-{stream}-release-version-java-daily'
705
706     project-type: freestyle
707     node: '{build-node}'
708     maven-deploy-properties:
709     properties:
710       - infra-properties:
711           build-days-to-keep: '{build-days-to-keep}'
712
713     parameters:
714       - infra-parameters:
715           project: '{project}'
716           branch: '{branch}'
717           refspec: 'refs/heads/{branch}'
718           artifacts: '{archive-artifacts}'
719       - maven-exec:
720           maven-version: '{maven-version}'
721
722     scm:
723       - gerrit-trigger-scm:
724           refspec: ''
725           choosing-strategy: 'default'
726           submodule-recursive: '{submodule-recursive}'
727
728     wrappers:
729       - infra-wrappers:
730           build-timeout: '{build-timeout}'
731
732     triggers:
733       # 11 AM UTC
734       - timed: 'H H(10-17) * * *'
735       - gerrit-trigger-release-manually:
736           server: '{server-name}'
737           project: '{project}'
738           branch: '{branch}'
739
740     builders:
741       - provide-maven-settings:
742           global-settings-file: 'global-settings'
743           settings-file: '{mvn-settings}'
744
745       - inject:
746           properties-file: version.properties
747       - maven-target:
748           maven-version: '{maven-version}'
749           goals: 'versions:set versions:update-child-modules versions:commit -B'
750           properties:
751             - 'newVersion=${{release_version}}'
752           settings: '{mvn-settings}'
753           settings-type: cfp
754           global-settings: 'global-settings'
755           global-settings-type: cfp
756
757       - maven-target:
758           maven-version: '{maven-version}'
759           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
760             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
761           properties:
762             - '{maven-deploy-properties}'
763           settings: '{mvn-settings}'
764           settings-type: cfp
765           global-settings: 'global-settings'
766           global-settings-type: cfp
767
768     publishers:
769       - infra-shiplogs:
770           maven-version: '{maven-version}'
771
772 - job-template:
773     # Job template for Java daily release jobs
774     #
775     # The purpose of this job template is to run:
776     # 1. maven set versions
777     # 2. maven clean deploy -P {mvn-profile} with Sonar scans
778     #
779     # Required Variables:
780     #     branch:    git branch (eg. stable/lithium or master)
781
782     name: '{project-name}-{stream}-release-version-profile-java-daily'
783
784     project-type: freestyle
785     node: '{build-node}'
786     maven-deploy-properties:
787     properties:
788       - infra-properties:
789           build-days-to-keep: '{build-days-to-keep}'
790
791     parameters:
792       - infra-parameters:
793           project: '{project}'
794           branch: '{branch}'
795           refspec: 'refs/heads/{branch}'
796           artifacts: '{archive-artifacts}'
797       - maven-exec:
798           maven-version: '{maven-version}'
799
800     scm:
801       - gerrit-trigger-scm:
802           refspec: ''
803           choosing-strategy: 'default'
804           submodule-recursive: '{submodule-recursive}'
805
806     wrappers:
807       - infra-wrappers:
808           build-timeout: '{build-timeout}'
809
810     triggers:
811       # 11 AM UTC
812       - timed: 'H 11 * * *'
813       - gerrit-trigger-release-manually:
814           server: '{server-name}'
815           project: '{project}'
816           branch: '{branch}'
817
818     builders:
819       - provide-maven-settings:
820           global-settings-file: 'global-settings'
821           settings-file: '{mvn-settings}'
822
823       - inject:
824           properties-file: version.properties
825       - maven-target:
826           maven-version: '{maven-version}'
827           goals: 'versions:set versions:update-child-modules versions:commit -B'
828           properties:
829             - 'newVersion=${{release_version}}'
830           settings: '{mvn-settings}'
831           settings-type: cfp
832           global-settings: 'global-settings'
833           global-settings-type: cfp
834
835       - maven-target:
836           maven-version: '{maven-version}'
837           goals: 'clean deploy sonar:sonar -P {mvn-profile} -Dsonar.host.url=${{SONAR}} -B
838             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
839           properties:
840             - '{maven-deploy-properties}'
841           settings: '{mvn-settings}'
842           settings-type: cfp
843           global-settings: 'global-settings'
844           global-settings-type: cfp
845
846     publishers:
847       - infra-shiplogs:
848           maven-version: '{maven-version}'
849
850
851 - job-template:
852     # Job template for Java daily release jobs with POM not at the root
853     #
854     # The purpose of this job template is to run:
855     # 1. maven clean deploy with Sonar scans
856     #
857     # This job supports subprojects.
858     #
859     # Required Variables:
860     #     branch:    git branch (eg. stable/lithium or master)
861     #     pom:       name/location of the pom.xml file relative to the workspace
862
863     name: '{project-name}-{stream}-{subproject}-release-java-daily'
864
865     project-type: freestyle
866     node: '{build-node}'
867     maven-deploy-properties:
868     properties:
869       - infra-properties:
870           build-days-to-keep: '{build-days-to-keep}'
871
872     parameters:
873       - infra-parameters:
874           project: '{project}'
875           branch: '{branch}'
876           refspec: 'refs/heads/{branch}'
877           artifacts: '{archive-artifacts}'
878       - maven-exec:
879           maven-version: '{maven-version}'
880
881     scm:
882       - gerrit-trigger-scm:
883           refspec: ''
884           choosing-strategy: 'default'
885           submodule-recursive: '{submodule-recursive}'
886
887     wrappers:
888       - infra-wrappers:
889           build-timeout: '{build-timeout}'
890
891     triggers:
892       # 11 AM UTC
893       - timed: 'H 11 * * *'
894       - gerrit-trigger-release-manually:
895           server: '{server-name}'
896           project: '{project}'
897           branch: '{branch}'
898
899     builders:
900       - provide-maven-settings:
901           global-settings-file: 'global-settings'
902           settings-file: '{mvn-settings}'
903
904       - maven-target:
905           maven-version: '{maven-version}'
906           pom: '{pom}'
907           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
908             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
909           properties:
910             - '{maven-deploy-properties}'
911           java-opts:
912             - '-Xmx4096m -XX:MaxPermSize=512m'
913           settings: '{mvn-settings}'
914           settings-type: cfp
915           global-settings: 'global-settings'
916           global-settings-type: cfp
917
918     publishers:
919       - infra-shiplogs:
920           maven-version: '{maven-version}'
921
922 - job-template:
923     # Job template for Java daily release jobs with POM not at the root
924     #
925     # The purpose of this job template is to run:
926     # 1. maven set versions
927     # 2. maven clean deploy with Sonar scans
928     #
929     # This job supports subprojects.
930     #
931     # Required Variables:
932     #     branch:    git branch (eg. stable/lithium or master)
933     #     pom:       name/location of the pom.xml file relative to the workspace
934
935     name: '{project-name}-{stream}-{subproject}-release-version-java-daily'
936
937     project-type: freestyle
938     node: '{build-node}'
939     maven-deploy-properties:
940     properties:
941       - infra-properties:
942           build-days-to-keep: '{build-days-to-keep}'
943
944     parameters:
945       - infra-parameters:
946           project: '{project}'
947           branch: '{branch}'
948           refspec: 'refs/heads/{branch}'
949           artifacts: '{archive-artifacts}'
950       - maven-exec:
951           maven-version: '{maven-version}'
952
953     scm:
954       - gerrit-trigger-scm:
955           refspec: ''
956           choosing-strategy: 'default'
957           submodule-recursive: '{submodule-recursive}'
958
959     wrappers:
960       - infra-wrappers:
961           build-timeout: '{build-timeout}'
962
963     triggers:
964       # 11 AM UTC
965       - timed: 'H 11 * * *'
966       - gerrit-trigger-release-manually:
967           server: '{server-name}'
968           project: '{project}'
969           branch: '{branch}'
970
971     builders:
972       - provide-maven-settings:
973           global-settings-file: 'global-settings'
974           settings-file: '{mvn-settings}'
975
976       - inject:
977           properties-file: version.properties
978       - maven-target:
979           maven-version: '{maven-version}'
980           pom: '{pom}'
981           goals: 'versions:set versions:update-child-modules versions:commit -B'
982           properties:
983             - 'newVersion=${{release_version}}'
984           settings: '{mvn-settings}'
985           settings-type: cfp
986           global-settings: 'global-settings'
987           global-settings-type: cfp
988
989       - maven-target:
990           maven-version: '{maven-version}'
991           pom: '{pom}'
992           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
993             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
994           properties:
995             - '{maven-deploy-properties}'
996           settings: '{mvn-settings}'
997           settings-type: cfp
998           global-settings: 'global-settings'
999           global-settings-type: cfp
1000
1001     publishers:
1002       - infra-shiplogs:
1003           maven-version: '{maven-version}'
1004
1005 - job-template:
1006     # Job template for Java daily release jobs with POM not at the root
1007     #
1008     # The purpose of this job template is to run:
1009     # 1. maven clean deploy
1010     #
1011     # This job supports subprojects and skips Sonar scans.
1012     #
1013     # Required Variables:
1014     #     branch:    git branch (eg. stable/lithium or master)
1015     #     pom:       name/location of the pom.xml file relative to the workspace
1016
1017     name: '{project-name}-{stream}-{subproject}-release-java-daily-no-sonar'
1018
1019     project-type: freestyle
1020     node: '{build-node}'
1021     maven-deploy-properties:
1022     properties:
1023       - infra-properties:
1024           build-days-to-keep: '{build-days-to-keep}'
1025
1026     parameters:
1027       - infra-parameters:
1028           project: '{project}'
1029           branch: '{branch}'
1030           refspec: 'refs/heads/{branch}'
1031           artifacts: '{archive-artifacts}'
1032       - maven-exec:
1033           maven-version: '{maven-version}'
1034
1035     scm:
1036       - gerrit-trigger-scm:
1037           refspec: ''
1038           choosing-strategy: 'default'
1039           submodule-recursive: '{submodule-recursive}'
1040
1041     wrappers:
1042       - infra-wrappers:
1043           build-timeout: '{build-timeout}'
1044
1045     triggers:
1046       # 11 AM UTC
1047       - timed: 'H 11 * * *'
1048       - gerrit-trigger-release-manually:
1049           server: '{server-name}'
1050           project: '{project}'
1051           branch: '{branch}'
1052
1053     builders:
1054       - provide-maven-settings:
1055           global-settings-file: 'global-settings'
1056           settings-file: '{mvn-settings}'
1057
1058       - maven-target:
1059           maven-version: '{maven-version}'
1060           pom: '{pom}'
1061           goals: 'clean deploy -B
1062             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1063           properties:
1064             - '{maven-deploy-properties}'
1065           java-opts:
1066             - '-Xmx4096m -XX:MaxPermSize=512m'
1067           settings: '{mvn-settings}'
1068           settings-type: cfp
1069           global-settings: 'global-settings'
1070           global-settings-type: cfp
1071
1072     publishers:
1073       - infra-shiplogs:
1074           maven-version: '{maven-version}'
1075
1076 - job-template:
1077     # Job template for Java merge jobs
1078     #
1079     # The purpose of this job template is to run:
1080     # 1. maven clean deploy
1081     #
1082     # Required Variables:
1083     #     branch:    git branch (eg. stable/lithium or master)
1084
1085     name: '{project-name}-{stream}-merge-java'
1086
1087     project-type: freestyle
1088     node: '{build-node}'
1089
1090     properties:
1091       - infra-properties:
1092           build-days-to-keep: '{build-days-to-keep}'
1093
1094     parameters:
1095       - infra-parameters:
1096           project: '{project}'
1097           branch: '{branch}'
1098           refspec: 'refs/heads/{branch}'
1099           artifacts: '{archive-artifacts}'
1100       - maven-exec:
1101           maven-version: '{maven-version}'
1102
1103     scm:
1104       - gerrit-trigger-scm:
1105           refspec: ''
1106           choosing-strategy: 'default'
1107           submodule-recursive: '{submodule-recursive}'
1108
1109     wrappers:
1110       - infra-wrappers:
1111           build-timeout: '{build-timeout}'
1112
1113     triggers:
1114       - gerrit-trigger-patch-merged:
1115           server: '{server-name}'
1116           project: '{project}'
1117           branch: '{branch}'
1118           files: '**'
1119
1120     builders:
1121       - provide-maven-settings:
1122           global-settings-file: 'global-settings'
1123           settings-file: '{mvn-settings}'
1124       - maven-target:
1125           maven-version: '{maven-version}'
1126           goals: 'clean deploy -B
1127             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1128           settings: '{mvn-settings}'
1129           settings-type: cfp
1130           global-settings: 'global-settings'
1131           global-settings-type: cfp
1132
1133     publishers:
1134       - infra-shiplogs:
1135           maven-version: '{maven-version}'
1136
1137 - job-template:
1138     # Job template for Java merge jobs based on
1139     #   '{project-name}-{stream}-merge-java'
1140     # The purpose of this job template is to run:
1141     # 1. maven clean deploy
1142     #
1143     # This project supports maven properties.
1144     #
1145     # Required Variables:
1146     #     branch:    git branch (eg. stable/lithium or master)
1147     #     maven-properties: properties passed to maven
1148
1149     name: '{project-name}-{stream}-merge-properties-java'
1150
1151     project-type: freestyle
1152     node: '{build-node}'
1153
1154     properties:
1155       - infra-properties:
1156           build-days-to-keep: '{build-days-to-keep}'
1157
1158     parameters:
1159       - infra-parameters:
1160           project: '{project}'
1161           branch: '{branch}'
1162           refspec: 'refs/heads/{branch}'
1163           artifacts: '{archive-artifacts}'
1164       - maven-exec:
1165           maven-version: '{maven-version}'
1166
1167     scm:
1168       - gerrit-trigger-scm:
1169           refspec: ''
1170           choosing-strategy: 'default'
1171           submodule-recursive: '{submodule-recursive}'
1172
1173     wrappers:
1174       - infra-wrappers:
1175           build-timeout: '{build-timeout}'
1176
1177     triggers:
1178       - gerrit-trigger-patch-merged:
1179           server: '{server-name}'
1180           project: '{project}'
1181           branch: '{branch}'
1182           files: '**'
1183
1184     builders:
1185       - provide-maven-settings:
1186           global-settings-file: 'global-settings'
1187           settings-file: '{mvn-settings}'
1188       - maven-target:
1189           maven-version: '{maven-version}'
1190           goals: 'clean deploy -B
1191             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1192           settings: '{mvn-settings}'
1193           settings-type: cfp
1194           global-settings: 'global-settings'
1195           global-settings-type: cfp
1196           properties: '{obj:mvn_properties}'
1197
1198     publishers:
1199       - infra-shiplogs:
1200           maven-version: '{maven-version}'
1201
1202 - job-template:
1203     # Job template for Java merge jobs that takes a maven template
1204     #
1205     # The purpose of this job template is to run:
1206     # 1. maven clean deploy -P {mvn-profile}
1207     #
1208     # Required Variables:
1209     #     branch:    git branch (eg. stable/lithium or master)
1210
1211     name: '{project-name}-{stream}-merge-profile-java'
1212
1213     project-type: freestyle
1214     node: '{build-node}'
1215
1216     properties:
1217       - infra-properties:
1218           build-days-to-keep: '{build-days-to-keep}'
1219
1220     parameters:
1221       - infra-parameters:
1222           project: '{project}'
1223           branch: '{branch}'
1224           refspec: 'refs/heads/{branch}'
1225           artifacts: '{archive-artifacts}'
1226       - maven-exec:
1227           maven-version: '{maven-version}'
1228
1229     scm:
1230       - gerrit-trigger-scm:
1231           refspec: ''
1232           choosing-strategy: 'default'
1233           submodule-recursive: '{submodule-recursive}'
1234
1235     wrappers:
1236       - infra-wrappers:
1237           build-timeout: '{build-timeout}'
1238
1239     triggers:
1240       - gerrit-trigger-patch-merged:
1241           server: '{server-name}'
1242           project: '{project}'
1243           branch: '{branch}'
1244           files: '**'
1245
1246     builders:
1247       - provide-maven-settings:
1248           global-settings-file: 'global-settings'
1249           settings-file: '{mvn-settings}'
1250
1251       - docker-login
1252
1253       - maven-target:
1254           maven-version: '{maven-version}'
1255           goals: 'clean deploy -P {mvn-profile} -B
1256             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1257           settings: '{mvn-settings}'
1258           settings-type: cfp
1259           global-settings: 'global-settings'
1260           global-settings-type: cfp
1261           properties:
1262             - docker.pull.registry=nexus3.onap.org:10001
1263             - docker.push.registry=nexus3.onap.org:10003
1264
1265     publishers:
1266       - infra-shiplogs:
1267           maven-version: '{maven-version}'
1268
1269 - job-template:
1270     # Job template for Java merge jobs that should also be triggered by upstream
1271     # merges
1272     #
1273     # Required Variables:
1274     #   stream:         release stream
1275     #   branch:         git branch
1276     #   dependencies:   fully qualified upstream job name to trigger on
1277     #                   this may be ''
1278
1279     name: '{project-name}-{stream}-downstream-merge-java'
1280
1281     project-type: freestyle
1282     node: '{build-node}'
1283
1284     properties:
1285       - infra-properties:
1286           build-days-to-keep: '{build-days-to-keep}'
1287
1288     parameters:
1289       - infra-parameters:
1290           project: '{project}'
1291           branch: '{branch}'
1292           refspec: 'refs/heads/{branch}'
1293           artifacts: '{archive-artifacts}'
1294       - maven-exec:
1295           maven-version: '{maven-version}'
1296
1297     scm:
1298       - gerrit-trigger-scm:
1299           refspec: ''
1300           choosing-strategy: 'default'
1301           submodule-recursive: '{submodule-recursive}'
1302
1303     wrappers:
1304       - infra-wrappers:
1305           build-timeout: '{build-timeout}'
1306
1307     triggers:
1308       - reverse:
1309           jobs: '{dependencies}'
1310           result: 'success'
1311       - gerrit-trigger-patch-merged:
1312           server: '{server-name}'
1313           project: '{project}'
1314           branch: '{branch}'
1315           files: '**'
1316
1317     builders:
1318       - provide-maven-settings:
1319           global-settings-file: 'global-settings'
1320           settings-file: '{mvn-settings}'
1321       - maven-target:
1322           maven-version: '{maven-version}'
1323           goals: 'clean deploy -B
1324             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1325           settings: '{mvn-settings}'
1326           settings-type: cfp
1327           global-settings: 'global-settings'
1328           global-settings-type: cfp
1329
1330     publishers:
1331       - infra-shiplogs:
1332           maven-version: '{maven-version}'
1333
1334 - job-template:
1335     # Job template for Java merge jobs with POM not at the root
1336     #
1337     # The purpose of this job template is to run:
1338     # 1. maven clean deploy
1339     #
1340     # This job supports subprojects.
1341     #
1342     # Required Variables:
1343     #     branch:    git branch (eg. stable/lithium or master)
1344     #     pom:       name/location of the pom.xml file relative to the workspace
1345     #     pattern:   ant file-path pattern relative to the workspace used to
1346     #                trigger the job
1347
1348     name: '{project-name}-{stream}-{subproject}-merge-java'
1349
1350     project-type: freestyle
1351     node: '{build-node}'
1352
1353     properties:
1354       - infra-properties:
1355           build-days-to-keep: '{build-days-to-keep}'
1356
1357     parameters:
1358       - infra-parameters:
1359           project: '{project}'
1360           branch: '{branch}'
1361           refspec: 'refs/heads/{branch}'
1362           artifacts: '{archive-artifacts}'
1363       - maven-exec:
1364           maven-version: '{maven-version}'
1365
1366     scm:
1367       - gerrit-trigger-scm:
1368           refspec: ''
1369           choosing-strategy: 'default'
1370           submodule-recursive: '{submodule-recursive}'
1371
1372     wrappers:
1373       - infra-wrappers:
1374           build-timeout: '{build-timeout}'
1375
1376     triggers:
1377       - gerrit-trigger-patch-merged:
1378           server: '{server-name}'
1379           project: '{project}'
1380           branch: '{branch}'
1381           files: '{pattern}'
1382
1383     builders:
1384       - provide-maven-settings:
1385           global-settings-file: 'global-settings'
1386           settings-file: '{mvn-settings}'
1387       - maven-target:
1388           maven-version: '{maven-version}'
1389           pom: '{pom}'
1390           goals: 'clean deploy -B
1391             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1392           settings: '{mvn-settings}'
1393           settings-type: cfp
1394           global-settings: 'global-settings'
1395           global-settings-type: cfp
1396
1397     publishers:
1398       - infra-shiplogs:
1399           maven-version: '{maven-version}'
1400
1401 - job-template:
1402     # Job template for Docker daily jobs
1403     #
1404     # The purpose of this job template is to run:
1405     # 1. login to the docker registry
1406     # 2. docker push
1407     #
1408     # Required Variables:
1409     #     branch:    git branch (eg. stable/lithium or master)
1410
1411     name: '{project-name}-{stream}-docker-java-daily'
1412     project-type: freestyle
1413     node: 'ubuntu1604-docker-8c-8g'
1414
1415     properties:
1416       - infra-properties:
1417           build-days-to-keep: '{build-days-to-keep}'
1418
1419     parameters:
1420       - infra-parameters:
1421           project: '{project}'
1422           branch: '{branch}'
1423           refspec: 'refs/heads/{branch}'
1424           artifacts: '{archive-artifacts}'
1425       - maven-exec:
1426           maven-version: '{maven-version}'
1427
1428     scm:
1429       - gerrit-trigger-scm:
1430           refspec: ''
1431           choosing-strategy: 'default'
1432           submodule-recursive: '{submodule-recursive}'
1433
1434     wrappers:
1435       - infra-wrappers:
1436           build-timeout: '{build-timeout}'
1437
1438     triggers:
1439       # 12 AM UTC
1440       - timed: 'H 12 * * *'
1441       - gerrit-trigger-release-manually:
1442           server: '{server-name}'
1443           project: '{project}'
1444           branch: '{branch}'
1445
1446     builders:
1447
1448       - provide-maven-settings:
1449           global-settings-file: 'global-settings'
1450           settings-file: '{mvn-settings}'
1451
1452       - docker-login
1453
1454       - maven-docker-push-daily:
1455           maven-version: '{maven-version}'
1456           mvn-settings: '{mvn-settings}'
1457           pom: '{docker-pom}'
1458           # use default as mvn-profile if profile is not needed
1459           mvn-profile: '{mvn-profile}'
1460
1461     publishers:
1462       - infra-shiplogs:
1463           maven-version: '{maven-version}'
1464
1465 - job-template:
1466     # Job template for building & pushing docker images
1467     #
1468     # The purpose of this job template is to run:
1469     #  1. login to the docker registry
1470     #  2. maven clean deploy on the specified profile
1471     #
1472     # This job uses a conditional regex match step to set versions.
1473     # This template supports maven properties.
1474     #
1475     # Required Variables:
1476     #     pom:       name/location of the pom.xml file relative to the workspace
1477     #     profile:   the docker profile defined in the pom
1478     #     maven-properties: properties passed to maven
1479
1480     name: '{project-name}-{stream}-docker-java-properties-daily'
1481     project-type: freestyle
1482     node: 'ubuntu1604-docker-8c-8g'
1483     properties:
1484       - infra-properties:
1485           build-days-to-keep: '{build-days-to-keep}'
1486     parameters:
1487       - infra-parameters:
1488           project: '{project}'
1489           branch: '{branch}'
1490           refspec: 'refs/heads/{branch}'
1491           artifacts: '{archive-artifacts}'
1492       - maven-exec:
1493           maven-version: '{maven-version}'
1494     scm:
1495       - gerrit-trigger-scm:
1496           refspec: ''
1497           choosing-strategy: 'default'
1498           submodule-recursive: '{submodule-recursive}'
1499     wrappers:
1500       - infra-wrappers:
1501           build-timeout: '{build-timeout}'
1502     triggers:
1503       # 12 AM UTC
1504       - timed: 'H 12 * * *'
1505       - gerrit-trigger-release-manually:
1506           server: '{server-name}'
1507           project: '{project}'
1508           branch: '{branch}'
1509     builders:
1510       - provide-maven-settings:
1511           global-settings-file: 'global-settings'
1512           settings-file: '{mvn-settings}'
1513       - conditional-step:
1514           condition-kind: regex-match
1515           regex: DoSetVersion
1516           label: '{setVersion}'
1517           steps:
1518             - inject:
1519                 properties-file: version.properties
1520             - maven-target:
1521                 maven-version: '{maven-version}'
1522                 goals: 'versions:set versions:update-child-modules versions:commit -B'
1523                 properties:
1524                   - 'newVersion=${{release_version}}'
1525                 settings: '{mvn-settings}'
1526                 settings-type: cfp
1527                 global-settings: 'global-settings'
1528                 global-settings-type: cfp
1529       - docker-login
1530       - maven-docker-push-daily:
1531           maven-version: '{maven-version}'
1532           mvn-settings: '{mvn-settings}'
1533           pom: '{docker-pom}'
1534           properties: '{maven-properties}'
1535           # use default as mvn-profile if profile is not needed
1536           mvn-profile: '{mvn-profile}'
1537     publishers:
1538       - infra-shiplogs:
1539           maven-version: '{maven-version}'
1540
1541 - job-template:
1542     # Job template for building & pushing docker images
1543     #
1544     # The purpose of this job template is to run:
1545     #  1. login to the docker registry
1546     #  2. run a specified shell builder
1547     #
1548     # Required Variables:
1549     #     pom:       name/location of the pom.xml file relative to the workspace
1550     #     maven-properties: properties passed to maven
1551
1552     name: '{project-name}-{stream}-docker-java-shell-daily'
1553     project-type: freestyle
1554     node: 'ubuntu1604-docker-8c-8g'
1555
1556     properties:
1557       - infra-properties:
1558           build-days-to-keep: '{build-days-to-keep}'
1559
1560     parameters:
1561       - infra-parameters:
1562           project: '{project}'
1563           branch: '{branch}'
1564           refspec: 'refs/heads/{branch}'
1565           artifacts: '{archive-artifacts}'
1566       - maven-exec:
1567           maven-version: '{maven-version}'
1568
1569     scm:
1570       - gerrit-trigger-scm:
1571           refspec: ''
1572           choosing-strategy: 'default'
1573           submodule-recursive: '{submodule-recursive}'
1574
1575     wrappers:
1576       - infra-wrappers:
1577           build-timeout: '{build-timeout}'
1578
1579     triggers:
1580       # 12 AM UTC
1581       - timed: 'H 12 * * *'
1582       - gerrit-trigger-release-manually:
1583           server: '{server-name}'
1584           project: '{project}'
1585           branch: '{branch}'
1586
1587     builders:
1588
1589       - provide-maven-settings:
1590           global-settings-file: 'global-settings'
1591           settings-file: '{mvn-settings}'
1592
1593       - docker-login
1594
1595       - maven-target:
1596           maven-version: '{maven-version}'
1597           goals: '{mvn-goals}'
1598           settings: '{mvn-settings}'
1599           settings-type: cfp
1600           global-settings: 'global-settings'
1601           global-settings-type: cfp
1602
1603       - shell: '{script}'
1604
1605     publishers:
1606       - infra-shiplogs:
1607           maven-version: '{maven-version}'
1608
1609 - job-template:
1610     # Job template for building & pushing docker images
1611     #
1612     # The purpose of this job template is to run:
1613     #  1. login to the docker registry
1614     #  2. inject a version.properties file and set versions
1615     #  3. run a specified shell builder
1616     #
1617     # Required Variables:
1618     #     pom:       name/location of the pom.xml file relative to the workspace
1619     #     maven-properties: properties passed to maven
1620
1621     name: '{project-name}-{stream}-docker-java-version-shell-daily'
1622     project-type: freestyle
1623     node: 'ubuntu1604-docker-8c-8g'
1624
1625     properties:
1626       - infra-properties:
1627           build-days-to-keep: '{build-days-to-keep}'
1628
1629     parameters:
1630       - infra-parameters:
1631           project: '{project}'
1632           branch: '{branch}'
1633           refspec: 'refs/heads/{branch}'
1634           artifacts: '{archive-artifacts}'
1635       - maven-exec:
1636           maven-version: '{maven-version}'
1637
1638     scm:
1639       - gerrit-trigger-scm:
1640           refspec: ''
1641           choosing-strategy: 'default'
1642           submodule-recursive: '{submodule-recursive}'
1643
1644     wrappers:
1645       - infra-wrappers:
1646           build-timeout: '{build-timeout}'
1647
1648     triggers:
1649       # 12 AM UTC
1650       - timed: 'H 12 * * *'
1651       - gerrit-trigger-release-manually:
1652           server: '{server-name}'
1653           project: '{project}'
1654           branch: '{branch}'
1655
1656     builders:
1657
1658       - provide-maven-settings:
1659           global-settings-file: 'global-settings'
1660           settings-file: '{mvn-settings}'
1661
1662       - inject:
1663           properties-file: version.properties
1664
1665       - maven-target:
1666           maven-version: '{maven-version}'
1667           goals: 'versions:set versions:update-child-modules versions:commit -B'
1668           properties:
1669             - 'newVersion=${{release_version}}'
1670           settings: '{mvn-settings}'
1671           settings-type: cfp
1672           global-settings: 'global-settings'
1673           global-settings-type: cfp
1674
1675       - docker-login
1676
1677       - maven-target:
1678           maven-version: '{maven-version}'
1679           goals: '{mvn-goals}'
1680           settings: '{mvn-settings}'
1681           settings-type: cfp
1682           global-settings: 'global-settings'
1683           global-settings-type: cfp
1684
1685       - shell: '{script}'
1686
1687     publishers:
1688       - infra-shiplogs:
1689           maven-version: '{maven-version}'
1690
1691 - job-template:
1692     # Job template for building & pushing docker images
1693     #
1694     # The purpose of this job template is to run:
1695     #  1. login to the docker registry
1696     #  2. inject a version.properties file and set versions
1697     #  3. run a specified shell builder
1698     #
1699     # This template supports subprojects.
1700     #
1701     # Required Variables:
1702     #     pom:       name/location of the pom.xml file relative to the workspace
1703     #     maven-properties: properties passed to maven
1704
1705     name: '{project-name}-{stream}-{subproject}-docker-java-version-shell-daily'
1706     project-type: freestyle
1707     node: 'ubuntu1604-docker-8c-8g'
1708
1709     properties:
1710       - infra-properties:
1711           build-days-to-keep: '{build-days-to-keep}'
1712
1713     parameters:
1714       - infra-parameters:
1715           project: '{project}'
1716           branch: '{branch}'
1717           refspec: 'refs/heads/{branch}'
1718           artifacts: '{archive-artifacts}'
1719       - maven-exec:
1720           maven-version: '{maven-version}'
1721
1722     scm:
1723       - gerrit-trigger-scm:
1724           refspec: ''
1725           choosing-strategy: 'default'
1726           submodule-recursive: '{submodule-recursive}'
1727
1728     wrappers:
1729       - infra-wrappers:
1730           build-timeout: '{build-timeout}'
1731
1732     triggers:
1733       # 12 AM UTC
1734       - timed: 'H 12 * * *'
1735       - gerrit-trigger-release-manually:
1736           server: '{server-name}'
1737           project: '{project}'
1738           branch: '{branch}'
1739
1740     builders:
1741
1742       - provide-maven-settings:
1743           global-settings-file: 'global-settings'
1744           settings-file: '{mvn-settings}'
1745
1746       - inject:
1747           properties-file: version.properties
1748
1749       - maven-target:
1750           maven-version: '{maven-version}'
1751           pom: '{pom}'
1752           goals: 'versions:set versions:update-child-modules versions:commit -B'
1753           properties:
1754             - 'newVersion=${{release_version}}'
1755           settings: '{mvn-settings}'
1756           settings-type: cfp
1757           global-settings: 'global-settings'
1758           global-settings-type: cfp
1759
1760       - docker-login
1761
1762       - maven-target:
1763           maven-version: '{maven-version}'
1764           pom: '{pom}'
1765           goals: '{mvn-goals}'
1766           settings: '{mvn-settings}'
1767           settings-type: cfp
1768           global-settings: 'global-settings'
1769           global-settings-type: cfp
1770
1771       - shell: '{script}'
1772
1773     publishers:
1774       - infra-shiplogs:
1775           maven-version: '{maven-version}'
1776
1777 - job-template:
1778     # Job template for building & pushing docker images
1779     #
1780     # The purpose of this job template is to run:
1781     #  1. login to the docker registry
1782     #  2. inject a version.properties file and set versions
1783     #  3. run a docker push
1784     #
1785     # Required Variables:
1786     #     pom:       name/location of the pom.xml file relative to the workspace
1787     #     profile:   the docker profile defined in the pom
1788     #     maven-properties: properties passed to maven
1789
1790     name: '{project-name}-{stream}-docker-version-java-daily'
1791     project-type: freestyle
1792     node: 'ubuntu1604-docker-8c-8g'
1793
1794     properties:
1795       - infra-properties:
1796           build-days-to-keep: '{build-days-to-keep}'
1797
1798     parameters:
1799       - infra-parameters:
1800           project: '{project}'
1801           branch: '{branch}'
1802           refspec: 'refs/heads/{branch}'
1803           artifacts: '{archive-artifacts}'
1804       - maven-exec:
1805           maven-version: '{maven-version}'
1806
1807     scm:
1808       - gerrit-trigger-scm:
1809           refspec: ''
1810           choosing-strategy: 'default'
1811           submodule-recursive: '{submodule-recursive}'
1812
1813     wrappers:
1814       - infra-wrappers:
1815           build-timeout: '{build-timeout}'
1816
1817     triggers:
1818       # 12 AM UTC
1819       - timed: 'H 12 * * *'
1820       - gerrit-trigger-release-manually:
1821           server: '{server-name}'
1822           project: '{project}'
1823           branch: '{branch}'
1824
1825     builders:
1826
1827       - provide-maven-settings:
1828           global-settings-file: 'global-settings'
1829           settings-file: '{mvn-settings}'
1830
1831       - inject:
1832           properties-file: version.properties
1833
1834       - maven-target:
1835           maven-version: '{maven-version}'
1836           goals: 'versions:set versions:update-child-modules versions:commit -B'
1837           properties:
1838             - 'newVersion=${{release_version}}'
1839           settings: '{mvn-settings}'
1840           settings-type: cfp
1841           global-settings: 'global-settings'
1842           global-settings-type: cfp
1843
1844       - docker-login
1845
1846       - maven-docker-push-daily:
1847           maven-version: '{maven-version}'
1848           mvn-settings: '{mvn-settings}'
1849           pom: '{docker-pom}'
1850           # use default as mvn-profile if profile is not needed
1851           mvn-profile: '{mvn-profile}'
1852
1853     publishers:
1854       - infra-shiplogs:
1855           maven-version: '{maven-version}'
1856
1857 - job-template:
1858     # Job template for building & pushing docker images
1859     #
1860     # The purpose of this job template is to run:
1861     #  1. inject a version.properties file and set versions
1862     #  2. login to the docker registry
1863     #  3. run a docker push
1864     #
1865     # This job supports subprojects.
1866     #
1867     # Required Variables:
1868     #     pom:       name/location of the pom.xml file relative to the workspace
1869     #     maven-properties: properties passed to maven
1870
1871     name: '{project-name}-{stream}-{subproject}-docker-version-java-daily'
1872     project-type: freestyle
1873     node: 'ubuntu1604-docker-8c-8g'
1874
1875     properties:
1876       - infra-properties:
1877           build-days-to-keep: '{build-days-to-keep}'
1878
1879     parameters:
1880       - infra-parameters:
1881           project: '{project}'
1882           branch: '{branch}'
1883           refspec: 'refs/heads/{branch}'
1884           artifacts: '{archive-artifacts}'
1885       - maven-exec:
1886           maven-version: '{maven-version}'
1887
1888     scm:
1889       - gerrit-trigger-scm:
1890           refspec: ''
1891           choosing-strategy: 'default'
1892           submodule-recursive: '{submodule-recursive}'
1893
1894     wrappers:
1895       - infra-wrappers:
1896           build-timeout: '{build-timeout}'
1897
1898     triggers:
1899       # 12 AM UTC
1900       - timed: 'H 12 * * *'
1901       - gerrit-trigger-release-manually:
1902           server: '{server-name}'
1903           project: '{project}'
1904           branch: '{branch}'
1905
1906     builders:
1907
1908       - provide-maven-settings:
1909           global-settings-file: 'global-settings'
1910           settings-file: '{mvn-settings}'
1911
1912       - inject:
1913           properties-file: version.properties
1914
1915       - maven-target:
1916           maven-version: '{maven-version}'
1917           pom: '{pom}'
1918           goals: 'versions:set versions:update-child-modules versions:commit -B'
1919           properties:
1920             - 'newVersion=${{release_version}}'
1921           settings: '{mvn-settings}'
1922           settings-type: cfp
1923           global-settings: 'global-settings'
1924           global-settings-type: cfp
1925
1926       - docker-login
1927
1928       - maven-docker-push-daily:
1929           maven-version: '{maven-version}'
1930           pom: '{pom}'
1931           mvn-settings: '{mvn-settings}'
1932           pom: '{docker-pom}'
1933           # use default as mvn-profile if profile is not needed
1934           mvn-profile: '{mvn-profile}'
1935
1936     publishers:
1937       - infra-shiplogs:
1938           maven-version: '{maven-version}'
1939
1940 - job-template:
1941     # Job template for building & pushing docker images for AAI specific repos
1942     #
1943     # The purpose of this job template is to run:
1944     #  1. login to the docker registry
1945     #  2. run maven goals
1946     #  3. run include-docker-push.sh
1947     #
1948     # Required Variables:
1949     #     pom:       name/location of the pom.xml file relative to the workspace
1950     #     maven-properties: properties passed to maven
1951
1952     name: '{project-name}-{stream}-aai-docker-java-daily'
1953     project-type: freestyle
1954     node: 'ubuntu1604-docker-8c-8g'
1955     docker-image-name: ''
1956
1957     properties:
1958       - infra-properties:
1959           build-days-to-keep: '{build-days-to-keep}'
1960
1961     parameters:
1962       - infra-parameters:
1963           project: '{project}'
1964           branch: '{branch}'
1965           refspec: 'refs/heads/{branch}'
1966           artifacts: '{archive-artifacts}'
1967       - maven-exec:
1968           maven-version: '{maven-version}'
1969       - docker-image-name:
1970           docker-image-name: '{docker-image-name}'
1971
1972     scm:
1973       - gerrit-trigger-scm:
1974           refspec: ''
1975           choosing-strategy: 'default'
1976           submodule-recursive: '{submodule-recursive}'
1977
1978     wrappers:
1979       - infra-wrappers:
1980           build-timeout: '{build-timeout}'
1981
1982     triggers:
1983       # 12 AM UTC
1984       - timed: 'H 12 * * *'
1985       - gerrit-trigger-release-manually:
1986           server: '{server-name}'
1987           project: '{project}'
1988           branch: '{branch}'
1989
1990     builders:
1991
1992       - provide-maven-settings:
1993           global-settings-file: 'global-settings'
1994           settings-file: '{mvn-settings}'
1995
1996       - docker-login
1997
1998       - maven-target:
1999           maven-version: '{maven-version}'
2000           pom: 'pom.xml'
2001           goals: 'clean install -DskipTests -B
2002             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
2003           settings: '{mvn-settings}'
2004           settings-type: cfp
2005           global-settings: 'global-settings'
2006           global-settings-type: cfp
2007
2008       - maven-target:
2009           maven-version: '{maven-version}'
2010           pom: '{pom}'
2011           goals: '{mvn-goals}'
2012           settings: '{mvn-settings}'
2013           settings-type: cfp
2014           global-settings: 'global-settings'
2015           global-settings-type: cfp
2016           properties:
2017             - maven.test.skip=true
2018             - docker.pull.registry=nexus3.onap.org:10001
2019             - docker.push.registry=nexus3.onap.org:10003
2020
2021       - shell: !include-raw-escape: include-docker-push.sh
2022
2023     publishers:
2024       - infra-shiplogs:
2025           maven-version: '{maven-version}'
2026
2027 - job-template:
2028     # Job template for building & pushing docker images for AAI specific repos
2029     #
2030     # The purpose of this job template is to run:
2031     #  1. login to the docker registry
2032     #  2. run maven goals
2033     #  3. run include-docker-push.sh
2034     #
2035     # This job supports subprojects
2036     #
2037     # Required Variables:
2038     #     pom:       name/location of the pom.xml file relative to the workspace
2039     #     maven-properties: properties passed to maven
2040
2041     name: '{project-name}-{stream}-{subproject}-aai-docker-java-daily'
2042     project-type: freestyle
2043     node: 'ubuntu1604-docker-8c-8g'
2044     docker-image-name: ''
2045
2046     properties:
2047       - infra-properties:
2048           build-days-to-keep: '{build-days-to-keep}'
2049
2050     parameters:
2051       - infra-parameters:
2052           project: '{project}'
2053           branch: '{branch}'
2054           refspec: 'refs/heads/{branch}'
2055           artifacts: '{archive-artifacts}'
2056       - maven-exec:
2057           maven-version: '{maven-version}'
2058       - docker-image-name:
2059           docker-image-name: '{docker-image-name}'
2060
2061     scm:
2062       - gerrit-trigger-scm:
2063           refspec: ''
2064           choosing-strategy: 'default'
2065           submodule-recursive: '{submodule-recursive}'
2066
2067     wrappers:
2068       - infra-wrappers:
2069           build-timeout: '{build-timeout}'
2070
2071     triggers:
2072       # 12 AM UTC
2073       - timed: 'H 12 * * *'
2074       - gerrit-trigger-release-manually:
2075           server: '{server-name}'
2076           project: '{project}'
2077           branch: '{branch}'
2078
2079     builders:
2080
2081       - provide-maven-settings:
2082           global-settings-file: 'global-settings'
2083           settings-file: '{mvn-settings}'
2084
2085       - docker-login
2086
2087       - maven-target:
2088           maven-version: '{maven-version}'
2089           pom: 'pom.xml'
2090           goals: 'clean install -DskipTests -B
2091             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
2092           settings: '{mvn-settings}'
2093           settings-type: cfp
2094           global-settings: 'global-settings'
2095           global-settings-type: cfp
2096
2097       - maven-target:
2098           maven-version: '{maven-version}'
2099           pom: '{pom}'
2100           goals: '{mvn-goals}'
2101           settings: '{mvn-settings}'
2102           settings-type: cfp
2103           global-settings: 'global-settings'
2104           global-settings-type: cfp
2105           properties:
2106             - maven.test.skip=true
2107             - docker.pull.registry=nexus3.onap.org:10001
2108             - docker.push.registry=nexus3.onap.org:10003
2109
2110       - shell: !include-raw-escape: include-docker-push.sh
2111
2112     publishers:
2113       - infra-shiplogs:
2114           maven-version: '{maven-version}'
2115
2116 - job-template:
2117     # Job template for Java daily release jobs
2118     #
2119     # The purpose of this job template is to run:
2120     # 1. inject a version.properties file and set versions
2121     # 2. change version in all POM files to the release version specified
2122     #    in version.properties. This is done using a script instread of
2123     #    the mvn version plugin that assumes some specific parent structure
2124     # 3. runs maven clean deploy sonar
2125     #
2126     # The POM files are required to use the Maven staging plugin so the deploy
2127     # does not deploy directly to the release repo.
2128     #
2129     # Required Variables:
2130     #     branch:    git branch (eg. stable/lithium or master)
2131
2132     name: '{project-name}-{stream}-release-version2-java-daily'
2133
2134     project-type: freestyle
2135     node: '{build-node}'
2136     maven-deploy-properties:
2137     properties:
2138       - infra-properties:
2139           build-days-to-keep: '{build-days-to-keep}'
2140
2141     parameters:
2142       - infra-parameters:
2143           project: '{project}'
2144           branch: '{branch}'
2145           refspec: 'refs/heads/{branch}'
2146           artifacts: '{archive-artifacts}'
2147       - maven-exec:
2148           maven-version: '{maven-version}'
2149
2150     scm:
2151       - gerrit-trigger-scm:
2152           refspec: ''
2153           choosing-strategy: 'default'
2154           submodule-recursive: '{submodule-recursive}'
2155
2156     wrappers:
2157       - infra-wrappers:
2158           build-timeout: '{build-timeout}'
2159
2160     triggers:
2161       # 11 AM UTC
2162       - timed: 'H 11 * * *'
2163       - gerrit-trigger-release-manually:
2164           server: '{server-name}'
2165           project: '{project}'
2166           branch: '{branch}'
2167
2168     builders:
2169       - provide-maven-settings:
2170           global-settings-file: 'global-settings'
2171           settings-file: '{mvn-settings}'
2172       - maven-install:
2173           maven-version: '{maven-version}'
2174
2175       - inject:
2176           properties-file: version.properties
2177
2178       - shell: !include-raw-escape: include-update-pom-versions.sh
2179
2180       - maven-target:
2181           maven-version: '{maven-version}'
2182           goals: 'clean deploy sonar:sonar site:site site:stage-deploy
2183             -Dsonar.host.url=${{SONAR}} -B
2184             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
2185           properties:
2186             - '{maven-deploy-properties}'
2187           settings: '{mvn-settings}'
2188           settings-type: cfp
2189           global-settings: 'global-settings'
2190           global-settings-type: cfp
2191
2192     publishers:
2193       - infra-shiplogs:
2194           maven-version: '{maven-version}'
2195
2196 - job-template:
2197     # Job template for Java daily release jobs
2198     #
2199     # The purpose of this job template is to run:
2200     # 1. inject a version.properties file and set versions
2201     # 2. change version in all POM files to the release version specified
2202     #     in version.properties. This is done using a script instread of
2203     #     the mvn version plugin that assumes some specific parent structure
2204     # 3. runs maven clean deploy sonar
2205     #
2206     # The POM files are required to use the Maven staging plugin so the deploy
2207     # does not deploy directly to the release repo.
2208     #
2209     # Required Variables:
2210     #     branch:    git branch (eg. stable/lithium or master)
2211     #     pom:       name/location of the pom.xml file relative to the workspace
2212     #     pattern:   ant file-path pattern relative to the workspace used to
2213     #                trigger the job
2214
2215     name: '{project-name}-{stream}-{subproject}-release-version2-java-daily'
2216
2217     project-type: freestyle
2218     node: '{build-node}'
2219     maven-deploy-properties:
2220     properties:
2221       - infra-properties:
2222           build-days-to-keep: '{build-days-to-keep}'
2223
2224     parameters:
2225       - infra-parameters:
2226           project: '{project}'
2227           branch: '{branch}'
2228           refspec: 'refs/heads/{branch}'
2229           artifacts: '{archive-artifacts}'
2230       - maven-exec:
2231           maven-version: '{maven-version}'
2232
2233     scm:
2234       - gerrit-trigger-scm:
2235           refspec: ''
2236           choosing-strategy: 'default'
2237           submodule-recursive: '{submodule-recursive}'
2238
2239     wrappers:
2240       - infra-wrappers:
2241           build-timeout: '{build-timeout}'
2242
2243     triggers:
2244       # 11 AM UTC
2245       - timed: 'H 11 * * *'
2246       - gerrit-trigger-release-manually:
2247           server: '{server-name}'
2248           project: '{project}'
2249           branch: '{branch}'
2250           files: '{pattern}'
2251
2252     builders:
2253       - provide-maven-settings:
2254           global-settings-file: 'global-settings'
2255           settings-file: '{mvn-settings}'
2256       - maven-install:
2257           maven-version: '{maven-version}'
2258
2259       - inject:
2260           properties-file: version.properties
2261
2262       - shell: !include-raw-escape: include-update-pom-versions.sh
2263
2264       - maven-target:
2265           maven-version: '{maven-version}'
2266           pom: '{pom}'
2267           goals: 'clean deploy sonar:sonar site:site site:stage-deploy
2268             -Dsonar.host.url=${{SONAR}} -B
2269             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
2270           properties:
2271             - '{maven-deploy-properties}'
2272           settings: '{mvn-settings}'
2273           settings-type: cfp
2274           global-settings: 'global-settings'
2275           global-settings-type: cfp
2276
2277     publishers:
2278       - infra-shiplogs:
2279           maven-version: '{maven-version}'
2280
2281 - job-template:
2282     # Job template for Java daily release jobs
2283     #
2284     # The purpose of this job template is to run:
2285     #  1. inject a version.properties file and set versions
2286     #  2. change version in all POM files to the release version specified
2287     #     in version.properties. This is done using a script instread of
2288     #     the mvn version plugin that assumes some specific parent structure
2289     #     This version does NOT change the version within the <parent> tag
2290     #  3. runs maven clean deploy sonar
2291     #
2292     # The POM files are required to use the Maven staging plugin so the deploy
2293     # does not deploy directly to the release repo.
2294     #
2295     # Required Variables:
2296     #     branch:    git branch (eg. stable/lithium or master)
2297     #     pom:       name/location of the pom.xml file relative to the workspace
2298     #     pattern:   ant file-path pattern relative to the workspace used to
2299     #                trigger the job
2300
2301     name: '{project-name}-{stream}-{subproject}-release-version3-java-daily'
2302
2303     project-type: freestyle
2304     node: '{build-node}'
2305     maven-deploy-properties:
2306     properties:
2307       - infra-properties:
2308           build-days-to-keep: '{build-days-to-keep}'
2309
2310     parameters:
2311       - infra-parameters:
2312           project: '{project}'
2313           branch: '{branch}'
2314           refspec: 'refs/heads/{branch}'
2315           artifacts: '{archive-artifacts}'
2316       - maven-exec:
2317           maven-version: '{maven-version}'
2318
2319     scm:
2320       - gerrit-trigger-scm:
2321           refspec: ''
2322           choosing-strategy: 'default'
2323           submodule-recursive: '{submodule-recursive}'
2324
2325     wrappers:
2326       - infra-wrappers:
2327           build-timeout: '{build-timeout}'
2328
2329     triggers:
2330       # 11 AM UTC
2331       - timed: 'H 11 * * *'
2332       - gerrit-trigger-release-manually:
2333           server: '{server-name}'
2334           project: '{project}'
2335           branch: '{branch}'
2336           files: '{pattern}'
2337
2338     builders:
2339       - provide-maven-settings:
2340           global-settings-file: 'global-settings'
2341           settings-file: '{mvn-settings}'
2342       - maven-install:
2343           maven-version: '{maven-version}'
2344
2345       - inject:
2346           properties-file: version.properties
2347
2348       - shell: !include-raw-escape: include-update-pom-versions-not-parent.sh
2349
2350       - maven-target:
2351           maven-version: '{maven-version}'
2352           pom: '{pom}'
2353           goals: 'clean deploy sonar:sonar site:site site:stage-deploy
2354             -Dsonar.host.url=${{SONAR}} -B
2355             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
2356           properties:
2357             - '{maven-deploy-properties}'
2358           settings: '{mvn-settings}'
2359           settings-type: cfp
2360           global-settings: 'global-settings'
2361           global-settings-type: cfp
2362
2363     publishers:
2364       - infra-shiplogs:
2365           maven-version: '{maven-version}'
2366
2367 - job-template:
2368     # Template for maven site plugin invocation
2369     #
2370     # It's designed to be triggered when the trigger-job job
2371     # succeeds as there's no need for new documentaiton
2372     # if the build job fails.
2373     #
2374     # The purpose of this job template is to run:
2375     # 1. maven set versions
2376     # 2. maven clean site
2377     #
2378     # Those parameters should be set :
2379     # - site-pom : the pom file that contains the site confiration
2380     # - trigger-job : the name of the project that triggers this job
2381     #                     upon success. The job name can be
2382     #                     parameterized.
2383
2384     name: '{project-name}-{stream}-stage-site-java'
2385     project-type: freestyle
2386     node: '{build-node}'
2387     pom: 'pom.xml'
2388
2389     properties:
2390       - infra-properties:
2391           build-days-to-keep: '{build-days-to-keep}'
2392
2393     parameters:
2394       - infra-parameters:
2395           project: '{project}'
2396           branch: '{branch}'
2397           refspec: 'refs/heads/{branch}'
2398           artifacts: '{archive-artifacts}'
2399       - maven-exec:
2400           maven-version: '{maven-version}'
2401
2402     scm:
2403       - gerrit-trigger-scm:
2404           refspec: ''
2405           choosing-strategy: 'default'
2406           submodule-recursive: '{submodule-recursive}'
2407
2408     wrappers:
2409       - infra-wrappers:
2410           build-timeout: '{build-timeout}'
2411
2412     triggers:
2413       - trigger-on-build-success:
2414           job-name: '{trigger-job}'
2415
2416     builders:
2417       - provide-maven-settings:
2418           global-settings-file: 'global-settings'
2419           settings-file: '{mvn-settings}'
2420       - inject:
2421           properties-file: version.properties
2422       - maven-target:
2423           maven-version: '{maven-version}'
2424           pom: '{pom}'
2425           goals: 'versions:set versions:update-child-modules versions:commit -B'
2426           properties:
2427             - 'newVersion=${{release_version}}'
2428           settings: '{mvn-settings}'
2429           settings-type: cfp
2430           global-settings: 'global-settings'
2431           global-settings-type: cfp
2432
2433       - maven-target:
2434           maven-version: '{maven-version}'
2435           pom: '{site-pom}'
2436           goals: 'clean site:site site:stage-deploy -B'
2437           settings: '{mvn-settings}'
2438           settings-type: cfp
2439           global-settings: 'global-settings'
2440           global-settings-type: cfp
2441
2442     publishers:
2443       - infra-shiplogs:
2444           maven-version: '{maven-version}'
2445
2446 - job-template:
2447     # Job template for Java merge jobs for SDC specific repos
2448     #
2449     # The purpose of this job template is to run:
2450     # 1. maven clean deploy
2451     #
2452     # Required Variables:
2453     #     branch:    git branch (eg. stable/lithium or master)
2454
2455     name: '{project-name}-{stream}-sdc-merge-java'
2456
2457     project-type: freestyle
2458     node: 'ubuntu1604-docker-8c-8g'
2459
2460     properties:
2461       - infra-properties:
2462           build-days-to-keep: '{build-days-to-keep}'
2463
2464     parameters:
2465       - infra-parameters:
2466           project: '{project}'
2467           branch: '{branch}'
2468           refspec: 'refs/heads/{branch}'
2469           artifacts: '{archive-artifacts}'
2470       - maven-exec:
2471           maven-version: '{maven-version}'
2472
2473     scm:
2474       - gerrit-trigger-scm:
2475           refspec: ''
2476           choosing-strategy: 'default'
2477           submodule-recursive: '{submodule-recursive}'
2478
2479     wrappers:
2480       - infra-wrappers:
2481           build-timeout: '{build-timeout}'
2482
2483     triggers:
2484       - gerrit-trigger-patch-merged:
2485           server: '{server-name}'
2486           project: '{project}'
2487           branch: '{branch}'
2488           files: '**'
2489
2490     builders:
2491       - provide-maven-settings:
2492           global-settings-file: 'global-settings'
2493           settings-file: '{mvn-settings}'
2494
2495       - docker-login
2496
2497       - maven-docker-push-daily:
2498           maven-version: '{maven-version}'
2499           mvn-settings: '{mvn-settings}'
2500           pom: '{docker-pom}'
2501           # use default as mvn-profile if profile is not needed
2502           mvn-profile: '{mvn-profile}'
2503
2504     publishers:
2505       - infra-shiplogs:
2506           maven-version: '{maven-version}'
2507
2508 - job-template:
2509     # Job template for building & pushing docker images for AAI specific repos
2510     #
2511     # The purpose of this job template is to run:
2512     #  1. login to the docker registry
2513     #  2. run maven clean install goals skipping tests
2514     #  3. run maven goals
2515     #
2516     # Required Variables:
2517     #     pom:       name/location of the pom.xml file relative to the workspace
2518     #     maven-properties: properties passed to maven
2519
2520     name: '{project-name}-{stream}-aai-docker-java-version-daily'
2521     project-type: freestyle
2522     node: 'ubuntu1604-docker-8c-8g'
2523
2524     properties:
2525       - infra-properties:
2526           build-days-to-keep: '{build-days-to-keep}'
2527
2528     parameters:
2529       - infra-parameters:
2530           project: '{project}'
2531           branch: '{branch}'
2532           refspec: 'refs/heads/{branch}'
2533           artifacts: '{archive-artifacts}'
2534       - maven-exec:
2535           maven-version: '{maven-version}'
2536
2537     scm:
2538       - gerrit-trigger-scm:
2539           refspec: ''
2540           choosing-strategy: 'default'
2541           submodule-recursive: '{submodule-recursive}'
2542
2543     wrappers:
2544       - infra-wrappers:
2545           build-timeout: '{build-timeout}'
2546
2547     triggers:
2548       # 12 AM UTC
2549       - timed: 'H 12 * * *'
2550       - gerrit-trigger-release-manually:
2551           server: '{server-name}'
2552           project: '{project}'
2553           branch: '{branch}'
2554
2555     builders:
2556
2557       - provide-maven-settings:
2558           global-settings-file: 'global-settings'
2559           settings-file: '{mvn-settings}'
2560
2561       - docker-login
2562
2563       - maven-target:
2564           maven-version: '{maven-version}'
2565           pom: 'pom.xml'
2566           goals: 'clean install -DskipTests -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
2567           settings: '{mvn-settings}'
2568           settings-type: cfp
2569           global-settings: 'global-settings'
2570           global-settings-type: cfp
2571
2572       - maven-target:
2573           maven-version: '{maven-version}'
2574           pom: '{pom}'
2575           goals: '{mvn-goals}'
2576           settings: '{mvn-settings}'
2577           settings-type: cfp
2578           global-settings: 'global-settings'
2579           global-settings-type: cfp
2580           properties:
2581             - maven.test.skip=true
2582             - docker.pull.registry=nexus3.onap.org:10001
2583             - docker.push.registry=nexus3.onap.org:10003
2584
2585     publishers:
2586       - infra-shiplogs:
2587           maven-version: '{maven-version}'
2588