---
- job-template: &verify_java_defaults
    # Job template for Java verify jobs
    #
    # The purpose of this job template is to run:
    # 1. maven clean install
    #
    # Required Variables:
    #     branch:    git branch (eg. stable/lithium or master)

    name: '{project-name}-{stream}-verify-java'

    project-type: freestyle
    concurrent: true
    node: '{build-node}'
    pattern: '**'
    pom:

    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}'
      - maven-params:
          mvn-params: '{mvn-params}'

    scm:
      - gerrit-trigger-scm:
          refspec: '$GERRIT_REFSPEC'
          choosing-strategy: 'gerrit'
          submodule-recursive: '{submodule-recursive}'

    wrappers:
      - infra-wrappers:
          build-timeout: '{build-timeout}'

    triggers:
      - gerrit-trigger-patch-submitted:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'
          files: '{obj:pattern}'

    builders:
      - provide-maven-settings:
          global-settings-file: 'global-settings'
          settings-file: '{mvn-settings}'
      - 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}'
          settings: '{mvn-settings}'
          settings-type: cfp
          global-settings: 'global-settings'
          global-settings-type: cfp

    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'

- job-template:
    # Job template for Java verify jobs running checkstyle at the end
    # When checkstyle will be fully incorporated, it is meant to replace
    #  '{project-name}-{stream}-verify-java-checkstyle'
    #
    # The purpose of this job template is to run:
    # 1. maven clean install
    #
    # This job publishes checkstyle results.
    #
    # Required Variables:
    #     branch:    git branch (eg. stable/lithium or master)

    <<: *verify_java_defaults
    name: '{project-name}-{stream}-verify-java-checkstyle'
    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'
      - checkstyle-result

- job-template:
    # Job template for Java verify jobs with POM not at the root
    #
    # The purpose of this job template is to run:
    # 1. maven clean install
    #
    # This job supports subprojects.
    #
    # Required Variables:
    #     branch:    git branch (eg. stable/lithium or master)
    #     pom:       name/location of the pom.xml file relative to the workspace
    #     pattern:   ant file-path pattern relative to the workspace used to
    #                trigger the job

    <<: *verify_java_defaults
    name: '{project-name}-{stream}-{subproject}-verify-java'

- job-template:
    # Job template for Java daily release jobs
    #
    # The purpose of this job template is to run:
    # 1. maven clean deploy with Sonar scans
    #
    # 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}'

    triggers:
      # 11 AM UTC
      - timed: 'H 11 * * *'
      - gerrit-trigger-release-manually:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'

    builders:
      - 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}'

- job-template:
    # Job template for Java daily release jobs running checkstyle at the end
    # When checkstyle will be fully incorporated, it is meant to replace
    #  '{project-name}-{stream}-release-java-daily'
    #
    # The purpose of this job template is to run:
    # 1. maven clean deploy with Sonar scans
    #
    # This job publishes checkstyle results.
    # This job uses a conditional regex match step to set versions.
    #
    # Required Variables:
    #     branch:    git branch (eg. stable/lithium or master)

    name: '{project-name}-{stream}-release-java-daily-checkstyle'
    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}'
    triggers:
      # 11 AM UTC
      - timed: 'H 11 * * *'
      - gerrit-trigger-release-manually:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'
    builders:
      - provide-maven-settings:
          global-settings-file: 'global-settings'
          settings-file: '{mvn-settings}'
      - conditional-step:
          condition-kind: regex-match
          regex: DoSetVersion
          label: '{setVersion}'
          steps:
            - inject:
                properties-file: version.properties
            - maven-set-release-version:
                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}'
          settings-type: cfp
          global-settings: 'global-settings'
          global-settings-type: cfp
    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'
      - checkstyle-result-daily

- job-template:
    # Job template for Java daily release jobs
    #
    # The purpose of this job template is to run:
    # 1. maven set versions
    # 2. maven clean deploy with Sonar scans
    #
    # Required Variables:
    #     branch:    git branch (eg. stable/lithium or master)

    name: '{project-name}-{stream}-release-version-java-daily'

    project-type: freestyle
    disabled: '{disabled}'
    node: '{build-node}'
    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}'

    triggers:
      # 11 AM UTC
      - timed: 'H H(10-17) * * *'
      - gerrit-trigger-release-manually:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'

    builders:
      - provide-maven-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:

      - 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}'
          settings: '{mvn-settings}'
          settings-type: cfp
          global-settings: 'global-settings'
          global-settings-type: cfp

    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'

- job-template:
    # Job template for Java daily release jobs
    #
    # The purpose of this job template is to run:
    # 1. maven set versions
    # 2. maven clean deploy -P {mvn-profile} with Sonar scans
    #
    # Required Variables:
    #     branch:    git branch (eg. stable/lithium or master)

    name: '{project-name}-{stream}-release-version-profile-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}'

    triggers:
      # 11 AM UTC
      - timed: 'H 11 * * *'
      - gerrit-trigger-release-manually:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'

    builders:
      - provide-maven-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:

      - maven-target:
          maven-version: '{maven-version}'
          goals: 'clean deploy -P {mvn-profile} -B
            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
          properties:
            - '{maven-deploy-properties}'
          settings: '{mvn-settings}'
          settings-type: cfp
          global-settings: 'global-settings'
          global-settings-type: cfp

    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'


- job-template:
    # Job template for Java daily release jobs with POM not at the root
    #
    # The purpose of this job template is to run:
    # 1. maven clean deploy with Sonar scans
    #
    # This job supports subprojects.
    #
    # Required Variables:
    #     branch:    git branch (eg. stable/lithium or master)
    #     pom:       name/location of the pom.xml file relative to the workspace

    name: '{project-name}-{stream}-{subproject}-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}'

    triggers:
      # 11 AM UTC
      - timed: 'H 11 * * *'
      - gerrit-trigger-release-manually:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'

    builders:
      - provide-maven-settings:
          global-settings-file: 'global-settings'
          settings-file: '{mvn-settings}'

      - maven-target:
          maven-version: '{maven-version}'
          pom: '{pom}'
          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}'

- job-template:
    # Job template for Java daily release jobs with POM not at the root
    #
    # The purpose of this job template is to run:
    # 1. maven set versions
    # 2. maven clean deploy with Sonar scans
    #
    # This job supports subprojects.
    #
    # Required Variables:
    #     branch:    git branch (eg. stable/lithium or master)
    #     pom:       name/location of the pom.xml file relative to the workspace

    name: '{project-name}-{stream}-{subproject}-release-version-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}'

    triggers:
      # 11 AM UTC
      - timed: 'H 11 * * *'
      - gerrit-trigger-release-manually:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'

    builders:
      - provide-maven-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-target:
          maven-version: '{maven-version}'
          pom: '{pom}'
          goals: 'clean deploy -B
            -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
          properties:
            - '{maven-deploy-properties}'
          settings: '{mvn-settings}'
          settings-type: cfp
          global-settings: 'global-settings'
          global-settings-type: cfp

    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'


- job-template: &merge_java_defaults
    # Job template for Java merge jobs
    #
    # The purpose of this job template is to run:
    # 1. maven clean deploy
    #
    # Required Variables:
    #     branch:    git branch (eg. stable/lithium or master)

    name: '{project-name}-{stream}-merge-java'

    project-type: freestyle
    node: '{build-node}'
    pattern: '**'
    pom:
    mvn_properties: []
    mvn-params: ''

    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}'

    triggers:
      - gerrit-trigger-patch-merged:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'
          files: '{pattern}'

    builders:
      - provide-maven-settings:
          global-settings-file: 'global-settings'
          settings-file: '{mvn-settings}'
      - 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'
          settings: '{mvn-settings}'
          settings-type: cfp
          global-settings: 'global-settings'
          global-settings-type: cfp
          properties: '{obj:mvn_properties}'

    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'

- job-template:
    # Job template for Java merge jobs based on
    #   '{project-name}-{stream}-merge-java'
    # The purpose of this job template is to run:
    # 1. maven clean deploy
    #
    # This project supports maven properties.
    #
    # Required Variables:
    #     branch:    git branch (eg. stable/lithium or master)
    #     maven-properties: properties passed to maven

    <<: *merge_java_defaults
    name: '{project-name}-{stream}-merge-properties-java'

- job-template:
    # Job template for Java merge jobs that takes a maven template
    #
    # The purpose of this job template is to run:
    # 1. maven clean deploy -P {mvn-profile}
    #
    # Required Variables:
    #     branch:    git branch (eg. stable/lithium or master)

    <<: *merge_java_defaults
    name: '{project-name}-{stream}-merge-profile-java'

    builders:
      - provide-maven-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}'
          settings-type: cfp
          global-settings: 'global-settings'
          global-settings-type: cfp
          properties:
            - docker.pull.registry=nexus3.onap.org:10001
            - docker.push.registry=nexus3.onap.org:10003

- job-template:
    # Job template for Java merge jobs with POM not at the root
    #
    # The purpose of this job template is to run:
    # 1. maven clean deploy
    #
    # This job supports subprojects.
    #
    # Required Variables:
    #     branch:    git branch (eg. stable/lithium or master)
    #     pom:       name/location of the pom.xml file relative to the workspace
    #     pattern:   ant file-path pattern relative to the workspace used to
    #                trigger the job

    <<: *merge_java_defaults
    name: '{project-name}-{stream}-{subproject}-merge-java'

- job-template: &docker_java_defaults
    # Job template for Docker daily jobs
    #
    # The purpose of this job template is to run:
    # 1. login to the docker registry
    # 2. docker push
    #
    # Required Variables:
    #     branch:    git branch (eg. stable/lithium or master)

    name: '{project-name}-{stream}-docker-java-daily'
    id: '{project-name}-{stream}-docker-java-daily'
    project-type: freestyle
    node: 'ubuntu1604-docker-8c-8g'
    disabled: '{disabled}'
    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}'
      - maven-params:
          mvn-params: '{mvn-params}'

    scm:
      - gerrit-trigger-scm:
          refspec: ''
          choosing-strategy: 'default'
          submodule-recursive: '{submodule-recursive}'

    wrappers:
      - infra-wrappers:
          build-timeout: '{build-timeout}'

    triggers:
      # 12 AM UTC
      - timed: 'H 12 * * *'
      - gerrit-trigger-release-manually:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'

    builders:

      - provide-maven-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}'
          # use default as mvn-profile if profile is not needed
          mvn-profile: '{mvn-profile}'
          mvn-params: '{mvn-params}'

    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'

- job-template:
    # Job template for Docker daily jobs
    #
    # The purpose of this job template is to run:
    # 1. login to the docker registry
    # 2. docker push
    #
    # Required Variables:
    #     branch:    git branch (eg. stable/lithium or master)

    <<: *docker_java_defaults
    name: '{project-name}-{stream}-docker-java-daily'
    id: docker-java-daily
    node: '{build-node}'
    wrappers:
      - infra-wrappers-docker-build:
          build-timeout: '{build-timeout}'

- job-template:
    # Job template for building & pushing docker images
    #
    # The purpose of this job template is to run:
    #  1. login to the docker registry
    #  2. maven clean deploy on the specified profile
    #
    # This job uses a conditional regex match step to set versions.
    # This template supports maven properties.
    #
    # Required Variables:
    #     pom:       name/location of the pom.xml file relative to the workspace
    #     profile:   the docker profile defined in the pom
    #     maven-properties: properties passed to maven

    name: '{project-name}-{stream}-docker-java-properties-daily'
    project-type: freestyle
    node: 'ubuntu1604-docker-8c-8g'
    disabled: '{disabled}'
    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}'
      - maven-params:
          mvn-params: '{mvn-params}'
    scm:
      - gerrit-trigger-scm:
          refspec: ''
          choosing-strategy: 'default'
          submodule-recursive: '{submodule-recursive}'
    wrappers:
      - infra-wrappers:
          build-timeout: '{build-timeout}'
    triggers:
      # 12 AM UTC
      - timed: 'H 12 * * *'
      - gerrit-trigger-release-manually:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'
    builders:
      - provide-maven-settings:
          global-settings-file: 'global-settings'
          settings-file: '{mvn-settings}'
      - conditional-step:
          condition-kind: regex-match
          regex: DoSetVersion
          label: '{setVersion}'
          steps:
            - inject:
                properties-file: version.properties
            - maven-set-release-version:
                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}'
          properties: '{maven-properties}'
          # use default as mvn-profile if profile is not needed
          mvn-profile: '{mvn-profile}'
          mvn-params: '{mvn-params}'
    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'

- job-template:
    # Job template for building & pushing docker images
    #
    # The purpose of this job template is to run:
    #  1. login to the docker registry
    #  2. run a specified shell builder
    #
    # Required Variables:
    #     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'
    project-type: freestyle
    node: '{build-node}'
    disabled: '{disabled}'
    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}'

    triggers:
      # 12 AM UTC
      - timed: 'H 12 * * *'
      - gerrit-trigger-release-manually:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'

    builders:

      - provide-maven-settings:
          global-settings-file: 'global-settings'
          settings-file: '{mvn-settings}'

      - docker-login

      - maven-target:
          maven-version: '{maven-version}'
          goals: '{mvn-goals}'
          settings: '{mvn-settings}'
          settings-type: cfp
          global-settings: 'global-settings'
          global-settings-type: cfp

      - shell: '{script}'

    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'

- job-template:
    # Job template for building & pushing docker images
    #
    # The purpose of this job template is to run:
    #  1. login to the docker registry
    #  2. run a specified shell builder
    #
    # Required Variables:
    #     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'
    project-type: freestyle
    node: '{build-node}'
    disabled: '{disabled}'
    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}'

    triggers:
      # 12 AM UTC
      - timed: 'H 12 * * *'
      - gerrit-trigger-release-manually:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'

    builders:

      - provide-maven-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}'
          settings-type: cfp
          global-settings: 'global-settings'
          global-settings-type: cfp

      - shell: '{script}'

    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'

- job-template:
    # Job template for building & pushing docker images
    #
    # The purpose of this job template is to run:
    #  1. login to the docker registry
    #  2. inject a version.properties file and set versions
    #  3. run a specified shell builder
    #
    # Required Variables:
    #     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'
    project-type: freestyle
    node: 'ubuntu1604-docker-8c-8g'
    disabled: '{disabled}'
    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}'

    triggers:
      # 12 AM UTC
      - timed: 'H 12 * * *'
      - gerrit-trigger-release-manually:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'

    builders:

      - provide-maven-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:

      - docker-login

      - maven-target:
          maven-version: '{maven-version}'
          goals: '{mvn-goals}'
          settings: '{mvn-settings}'
          settings-type: cfp
          global-settings: 'global-settings'
          global-settings-type: cfp

      - shell: '{script}'

    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'

- job-template:
    # Job template for building & pushing docker images
    #
    # The purpose of this job template is to run:
    #  1. login to the docker registry
    #  2. inject a version.properties file and set versions
    #  3. run a specified shell builder
    #
    # This template supports subprojects.
    #
    # Required Variables:
    #     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'
    project-type: freestyle
    node: 'ubuntu1604-docker-8c-8g'
    disabled: '{disabled}'
    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}'

    triggers:
      # 12 AM UTC
      - timed: 'H 12 * * *'
      - gerrit-trigger-release-manually:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'

    builders:

      - provide-maven-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}'

      - docker-login

      - maven-target:
          maven-version: '{maven-version}'
          pom: '{pom}'
          goals: '{mvn-goals}'
          settings: '{mvn-settings}'
          settings-type: cfp
          global-settings: 'global-settings'
          global-settings-type: cfp

      - shell: '{script}'

    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'

- job-template: &docker_version_java_defaults
    # Job template for building & pushing docker images
    #
    # The purpose of this job template is to run:
    #  1. login to the docker registry
    #  2. inject a version.properties file and set versions
    #  3. run a docker push
    #
    # Required Variables:
    #     pom:       name/location of the pom.xml file relative to the workspace
    #     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'
    project-type: freestyle
    node: 'ubuntu1604-docker-8c-8g'
    disabled: '{disabled}'
    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}'
      - maven-params:
          mvn-params: '{mvn-params}'

    scm:
      - gerrit-trigger-scm:
          refspec: ''
          choosing-strategy: 'default'
          submodule-recursive: '{submodule-recursive}'

    wrappers:
      - infra-wrappers:
          build-timeout: '{build-timeout}'

    triggers:
      # 12 AM UTC
      - timed: 'H 12 * * *'
      - gerrit-trigger-release-manually:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'

    builders:

      - provide-maven-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:

      - docker-login

      - maven-docker-push-daily:
          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}'

    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'

- job-template:
    # Job template for building & pushing docker images
    #
    # The purpose of this job template is to run:
    #  1. login to the docker registry
    #  2. inject a version.properties file and set versions
    #  3. run a docker push
    #
    # Required Variables:
    #     pom:       name/location of the pom.xml file relative to the workspace
    #     profile:   the docker profile defined in the pom
    #     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}'
    wrappers:
      - infra-wrappers-docker-build:
          build-timeout: '{build-timeout}'

- job-template:
    # Job template for building & pushing docker images for AAI specific repos
    #
    # The purpose of this job template is to run:
    #  1. login to the docker registry
    #  2. run maven goals
    #  3. run include-docker-push.sh
    #
    # Required Variables:
    #     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'
    project-type: freestyle
    node: 'ubuntu1604-docker-8c-8g'
    docker-image-name: ''
    disabled: '{disabled}'
    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}'
      - docker-image-name:
          docker-image-name: '{docker-image-name}'

    scm:
      - gerrit-trigger-scm:
          refspec: ''
          choosing-strategy: 'default'
          submodule-recursive: '{submodule-recursive}'

    wrappers:
      - infra-wrappers:
          build-timeout: '{build-timeout}'

    triggers:
      # 12 AM UTC
      - timed: 'H 12 * * *'
      - gerrit-trigger-release-manually:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'

    builders:

      - provide-maven-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}'
          settings-type: cfp
          global-settings: 'global-settings'
          global-settings-type: cfp

      - maven-target:
          maven-version: '{maven-version}'
          pom: '{pom}'
          goals: '{mvn-goals}'
          settings: '{mvn-settings}'
          settings-type: cfp
          global-settings: 'global-settings'
          global-settings-type: cfp
          properties:
            - maven.test.skip=true
            - docker.pull.registry=nexus3.onap.org:10001
            - docker.push.registry=nexus3.onap.org:10003

      - shell: !include-raw-escape: include-docker-push.sh

    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'

- job-template:
    # Job template for Java merge jobs for SDC specific repos
    #
    # The purpose of this job template is to run:
    # 1. maven clean deploy
    #
    # Required Variables:
    #     branch:    git branch (eg. stable/lithium or master)

    <<: *merge_java_defaults
    name: '{project-name}-{stream}-sdc-merge-java'

    node: 'ubuntu1604-docker-8c-8g'
    build-timeout: 120

    builders:
      - provide-maven-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}'
          # use default as mvn-profile if profile is not needed
          mvn-profile: '{mvn-profile}'
          mvn-params: ''
