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