---

- job_boiler_plate: &job_boiler_plate
    name: job-boiler-plate

    project-type: freestyle
    node: '{build-node}'

    ######################
    # Default parameters #
    ######################

    branch: master
    git-url: '$GIT_URL/$GERRIT_PROJECT'

    #####################
    # Job Configuration #
    #####################

    properties:
      - lf-infra-properties:
          project: '{project}'
          build-days-to-keep: '{build-days-to-keep}'
      #- github:
      #    url: '{git-url}/{github-org}/{project}'

    parameters:
      - lf-infra-parameters:
          project: '{project}'
          branch: '{stream}'
          stream: '{stream}'
          lftools-version: '{lftools-version}'

    wrappers:
      - lf-infra-wrappers:
          build-timeout: '{build-timeout}'
          jenkins-ssh-credential: '{jenkins-ssh-credential}'


- verify_boiler_plate: &verify_boiler_plate
    name: verify_boiler_plate

    concurrent: true

    scm:
      - lf-infra-gerrit-scm:
          git-url: '{git-url}'
          refspec: '$GERRIT_REFSPEC'
          branch: '$GERRIT_BRANCH'
          submodule-disable: '{submodule-disable}'
          submodule-recursive: '{submodule-recursive}'
          submodule-timeout: '{submodule-timeout}'
          choosing-strategy: gerrit
          jenkins-ssh-credential: '{jenkins-ssh-credential}'

    triggers:
      - gerrit:
         #server-name: '{gerrit-server-name}'
         server-name: 'ONOS Project Gerrit'
         #trigger-on: '{obj:gerrit_verify_triggers}'
         trigger-on:
           - patchset-created-event:
               exclude-drafts: true
               exclude-trivial-rebase: false
               exclude-no-code-change: true
           - draft-published-event: true
           - comment-added-contains-event:
               comment-contains-value: '(?i)^.*recheck$'
         projects:
           - project-compare-type: PLAIN
             project-pattern: '{project}'
             branches:
               - branch-compare-type: ANT
                 branch-pattern: '**/{stream}'
             #file-paths: '{obj:gerrit_trigger_file_paths}'

- weekly_boiler_plate: &weekly_boiler_plate
    name: weekly_boiler_plate

    concurrent: true

    scm:
      - lf-infra-gerrit-scm:
          git-url: '{git-url}'
          refspec: '$GERRIT_REFSPEC'
          branch: '$GERRIT_BRANCH'
          submodule-disable: '{submodule-disable}'
          submodule-recursive: '{submodule-recursive}'
          submodule-timeout: '{submodule-timeout}'
          choosing-strategy: gerrit
          jenkins-ssh-credential: '{jenkins-ssh-credential}'

    triggers:
      - timed: '@weekly'

# FIXME - there is a Slack integration plugin in 2.0.3
    publishers:
      - raw:
          xml: |
            <jenkins.plugins.slack.SlackNotifier plugin="slack@2.3">
              <baseUrl/>
              <teamDomain/>
              <authToken/>
              <authTokenCredentialId>slack-token</authTokenCredentialId>
              <botUser>false</botUser>
              <room>build-status</room>
              <startNotification>false</startNotification>
              <notifySuccess>false</notifySuccess>
              <notifyAborted>true</notifyAborted>
              <notifyNotBuilt>true</notifyNotBuilt>
              <notifyUnstable>true</notifyUnstable>
              <notifyRegression>true</notifyRegression>
              <notifyFailure>true</notifyFailure>
              <notifyBackToNormal>true</notifyBackToNormal>
              <notifyRepeatedFailure>false</notifyRepeatedFailure>
              <includeTestSummary>false</includeTestSummary>
              <includeFailedTests>false</includeFailedTests>
              <commitInfoChoice>AUTHORS_AND_TITLES</commitInfoChoice>
              <includeCustomMessage>false</includeCustomMessage>
              <customMessage/>
            </jenkins.plugins.slack.SlackNotifier>



- weekly_boiler_plate_with_slack: &weekly_boiler_plate_with_slack
    name: weekly_boiler_plate_with_slack

    concurrent: true

    scm:
      - lf-infra-gerrit-scm:
          git-url: '{git-url}'
          refspec: '$GERRIT_REFSPEC'
          branch: '$GERRIT_BRANCH'
          submodule-disable: '{submodule-disable}'
          submodule-recursive: '{submodule-recursive}'
          submodule-timeout: '{submodule-timeout}'
          choosing-strategy: gerrit
          jenkins-ssh-credential: '{jenkins-ssh-credential}'

    triggers:
      - timed: '@weekly'

# FIXME - there is a Slack integration plugin in 2.0.3
    publishers:
      - raw:
          xml: |
            <jenkins.plugins.slack.SlackNotifier plugin="slack@2.3">
              <baseUrl/>
              <teamDomain/>
              <authToken/>
              <authTokenCredentialId>slack-token</authTokenCredentialId>
              <botUser>false</botUser>
              <room>build-status</room>
              <startNotification>false</startNotification>
              <notifySuccess>false</notifySuccess>
              <notifyAborted>true</notifyAborted>
              <notifyNotBuilt>true</notifyNotBuilt>
              <notifyUnstable>true</notifyUnstable>
              <notifyRegression>true</notifyRegression>
              <notifyFailure>true</notifyFailure>
              <notifyBackToNormal>true</notifyBackToNormal>
              <notifyRepeatedFailure>false</notifyRepeatedFailure>
              <includeTestSummary>false</includeTestSummary>
              <includeFailedTests>false</includeFailedTests>
              <commitInfoChoice>AUTHORS_AND_TITLES</commitInfoChoice>
              <includeCustomMessage>false</includeCustomMessage>
              <customMessage/>
            </jenkins.plugins.slack.SlackNotifier>

- release_build_boiler_plate: &release_build_boiler_plate
    name: release_build_boiler_plate

    concurrent: true

    parameters:
      - lf-infra-parameters:
         project: '{project}'
         branch: '{stream}'
         stream: '{stream}'
         lftools-version: '{lftools-version}'

      - string:
         name: ONOS_VERSION
         default: '1.15'
         description: 'Version tag of ONOS to build'

      - string:
         name: ONOS_NEXT_VERSION
         default: '1.15.0-SNAPSHOT'
         description: 'Version of ONOS to reset tree to'

    scm:
      - lf-infra-gerrit-scm:
          git-url: '{git-url}'
          refspec: '$GERRIT_REFSPEC'
          branch: '$GERRIT_BRANCH'
          submodule-disable: '{submodule-disable}'
          submodule-recursive: '{submodule-recursive}'
          submodule-timeout: '{submodule-timeout}'
          choosing-strategy: gerrit
          jenkins-ssh-credential: '{jenkins-ssh-credential}'

- docker_build_boiler_plate: &docker_build_boiler_plate
    name: release_build_boiler_plate

    concurrent: true

    parameters:
      - lf-infra-parameters:
         project: '{project}'
         branch: '{stream}'
         stream: '{stream}'
         lftools-version: '{lftools-version}'

      - string:
         name: ONOS_TAG
         default: ''
         description: 'Tag of ONOS to build'

    scm:
      - lf-infra-gerrit-scm:
          git-url: '{git-url}'
          refspec: '$GERRIT_REFSPEC'
          branch: '$GERRIT_BRANCH'
          submodule-disable: '{submodule-disable}'
          submodule-recursive: '{submodule-recursive}'
          submodule-timeout: '{submodule-timeout}'
          choosing-strategy: gerrit
          jenkins-ssh-credential: '{jenkins-ssh-credential}'

- job-template:
    #default name is global
    name: '{project-name}-{stream}-verify'

    # Job template for Java verify jobs
    #
    # The purpose of this job templte is to run "maven clean install" for
    # projects using this template.
    #
    # Required Variables:
    #    branch:   git branch (eg. master)

    <<: *job_boiler_plate
    # yamllint disable-line rule:key-duplicates
    <<: *verify_boiler_plate

    builders:
    #put shell scripts in file then make sure shell check is installed on verify vms
      - shell: !include-raw-escape: onos-verify.sh
      # JJB 1.6.2 does not support parameter expansion on filename?
      #- shell: !include-raw-escape: {project-name}-verify.sh

- job-template:
    #default name is global
    name: '{project-name}-{stream}-bazel-verify'

    # Job template for Java verify jobs
    #
    # Required Variables:
    #    branch:   git branch (eg. master)

    <<: *job_boiler_plate
    # yamllint disable-line rule:key-duplicates
    <<: *verify_boiler_plate

    builders:
    #put shell scripts in file then make sure shell check is installed on verify vms
      - shell: !include-raw-escape: install-bazel.sh
      - shell: !include-raw-escape: onos-bazel-verify.sh
      # JJB 1.6.2 does not support parameter expansion on filename?
      #- shell: !include-raw-escape: {project-name}-verify.sh

# workaround for lack of parameter expansion support in shell: (see above)
- job-template:
    #default name is global
    name: 'onos-yang-tools-{stream}-verify'

    # Job template for Java verify jobs
    #
    # The purpose of this job templte is to run "maven clean install" for
    # projects using this template.
    #
    # Required Variables:
    #    branch:   git branch (eg. master)

    <<: *job_boiler_plate
    # yamllint disable-line rule:key-duplicates
    <<: *verify_boiler_plate

    builders:
    #put shell scripts in file then make sure shell check is installed on verify vms
      - shell: !include-raw-escape: onos-yang-tools-verify.sh

- job-template:
    #default name is global
    name: 'onos-yang-tools-release-build'

    # Job template for ONOS Yang tools release jobs
    #

    <<: *job_boiler_plate
    # yamllint disable-line rule:key-duplicates
    parameters:
      - lf-infra-parameters:
         project: '{project}'
         branch: '{stream}'
         stream: '{stream}'
         lftools-version: '{lftools-version}'

      - string:
         name: YANGTOOLS_VERSION
         default: '2.4.4'
         description: 'Version tag of ONOS Yang tools to build and release'

      - string:
         name: YANGTOOLS_NEXT_VERSION
         default: '2.5-SNAPSHOT'
         description: 'Version of ONOS Yang tools to reset tree to afterwards'

    scm:
      - lf-infra-gerrit-scm:
          git-url: '{git-url}'
          refspec: '$GERRIT_REFSPEC'
          branch: '$GERRIT_BRANCH'
          submodule-disable: '{submodule-disable}'
          submodule-recursive: '{submodule-recursive}'
          submodule-timeout: '{submodule-timeout}'
          choosing-strategy: gerrit
          jenkins-ssh-credential: '{jenkins-ssh-credential}'

    builders:
      - lf-provide-maven-settings:
          settings-file: 'release-build-maven-settings'
          global-settings-file: 'release-build-maven-settings'
      - config-file-provider:
          files:
            - file-id: 'onos-build-credentials'
              target: 'onos-build-credentials'
              variable: 'CREDENTIALS_FILE'
            - file-id: 'buck-config-local'
              target: '.buckconfig.local'
              variable: 'BUCK_CONFIG_FILE'
            - file-id: 'gpg-key'
              target: 'jenkins.key'
              variable: 'GPG_KEY_FILE'
            - file-id: 'release-build-maven-settings'
              target: 'settings.xml'
              variable: 'MAVEN_SETTINGS'
            - file-id: 'api-onosproject-ssh-key'
              target: 'id_rsa.pub'
              variable: 'API_ONOSPROJECT_SSH_KEY'

    #put shell scripts in file then make sure shell check is installed on verify vms
      - shell: !include-raw-escape: onos-yang-tools-release-build.sh
      # JJB 1.6.2 does not support parameter expansion on filename?
      #- shell: !include-raw-escape: {project-name}-verify.sh


# workaround for lack of parameter expansion support in shell: (see above)
- job-template:
    #default name is global
    name: 'onos-app-samples-{stream}-verify'

    # Job template for Java verify jobs
    #
    # The purpose of this job templte is to run "maven clean install" for
    # projects using this template.
    #
    # Required Variables:
    #    branch:   git branch (eg. master)

    <<: *job_boiler_plate
    # yamllint disable-line rule:key-duplicates
    <<: *verify_boiler_plate

    builders:
    #put shell scripts in file then make sure shell check is installed on verify vms
      - shell: !include-raw-escape: onos-app-samples-verify.sh

# workaround for lack of parameter expansion support in shell: (see above)
- job-template:
    #default name is global
    name: 'onos-loxi-{stream}-verify'

    # Job template for Java verify jobs
    #
    # The purpose of this job templte is to run "maven clean install" for
    # projects using this template.
    #
    # Required Variables:
    #    branch:   git branch (eg. master)

    <<: *job_boiler_plate
    # yamllint disable-line rule:key-duplicates
    <<: *verify_boiler_plate

    builders:
    #put shell scripts in file then make sure shell check is installed on verify vms
      - shell: !include-raw-escape: onos-loxi-verify.sh

# workaround for lack of parameter expansion support in shell: (see above)
- job-template:
    #default name is global
    name: 'onos-gui-{stream}-verify'

    # Job template for Java verify jobs
    #
    # The purpose of this job templte is to run "maven clean install" for
    # projects using this template.
    #
    # Required Variables:
    #    branch:   git branch (eg. master)

    <<: *job_boiler_plate
    # yamllint disable-line rule:key-duplicates
    <<: *verify_boiler_plate

    builders:
    #put shell scripts in file then make sure shell check is installed on verify vms
      - shell: !include-raw-escape: onos-gui-verify.sh

- job-template:
    #default name is global
    name: 'onos-{stream}-release-build-verify'

    # Job template for Java release check jobs
    #

    <<: *job_boiler_plate
    # yamllint disable-line rule:key-duplicates
    <<: *weekly_boiler_plate

    builders:
      - config-file-provider:
          files:
            - file-id: 'gpg-key'
              target: 'jenkins.key'
              variable: 'GPG_KEY_FILE'

    #put shell scripts in file then make sure shell check is installed on verify vms
      - shell: !include-raw-escape: install-bazel.sh
      - shell: !include-raw-escape: onos-release-build-verify.sh
      # JJB 1.6.2 does not support parameter expansion on filename?
      #- shell: !include-raw-escape: {project-name}-verify.sh

- job-template:
    #default name is global
    name: 'onos-release-build'

    # Job template for Java release jobs
    #

    <<: *job_boiler_plate
    # yamllint disable-line rule:key-duplicates
    <<: *release_build_boiler_plate

    builders:
      - lf-provide-maven-settings:
          settings-file: 'release-build-maven-settings'
          global-settings-file: 'release-build-maven-settings'
      - config-file-provider:
          files:
            - file-id: 'onos-build-credentials'
              target: 'onos-build-credentials'
              variable: 'CREDENTIALS_FILE'
            - file-id: 'buck-config-local'
              target: '.buckconfig.local'
              variable: 'BUCK_CONFIG_FILE'
            - file-id: 'gpg-key'
              target: 'jenkins.key'
              variable: 'GPG_KEY_FILE'
            - file-id: 'release-build-maven-settings'
              target: 'settings.xml'
              variable: 'MAVEN_SETTINGS'
            - file-id: 'api-onosproject-ssh-key'
              target: 'id_rsa.pub'
              variable: 'API_ONOSPROJECT_SSH_KEY'

    #put shell scripts in file then make sure shell check is installed on verify vms
      - shell: !include-raw-escape: onos-release-build.sh
      # JJB 1.6.2 does not support parameter expansion on filename?
      #- shell: !include-raw-escape: {project-name}-verify.sh

- job-template:
    #default name is global
    name: 'onos-bazel-release-build'

    # Job template for Java release jobs
    #

    <<: *job_boiler_plate
    # yamllint disable-line rule:key-duplicates
    <<: *release_build_boiler_plate

    builders:
      - lf-provide-maven-settings:
          settings-file: 'release-build-maven-settings'
          global-settings-file: 'release-build-maven-settings'
      - config-file-provider:
          files:
            - file-id: 'onos-build-credentials'
              target: 'onos-build-credentials'
              variable: 'CREDENTIALS_FILE'
            - file-id: 'gpg-key'
              target: 'jenkins.key'
              variable: 'GPG_KEY_FILE'
            - file-id: 'release-build-maven-settings'
              target: 'settings.xml'
              variable: 'MAVEN_SETTINGS'
            - file-id: 'api-onosproject-ssh-key'
              target: 'id_rsa.pub'
              variable: 'API_ONOSPROJECT_SSH_KEY'

    #put shell scripts in file then make sure shell check is installed on verify vms
      - shell: !include-raw-escape: install-bazel.sh
      - shell: !include-raw-escape: onos-bazel-release-build.sh
      # JJB 1.6.2 does not support parameter expansion on filename?
      #- shell: !include-raw-escape: {project-name}-verify.sh

- job-template:
    #default name is global
    name: 'onos-docker-build'

    # Job template for Docker jobs
    #

    <<: *job_boiler_plate
    # yamllint disable-line rule:key-duplicates
    <<: *docker_build_boiler_plate

    builders:
      - lf-provide-maven-settings:
          settings-file: 'release-build-maven-settings'
          global-settings-file: 'release-build-maven-settings'
      - config-file-provider:
          files:
            - file-id: 'onos-build-credentials'
              target: 'onos-build-credentials'
              variable: 'CREDENTIALS_FILE'
            - file-id: 'buck-config-local'
              target: '.buckconfig.local'
              variable: 'BUCK_CONFIG_FILE'
            - file-id: 'gpg-key'
              target: 'jenkins.key'
              variable: 'GPG_KEY_FILE'
            - file-id: 'release-build-maven-settings'
              target: 'settings.xml'
              variable: 'MAVEN_SETTINGS'
            - file-id: 'api-onosproject-ssh-key'
              target: 'id_rsa.pub'
              variable: 'API_ONOSPROJECT_SSH_KEY'

    #put shell scripts in file then make sure shell check is installed on verify vms
      - shell: !include-raw-escape: onos-docker-build.sh
      # JJB 1.6.2 does not support parameter expansion on filename?
      #- shell: !include-raw-escape: {project-name}-verify.sh

- job-template:
    #default name is global
    name: 'onos-{stream}-maven-verify'

    <<: *job_boiler_plate
    # yamllint disable-line rule:key-duplicates
    <<: *weekly_boiler_plate_with_slack

    builders:
    #put shell scripts in file then make sure shell check is installed on verify vms
      - shell: !include-raw-escape: onos-maven-verify.sh
      # JJB 1.6.2 does not support parameter expansion on filename?
      #- shell: !include-raw-escape: {project-name}-verify.sh

- project:
    name: onos
    project-name: onos
    project: onos

    build-timeout: '30'
    build-node: 'ubuntu16.04-basebuild-8c-15g'

    stream:
      - 'onos-1.10'
      - 'onos-1.11'
      - 'onos-1.12'
      - 'onos-1.13'
      - 'onos-1.14'

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

- project:
    name: onos-bazel
    project-name: onos-bazel
    project: onos

    build-timeout: '30'
    build-node: 'ubuntu16.04-basebuild-8c-15g'

    stream:
      - 'master'
      - 'onos-1.14'
      - 'onos-1.15'
      - 'onos-2.0'
      - 'onos-2.1'
      - 'onos-2.2'
      - 'onos-2.3'
      - 'onos-2.4'
      - 'upan-connect18'
      - 'upan-connect18-1.14'

    jobs:
      - '{project-name}-{stream}-bazel-verify'

- project:
    name: onos-gui
    project-name: onos-gui
    project: onos

    build-timeout: '30'
    build-node: 'ubuntu16.04-basebuild-8c-15g'

    stream:
      - 'master'
      - 'onos-1.10'
      - 'onos-1.11'
      - 'onos-1.12'
      - 'onos-1.13'
      - 'onos-1.14'
      - 'onos-1.15'
      - 'onos-2.0'
      - 'onos-2.1'
      - 'onos-2.2'
      - 'onos-2.3'
      - 'onos-2.4'


    jobs:
      - 'onos-gui-{stream}-verify'

- project:
    name: onos-yang-tools
    project-name: onos-yang-tools
    project: onos-yang-tools

    build-timeout: '30'
    build-node: 'ubuntu16.04-basebuild-8c-15g'

    stream:
      - 'master'

    jobs:
      - 'onos-yang-tools-{stream}-verify'

- project:
    name: onos-yang-tools-release-build
    project-name: onos-yang-tools-release-build
    project: onos-yang-tools

    build-timeout: '240'
    build-node: 'ubuntu16.04-basebuild-8c-15g'

    stream: 'master'

    jobs:
      - 'onos-yang-tools-release-build'


- project:
    name: onos-app-samples
    project-name: onos-app-samples
    project: onos-app-samples

    build-timeout: '30'
    build-node: 'ubuntu16.04-basebuild-8c-15g'

    stream:
      - 'master'

    jobs:
      - 'onos-app-samples-{stream}-verify'

- project:
    name: onos-loxi
    project-name: onos-loxi
    project: onos-loxi

    build-timeout: '30'
    build-node: 'ubuntu16.04-basebuild-8c-15g'

    stream:
      - 'master'

    jobs:
      - 'onos-loxi-{stream}-verify'

- project:
    name: onos-release
    project-name: onos-release
    project: onos

    build-timeout: '240'
    build-node: 'ubuntu16.04-basebuild-8c-15g'

    stream:
      - 'master'
      - 'onos-2.4'
      - 'onos-2.2'
      - 'onos-1.15'
      - 'onos-1.12'

    jobs:
      - 'onos-{stream}-release-build-verify'

- project:
    name: onos-maven-verify
    project-name: onos-maven-verify
    project: onos

    build-timeout: '30'
    build-node: 'ubuntu16.04-basebuild-8c-15g'

    stream:
      - 'onos-1.12'

    jobs:
      - 'onos-{stream}-maven-verify'

- project:
    name: onos-release-build
    project-name: onos-release-build
    project: onos

    build-timeout: '240'
    build-node: 'ubuntu16.04-basebuild-8c-15g'

    stream: 'master'

    jobs:
      - 'onos-release-build'

- project:
    name: onos-bazel-release-build
    project-name: onos-bazel-release-build
    project: onos

    build-timeout: '240'
    build-node: 'ubuntu16.04-basebuild-8c-15g'

    stream: 'master'

    jobs:
      - 'onos-bazel-release-build'

- project:
    name: onos-docker-build
    project-name: onos-docker-build
    project: onos

    build-timeout: '90'
    build-node: 'ubuntu16.04-basebuild-8c-15g'

    stream: 'master'

    jobs:
      - 'onos-docker-build'

