[CPS] Jobs for newdelhi branch
[ci-management.git] / jjb / global-templates-java.yaml
index 0995147..3838aca 100644 (file)
@@ -8,72 +8,76 @@
     # Required Variables:
     #     branch:    git branch (eg. stable/lithium or master)
 
-    name: '{project-name}-{stream}-verify-java'
+    name: "{project-name}-{stream}-verify-java"
 
     project-type: freestyle
     concurrent: true
-    node: '{build-node}'
-    build-env-variables: ''
-    pattern: '**'
+    node: "{build-node}"
+    build-env-variables: ""
+    pattern: "**"
     pom:
-    mvn-opts: ''
-    java-opts: ''
+    mvn-opts: ""
+    java-opts: ""
+    java-version: openjdk8
     properties:
       - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          project: "{project}"
+          branch: "{branch}"
+          refspec: "refs/heads/{branch}"
+          artifacts: "{archive-artifacts}"
       - maven-exec:
-          maven-version: '{maven-version}'
+          maven-version: "{maven-version}"
       - maven-params:
-          mvn-params: '{mvn-params}'
+          mvn-params: "{mvn-params}"
 
     scm:
       - gerrit-trigger-scm:
-          refspec: '$GERRIT_REFSPEC'
-          choosing-strategy: 'gerrit'
-          submodule-recursive: '{submodule-recursive}'
+          refspec: "$GERRIT_REFSPEC"
+          choosing-strategy: "gerrit"
+          submodule-recursive: "{submodule-recursive}"
 
     wrappers:
       - infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
     triggers:
       - gerrit-trigger-patch-submitted:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '{obj:pattern}'
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
+          files: "{obj:pattern}"
 
     builders:
       - lf-infra-pre-build
+      - lf-update-java-alternatives:
+          java-version: "{java-version}"
       - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
+          global-settings-file: "global-settings"
+          settings-file: "{mvn-settings}"
       - inject:
           properties-content: "{build-env-variables}"
       - maven-target:
-          maven-version: '{maven-version}'
-          pom: '{obj:pom}'
-          goals: 'clean install -B
-            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn {mvn-params}'
+          maven-version: "{maven-version}"
+          pom: "{obj:pom}"
+          # yamllint disable rule:line-length
+          goals: "clean install -B
+            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn {mvn-params}"
+          # yamlline enable
           properties:
             - MAVEN_OPTS='{mvn-opts}'
           java-opts:
             - "{java-opts}"
-          settings: '{mvn-settings}'
+          settings: "{mvn-settings}"
           settings-type: cfp
-          global-settings: 'global-settings'
+          global-settings: "global-settings"
           global-settings-type: cfp
 
     publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
+      - lf-infra-publish
 
 - job-template:
     # Job template for Java verify jobs running checkstyle at the end
     #     branch:    git branch (eg. stable/lithium or master)
 
     <<: *verify_java_defaults
-    name: '{project-name}-{stream}-verify-java-checkstyle'
+    name: "{project-name}-{stream}-verify-java-checkstyle"
+
     publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
+      - lf-infra-publish
       - checkstyle-result
 
 - job-template:
     #                trigger the job
 
     <<: *verify_java_defaults
-    name: '{project-name}-{stream}-{subproject}-verify-java'
+    name: "{project-name}-{stream}-{subproject}-verify-java"
 
 - job-template:
-    # Job template for Java daily release jobs
+    # Job template for Java integration pairwise jobs
     #
     # The purpose of this job template is to run:
-    # 1. maven clean deploy with Sonar scans
+    # 1. maven clean install
     #
     # Required Variables:
     #     branch:    git branch (eg. stable/lithium or master)
 
-    name: '{project-name}-{stream}-release-java-daily'
-
-    project-type: freestyle
-    node: '{build-node}'
-    disabled: '{disabled}'
-    maven-deploy-properties:
-    properties:
-      - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-
-    parameters:
-      - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - maven-exec:
-          maven-version: '{maven-version}'
-
-    scm:
-      - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
-
-    wrappers:
-      - infra-wrappers:
-          build-timeout: '{build-timeout}'
-
+    <<: *verify_java_defaults
+    name: "{project-name}-{stream}-integration-pairwise"
     triggers:
-      # 11 AM UTC
-      - timed: '@daily'
-      - gerrit-trigger-release-manually:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-
-    builders:
-      - lf-infra-pre-build
-      - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
-
-      - maven-target:
-          maven-version: '{maven-version}'
-          goals: 'clean deploy -B
-            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
-          properties:
-            - '{maven-deploy-properties}'
-          java-opts:
-            - '-Xmx4096m -XX:MaxPermSize=512m'
-          settings: '{mvn-settings}'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-
-    publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
+      - gerrit-trigger-patch-submitted:
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
+          files: "{obj:pattern}"
 
 - job-template:
     # Job template for Java daily release jobs running checkstyle at the end
     # Required Variables:
     #     branch:    git branch (eg. stable/lithium or master)
 
-    name: '{project-name}-{stream}-release-java-daily-checkstyle'
+    name: "{project-name}-{stream}-release-java-daily-checkstyle"
     project-type: freestyle
-    node: '{build-node}'
-    disabled: '{disabled}'
+    node: "{build-node}"
+    disabled: false
     maven-deploy-properties:
     properties:
       - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+          build-days-to-keep: "{build-days-to-keep}"
     parameters:
       - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          project: "{project}"
+          branch: "{branch}"
+          refspec: "refs/heads/{branch}"
+          artifacts: "{archive-artifacts}"
       - maven-exec:
-          maven-version: '{maven-version}'
+          maven-version: "{maven-version}"
     scm:
       - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
+          refspec: ""
+          choosing-strategy: "default"
+          submodule-recursive: "{submodule-recursive}"
     wrappers:
       - infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
     triggers:
       # 11 AM UTC
-      - timed: '@daily'
       - gerrit-trigger-release-manually:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
     builders:
       - lf-infra-pre-build
       - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
+          global-settings-file: "global-settings"
+          settings-file: "{mvn-settings}"
       - conditional-step:
           condition-kind: regex-match
           regex: DoSetVersion
-          label: '{setVersion}'
+          label: "{setVersion}"
           steps:
             - inject:
                 properties-file: version.properties
             - maven-set-release-version:
-                maven-version: '{maven-version}'
-                mvn-settings: '{mvn-settings}'
+                maven-version: "{maven-version}"
+                mvn-settings: "{mvn-settings}"
                 pom:
       - maven-target:
-          maven-version: '{maven-version}'
-          goals: 'clean deploy -B
-            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
-          properties: '{obj:mvn_properties}'
-          settings: '{mvn-settings}'
+          maven-version: "{maven-version}"
+          goals: "clean deploy -B
+            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
+          properties: "{obj:mvn_properties}"
+          settings: "{mvn-settings}"
           settings-type: cfp
-          global-settings: 'global-settings'
+          global-settings: "global-settings"
           global-settings-type: cfp
+
     publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
+      - lf-infra-publish
       - checkstyle-result-daily
 
 - job-template:
     # Required Variables:
     #     branch:    git branch (eg. stable/lithium or master)
 
-    name: '{project-name}-{stream}-release-version-java-daily'
+    name: "{project-name}-{stream}-release-version-java-daily"
 
     project-type: freestyle
-    disabled: '{disabled}'
-    node: '{build-node}'
+    disabled: false
+    node: "{build-node}"
     maven-deploy-properties:
     properties:
       - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          project: "{project}"
+          branch: "{branch}"
+          refspec: "refs/heads/{branch}"
+          artifacts: "{archive-artifacts}"
       - maven-exec:
-          maven-version: '{maven-version}'
+          maven-version: "{maven-version}"
 
     scm:
       - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
+          refspec: ""
+          choosing-strategy: "default"
+          submodule-recursive: "{submodule-recursive}"
 
     wrappers:
       - infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
     triggers:
       # 11 AM UTC
-      - timed: '@daily'
       - gerrit-trigger-release-manually:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
 
     builders:
       - lf-infra-pre-build
       - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
+          global-settings-file: "global-settings"
+          settings-file: "{mvn-settings}"
 
       - inject:
           properties-file: version.properties
       - maven-set-release-version:
-          maven-version: '{maven-version}'
-          mvn-settings: '{mvn-settings}'
+          maven-version: "{maven-version}"
+          mvn-settings: "{mvn-settings}"
           pom:
 
       - maven-target:
-          maven-version: '{maven-version}'
-          goals: 'clean deploy -B
-            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
+          maven-version: "{maven-version}"
+          goals: "clean deploy -B
+            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
           properties:
-            - '{maven-deploy-properties}'
-          settings: '{mvn-settings}'
+            - "{maven-deploy-properties}"
+          settings: "{mvn-settings}"
           settings-type: cfp
-          global-settings: 'global-settings'
+          global-settings: "global-settings"
           global-settings-type: cfp
 
     publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
+      - lf-infra-publish
 
 - job-template: &merge_java_defaults
     # Job template for Java merge jobs
     # Required Variables:
     #     branch:    git branch (eg. stable/lithium or master)
 
-    name: '{project-name}-{stream}-merge-java'
+    name: "{project-name}-{stream}-merge-java"
 
     project-type: freestyle
-    node: '{build-node}'
-    pattern: '**'
+    node: "{build-node}"
+    pattern: "**"
     pom:
     mvn_properties: []
-    mvn-params: ''
-    mvn-opts: ''
-    java-opts: ''
+    mvn-params: ""
+    mvn-opts: ""
+    java-opts: ""
+    java-version: openjdk8
 
     properties:
       - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          project: "{project}"
+          branch: "{branch}"
+          refspec: "refs/heads/{branch}"
+          artifacts: "{archive-artifacts}"
       - maven-exec:
-          maven-version: '{maven-version}'
+          maven-version: "{maven-version}"
 
     scm:
       - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
+          refspec: ""
+          choosing-strategy: "default"
+          submodule-recursive: "{submodule-recursive}"
 
     wrappers:
-      - infra-wrappers:
-          build-timeout: '{build-timeout}'
+      - lf-infra-wrappers:
+          build-timeout: "{build-timeout}"
+          jenkins-ssh-credential: "{jenkins-ssh-credential}"
 
     triggers:
       - gerrit-trigger-patch-merged:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '{pattern}'
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
+          files: "{pattern}"
 
     builders:
       - lf-infra-pre-build
+      - lf-update-java-alternatives:
+          java-version: "{java-version}"
       - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
+          global-settings-file: "global-settings"
+          settings-file: "{mvn-settings}"
       - conditional-step:
           condition-kind: regex-match
           regex: .*(amd64|arm64).*
-          label: '{project-name}'
+          label: "{project-name}"
           steps:
             - shell: !include-raw-escape: global-jjb/shell/docker-login.sh
       - maven-target:
-          maven-version: '{maven-version}'
-          pom: '{obj:pom}'
-          goals: 'clean deploy -B {mvn-params}
-            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
-          properties:
-            - MAVEN_OPTS='{mvn-opts}'
+          maven-version: "{maven-version}"
+          pom: "{obj:pom}"
+          goals: "clean deploy -B {mvn-params}
+            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
           java-opts:
             - "{java-opts}"
-          settings: '{mvn-settings}'
+          settings: "{mvn-settings}"
           settings-type: cfp
-          global-settings: 'global-settings'
+          global-settings: "global-settings"
           global-settings-type: cfp
-          properties: '{obj:mvn_properties}'
+          properties: "{obj:mvn_properties}"
 
     publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
+      - lf-infra-publish
 
 - job-template:
     # Job template for Java merge jobs based on
     #     maven-properties: properties passed to maven
 
     <<: *merge_java_defaults
-    name: '{project-name}-{stream}-merge-properties-java'
+    name: "{project-name}-{stream}-merge-properties-java"
+
+    wrappers:
+      - lf-infra-wrappers:
+          build-timeout: "{build-timeout}"
+          jenkins-ssh-credential: "{jenkins-ssh-credential}"
 
 - job-template:
     # Job template for Java merge jobs that takes a maven template
     #     branch:    git branch (eg. stable/lithium or master)
 
     <<: *merge_java_defaults
-    name: '{project-name}-{stream}-merge-profile-java'
+    name: "{project-name}-{stream}-merge-profile-java"
 
     builders:
       - lf-infra-pre-build
       - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
+          global-settings-file: "global-settings"
+          settings-file: "{mvn-settings}"
 
       - docker-login
 
       - maven-target:
-          maven-version: '{maven-version}'
-          goals: 'clean deploy -P {mvn-profile} -B
-            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
-          settings: '{mvn-settings}'
+          maven-version: "{maven-version}"
+          goals: "clean deploy -P {mvn-profile} -B
+            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
+          settings: "{mvn-settings}"
           settings-type: cfp
-          global-settings: 'global-settings'
+          global-settings: "global-settings"
           global-settings-type: cfp
           properties:
             - docker.pull.registry=nexus3.onap.org:10001
     #                trigger the job
 
     <<: *merge_java_defaults
-    name: '{project-name}-{stream}-{subproject}-merge-java'
+    name: "{project-name}-{stream}-{subproject}-merge-java"
 
 - job-template: &docker_java_defaults
     # Job template for Docker daily jobs
     # Required Variables:
     #     branch:    git branch (eg. stable/lithium or master)
 
-    name: '{project-name}-{stream}-docker-java-daily'
-    id: '{project-name}-{stream}-docker-java-daily'
+    name: "{project-name}-{stream}-docker-java-daily"
+    id: "{project-name}-{stream}-docker-java-daily"
     project-type: freestyle
-    node: '{build-node}'
-    disabled: '{disabled}'
+    node: "{build-node}"
+    disabled: false
+    java-version: openjdk8
     properties:
       - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          project: "{project}"
+          branch: "{branch}"
+          refspec: "refs/heads/{branch}"
+          artifacts: "{archive-artifacts}"
       - maven-exec:
-          maven-version: '{maven-version}'
+          maven-version: "{maven-version}"
       - maven-params:
-          mvn-params: '{mvn-params}'
+          mvn-params: "{mvn-params}"
 
     scm:
       - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
+          refspec: ""
+          choosing-strategy: "default"
+          submodule-recursive: "{submodule-recursive}"
 
     wrappers:
       - infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
     triggers:
       # 12 AM UTC
-      - timed: '@daily'
       - gerrit-trigger-release-manually:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
 
     builders:
       - lf-infra-pre-build
+      - lf-update-java-alternatives:
+          java-version: "{java-version}"
+
       - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
+          global-settings-file: "global-settings"
+          settings-file: "{mvn-settings}"
 
       - docker-login
 
       - maven-docker-push-daily:
-          maven-version: '{maven-version}'
-          mvn-settings: '{mvn-settings}'
-          pom: '{docker-pom}'
+          maven-version: "{maven-version}"
+          mvn-settings: "{mvn-settings}"
+          pom: "{docker-pom}"
           # use default as mvn-profile if profile is not needed
-          mvn-profile: '{mvn-profile}'
-          mvn-params: '{mvn-params}'
+          mvn-profile: "{mvn-profile}"
+          mvn-params: "{mvn-params}"
 
     publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
+      - lf-infra-publish
 
 - job-template:
     # Job template for Docker daily jobs
     #     branch:    git branch (eg. stable/lithium or master)
 
     <<: *docker_java_defaults
-    name: '{project-name}-{stream}-docker-java-daily'
+    name: "{project-name}-{stream}-docker-java-daily"
     id: docker-java-daily
-    node: '{build-node}'
+    node: "{build-node}"
     wrappers:
       - infra-wrappers-docker-build:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
 - job-template:
     # Job template for building & pushing docker images
     #     pom:       name/location of the pom.xml file relative to the workspace
     #     maven-properties: properties passed to maven
 
-    name: '{project-name}-{stream}-docker-java-shell-daily'
+    name: "{project-name}-{stream}-docker-java-shell-daily"
     project-type: freestyle
-    node: '{build-node}'
-    disabled: '{disabled}'
+    node: "{build-node}"
+    disabled: false
     properties:
       - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          project: "{project}"
+          branch: "{branch}"
+          refspec: "refs/heads/{branch}"
+          artifacts: "{archive-artifacts}"
       - maven-exec:
-          maven-version: '{maven-version}'
+          maven-version: "{maven-version}"
 
     scm:
       - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
+          refspec: ""
+          choosing-strategy: "default"
+          submodule-recursive: "{submodule-recursive}"
 
     wrappers:
       - infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
     triggers:
       # 12 AM UTC
-      - timed: '@daily'
       - gerrit-trigger-release-manually:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
 
     builders:
       - lf-infra-pre-build
       - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
+          global-settings-file: "global-settings"
+          settings-file: "{mvn-settings}"
 
       - docker-login
 
       - maven-target:
-          maven-version: '{maven-version}'
-          goals: '{mvn-goals}'
-          settings: '{mvn-settings}'
+          maven-version: "{maven-version}"
+          goals: "{mvn-goals}"
+          settings: "{mvn-settings}"
           settings-type: cfp
-          global-settings: 'global-settings'
+          global-settings: "global-settings"
           global-settings-type: cfp
 
-      - shell: '{script}'
+      - shell: "{script}"
 
     publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
+      - lf-infra-publish
 
 - job-template:
     # Job template for building & pushing docker images
     #     pom:       name/location of the pom.xml file relative to the workspace
     #     maven-properties: properties passed to maven
 
-    name: '{project-name}-{stream}-{subproject}-docker-java-shell-daily'
+    name: "{project-name}-{stream}-{subproject}-docker-java-shell-daily"
     project-type: freestyle
-    node: '{build-node}'
-    disabled: '{disabled}'
+    node: "{build-node}"
+    disabled: false
     properties:
       - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          project: "{project}"
+          branch: "{branch}"
+          refspec: "refs/heads/{branch}"
+          artifacts: "{archive-artifacts}"
       - maven-exec:
-          maven-version: '{maven-version}'
+          maven-version: "{maven-version}"
 
     scm:
       - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
+          refspec: ""
+          choosing-strategy: "default"
+          submodule-recursive: "{submodule-recursive}"
 
     wrappers:
       - infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
     triggers:
       # 12 AM UTC
-      - timed: '@daily'
       - gerrit-trigger-release-manually:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
 
     builders:
       - lf-infra-pre-build
       - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
+          global-settings-file: "global-settings"
+          settings-file: "{mvn-settings}"
 
       - docker-login
 
       - maven-target:
-          maven-version: '{maven-version}'
-          pom: '{pom}'
-          goals: '{mvn-goals}'
-          settings: '{mvn-settings}'
+          maven-version: "{maven-version}"
+          pom: "{pom}"
+          goals: "{mvn-goals}"
+          settings: "{mvn-settings}"
           settings-type: cfp
-          global-settings: 'global-settings'
+          global-settings: "global-settings"
           global-settings-type: cfp
 
-      - shell: '{script}'
+      - shell: "{script}"
 
     publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
+      - lf-infra-publish
 
 - job-template:
     # Job template for building & pushing docker images
     #     pom:       name/location of the pom.xml file relative to the workspace
     #     maven-properties: properties passed to maven
 
-    name: '{project-name}-{stream}-docker-java-version-shell-daily'
+    name: "{project-name}-{stream}-docker-java-version-shell-daily"
     project-type: freestyle
-    node: '{build-node}'
-    disabled: '{disabled}'
+    node: "{build-node}"
+    disabled: false
     properties:
       - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          project: "{project}"
+          branch: "{branch}"
+          refspec: "refs/heads/{branch}"
+          artifacts: "{archive-artifacts}"
       - maven-exec:
-          maven-version: '{maven-version}'
+          maven-version: "{maven-version}"
 
     scm:
       - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
+          refspec: ""
+          choosing-strategy: "default"
+          submodule-recursive: "{submodule-recursive}"
 
     wrappers:
       - infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
     triggers:
       # 12 AM UTC
-      - timed: '@daily'
       - gerrit-trigger-release-manually:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
 
     builders:
       - lf-infra-pre-build
       - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
+          global-settings-file: "global-settings"
+          settings-file: "{mvn-settings}"
 
       - inject:
           properties-file: version.properties
       - maven-set-release-version:
-          maven-version: '{maven-version}'
-          mvn-settings: '{mvn-settings}'
+          maven-version: "{maven-version}"
+          mvn-settings: "{mvn-settings}"
           pom:
 
       - docker-login
 
       - maven-target:
-          maven-version: '{maven-version}'
-          goals: '{mvn-goals}'
-          settings: '{mvn-settings}'
+          maven-version: "{maven-version}"
+          goals: "{mvn-goals}"
+          settings: "{mvn-settings}"
           settings-type: cfp
-          global-settings: 'global-settings'
+          global-settings: "global-settings"
           global-settings-type: cfp
 
-      - shell: '{script}'
+      - shell: "{script}"
 
     publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
+      - lf-infra-publish
 
 - job-template:
     # Job template for building & pushing docker images
     #     pom:       name/location of the pom.xml file relative to the workspace
     #     maven-properties: properties passed to maven
 
-    name: '{project-name}-{stream}-{subproject}-docker-java-version-shell-daily'
+    name: "{project-name}-{stream}-{subproject}-docker-java-version-shell-daily"
     project-type: freestyle
-    node: 'ubuntu1604-docker-8c-8g'
-    disabled: '{disabled}'
+    node: "ubuntu1804-docker-8c-8g"
+    disabled: false
     properties:
       - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          project: "{project}"
+          branch: "{branch}"
+          refspec: "refs/heads/{branch}"
+          artifacts: "{archive-artifacts}"
       - maven-exec:
-          maven-version: '{maven-version}'
+          maven-version: "{maven-version}"
 
     scm:
       - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
+          refspec: ""
+          choosing-strategy: "default"
+          submodule-recursive: "{submodule-recursive}"
 
     wrappers:
       - infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
     triggers:
       # 12 AM UTC
-      - timed: '@daily'
       - gerrit-trigger-release-manually:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
 
     builders:
       - lf-infra-pre-build
       - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
+          global-settings-file: "global-settings"
+          settings-file: "{mvn-settings}"
 
       - inject:
           properties-file: version.properties
       - maven-set-release-version:
-          maven-version: '{maven-version}'
-          mvn-settings: '{mvn-settings}'
-          pom: '{pom}'
+          maven-version: "{maven-version}"
+          mvn-settings: "{mvn-settings}"
+          pom: "{pom}"
 
       - docker-login
 
       - maven-target:
-          maven-version: '{maven-version}'
-          pom: '{pom}'
-          goals: '{mvn-goals}'
-          settings: '{mvn-settings}'
+          maven-version: "{maven-version}"
+          pom: "{pom}"
+          goals: "{mvn-goals}"
+          settings: "{mvn-settings}"
           settings-type: cfp
-          global-settings: 'global-settings'
+          global-settings: "global-settings"
           global-settings-type: cfp
 
-      - shell: '{script}'
+      - shell: "{script}"
 
     publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
+      - lf-infra-publish
 
 - job-template: &docker_version_java_defaults
     # Job template for building & pushing docker images
     #     profile:   the docker profile defined in the pom
     #     maven-properties: properties passed to maven
 
-    name: '{project-name}-{stream}-docker-version-java-daily'
-    id: '{project-name}-{stream}-docker-version-java-daily'
+    name: "{project-name}-{stream}-docker-version-java-daily"
+    id: "{project-name}-{stream}-docker-version-java-daily"
     project-type: freestyle
-    node: '{build-node}'
-    disabled: '{disabled}'
+    node: "{build-node}"
+    disabled: false
     properties:
       - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          project: "{project}"
+          branch: "{branch}"
+          refspec: "refs/heads/{branch}"
+          artifacts: "{archive-artifacts}"
       - maven-exec:
-          maven-version: '{maven-version}'
+          maven-version: "{maven-version}"
       - maven-params:
-          mvn-params: '{mvn-params}'
+          mvn-params: "{mvn-params}"
 
     scm:
       - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
+          refspec: ""
+          choosing-strategy: "default"
+          submodule-recursive: "{submodule-recursive}"
 
     wrappers:
       - infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
     triggers:
       # 12 AM UTC
-      - timed: '@daily'
       - gerrit-trigger-release-manually:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
 
     builders:
       - lf-infra-pre-build
       - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
+          global-settings-file: "global-settings"
+          settings-file: "{mvn-settings}"
 
       - inject:
           properties-file: version.properties
       - maven-set-release-version:
-          maven-version: '{maven-version}'
-          mvn-settings: '{mvn-settings}'
+          maven-version: "{maven-version}"
+          mvn-settings: "{mvn-settings}"
           pom:
 
       - docker-login
 
       - maven-docker-push-daily:
-          maven-version: '{maven-version}'
-          mvn-settings: '{mvn-settings}'
-          pom: '{docker-pom}'
+          maven-version: "{maven-version}"
+          mvn-settings: "{mvn-settings}"
+          pom: "{docker-pom}"
           # use default as mvn-profile if profile is not needed
-          mvn-profile: '{mvn-profile}'
-          mvn-params: '{mvn-params}'
+          mvn-profile: "{mvn-profile}"
+          mvn-params: "{mvn-params}"
 
     publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
+      - lf-infra-publish
 
 - job-template:
     # Job template for building & pushing docker images
     #     maven-properties: properties passed to maven
 
     <<: *docker_version_java_defaults
-    name: '{project-name}-{stream}-docker-version-java-daily'
-    id: 'docker-version-java-daily'
-    node: '{build-node}'
+    name: "{project-name}-{stream}-docker-version-java-daily"
+    id: "docker-version-java-daily"
+    node: "{build-node}"
     wrappers:
       - infra-wrappers-docker-build:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
 - job-template:
     # Job template for building & pushing docker images for AAI specific repos
     #     pom:       name/location of the pom.xml file relative to the workspace
     #     maven-properties: properties passed to maven
 
-    name: '{project-name}-{stream}-aai-docker-java-daily'
+    name: "{project-name}-{stream}-aai-docker-java-daily"
     project-type: freestyle
-    node: '{build-node}'
-    docker-image-name: ''
-    disabled: '{disabled}'
+    node: "{build-node}"
+    docker-image-name: ""
+    disabled: false
+    java-version: "openjdk8"
     properties:
       - infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - infra-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+          project: "{project}"
+          branch: "{branch}"
+          refspec: "refs/heads/{branch}"
+          artifacts: "{archive-artifacts}"
       - maven-exec:
-          maven-version: '{maven-version}'
+          maven-version: "{maven-version}"
       - docker-image-name:
-          docker-image-name: '{docker-image-name}'
+          docker-image-name: "{docker-image-name}"
 
     scm:
       - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
+          refspec: ""
+          choosing-strategy: "default"
+          submodule-recursive: "{submodule-recursive}"
 
     wrappers:
       - infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
     triggers:
       # 12 AM UTC
-      - timed: '@daily'
       - gerrit-trigger-release-manually:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
 
     builders:
       - lf-infra-pre-build
+      - lf-update-java-alternatives:
+          java-version: "{java-version}"
       - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
+          global-settings-file: "global-settings"
+          settings-file: "{mvn-settings}"
 
       - docker-login
 
       - maven-target:
-          maven-version: '{maven-version}'
-          pom: 'pom.xml'
-          goals: 'clean install -DskipTests -B
-            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
-          settings: '{mvn-settings}'
+          maven-version: "{maven-version}"
+          pom: "pom.xml"
+          goals: "clean install -DskipTests -B
+            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
+          settings: "{mvn-settings}"
           settings-type: cfp
-          global-settings: 'global-settings'
+          global-settings: "global-settings"
           global-settings-type: cfp
 
       - maven-target:
-          maven-version: '{maven-version}'
-          pom: '{pom}'
-          goals: '{mvn-goals}'
-          settings: '{mvn-settings}'
+          maven-version: "{maven-version}"
+          pom: "{pom}"
+          goals: "{mvn-goals}"
+          settings: "{mvn-settings}"
           settings-type: cfp
-          global-settings: 'global-settings'
+          global-settings: "global-settings"
           global-settings-type: cfp
           properties:
             - maven.test.skip=true
       - shell: !include-raw-escape: include-docker-push.sh
 
     publishers:
-      - infra-shiplogs:
-          maven-version: '{maven-version}'
+      - lf-infra-publish
 
 - job-template:
     # Job template for Java merge jobs for SDC specific repos
     #     branch:    git branch (eg. stable/lithium or master)
 
     <<: *merge_java_defaults
-    name: '{project-name}-{stream}-sdc-merge-java'
+    name: "{project-name}-{stream}-sdc-merge-java"
 
-    node: '{build-node}'
+    node: "{build-node}"
     build-timeout: 120
 
     builders:
       - lf-infra-pre-build
+      - lf-update-java-alternatives:
+          java-version: "{java-version}"
       - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
+          global-settings-file: "global-settings"
+          settings-file: "{mvn-settings}"
 
       - docker-login
 
       - maven-docker-push-daily:
-          maven-version: '{maven-version}'
-          mvn-settings: '{mvn-settings}'
-          pom: '{docker-pom}'
+          maven-version: "{maven-version}"
+          mvn-settings: "{mvn-settings}"
+          pom: "{docker-pom}"
           # use default as mvn-profile if profile is not needed
-          mvn-profile: '{mvn-profile}'
-          mvn-params: ''
+          mvn-profile: "{mvn-profile}"
+          mvn-params: ""
 
 - job-template:
     # Job template for Java merge jobs on multiple architectures
     # 2. Build and push a docker manifest list for the images created by
     #    the previous jobs
 
-    name: '{project-name}-multiarch-{stream}-merge-java'
-    node: '{build-node}'
+    name: "{project-name}-multiarch-{stream}-merge-java"
+    node: "{build-node}"
     project-type: multijob
-    disabled: '{obj:disabled}'
-    pattern: '**'
+    disabled: "{obj:disabled}"
+    pattern: "**"
 
     parameters:
       - lf-infra-parameters:
-          project: '{project}'
-          stream: '{stream}'
-          branch: '{branch}'
+          project: "{project}"
+          stream: "{stream}"
+          branch: "{branch}"
       - string:
           name: DOCKER_REGISTRY
-          default: 'none'
+          default: "none"
       - string:
           name: DOCKERHUB_REGISTRY
-          default: 'registry-1.docker.io'
+          default: "registry-1.docker.io"
 
     properties:
       - throttle:
           max-per-node: 1
-          option: 'project'
+          option: "project"
       - build-blocker:
           use-build-blocker: true
           blocking-jobs:
-            - '{project-name}-.*-merge-.*'
-          blocking-level: 'NODE'
+            - "{project-name}-.*-merge-.*"
+          blocking-level: "NODE"
 
     scm:
       - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-          submodule-recursive: '{submodule-recursive}'
+          refspec: ""
+          choosing-strategy: "default"
+          submodule-recursive: "{submodule-recursive}"
 
     wrappers:
       - infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
     triggers:
       - gerrit-trigger-patch-merged:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '{pattern}'
+          server: "{server-name}"
+          project: "{project}"
+          branch: "{branch}"
+          files: "{pattern}"
 
     builders:
       - multijob:
-          name: 'build docker images'
+          name: "build docker images"
           condition: ALWAYS
           execution-type: PARALLEL
           projects:
-            - name: '{project-name}-amd64-{stream}-merge-java'
+            - name: "{project-name}-amd64-{stream}-merge-java"
               kill-phase-on: FAILURE
               current-parameters: true
-            - name: '{project-name}-arm64-{stream}-merge-java'
+            - name: "{project-name}-arm64-{stream}-merge-java"
               kill-phase-on: NEVER
               current-parameters: true
       - multijob:
-          name: 'publish docker manifest'
+          name: "publish docker manifest"
           condition: SUCCESSFUL
           execution-type: PARALLEL
           projects:
-            - name: '{project-name}-docker-manifest-{stream}'
+            - name: "{project-name}-docker-manifest-{stream}"
               current-parameters: true
               predefined-parameters: |
                 PARENT_JOB_NAME=$JOB_NAME