---
#
# ============LICENSE_START=======================================================
#  Copyright (C) 2018-2019 Nordix Foundation.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
- job-template:
    name: 'apache-geode-build-release-jdk{java-build-version}'

    node: geode-ubuntu1804
    disabled: true
    concurrent: true

    properties:
      - logrotate
      - github:
          url: 'https://github.com/Nordix/geode.git/'
    wrappers:
      - credentials-binding:
          - username-password-separated:
              credential-id: infra-nordix-artifactory-api-key
              username: ARTIFACTORY_USER
              password: ARTIFACTORY_API_KEY

    parameters:
      - string:
          name: PROJECT
          default: 'Nordix/geode'
          description: JJB configured PROJECT parameter to identify a Nordix GitHub project
      - string:
          name: BRANCH
          default: 'release-nordix/1.9.0'
          description: JJB configured BRANCH parameter for Nordix GitHub project
      - string:
          name: ARTIFACT_SLUG
          default: '{artifact-slug}'
          description: 'The geode artifact required'
      - string:
          name: GRADLE_TASK
          default: '{gradle-task}'
          description: 'Single atomic piece of work for a build, such as compiling classes or generating javadoc'
      - string:
          name: PARALLEL_GRADLE
          default: '{parallel-gradle}'
          description: 'Parallel execution of gradle tasks'
      - string:
          name: PARALLEL_DUNIT
          default: '{parallel-dunit}'
          description: 'Parallel test execution using docker images'
      - string:
          name: DUNIT_PARALLEL_FORKS
          default: '{dunit-parallel-forks}'
          description: 'Control how many concurrent dunit (using docker) tests will be run'
      - string:
          name: JAVA_BUILD_VERSION
          default: '{java-build-version}'
          description: 'Java version use to build geode'

    scm:
      - git-scm-github:
          branch: '$BRANCH'
          refspec: ''
          wipe_workspace: true
          clean_before: false
          base_dir: 'geode'

    builders:
      - '{build-executor}'

    publishers:
      - notify-slack:
          slack-channel: '#geode-ci'
          notify-start: true
          notify-success: true
          notify-failure: true
          notify-back-to-normal: true
