Introduction of the checkstyle plugin
[ci-management.git] / jjb / global-templates-java.yaml
1 ---
2 - job-template:
3     # Template used for running CLM scans
4     # Arguements:
5     #   {name}         - Project Shortname
6     #   {project}      - Fully qualified project name
7     #   {mvn-settings} - Project maven settings file
8     #   {jdk}
9     name: '{project-name}-{stream}-clm'
10
11     project-type: freestyle
12     node: '{build-node}'
13     jdk: '{jdk}'
14
15     properties:
16       - infra-properties:
17           build-days-to-keep: 30
18
19     parameters:
20       - infra-parameters:
21           project: '{project}'
22           branch: '{branch}'
23           refspec: 'refs/heads/{branch}'
24           artifacts: '{archive-artifacts}'
25
26     scm:
27       - git-scm:
28           refspec: ''
29           branch: '{branch}'
30
31     wrappers:
32       - infra-wrappers:
33           build-timeout: '{build-timeout}'
34
35     triggers:
36       - timed: 'H H * * 6'
37
38     builders:
39       - provide-maven-settings:
40           global-settings-file: 'global-settings'
41           settings-file: '{mvn-settings}'
42       - maven-target:
43           maven-version: 'mvn33'
44           pom: 'pom.xml'
45           goals: |
46               clean install dependency:tree com.sonatype.clm:clm-maven-plugin:index
47               {onap-infra-mvn-opts}
48           java-opts:
49             - '-Xmx4096m -XX:MaxPermSize=512m'
50           settings: '{mvn-settings}'
51           settings-type: cfp
52           global-settings: 'global-settings'
53           global-settings-type: cfp
54       - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
55       - sonatype-clm:
56           application-name: '{project-name}'
57
58     publishers:
59       - infra-shiplogs:
60           maven-version: '{maven-version}'
61
62 - job-template:
63     # Job template for Java verify jobs
64     #
65     # The purpose of this job template is to run "maven clean install" for
66     # projects using this template.
67     #
68     # Required Variables:
69     #     branch:    git branch (eg. stable/lithium or master)
70
71     name: '{project-name}-{stream}-verify-java-skip-tests'
72
73     project-type: freestyle
74     concurrent: true
75     node: '{build-node}'
76
77     properties:
78       - infra-properties:
79           build-days-to-keep: '{build-days-to-keep}'
80
81     parameters:
82       - infra-parameters:
83           project: '{project}'
84           branch: '{branch}'
85           refspec: 'refs/heads/{branch}'
86           artifacts: '{archive-artifacts}'
87       - maven-exec:
88           maven-version: '{maven-version}'
89
90     scm:
91       - gerrit-trigger-scm:
92           refspec: '$GERRIT_REFSPEC'
93           choosing-strategy: 'gerrit'
94           submodule-recursive: '{submodule-recursive}'
95
96     wrappers:
97       - infra-wrappers:
98           build-timeout: '{build-timeout}'
99
100     triggers:
101       - gerrit-trigger-patch-submitted:
102           server: '{server-name}'
103           project: '{project}'
104           branch: '{branch}'
105           files: '**'
106
107     builders:
108       - provide-maven-settings:
109           global-settings-file: 'global-settings'
110           settings-file: '{mvn-settings}'
111       - maven-target:
112           maven-version: '{maven-version}'
113           goals: 'clean install -DskipTests=true -B
114             -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           maven-opts:
120             - maven.test.skip=true
121
122     publishers:
123       - infra-shiplogs:
124           maven-version: '{maven-version}'
125
126 - job-template:
127     # Job template for Java verify jobs
128     #
129     # The purpose of this job template is to run "maven clean install" for
130     # projects using this template.
131     #
132     # Required Variables:
133     #     branch:    git branch (eg. stable/lithium or master)
134
135     name: '{project-name}-{stream}-verify-java'
136
137     project-type: freestyle
138     concurrent: true
139     node: '{build-node}'
140
141     properties:
142       - infra-properties:
143           build-days-to-keep: '{build-days-to-keep}'
144
145     parameters:
146       - infra-parameters:
147           project: '{project}'
148           branch: '{branch}'
149           refspec: 'refs/heads/{branch}'
150           artifacts: '{archive-artifacts}'
151       - maven-exec:
152           maven-version: '{maven-version}'
153
154     scm:
155       - gerrit-trigger-scm:
156           refspec: '$GERRIT_REFSPEC'
157           choosing-strategy: 'gerrit'
158           submodule-recursive: '{submodule-recursive}'
159
160     wrappers:
161       - infra-wrappers:
162           build-timeout: '{build-timeout}'
163
164     triggers:
165       - gerrit-trigger-patch-submitted:
166           server: '{server-name}'
167           project: '{project}'
168           branch: '{branch}'
169           files: '**'
170
171     builders:
172       - provide-maven-settings:
173           global-settings-file: 'global-settings'
174           settings-file: '{mvn-settings}'
175       - maven-target:
176           maven-version: '{maven-version}'
177           goals: 'clean install -B
178             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
179           settings: '{mvn-settings}'
180           settings-type: cfp
181           global-settings: 'global-settings'
182           global-settings-type: cfp
183
184     publishers:
185       - infra-shiplogs:
186           maven-version: '{maven-version}'
187
188 - job-template:
189     # Job template for Java verify jobs running checkstyle at the end
190     # When checkstyle will be fully incorporated, it is meant to replace
191     #  '{project-name}-{stream}-verify-java-checkstyle'
192     # The purpose of this job template is to run "maven clean install" for
193     # projects using this template.
194     #
195     # Required Variables:
196     #     branch:    git branch (eg. stable/lithium or master)
197     name: '{project-name}-{stream}-verify-java-checkstyle'
198     project-type: freestyle
199     concurrent: true
200     node: '{build-node}'
201     properties:
202       - infra-properties:
203           build-days-to-keep: '{build-days-to-keep}'
204     parameters:
205       - infra-parameters:
206           project: '{project}'
207           branch: '{branch}'
208           refspec: 'refs/heads/{branch}'
209           artifacts: '{archive-artifacts}'
210       - maven-exec:
211           maven-version: '{maven-version}'
212     scm:
213       - gerrit-trigger-scm:
214           refspec: '$GERRIT_REFSPEC'
215           choosing-strategy: 'gerrit'
216           submodule-recursive: '{submodule-recursive}'
217     wrappers:
218       - infra-wrappers:
219           build-timeout: '{build-timeout}'
220     triggers:
221       - gerrit-trigger-patch-submitted:
222           server: '{server-name}'
223           project: '{project}'
224           branch: '{branch}'
225           files: '**'
226     builders:
227       - provide-maven-settings:
228           global-settings-file: 'global-settings'
229           settings-file: '{mvn-settings}'
230       - maven-target:
231           maven-version: '{maven-version}'
232           goals: 'clean install -B
233             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
234           settings: '{mvn-settings}'
235           settings-type: cfp
236           global-settings: 'global-settings'
237           global-settings-type: cfp
238     publishers:
239       - infra-shiplogs:
240           maven-version: '{maven-version}'
241       - checkstyle-result
242
243 - job-template:
244     # Job template for Java verify jobs that takes a maven template
245     #
246     # The purpose of this job template is to run "maven clean install -P {x}"
247     # for projects using this template.
248     #
249     # Required Variables:
250     #     branch:    git branch (eg. stable/lithium or master)
251
252     name: '{project-name}-{stream}-verify-profile-java'
253
254     project-type: freestyle
255     concurrent: true
256     node: '{build-node}'
257
258     properties:
259       - infra-properties:
260           build-days-to-keep: '{build-days-to-keep}'
261
262     parameters:
263       - infra-parameters:
264           project: '{project}'
265           branch: '{branch}'
266           refspec: 'refs/heads/{branch}'
267           artifacts: '{archive-artifacts}'
268       - maven-exec:
269           maven-version: '{maven-version}'
270
271     scm:
272       - gerrit-trigger-scm:
273           refspec: '$GERRIT_REFSPEC'
274           choosing-strategy: 'gerrit'
275           submodule-recursive: '{submodule-recursive}'
276
277     wrappers:
278       - infra-wrappers:
279           build-timeout: '{build-timeout}'
280
281     triggers:
282       - gerrit-trigger-patch-submitted:
283           server: '{server-name}'
284           project: '{project}'
285           branch: '{branch}'
286           files: '**'
287
288     builders:
289       - provide-maven-settings:
290           global-settings-file: 'global-settings'
291           settings-file: '{mvn-settings}'
292       - maven-target:
293           maven-version: '{maven-version}'
294           goals: 'clean install -P {mvn-profile} -B
295             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
296           settings: '{mvn-settings}'
297           settings-type: cfp
298           global-settings: 'global-settings'
299           global-settings-type: cfp
300
301     publishers:
302       - infra-shiplogs:
303           maven-version: '{maven-version}'
304
305 - job-template:
306     # Job template for Java verify jobs with POM not at the root
307     #
308     # The purpose of this job template is to run "maven clean install" for
309     # projects using this template.
310     #
311     # Required Variables:
312     #     branch:    git branch (eg. stable/lithium or master)
313     #     pom:       name/location of the pom.xml file relative to the workspace
314     #     pattern:   ant file-path pattern relative to the workspace used to
315     #                trigger the job
316
317     name: '{project-name}-{stream}-{subproject}-verify-java'
318
319     project-type: freestyle
320     concurrent: true
321     node: '{build-node}'
322
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: '$GERRIT_REFSPEC'
339           choosing-strategy: 'gerrit'
340           submodule-recursive: '{submodule-recursive}'
341
342     wrappers:
343       - infra-wrappers:
344           build-timeout: '{build-timeout}'
345
346     triggers:
347       - gerrit-trigger-patch-submitted:
348           server: '{server-name}'
349           project: '{project}'
350           branch: '{branch}'
351           files: '{pattern}'
352
353     builders:
354       - provide-maven-settings:
355           global-settings-file: 'global-settings'
356           settings-file: '{mvn-settings}'
357       - maven-target:
358           maven-version: '{maven-version}'
359           pom: '{pom}'
360           goals: 'clean install -B
361             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
362           settings: '{mvn-settings}'
363           settings-type: cfp
364           global-settings: 'global-settings'
365           global-settings-type: cfp
366
367     publishers:
368       - infra-shiplogs:
369           maven-version: '{maven-version}'
370
371 - job-template:
372     # Job template for Java daily release jobs
373     #
374     # The purpose of this job template is to run "maven version && maven clean
375     # deploy" for projects using this template.
376     #
377     # Required Variables:
378     #     branch:    git branch (eg. stable/lithium or master)
379     name: '{project-name}-{stream}-release-java-daily'
380
381     project-type: freestyle
382     node: '{build-node}'
383     maven-deploy-properties:
384     properties:
385       - infra-properties:
386           build-days-to-keep: '{build-days-to-keep}'
387
388     parameters:
389       - infra-parameters:
390           project: '{project}'
391           branch: '{branch}'
392           refspec: 'refs/heads/{branch}'
393           artifacts: '{archive-artifacts}'
394       - maven-exec:
395           maven-version: '{maven-version}'
396
397     scm:
398       - gerrit-trigger-scm:
399           refspec: ''
400           choosing-strategy: 'default'
401           submodule-recursive: '{submodule-recursive}'
402
403     wrappers:
404       - infra-wrappers:
405           build-timeout: '{build-timeout}'
406
407     triggers:
408       # 11 AM UTC
409       - timed: 'H 11 * * *'
410       - gerrit-trigger-release-manually:
411           server: '{server-name}'
412           project: '{project}'
413           branch: '{branch}'
414
415     builders:
416       - provide-maven-settings:
417           global-settings-file: 'global-settings'
418           settings-file: '{mvn-settings}'
419
420       - maven-target:
421           maven-version: '{maven-version}'
422           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
423             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
424           properties:
425             - '{maven-deploy-properties}'
426           settings: '{mvn-settings}'
427           settings-type: cfp
428           global-settings: 'global-settings'
429           global-settings-type: cfp
430
431     publishers:
432       - infra-shiplogs:
433           maven-version: '{maven-version}'
434
435 - job-template:
436     # Job template for Java daily release jobs running checkstyle at the end
437     # When checkstyle will be fully incorporated, it is meant to replace
438     #  '{project-name}-{stream}-release-java-daily'
439     # The purpose of this job template is to run "maven version && maven clean
440     # deploy" for projects using this template.
441     #
442     # Required Variables:
443     #     branch:    git branch (eg. stable/lithium or master)
444     name: '{project-name}-{stream}-release-java-daily-checkstyle'
445     project-type: freestyle
446     node: '{build-node}'
447     maven-deploy-properties:
448     properties:
449       - infra-properties:
450           build-days-to-keep: '{build-days-to-keep}'
451     parameters:
452       - infra-parameters:
453           project: '{project}'
454           branch: '{branch}'
455           refspec: 'refs/heads/{branch}'
456           artifacts: '{archive-artifacts}'
457       - maven-exec:
458           maven-version: '{maven-version}'
459     scm:
460       - gerrit-trigger-scm:
461           refspec: ''
462           choosing-strategy: 'default'
463           submodule-recursive: '{submodule-recursive}'
464     wrappers:
465       - infra-wrappers:
466           build-timeout: '{build-timeout}'
467     triggers:
468       # 11 AM UTC
469       - timed: 'H 11 * * *'
470       - gerrit-trigger-release-manually:
471           server: '{server-name}'
472           project: '{project}'
473           branch: '{branch}'
474     builders:
475       - provide-maven-settings:
476           global-settings-file: 'global-settings'
477           settings-file: '{mvn-settings}'
478       - maven-target:
479           maven-version: '{maven-version}'
480           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
481             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
482           properties:
483             - '{maven-deploy-properties}'
484           settings: '{mvn-settings}'
485           settings-type: cfp
486           global-settings: 'global-settings'
487           global-settings-type: cfp
488     publishers:
489       - infra-shiplogs:
490           maven-version: '{maven-version}'
491       - checkstyle-result-daily
492
493 - job-template:
494     # Job template for Java daily release jobs
495     #
496     # The purpose of this job template is to run "maven version && maven clean
497     # deploy" for projects using this template.
498     #
499     # Required Variables:
500     #     branch:    git branch (eg. stable/lithium or master)
501     name: '{project-name}-{stream}-release-version-java-daily-no-sonar'
502
503     project-type: freestyle
504     node: '{build-node}'
505     maven-deploy-properties:
506     properties:
507       - infra-properties:
508           build-days-to-keep: '{build-days-to-keep}'
509
510     parameters:
511       - infra-parameters:
512           project: '{project}'
513           branch: '{branch}'
514           refspec: 'refs/heads/{branch}'
515           artifacts: '{archive-artifacts}'
516       - maven-exec:
517           maven-version: '{maven-version}'
518
519     scm:
520       - gerrit-trigger-scm:
521           refspec: ''
522           choosing-strategy: 'default'
523           submodule-recursive: '{submodule-recursive}'
524
525     wrappers:
526       - infra-wrappers:
527           build-timeout: '{build-timeout}'
528
529     triggers:
530       # 11 AM UTC
531       - timed: 'H 11 * * *'
532       - gerrit-trigger-release-manually:
533           server: '{server-name}'
534           project: '{project}'
535           branch: '{branch}'
536
537     builders:
538       - provide-maven-settings:
539           global-settings-file: 'global-settings'
540           settings-file: '{mvn-settings}'
541
542       - inject:
543           properties-file: version.properties
544       - maven-target:
545           maven-version: '{maven-version}'
546           goals: 'versions:set versions:update-child-modules versions:commit -B'
547           properties:
548             - 'newVersion=${{release_version}}'
549           settings: '{mvn-settings}'
550           settings-type: cfp
551           global-settings: 'global-settings'
552           global-settings-type: cfp
553
554       - maven-target:
555           maven-version: '{maven-version}'
556           goals: 'clean deploy -B
557             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
558           properties:
559             - '{maven-deploy-properties}'
560           settings: '{mvn-settings}'
561           settings-type: cfp
562           global-settings: 'global-settings'
563           global-settings-type: cfp
564
565     publishers:
566       - infra-shiplogs:
567           maven-version: '{maven-version}'
568
569 - job-template:
570     # Job template for Java daily release jobs
571     #
572     # The purpose of this job template is to run "maven version && maven clean
573     # deploy" for projects using this template.
574     #
575     # Required Variables:
576     #     branch:    git branch (eg. stable/lithium or master)
577     name: '{project-name}-{stream}-release-version-java-daily'
578
579     project-type: freestyle
580     node: '{build-node}'
581     maven-deploy-properties:
582     properties:
583       - infra-properties:
584           build-days-to-keep: '{build-days-to-keep}'
585
586     parameters:
587       - infra-parameters:
588           project: '{project}'
589           branch: '{branch}'
590           refspec: 'refs/heads/{branch}'
591           artifacts: '{archive-artifacts}'
592       - maven-exec:
593           maven-version: '{maven-version}'
594
595     scm:
596       - gerrit-trigger-scm:
597           refspec: ''
598           choosing-strategy: 'default'
599           submodule-recursive: '{submodule-recursive}'
600
601     wrappers:
602       - infra-wrappers:
603           build-timeout: '{build-timeout}'
604
605     triggers:
606       # 11 AM UTC
607       - timed: 'H 11 * * *'
608       - gerrit-trigger-release-manually:
609           server: '{server-name}'
610           project: '{project}'
611           branch: '{branch}'
612
613     builders:
614       - provide-maven-settings:
615           global-settings-file: 'global-settings'
616           settings-file: '{mvn-settings}'
617
618       - inject:
619           properties-file: version.properties
620       - maven-target:
621           maven-version: '{maven-version}'
622           goals: 'versions:set versions:update-child-modules versions:commit -B'
623           properties:
624             - 'newVersion=${{release_version}}'
625           settings: '{mvn-settings}'
626           settings-type: cfp
627           global-settings: 'global-settings'
628           global-settings-type: cfp
629
630       - maven-target:
631           maven-version: '{maven-version}'
632           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
633             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
634           properties:
635             - '{maven-deploy-properties}'
636           settings: '{mvn-settings}'
637           settings-type: cfp
638           global-settings: 'global-settings'
639           global-settings-type: cfp
640
641     publishers:
642       - infra-shiplogs:
643           maven-version: '{maven-version}'
644
645 - job-template:
646     # Job template for Java daily release jobs with POM not at the root
647     #
648     # The purpose of this job template is to run "maven version && maven clean
649     # deploy" for projects using this template.
650     #
651     # Required Variables:
652     #     branch:    git branch (eg. stable/lithium or master)
653     #     pom:       name/location of the pom.xml file relative to the workspace
654
655
656     name: '{project-name}-{stream}-{subproject}-release-java-daily'
657
658     project-type: freestyle
659     node: '{build-node}'
660     maven-deploy-properties:
661     properties:
662       - infra-properties:
663           build-days-to-keep: '{build-days-to-keep}'
664
665     parameters:
666       - infra-parameters:
667           project: '{project}'
668           branch: '{branch}'
669           refspec: 'refs/heads/{branch}'
670           artifacts: '{archive-artifacts}'
671       - maven-exec:
672           maven-version: '{maven-version}'
673
674     scm:
675       - gerrit-trigger-scm:
676           refspec: ''
677           choosing-strategy: 'default'
678           submodule-recursive: '{submodule-recursive}'
679
680     wrappers:
681       - infra-wrappers:
682           build-timeout: '{build-timeout}'
683
684     triggers:
685       # 11 AM UTC
686       - timed: 'H 11 * * *'
687       - gerrit-trigger-release-manually:
688           server: '{server-name}'
689           project: '{project}'
690           branch: '{branch}'
691
692     builders:
693       - provide-maven-settings:
694           global-settings-file: 'global-settings'
695           settings-file: '{mvn-settings}'
696
697       - maven-target:
698           maven-version: '{maven-version}'
699           pom: '{pom}'
700           goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B
701             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
702           properties:
703             - '{maven-deploy-properties}'
704           settings: '{mvn-settings}'
705           settings-type: cfp
706           global-settings: 'global-settings'
707           global-settings-type: cfp
708
709     publishers:
710       - infra-shiplogs:
711           maven-version: '{maven-version}'
712
713 - job-template:
714     # Job template for Java merge jobs
715     #
716     # The purpose of this job template is to run "maven clean deploy" for
717     # projects using this template.
718     #
719     # Required Variables:
720     #     branch:    git branch (eg. stable/lithium or master)
721     name: '{project-name}-{stream}-merge-java'
722
723     project-type: freestyle
724     node: '{build-node}'
725
726     properties:
727       - infra-properties:
728           build-days-to-keep: '{build-days-to-keep}'
729
730     parameters:
731       - infra-parameters:
732           project: '{project}'
733           branch: '{branch}'
734           refspec: 'refs/heads/{branch}'
735           artifacts: '{archive-artifacts}'
736       - maven-exec:
737           maven-version: '{maven-version}'
738
739     scm:
740       - gerrit-trigger-scm:
741           refspec: ''
742           choosing-strategy: 'default'
743           submodule-recursive: '{submodule-recursive}'
744
745     wrappers:
746       - infra-wrappers:
747           build-timeout: '{build-timeout}'
748
749     triggers:
750       - gerrit-trigger-patch-merged:
751           server: '{server-name}'
752           project: '{project}'
753           branch: '{branch}'
754           files: '**'
755
756     builders:
757       - provide-maven-settings:
758           global-settings-file: 'global-settings'
759           settings-file: '{mvn-settings}'
760       - maven-target:
761           maven-version: '{maven-version}'
762           goals: 'clean deploy -B
763             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
764           settings: '{mvn-settings}'
765           settings-type: cfp
766           global-settings: 'global-settings'
767           global-settings-type: cfp
768
769     publishers:
770       - infra-shiplogs:
771           maven-version: '{maven-version}'
772
773 - job-template:
774     # Job template for Java merge jobs that takes a maven template
775     #
776     # The purpose of this job template is to run "maven clean deploy -P {x}"
777     # for projects using this template.
778     #
779     # Required Variables:
780     #     branch:    git branch (eg. stable/lithium or master)
781     name: '{project-name}-{stream}-merge-profile-java'
782
783     project-type: freestyle
784     node: '{build-node}'
785
786     properties:
787       - infra-properties:
788           build-days-to-keep: '{build-days-to-keep}'
789
790     parameters:
791       - infra-parameters:
792           project: '{project}'
793           branch: '{branch}'
794           refspec: 'refs/heads/{branch}'
795           artifacts: '{archive-artifacts}'
796       - maven-exec:
797           maven-version: '{maven-version}'
798
799     scm:
800       - gerrit-trigger-scm:
801           refspec: ''
802           choosing-strategy: 'default'
803           submodule-recursive: '{submodule-recursive}'
804
805     wrappers:
806       - infra-wrappers:
807           build-timeout: '{build-timeout}'
808
809     triggers:
810       - gerrit-trigger-patch-merged:
811           server: '{server-name}'
812           project: '{project}'
813           branch: '{branch}'
814           files: '**'
815
816     builders:
817       - provide-maven-settings:
818           global-settings-file: 'global-settings'
819           settings-file: '{mvn-settings}'
820
821       - docker-login
822
823       - maven-target:
824           maven-version: '{maven-version}'
825           goals: 'clean deploy -P {mvn-profile} -B
826             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
827           settings: '{mvn-settings}'
828           settings-type: cfp
829           global-settings: 'global-settings'
830           global-settings-type: cfp
831           properties:
832             - docker.pull.registry=nexus3.onap.org:10001
833             - docker.push.registry=nexus3.onap.org:10003
834
835     publishers:
836       - infra-shiplogs:
837           maven-version: '{maven-version}'
838
839 - job-template:
840     # Job template for Java merge jobs that should also be triggered by upstream
841     # merges
842     #
843     # Required Variables:
844     #   stream:         release stream
845     #   branch:         git branch
846     #   dependencies:   fully qualified upstream job name to trigger on
847     #                   this may be ''
848     name: '{project-name}-{stream}-downstream-merge-java'
849
850     project-type: freestyle
851     node: '{build-node}'
852
853     properties:
854       - infra-properties:
855           build-days-to-keep: '{build-days-to-keep}'
856
857     parameters:
858       - infra-parameters:
859           project: '{project}'
860           branch: '{branch}'
861           refspec: 'refs/heads/{branch}'
862           artifacts: '{archive-artifacts}'
863       - maven-exec:
864           maven-version: '{maven-version}'
865
866     scm:
867       - gerrit-trigger-scm:
868           refspec: ''
869           choosing-strategy: 'default'
870           submodule-recursive: '{submodule-recursive}'
871
872     wrappers:
873       - infra-wrappers:
874           build-timeout: '{build-timeout}'
875
876     triggers:
877       - reverse:
878           jobs: '{dependencies}'
879           result: 'success'
880       - gerrit-trigger-patch-merged:
881           server: '{server-name}'
882           project: '{project}'
883           branch: '{branch}'
884           files: '**'
885
886     builders:
887       - provide-maven-settings:
888           global-settings-file: 'global-settings'
889           settings-file: '{mvn-settings}'
890       - maven-target:
891           maven-version: '{maven-version}'
892           goals: 'clean deploy -B
893             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
894           settings: '{mvn-settings}'
895           settings-type: cfp
896           global-settings: 'global-settings'
897           global-settings-type: cfp
898
899     publishers:
900       - infra-shiplogs:
901           maven-version: '{maven-version}'
902
903 - job-template:
904     # Job template for Java merge jobs with POM not at the root
905     #
906     # The purpose of this job template is to run "maven clean deploy" for
907     # projects using this template.
908     #
909     # Required Variables:
910     #     branch:    git branch (eg. stable/lithium or master)
911     #     pom:       name/location of the pom.xml file relative to the workspace
912     #     pattern:   ant file-path pattern relative to the workspace used to
913     #                trigger the job
914
915     name: '{project-name}-{stream}-{subproject}-merge-java'
916
917     project-type: freestyle
918     node: '{build-node}'
919
920     properties:
921       - infra-properties:
922           build-days-to-keep: '{build-days-to-keep}'
923
924     parameters:
925       - infra-parameters:
926           project: '{project}'
927           branch: '{branch}'
928           refspec: 'refs/heads/{branch}'
929           artifacts: '{archive-artifacts}'
930       - maven-exec:
931           maven-version: '{maven-version}'
932
933     scm:
934       - gerrit-trigger-scm:
935           refspec: ''
936           choosing-strategy: 'default'
937           submodule-recursive: '{submodule-recursive}'
938
939     wrappers:
940       - infra-wrappers:
941           build-timeout: '{build-timeout}'
942
943     triggers:
944       - gerrit-trigger-patch-merged:
945           server: '{server-name}'
946           project: '{project}'
947           branch: '{branch}'
948           files: '{pattern}'
949
950     builders:
951       - provide-maven-settings:
952           global-settings-file: 'global-settings'
953           settings-file: '{mvn-settings}'
954       - maven-target:
955           maven-version: '{maven-version}'
956           pom: '{pom}'
957           goals: 'clean deploy -B
958             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
959           settings: '{mvn-settings}'
960           settings-type: cfp
961           global-settings: 'global-settings'
962           global-settings-type: cfp
963
964     publishers:
965       - infra-shiplogs:
966           maven-version: '{maven-version}'
967
968 - job-template:
969     name: '{project-name}-{stream}-docker-java-daily'
970     project-type: freestyle
971     node: 'ubuntu1604-docker-8c-8g'
972
973     properties:
974       - infra-properties:
975           build-days-to-keep: '{build-days-to-keep}'
976
977     parameters:
978       - infra-parameters:
979           project: '{project}'
980           branch: '{branch}'
981           refspec: 'refs/heads/{branch}'
982           artifacts: '{archive-artifacts}'
983       - maven-exec:
984           maven-version: '{maven-version}'
985
986     scm:
987       - gerrit-trigger-scm:
988           refspec: ''
989           choosing-strategy: 'default'
990           submodule-recursive: '{submodule-recursive}'
991
992     wrappers:
993       - infra-wrappers:
994           build-timeout: '{build-timeout}'
995
996     triggers:
997       # 12 AM UTC
998       - timed: 'H 12 * * *'
999       - gerrit-trigger-release-manually:
1000           server: '{server-name}'
1001           project: '{project}'
1002           branch: '{branch}'
1003
1004     builders:
1005
1006       - provide-maven-settings:
1007           global-settings-file: 'global-settings'
1008           settings-file: '{mvn-settings}'
1009
1010       - docker-login
1011
1012       - maven-docker-push-daily:
1013           maven-version: '{maven-version}'
1014           mvn-settings: '{mvn-settings}'
1015           pom: '{docker-pom}'
1016           # use default as mvn-profile if profile is not needed
1017           mvn-profile: '{mvn-profile}'
1018
1019     publishers:
1020       - infra-shiplogs:
1021           maven-version: '{maven-version}'
1022
1023 - job-template:
1024     # Job template for building & pushing docker images
1025     #
1026     # The purpose of this job template is to run :
1027     #  1. login to the docker registry
1028     #  2. do a clean deploy on the specified profile
1029     #
1030     # Required Variables:
1031     #     pom:       name/location of the pom.xml file relative to the workspace
1032     #     profile:   the docker profile defined in the pom
1033     #     maven-properties: properties passed to maven
1034     name: '{project-name}-{stream}-docker-java-properties-daily'
1035     project-type: freestyle
1036     node: 'ubuntu1604-docker-8c-8g'
1037     properties:
1038       - infra-properties:
1039           build-days-to-keep: '{build-days-to-keep}'
1040     parameters:
1041       - infra-parameters:
1042           project: '{project}'
1043           branch: '{branch}'
1044           refspec: 'refs/heads/{branch}'
1045           artifacts: '{archive-artifacts}'
1046       - maven-exec:
1047           maven-version: '{maven-version}'
1048     scm:
1049       - gerrit-trigger-scm:
1050           refspec: ''
1051           choosing-strategy: 'default'
1052           submodule-recursive: '{submodule-recursive}'
1053     wrappers:
1054       - infra-wrappers:
1055           build-timeout: '{build-timeout}'
1056     triggers:
1057       # 12 AM UTC
1058       - timed: 'H 12 * * *'
1059       - gerrit-trigger-release-manually:
1060           server: '{server-name}'
1061           project: '{project}'
1062           branch: '{branch}'
1063     builders:
1064       - provide-maven-settings:
1065           global-settings-file: 'global-settings'
1066           settings-file: '{mvn-settings}'
1067       - docker-login
1068       - maven-docker-push-daily:
1069           maven-version: '{maven-version}'
1070           mvn-settings: '{mvn-settings}'
1071           pom: '{docker-pom}'
1072           properties: '{maven-properties}'
1073           # use default as mvn-profile if profile is not needed
1074           mvn-profile: '{mvn-profile}'
1075     publishers:
1076       - infra-shiplogs:
1077           maven-version: '{maven-version}'
1078
1079 - job-template:
1080     name: '{project-name}-{stream}-docker-java-shell-daily'
1081     project-type: freestyle
1082     node: 'ubuntu1604-docker-8c-8g'
1083
1084     properties:
1085       - infra-properties:
1086           build-days-to-keep: '{build-days-to-keep}'
1087
1088     parameters:
1089       - infra-parameters:
1090           project: '{project}'
1091           branch: '{branch}'
1092           refspec: 'refs/heads/{branch}'
1093           artifacts: '{archive-artifacts}'
1094       - maven-exec:
1095           maven-version: '{maven-version}'
1096
1097     scm:
1098       - gerrit-trigger-scm:
1099           refspec: ''
1100           choosing-strategy: 'default'
1101           submodule-recursive: '{submodule-recursive}'
1102
1103     wrappers:
1104       - infra-wrappers:
1105           build-timeout: '{build-timeout}'
1106
1107     triggers:
1108       # 12 AM UTC
1109       - timed: 'H 12 * * *'
1110       - gerrit-trigger-release-manually:
1111           server: '{server-name}'
1112           project: '{project}'
1113           branch: '{branch}'
1114
1115     builders:
1116
1117       - provide-maven-settings:
1118           global-settings-file: 'global-settings'
1119           settings-file: '{mvn-settings}'
1120
1121       - docker-login
1122
1123       - maven-target:
1124           maven-version: '{maven-version}'
1125           goals: '{mvn-goals}'
1126           settings: '{mvn-settings}'
1127           settings-type: cfp
1128           global-settings: 'global-settings'
1129           global-settings-type: cfp
1130
1131       - shell: '{script}'
1132
1133     publishers:
1134       - infra-shiplogs:
1135           maven-version: '{maven-version}'
1136
1137 - job-template:
1138     name: '{project-name}-{stream}-docker-java-version-shell-daily'
1139     project-type: freestyle
1140     node: 'ubuntu1604-docker-8c-8g'
1141
1142     properties:
1143       - infra-properties:
1144           build-days-to-keep: '{build-days-to-keep}'
1145
1146     parameters:
1147       - infra-parameters:
1148           project: '{project}'
1149           branch: '{branch}'
1150           refspec: 'refs/heads/{branch}'
1151           artifacts: '{archive-artifacts}'
1152       - maven-exec:
1153           maven-version: '{maven-version}'
1154
1155     scm:
1156       - gerrit-trigger-scm:
1157           refspec: ''
1158           choosing-strategy: 'default'
1159           submodule-recursive: '{submodule-recursive}'
1160
1161     wrappers:
1162       - infra-wrappers:
1163           build-timeout: '{build-timeout}'
1164
1165     triggers:
1166       # 12 AM UTC
1167       - timed: 'H 12 * * *'
1168       - gerrit-trigger-release-manually:
1169           server: '{server-name}'
1170           project: '{project}'
1171           branch: '{branch}'
1172
1173     builders:
1174
1175       - provide-maven-settings:
1176           global-settings-file: 'global-settings'
1177           settings-file: '{mvn-settings}'
1178
1179       - inject:
1180           properties-file: version.properties
1181
1182       - maven-target:
1183           maven-version: '{maven-version}'
1184           goals: 'versions:set versions:update-child-modules versions:commit -B'
1185           properties:
1186             - 'newVersion=${{release_version}}'
1187           settings: '{mvn-settings}'
1188           settings-type: cfp
1189           global-settings: 'global-settings'
1190           global-settings-type: cfp
1191
1192       - docker-login
1193
1194       - maven-target:
1195           maven-version: '{maven-version}'
1196           goals: '{mvn-goals}'
1197           settings: '{mvn-settings}'
1198           settings-type: cfp
1199           global-settings: 'global-settings'
1200           global-settings-type: cfp
1201
1202       - shell: '{script}'
1203
1204     publishers:
1205       - infra-shiplogs:
1206           maven-version: '{maven-version}'
1207
1208 - job-template:
1209     name: '{project-name}-{stream}-docker-version-java-daily'
1210     project-type: freestyle
1211     node: 'ubuntu1604-docker-8c-8g'
1212
1213     properties:
1214       - infra-properties:
1215           build-days-to-keep: '{build-days-to-keep}'
1216
1217     parameters:
1218       - infra-parameters:
1219           project: '{project}'
1220           branch: '{branch}'
1221           refspec: 'refs/heads/{branch}'
1222           artifacts: '{archive-artifacts}'
1223       - maven-exec:
1224           maven-version: '{maven-version}'
1225
1226     scm:
1227       - gerrit-trigger-scm:
1228           refspec: ''
1229           choosing-strategy: 'default'
1230           submodule-recursive: '{submodule-recursive}'
1231
1232     wrappers:
1233       - infra-wrappers:
1234           build-timeout: '{build-timeout}'
1235
1236     triggers:
1237       # 12 AM UTC
1238       - timed: 'H 12 * * *'
1239       - gerrit-trigger-release-manually:
1240           server: '{server-name}'
1241           project: '{project}'
1242           branch: '{branch}'
1243
1244     builders:
1245
1246       - provide-maven-settings:
1247           global-settings-file: 'global-settings'
1248           settings-file: '{mvn-settings}'
1249
1250       - inject:
1251           properties-file: version.properties
1252
1253       - maven-target:
1254           maven-version: '{maven-version}'
1255           goals: 'versions:set versions:update-child-modules versions:commit -B'
1256           properties:
1257             - 'newVersion=${{release_version}}'
1258           settings: '{mvn-settings}'
1259           settings-type: cfp
1260           global-settings: 'global-settings'
1261           global-settings-type: cfp
1262
1263       - docker-login
1264
1265       - maven-docker-push-daily:
1266           maven-version: '{maven-version}'
1267           mvn-settings: '{mvn-settings}'
1268           pom: '{docker-pom}'
1269           # use default as mvn-profile if profile is not needed
1270           mvn-profile: '{mvn-profile}'
1271
1272     publishers:
1273       - infra-shiplogs:
1274           maven-version: '{maven-version}'
1275
1276 - job-template:
1277     name: '{project-name}-{stream}-aai-docker-java-daily'
1278     project-type: freestyle
1279     node: 'ubuntu1604-docker-8c-8g'
1280
1281     properties:
1282       - infra-properties:
1283           build-days-to-keep: '{build-days-to-keep}'
1284
1285     parameters:
1286       - infra-parameters:
1287           project: '{project}'
1288           branch: '{branch}'
1289           refspec: 'refs/heads/{branch}'
1290           artifacts: '{archive-artifacts}'
1291       - maven-exec:
1292           maven-version: '{maven-version}'
1293
1294     scm:
1295       - gerrit-trigger-scm:
1296           refspec: ''
1297           choosing-strategy: 'default'
1298           submodule-recursive: '{submodule-recursive}'
1299
1300     wrappers:
1301       - infra-wrappers:
1302           build-timeout: '{build-timeout}'
1303
1304     triggers:
1305       # 12 AM UTC
1306       - timed: 'H 12 * * *'
1307       - gerrit-trigger-release-manually:
1308           server: '{server-name}'
1309           project: '{project}'
1310           branch: '{branch}'
1311
1312     builders:
1313
1314       - provide-maven-settings:
1315           global-settings-file: 'global-settings'
1316           settings-file: '{mvn-settings}'
1317
1318       - docker-login
1319
1320       - maven-target:
1321           maven-version: '{maven-version}'
1322           pom: 'pom.xml'
1323           goals: 'clean install -DskipTests -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       - maven-target:
1331           maven-version: '{maven-version}'
1332           pom: '{pom}'
1333           goals: '{mvn-goals}'
1334           settings: '{mvn-settings}'
1335           settings-type: cfp
1336           global-settings: 'global-settings'
1337           global-settings-type: cfp
1338           properties:
1339             - maven.test.skip=true
1340             - docker.pull.registry=nexus3.onap.org:10001
1341             - docker.push.registry=nexus3.onap.org:10003
1342
1343       - shell: !include-raw-escape: include-docker-push.sh
1344
1345     publishers:
1346       - infra-shiplogs:
1347           maven-version: '{maven-version}'
1348
1349 - job-template:
1350     # Job template for Java daily release jobs
1351     #
1352     # The purpose of this job template is to run
1353     #   - change version in all POM files to the release version specified
1354     #     in version.properties. This is done using a script instread of
1355     #     the mvn version plugin that assumes some specific parent structure.
1356     #   - runs maven clean deploy sonar
1357     #
1358     # The POM files are required to use the Maven staging plugin so the deploy
1359     # does not deploy directly to the release repo.
1360     #
1361     # Required Variables:
1362     #     branch:    git branch (eg. stable/lithium or master)
1363     name: '{project-name}-{stream}-release-version2-java-daily'
1364
1365     project-type: freestyle
1366     node: '{build-node}'
1367     maven-deploy-properties:
1368     properties:
1369       - infra-properties:
1370           build-days-to-keep: '{build-days-to-keep}'
1371
1372     parameters:
1373       - infra-parameters:
1374           project: '{project}'
1375           branch: '{branch}'
1376           refspec: 'refs/heads/{branch}'
1377           artifacts: '{archive-artifacts}'
1378       - maven-exec:
1379           maven-version: '{maven-version}'
1380
1381     scm:
1382       - gerrit-trigger-scm:
1383           refspec: ''
1384           choosing-strategy: 'default'
1385           submodule-recursive: '{submodule-recursive}'
1386
1387     wrappers:
1388       - infra-wrappers:
1389           build-timeout: '{build-timeout}'
1390
1391     triggers:
1392       # 11 AM UTC
1393       - timed: 'H 11 * * *'
1394       - gerrit-trigger-release-manually:
1395           server: '{server-name}'
1396           project: '{project}'
1397           branch: '{branch}'
1398
1399     builders:
1400       - provide-maven-settings:
1401           global-settings-file: 'global-settings'
1402           settings-file: '{mvn-settings}'
1403       - maven-install:
1404           maven-version: '{maven-version}'
1405
1406       - inject:
1407           properties-file: version.properties
1408
1409       - shell: !include-raw-escape: include-update-pom-versions.sh
1410
1411       - maven-target:
1412           maven-version: '{maven-version}'
1413           goals: 'clean deploy sonar:sonar site:site site:stage-deploy
1414             -Dsonar.host.url=${{SONAR}} -B
1415             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1416           properties:
1417             - '{maven-deploy-properties}'
1418           settings: '{mvn-settings}'
1419           settings-type: cfp
1420           global-settings: 'global-settings'
1421           global-settings-type: cfp
1422
1423     publishers:
1424       - infra-shiplogs:
1425           maven-version: '{maven-version}'
1426
1427 - job-template:
1428     # Job template for Java daily release jobs
1429     #
1430     # The purpose of this job template is to run
1431     #   - change version in all POM files to the release version specified
1432     #     in version.properties. This is done using a script instread of
1433     #     the mvn version plugin that assumes some specific parent structure.
1434     #   - runs maven clean deploy sonar
1435     #
1436     # The POM files are required to use the Maven staging plugin so the deploy
1437     # does not deploy directly to the release repo.
1438     #
1439     # Required Variables:
1440     #     branch:    git branch (eg. stable/lithium or master)
1441     #     pom:       name/location of the pom.xml file relative to the workspace
1442     #     pattern:   ant file-path pattern relative to the workspace used to
1443     #                trigger the job
1444
1445     name: '{project-name}-{stream}-{subproject}-release-version2-java-daily'
1446
1447     project-type: freestyle
1448     node: '{build-node}'
1449     maven-deploy-properties:
1450     properties:
1451       - infra-properties:
1452           build-days-to-keep: '{build-days-to-keep}'
1453
1454     parameters:
1455       - infra-parameters:
1456           project: '{project}'
1457           branch: '{branch}'
1458           refspec: 'refs/heads/{branch}'
1459           artifacts: '{archive-artifacts}'
1460       - maven-exec:
1461           maven-version: '{maven-version}'
1462
1463     scm:
1464       - gerrit-trigger-scm:
1465           refspec: ''
1466           choosing-strategy: 'default'
1467           submodule-recursive: '{submodule-recursive}'
1468
1469     wrappers:
1470       - infra-wrappers:
1471           build-timeout: '{build-timeout}'
1472
1473     triggers:
1474       # 11 AM UTC
1475       - timed: 'H 11 * * *'
1476       - gerrit-trigger-release-manually:
1477           server: '{server-name}'
1478           project: '{project}'
1479           branch: '{branch}'
1480           files: '{pattern}'
1481
1482     builders:
1483       - provide-maven-settings:
1484           global-settings-file: 'global-settings'
1485           settings-file: '{mvn-settings}'
1486       - maven-install:
1487           maven-version: '{maven-version}'
1488
1489       - inject:
1490           properties-file: version.properties
1491
1492       - shell: !include-raw-escape: include-update-pom-versions.sh
1493
1494       - maven-target:
1495           maven-version: '{maven-version}'
1496           pom: '{pom}'
1497           goals: 'clean deploy sonar:sonar site:site site:stage-deploy
1498             -Dsonar.host.url=${{SONAR}} -B
1499             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1500           properties:
1501             - '{maven-deploy-properties}'
1502           settings: '{mvn-settings}'
1503           settings-type: cfp
1504           global-settings: 'global-settings'
1505           global-settings-type: cfp
1506
1507     publishers:
1508       - infra-shiplogs:
1509           maven-version: '{maven-version}'
1510
1511 - job-template:
1512     # Template for maven site plugin invocation
1513     #
1514     # It's designed to be triggered when the trigger-job job
1515     # succeeds as there's no need for new documentaiton
1516     # if the build job fails.
1517     #
1518     # Those parameters should be set :
1519     # - site-pom : the pom file that contains the site confiration
1520     # - trigger-job : the name of the project that triggers this job
1521     #                     upon success. The job name can be
1522     #                     parameterized.
1523     name: '{project-name}-{stream}-stage-site-java'
1524     project-type: freestyle
1525     node: '{build-node}'
1526
1527     properties:
1528       - infra-properties:
1529           build-days-to-keep: '{build-days-to-keep}'
1530
1531     parameters:
1532       - infra-parameters:
1533           project: '{project}'
1534           branch: '{branch}'
1535           refspec: 'refs/heads/{branch}'
1536           artifacts: '{archive-artifacts}'
1537       - maven-exec:
1538           maven-version: '{maven-version}'
1539
1540     scm:
1541       - gerrit-trigger-scm:
1542           refspec: ''
1543           choosing-strategy: 'default'
1544           submodule-recursive: '{submodule-recursive}'
1545
1546     wrappers:
1547       - infra-wrappers:
1548           build-timeout: '{build-timeout}'
1549
1550     triggers:
1551       - trigger-on-build-success:
1552           job-name: '{trigger-job}'
1553
1554     builders:
1555       - provide-maven-settings:
1556           global-settings-file: 'global-settings'
1557           settings-file: '{mvn-settings}'
1558       - inject:
1559           properties-file: version.properties
1560       - maven-target:
1561           maven-version: '{maven-version}'
1562           goals: 'versions:set versions:update-child-modules versions:commit -B'
1563           properties:
1564             - 'newVersion=${{release_version}}'
1565           settings: '{mvn-settings}'
1566           settings-type: cfp
1567           global-settings: 'global-settings'
1568           global-settings-type: cfp
1569
1570       - maven-target:
1571           maven-version: '{maven-version}'
1572           pom: '{site-pom}'
1573           goals: 'clean site:site site:stage-deploy'
1574           settings: '{mvn-settings}'
1575           settings-type: cfp
1576           global-settings: 'global-settings'
1577           global-settings-type: cfp
1578
1579     publishers:
1580       - infra-shiplogs:
1581           maven-version: '{maven-version}'
1582
1583 - job-template:
1584     # Job template for Java merge jobs
1585     #
1586     # The purpose of this job template is to run "maven clean deploy" for
1587     # projects using this template.
1588     #
1589     # Required Variables:
1590     #     branch:    git branch (eg. stable/lithium or master)
1591     name: '{project-name}-{stream}-sdc-merge-java'
1592
1593     project-type: freestyle
1594     node: 'ubuntu1604-docker-8c-8g'
1595
1596     properties:
1597       - infra-properties:
1598           build-days-to-keep: '{build-days-to-keep}'
1599
1600     parameters:
1601       - infra-parameters:
1602           project: '{project}'
1603           branch: '{branch}'
1604           refspec: 'refs/heads/{branch}'
1605           artifacts: '{archive-artifacts}'
1606       - maven-exec:
1607           maven-version: '{maven-version}'
1608
1609     scm:
1610       - gerrit-trigger-scm:
1611           refspec: ''
1612           choosing-strategy: 'default'
1613           submodule-recursive: '{submodule-recursive}'
1614
1615     wrappers:
1616       - infra-wrappers:
1617           build-timeout: '{build-timeout}'
1618
1619     triggers:
1620       - gerrit-trigger-patch-merged:
1621           server: '{server-name}'
1622           project: '{project}'
1623           branch: '{branch}'
1624           files: '**'
1625
1626     builders:
1627       - provide-maven-settings:
1628           global-settings-file: 'global-settings'
1629           settings-file: '{mvn-settings}'
1630
1631       - docker-login
1632
1633       - maven-docker-push-daily:
1634           maven-version: '{maven-version}'
1635           mvn-settings: '{mvn-settings}'
1636           pom: '{docker-pom}'
1637           # use default as mvn-profile if profile is not needed
1638           mvn-profile: '{mvn-profile}'
1639
1640     publishers:
1641       - infra-shiplogs:
1642           maven-version: '{maven-version}'
1643
1644 - job-template:
1645     name: '{project-name}-{stream}-aai-docker-java-version-daily'
1646     project-type: freestyle
1647     node: 'ubuntu1604-docker-8c-8g'
1648
1649     properties:
1650       - infra-properties:
1651           build-days-to-keep: '{build-days-to-keep}'
1652
1653     parameters:
1654       - infra-parameters:
1655           project: '{project}'
1656           branch: '{branch}'
1657           refspec: 'refs/heads/{branch}'
1658           artifacts: '{archive-artifacts}'
1659       - maven-exec:
1660           maven-version: '{maven-version}'
1661
1662     scm:
1663       - gerrit-trigger-scm:
1664           refspec: ''
1665           choosing-strategy: 'default'
1666           submodule-recursive: '{submodule-recursive}'
1667
1668     wrappers:
1669       - infra-wrappers:
1670           build-timeout: '{build-timeout}'
1671
1672     triggers:
1673       # 12 AM UTC
1674       - timed: 'H 12 * * *'
1675       - gerrit-trigger-release-manually:
1676           server: '{server-name}'
1677           project: '{project}'
1678           branch: '{branch}'
1679
1680     builders:
1681
1682       - provide-maven-settings:
1683           global-settings-file: 'global-settings'
1684           settings-file: '{mvn-settings}'
1685
1686       - docker-login
1687
1688       - maven-target:
1689           maven-version: '{maven-version}'
1690           pom: 'pom.xml'
1691           goals: 'clean install -DskipTests -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1692           settings: '{mvn-settings}'
1693           settings-type: cfp
1694           global-settings: 'global-settings'
1695           global-settings-type: cfp
1696
1697       - maven-target:
1698           maven-version: '{maven-version}'
1699           pom: '{pom}'
1700           goals: '{mvn-goals}'
1701           settings: '{mvn-settings}'
1702           settings-type: cfp
1703           global-settings: 'global-settings'
1704           global-settings-type: cfp
1705           properties:
1706             - maven.test.skip=true
1707             - docker.pull.registry=nexus3.onap.org:10001
1708             - docker.push.registry=nexus3.onap.org:10003
1709
1710     publishers:
1711       - infra-shiplogs:
1712           maven-version: '{maven-version}'
1713