image: circleci/android:api-27-alpha

before_script:
    - export GRADLE_USER_HOME=`pwd`/.gradle

build:
  stage: build
  cache:
    key: "v1-$CI_COMMIT_REF_NAME"
    paths:
     - .gradle
  script:
    - ./gradlew --no-daemon --stacktrace dependencies || true
    - ./gradlew --no-daemon --stacktrace assembleDebug
    - mv app/build/outputs/apk/debug/app-debug.apk .
  artifacts:
    name: "${CI_PROJECT_NAME}_${CI_BUILD_REF_NAME}-${CI_BUILD_ID}"
    paths:
    - app-debug.apk

tests:
  stage: test
  cache:
    key: "v1-$CI_COMMIT_REF_NAME"
    paths:
     - .gradle
    policy: pull
  script:
    - ./gradlew --no-daemon --stacktrace -x fabricGenerateResourcesRelease test
  artifacts:
    paths:
    - app/build/reports/tests

lint:
  stage: test
  cache:
    key: "v1-$CI_COMMIT_REF_NAME"
    paths:
     - .gradle
    policy: pull
  script:
    - ./gradlew --no-daemon --stacktrace -x fabricGenerateResourcesRelease lint
  artifacts:
    paths:
    - app/build/reports