---
# maven jobs for Java projects

- job-template:
    id: maven-install
    name: '{project}-gerrit'
    description: |
      <!-- Managed by Jenkins Job Builder -->
      Created by {id} job-template from ci-management/jjb/maven.yaml

    node: 'ubuntu16.04-basebuild-1c-2g'
    project-type: freestyle

    parameters:
      - string:
         name: GERRIT_BRANCH
         default: 'master'
         description: 'Use default when using "Build Now"'

      - string:
         name: GERRIT_REFSPEC
         default: 'refs/heads/master'
         description: 'Use default when using "Build Now"'

    triggers:
      - cord-infra-gerrit-trigger-patchset:
          gerrit-server-name: '{gerrit-server-name}'
          project-regexp: '{project}'
          branch-regexp: '{branch-regexp}'
          file-include-regexp: '{all-files-regexp}'
          dependency-jobs: '{dependency-jobs}'

    properties:
      - cord-infra-properties:
          build-days-to-keep: '{build-days-to-keep}'
          artifact-num-to-keep: '{artifact-num-to-keep}'

    scm:
      - git:
          url: '{gerrit-server-url}/{project}'
          branches:
            - '$GERRIT_BRANCH'
          refspec: '$GERRIT_REFSPEC'
          choosing-strategy: 'gerrit'
          shallow-clone: true

    builders:
      # NOTE: this env var is only required to fix a bug in the "surefire" dependency:
      #  https://issues.apache.org/jira/browse/SUREFIRE-1588
      #  https://github.com/apache/maven-surefire/pull/197
      #  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911925
      # should be removed as soon as this problem is resolved
      - inject:
          properties-content: |
            _JAVA_OPTIONS=-Djdk.net.URLClassPath.disableClassPathURLCheck=true
      - maven-target:
          pom: pom.xml
          goals: 'clean install'


- job-template:
    id: maven-test
    name: 'verify_{project}_maven-test'
    description: |
      <!-- Managed by Jenkins Job Builder -->
      Created by {id} job-template from ci-management/jjb/maven.yaml

    triggers:
      - cord-infra-gerrit-trigger-patchset:
          gerrit-server-name: '{gerrit-server-name}'
          project-regexp: '{project}'
          branch-regexp: '{branch-regexp}'
          file-include-regexp: '{all-files-regexp}'
          dependency-jobs: '{dependency-jobs}'

    properties:
      - cord-infra-properties:
          build-days-to-keep: '{build-days-to-keep}'
          artifact-num-to-keep: '{artifact-num-to-keep}'


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

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

    node: 'ubuntu16.04-basebuild-1c-2g'
    project-type: maven
    concurrent: true

    builders:
      # NOTE: this env var is only required to fix a bug in the "surefire" dependency:
      #  https://issues.apache.org/jira/browse/SUREFIRE-1588
      #  https://github.com/apache/maven-surefire/pull/197
      #  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911925
      # should be removed as soon as this problem is resolved
      - inject:
          properties-content: |
            _JAVA_OPTIONS=-Djdk.net.URLClassPath.disableClassPathURLCheck=true
      - maven-target:
          pom: pom.xml
          goals: 'test'
