1- description : Builds the Android app at the given path with the given build types. This should be run only after installing dependencies.
1+ description : Builds the Android app at the given path with the given build types. This should be run only after installing dependencies.
22
33parameters :
44 project_path :
@@ -9,27 +9,34 @@ parameters:
99 description : The build type to build. This is normally either "debug" or "release" but you may have custom build types configured for your app.
1010 type : string
1111 default : " debug"
12+ cache :
13+ description : Save and restore the caches? Defaults to true
14+ type : boolean
15+ default : true
1216
1317steps :
14- - run :
15- name : Create cache checksum files
16- command : |
17- mkdir -p ~/.tmp/checksumfiles
18- find . -type f -name 'build.gradle' -not -path "*node_modules*" -exec cat {} + >> ~/.tmp/checksumfiles/build.gradle
19- find . -type f -name 'settings.gradle' -not -path "*node_modules*" -exec cat {} + >> ~/.tmp/checksumfiles/settings.gradle
18+ - when :
19+ condition : <<parameters.cache>>
20+ steps :
21+ - run :
22+ name : Create cache checksum files
23+ command : |
24+ mkdir -p ~/.tmp/checksumfiles
25+ find . -type f -name 'build.gradle' -not -path "*node_modules*" -exec cat {} + >> ~/.tmp/checksumfiles/build.gradle
26+ find . -type f -name 'settings.gradle' -not -path "*node_modules*" -exec cat {} + >> ~/.tmp/checksumfiles/settings.gradle
2027
21- - restore_cache :
22- keys :
23- - gradle-wrapper-{{ arch }}-{{ checksum "<<parameters.project_path>>/gradle/wrapper/gradle-wrapper.properties" }}-{{ .Environment.CACHE_VERSION }}
28+ - restore_cache :
29+ keys :
30+ - gradle-wrapper-{{ arch }}-{{ checksum "<<parameters.project_path>>/gradle/wrapper/gradle-wrapper.properties" }}-{{ .Environment.CACHE_VERSION }}
2431
25- - restore_cache :
26- keys :
27- - gradle-home-cache-{{ arch }}-{{ checksum "~/.tmp/checksumfiles/build.gradle" }}-{{ checksum "~/.tmp/checksumfiles/settings.gradle" }}-{{ .Environment.CACHE_VERSION }}
32+ - restore_cache :
33+ keys :
34+ - gradle-home-cache-{{ arch }}-{{ checksum "~/.tmp/checksumfiles/build.gradle" }}-{{ checksum "~/.tmp/checksumfiles/settings.gradle" }}-{{ .Environment.CACHE_VERSION }}
2835
29- - restore_cache :
30- name : Restoring Gradle Build caches
31- keys :
32- - gradle-build-cache-{{ .Revision }}
36+ - restore_cache :
37+ name : Restoring Gradle Build caches
38+ keys :
39+ - gradle-build-cache-{{ .Revision }}
3340
3441 - run :
3542 name : Dispersing Gradle Build caches for restoring
@@ -45,35 +52,41 @@ steps:
4552 name : Downloading Gradle Dependencies
4653 command : " cd <<parameters.project_path>> && chmod +x gradlew && ./gradlew --max-workers 2 downloadDependencies"
4754
48- - save_cache :
49- name : Saving Gradle wrapper cache
50- paths :
51- - ~/.gradle/wrapper/
52- key : gradle-wrapper-{{ arch }}-{{ checksum "<<parameters.project_path>>/gradle/wrapper/gradle-wrapper.properties" }}-{{ .Environment.CACHE_VERSION }}
55+ - when :
56+ condition : <<parameters.cache>>
57+ steps :
58+ - save_cache :
59+ name : Saving Gradle wrapper cache
60+ paths :
61+ - ~/.gradle/wrapper/
62+ key : gradle-wrapper-{{ arch }}-{{ checksum "<<parameters.project_path>>/gradle/wrapper/gradle-wrapper.properties" }}-{{ .Environment.CACHE_VERSION }}
5363
54- - save_cache :
55- name : Saving Gradle home cache
56- paths :
57- - ~/.gradle/caches/
58- key : gradle-home-cache-{{ arch }}-{{ checksum "~/.tmp/checksumfiles/build.gradle" }}-{{ checksum "~/.tmp/checksumfiles/settings.gradle" }}-{{ .Environment.CACHE_VERSION }}
64+ - save_cache :
65+ name : Saving Gradle home cache
66+ paths :
67+ - ~/.gradle/caches/
68+ key : gradle-home-cache-{{ arch }}-{{ checksum "~/.tmp/checksumfiles/build.gradle" }}-{{ checksum "~/.tmp/checksumfiles/settings.gradle" }}-{{ .Environment.CACHE_VERSION }}
5969
6070 - run :
6171 name : Build Android APK
6272 command : " cd <<parameters.project_path>> && chmod +x gradlew && ./gradlew --build-cache --max-workers 2 --continue assemble<<parameters.build_type>> assembleAndroidTest -DtestBuildType=<<parameters.build_type>> --stacktrace"
6373
64- - run :
65- name : Collecting Gradle Build caches for saving
66- command : |
67- mkdir -p ~/gradle-build-caches
68- [ -d ~/.gradle/caches ] &&
69- [ -n "$(ls -Ad ~/.gradle/caches/build-cache-* 2>/dev/null)" ] &&
70- rm -rf ~/gradle-build-caches/* &&
71- mv ~/.gradle/caches/build-cache-* ~/gradle-build-caches || true
72- when : always
74+ - when :
75+ condition : <<parameters.cache>>
76+ steps :
77+ - run :
78+ name : Collecting Gradle Build caches for saving
79+ command : |
80+ mkdir -p ~/gradle-build-caches
81+ [ -d ~/.gradle/caches ] &&
82+ [ -n "$(ls -Ad ~/.gradle/caches/build-cache-* 2>/dev/null)" ] &&
83+ rm -rf ~/gradle-build-caches/* &&
84+ mv ~/.gradle/caches/build-cache-* ~/gradle-build-caches || true
85+ when : always
7386
74- - save_cache :
75- name : Saving Gradle Build caches
76- paths :
77- - ~/gradle-build-caches
78- key : gradle-debug-build-cache-{{ .Revision }}
79- when : always
87+ - save_cache :
88+ name : Saving Gradle Build caches
89+ paths :
90+ - ~/gradle-build-caches
91+ key : gradle-debug-build-cache-{{ .Revision }}
92+ when : always
0 commit comments