|
2 | 2 | # https://docs.travis-ci.com/user/customizing-the-build/ |
3 | 3 |
|
4 | 4 | # Speed up build with travis caches |
5 | | -# https://docs.travis-ci.com/user/languages/java/#Caching |
6 | | -before_cache: |
7 | | -# remove cached SNAPSHOT dependencies |
8 | | - - find $HOME/.gradle/caches/modules-2 -name \*-SNAPSHOT -type d -exec rm -rf {} + |
9 | | -# these are changed every build and can't be cached |
10 | | - - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock |
11 | | - - rm -f $HOME/.gradle/caches/modules-2/metadata-*/*.bin |
12 | | - - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ |
13 | | - - rm -fr $HOME/.gradle/caches/*/scripts/ |
14 | | - - rm -fr $HOME/.gradle/caches/*/scripts-remapped/ |
15 | | - - rm -fr $HOME/.gradle/caches/*/fileHashes/ |
16 | | - - rm -fr $HOME/.gradle/caches/transforms-1/transforms-1.lock |
17 | 5 | cache: |
18 | 6 | directories: |
19 | | - - $HOME/.gradle/caches/ |
| 7 | + - $HOME/.gradle/caches/modules-2/ |
20 | 8 | - $HOME/.gradle/wrapper/ |
21 | 9 |
|
| 10 | +# Remove often changing files to prevent cache re-upload on no changes in dependencies |
| 11 | +before_cache: |
| 12 | + # pom, xml and jar files are known not to change |
| 13 | + # assume non-whitelisted extensions are changing |
| 14 | + # (this will include .lock, .bin, .metadata and potential future additions to gradle's caches folder) |
| 15 | + - find $HOME/.gradle/caches/modules-2 -type f -not \( -iname \*.pom -o -iname \*.jar -o -iname \*.xml \) -delete |
| 16 | + # xml files which change |
| 17 | + - find $HOME/.gradle/caches/modules-2 -name ivy.xml -delete |
| 18 | + # remove left over empty directories |
| 19 | + - find $HOME/.gradle/caches/modules-2 -type d -empty -delete |
| 20 | + |
22 | 21 | language: java |
23 | 22 |
|
24 | 23 | jdk: |
25 | 24 | - openjdk8 |
| 25 | + - openjdk11 |
| 26 | + - openjdk12 # TODO unsupported, remove soon? |
| 27 | + - openjdk13 |
26 | 28 |
|
27 | 29 | #Skipping install step to avoid having Travis run arbitrary './gradlew assemble' task |
28 | 30 | # https://docs.travis-ci.com/user/customizing-the-build/#Skipping-the-Installation-Step |
29 | 31 | install: |
30 | 32 | - true |
31 | 33 |
|
32 | | -#Only build master branch on push |
| 34 | +#Don't build tags |
33 | 35 | branches: |
34 | 36 | only: |
35 | | - - master |
| 37 | + - master |
| 38 | + except: |
| 39 | + - /^v\d/ |
36 | 40 |
|
37 | 41 | #Build and perform release (if needed) |
38 | 42 | script: |
39 | | - - ./gradlew build -s && ./gradlew ciPerformRelease |
| 43 | + - ./gradlew build -s |
| 44 | + |
| 45 | +deploy: |
| 46 | + provider: script |
| 47 | + script: ./gradlew ciPerformRelease |
| 48 | + edge: true |
| 49 | + cleanup: false |
| 50 | + on: |
| 51 | + jdk: openjdk12 |
| 52 | + branch: master |
| 53 | + |
40 | 54 |
|
41 | 55 | after_success: |
42 | 56 | #Generates coverage report: |
|
0 commit comments