blob: 012f6cfd56ea817f617cbbf962f6da428b12e849 [file] [log] [blame]
version: 2
jobs:
build:
working_directory: ~/code
docker:
- image: circleci/android:api-26-alpha
resource_class: xlarge
environment:
JVM_OPTS: -Xmx3172m
GRADLE_MAX_PARALLEL_FORKS: 2
steps:
- checkout
- run:
name: Calculate Cache Hash
command: |
find . \( -name \*.gradle -or -name \*.groovy -or -name \*.sh -or -name \*.rb -or -name circle.yml \) -exec shasum {} \; | sort > .cache-hash
cat .cache-hash
- run:
name: Install Maven
command: sudo apt-get update; sudo apt-get install maven
- restore_cache:
key: cache-{{ checksum ".cache-hash" }}
- run:
name: Download Dependencies
command: |
sdkmanager --install 'platforms;android-27'
./scripts/install-dependencies.rb
./gradlew prefetchDependencies
- save_cache:
paths:
- ~/.gradle
- ~/.m2
- /opt/android/sdk/platforms/android-27
key: cache-{{ checksum ".cache-hash" }}
- run:
name: Build and Test
command: SKIP_JAVADOC=true ./gradlew clean assemble test --info --stacktrace --continue
- run:
name: Collect Test Results
command: |
mkdir -p ~/junit/
find . -type f -regex ".*/build/test-results/.*xml" -exec cp {} ~/junit/ \;
when: always
- store_test_results:
path: ~/junit
- store_artifacts:
path: build/reports
destination: reports
- run:
name: Upload Snapshot
command: |
if [ "${CIRCLE_BRANCH}" == "master" ]; then
./gradlew upload --no-rebuild
fi