version: 2
jobs:
  build:
    docker:
      - image: springcloud/pipeline-base
    environment:
      _JAVA_OPTIONS: "-Xms1024m -Xmx2048m"
      TERM: dumb
      WITH_RABBIT: no
    branches:
      ignore:
        - gh-pages # list of branches to ignore
    resource_class: large
    steps:
      - checkout
      - restore_cache:
          key: sc-sleuth-{{ .Branch }}
      - run:
          name: "Download dependencies"
          command: ./mvnw -s .settings.xml -U --fail-never dependency:go-offline || true
      - save_cache:
          key: sc-sleuth-{{ .Branch }}
          paths:
            - ~/.m2
      - run:
          name: "Running build"
          command: ./mvnw -s .settings.xml clean org.jacoco:jacoco-maven-plugin:prepare-agent install -U -P sonar -nsu --batch-mode -Dmaven.test.redirectTestOutputToFile=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
      - run:
          name: "Aggregate test results"
          when: always
          command: |
            mkdir -p $CIRCLE_TEST_REPORTS/junit/
            find . -type f -regex ".*/target/.*-reports/.*" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;
            bash <(curl -s https://codecov.io/bash)
      - store_artifacts:
          path: /junit/
          destination: artifacts
      - store_test_results:
          path: /junit/
          destination: testartifacts
notify:
  webhooks:
    # A list of hook hashes, containing the url field
    # gitter hook
    - url: https://webhooks.gitter.im/e/fac69f6fc000ef14f7ec
