---

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

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

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

    branch: master
    submodule-recursive: true
    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-recursive: '{submodule-recursive}'
          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
           - 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}'

- daily_boiler_plate: &daily_boiler_plate
    name: daily_boiler_plate

    concurrent: true

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

    triggers:
      - timed: '@daily'

- hourly_boiler_plate: &hourly_boiler_plate
    name: hourly_boiler_plate

    concurrent: true

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

    triggers:
      - timed: '@hourly'

- 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

# 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

# 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
    <<: *daily_boiler_plate

    builders:
    #put shell scripts in file then make sure shell check is installed on verify vms
      - 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-{stream}-maven-verify'

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

    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

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

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

    builders:
    #put shell scripts in file then make sure shell check is installed on verify vms
      - shell: !include-raw-escape: onos-sonar.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: '1800'
    build-node: 'ubuntu16.04-basebuild-8c-15g'

    stream:
      - 'master'
      - 'onos-1.10'
      - 'onos-1.11'

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

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

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

    stream:
      - 'master'
      - 'onos-1.10'
      - 'onos-1.11'

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

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

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

    stream:
      - 'master'

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

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

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

    stream:
      - 'master'

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

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

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

    stream:
      - 'master'

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

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

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

    stream:
      - 'master'

    jobs:
      - 'onos-{stream}-sonar'

