@@ -2,13 +2,12 @@ language: java
2
2
os : linux
3
3
dist : bionic
4
4
group : edge
5
- jdk : openjdk10
6
5
git :
7
6
depth : false
8
7
env :
9
8
global :
10
- # for updates check developer.android .com/studio#downloads (current 26.1.1 )
11
- - ANDROID_SDK_TOOLS=sdk-tools- linux-4333796 .zip
9
+ # for updates check (dl.google .com/android/repository/repository2-1.xml )
10
+ - ANDROID_SDK_CMD_TOOLS=commandlinetools- linux-5842447_latest .zip
12
11
# storepass, keypass, keyalias
13
12
- secure : K4PVOrcYr6ZV16GgZWcw5RGDqxRTrilMK6pjz1r+RkQX6EPywmTsUH0y8EGP44bZc+TFMM0UfGPulHfrKzC3LDVSe+CpvNdQqq8c2Ysc9lQLubvFmVlWZ2rjHhA3jtg33FDIAWipb41WZEdmCJE1EI+OMbh8p8/7cGZ4K4tpd3B8ViXrf16ht50C56glL1lS3Jog/g9OEIPdhzYF23nYPOAeV3xJg3WBGxUUMOwp3vrpMJ/bYvnh/XLHUpPWnCcSWhKZolE3C6Itlv3CUdCyd2u8dnbTFX7KK0g4nrJdXJAyith0aE2RB6APdDDIdZkF3p2qU3aWBWVvNzjGc6tYpP9OB8sjobcx9oG8lIaO09qZnM+fLTs5b3ulvl8d3UZI0KxgSocvjxpltrqeuNODGarzwIWAmjxKr3Qnfo5LFUna1UMxKJ1ARyT7zS9yUbfE6ek42aEe7rEaqryjNFE5X6b9D2WexN+68YynvdRfDXlFx2JIW3hWTi7AG4zBI0LKhhtruwLY1hKty3JR5/Dz/dIMW6JZUmLdE7drPmLNBcKRh1H778EOcaD+1q1bzVnwbA+HLfHkO9Rzmk7UOY1ttWzFBH23W/pI6D6mn4WTFng0/iOEsw7fwHaXPGv6ZXxserC/nzmeYb0AfK3wq2p2ztEDtbSblw9lkMBYlvNi5I8=
14
13
- secure : SEcF7dl6ImTdeUYtw6dGeHRXbS4h8Ec9+Dnt2rFeobupo4e64818Fo10Uqqf+eM/5VVF2FAJLnEiq1SgfWZKjvUz9batJZNknc2JSKEGQPFaUD55USFCt2rxoLPFJKIee07kPTiXGPM2WWA+42cD+HpXAErMTd3BESsGwjni+xj2PhJuETDGrw+0D5T4TOXgd0uXNPl4p1PE+l3SejPqGQ961Wo+hbxd/y9JyZy/jZ9WW8XA6eEXXtecRY33NspwT58mBXDgZLIM/C3W0qfrGCiOPxwk0RpMo7YMbmYVPLG75AzihDtQ2F7P5edHz7v0yCAejrN23hi1LHb4Uku8tC2jzrH5eUpKfZuqap8DRcbdXq5je3oeuLSUu39FrzsDEmennS0eaD4jTsB5Sy2wld/UCmzV0QenUtPdBaFLU2Rxos3xJW4a2KyENRm5TGVNR/NAWpoacLed3zqDmb3K13WwskTGE1/mXRl+o0T0BVOBXuHXQ+nqATnGuAbw97LhhOeBZ/jA2yWBsaTxdjhB3E3uKWYZYdGIIgOwrZdM0RrVSgepg7NP+vh9iO70ckEzP+w4yws2ElKE3ZiOexEmrkFmqlxQW08b1FMaKJwpfsNiHkwW6u1jq1oeEBIzUrAMmo92uAjDAHKfn7FOsx5RVg20EKP9Rk9l2YKRA5dGJFI=
@@ -19,84 +18,80 @@ cache:
19
18
- $HOME/.gradle/wrapper/
20
19
- $HOME/.android/build-cache/
21
20
22
- stages :
23
- - name : Build debug
24
- if : branch IN (develop, master)
25
- - name : Build and deploy release on tags
26
- if : tag IS present
27
-
28
- android_phases :
29
- - phase : &before_install
21
+ before_install :
30
22
# download and unzip Android SDK command line tools
31
- - wget -nv https://dl.google.com/android/repository/$ANDROID_SDK_TOOLS
32
- - unzip -q $ANDROID_SDK_TOOLS -d $HOME/sdk
33
- # add deprecated java ee module to jdk10 to run the sdkmanager
34
- - export JAVA_OPTS="-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee"
23
+ - wget -nv https://dl.google.com/android/repository/$ANDROID_SDK_CMD_TOOLS
24
+ - mkdir -p $HOME/sdk/cmdline-tools && unzip -q $ANDROID_SDK_CMD_TOOLS -d $HOME/sdk/cmdline-tools
35
25
# set SDK tools path variable and ANDROID_HOME
36
- - export PATH=$PATH:$HOME/sdk/tools/bin
26
+ - export PATH=$PATH:$HOME/sdk/cmdline-tools/ tools/bin
37
27
- export ANDROID_HOME=$HOME/sdk
38
28
# create empty cfg file to prevent sdkmanager warning message
39
29
- mkdir -p $HOME/.android && touch $HOME/.android/repositories.cfg
40
30
# decrypt private keystore
41
31
- openssl aes-256-cbc -K $encrypted_a8fbd6bbc21d_key -iv $encrypted_a8fbd6bbc21d_iv -in keystore.jks.enc -out keystore.jks -d
42
- - phase : & install
32
+ install :
43
33
# accept licenses for all available packages that have not already been accepted
44
34
- yes | sdkmanager --licenses >/dev/null
45
- - phase : & before_script
35
+ before_script :
46
36
# set executable flag for gradle wrapper
47
37
- chmod +x gradlew
48
38
# create dir for gradle settings
49
39
- mkdir -p $HOME/.gradle
50
- # disable gradle daemon for current user
40
+ # disable gradle daemon
51
41
- echo "org.gradle.daemon=false" >> $HOME/.gradle/gradle.properties
52
42
# set gradle log format to plain
53
43
- echo "org.gradle.console=plain" >> $HOME/.gradle/gradle.properties
54
- # enable gradle build cache
55
- - echo "org.gradle.caching=true" >> $HOME/.gradle/gradle.properties
56
44
# log all gradle warnings
57
45
- echo "org.gradle.warning.mode=all" >> $HOME/.gradle/gradle.properties
58
- - phase : &before_cache
59
- - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
60
- - rm -fr $HOME/.gradle/caches/*/plugin-resolution/
61
- - rm -f $HOME/.gradle/caches/*/fileHashes/fileHashes.bin
62
- - rm -f $HOME/.gradle/caches/*/fileHashes/fileHashes.lock
63
- - rm -f $HOME/.gradle/caches/*/javaCompile/javaCompile.lock
64
- - rm -f $HOME/.gradle/caches/*/executionHistory/executionHistory.lock
65
- - rm -f $HOME/.gradle/caches/journal-1/file-access.bin
66
- - rm -f $HOME/.gradle/caches/journal-1/journal-1.lock
67
- - rm -f $HOME/.gradle/caches/transforms-1/transforms-1.lock
68
- - rm -f $HOME/.gradle/caches/user-id.txt.lock
46
+ # control gradle build cache
47
+ - if [[ $CACHING == "true" ]]; then
48
+ echo "org.gradle.caching=true" >> $HOME/.gradle/gradle.properties;
49
+ echo "android.enableBuildCache=true" >> $HOME/.gradle/gradle.properties;
50
+ else
51
+ echo "org.gradle.caching=false" >> $HOME/.gradle/gradle.properties;
52
+ echo "android.enableBuildCache=false" >> $HOME/.gradle/gradle.properties;
53
+ fi
54
+ before_cache :
55
+ - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
56
+ - rm -rf $HOME/.gradle/caches/*/plugin-resolution/
57
+ - rm -f $HOME/.gradle/caches/*/fileHashes/fileHashes.bin
58
+ - rm -f $HOME/.gradle/caches/*/fileHashes/fileHashes.lock
59
+ - rm -f $HOME/.gradle/caches/*/javaCompile/javaCompile.lock
60
+ - rm -f $HOME/.gradle/caches/*/executionHistory/executionHistory.bin
61
+ - rm -f $HOME/.gradle/caches/*/executionHistory/executionHistory.lock
62
+ - rm -f $HOME/.gradle/caches/journal-1/file-access.bin
63
+ - rm -f $HOME/.gradle/caches/journal-1/journal-1.lock
64
+ - rm -f $HOME/.gradle/caches/transforms-1/transforms-1.lock
65
+ - rm -f $HOME/.gradle/caches/user-id.txt.lock
69
66
# only cache latest gradle version used by the wrapper
70
67
# list content in wrapper/dist sorted by modification time and remove entries starting by the second entry
71
68
- ls -d $HOME/.gradle/wrapper/dists/* -1t | tail -n +2 | xargs rm -rf
72
- - phase : &deploy
73
- provider : releases
74
- api_key :
75
- secure : J5U/QxYAcGZn/pZeU8+YK7ani5dn64McDEVj5BxTBbywfhfpabzug+6H8k6Mnvs8m8CEvi2NsgptyvsxMt6952dNFI9F0URRsDkDdBvKQKdBmhCmCWVckRushfrn5k8RTjpJFYExiuDw6mSPZVtVzdXgHTgiZzPW20skROgoOq6Jb2CMa9awyI1Pbni7Emirkdl3N+h8krCyi/T06va1QebbWYsdLem8EvPgREBV+fDZ8RR+ABnT68aV7Jyq5YWortThT0TRAQ5f17C/T/aDWU7TqL4+HbfGEMvlO4vFYKUHNhxB6ZssaOpLSRVZKq4kecr2PQWIzQX+VFo4Fyxe3kTqfgidR2ptihkAERFz5FCHsEDDSRliatUUFpXxNLaa4ZIooo5p5uThRniu9COjdwuJZtFUIqstL1IrLntv4+3P2SY2BfdsTkgSuq7NT37u6MbT/cdr+dO7jgCoRIyxRzQGoeViALjzwIdXS2iBCwEpex9IDdvjsHmFJIo+8IsJGeGUCRsJL0tFBtZ8lIks1bh+t7pxKywhS3vXGny2ZCaIdA55g0b5N0D64P12ibWI80B7EAEv43Xmb5oVkVYdq9PdPJFoG/b4nDy8NfbQCWv9P/xgP6KwogAPsCJJ7tS4qn2HV6eUKrsj7ioBwpHsn/3ZEL0gU3sBnGJk20hyZyc=
76
- file_glob : true
77
- file :
78
- - $TRAVIS_BUILD_DIR/app/build/outputs/apk/release/*.apk
79
- - $TRAVIS_BUILD_DIR/app/build/outputs/mapping/release/mapping.txt
80
- skip_cleanup : true
81
- draft : false
82
- on :
83
- tags : true
84
- name : $TRAVIS_TAG
85
- tag_name : $TRAVIS_TAG
86
- body : " Generated release from Travis CI for build $TRAVIS_BUILD_NUMBER"
87
69
88
70
jobs :
89
71
include :
90
- - stage : Build debug
91
- before_install : *before_install
92
- install : *install
93
- before_script : *before_script
72
+ - # Build debug
73
+ if : branch IN (develop, master)
74
+ env : CACHING=true
94
75
script : " ./gradlew assembleDebug --scan"
95
- before_cache : *before_cache
96
- - stage : Build and deploy release on tags
97
- before_install : *before_install
98
- install : *install
99
- before_script : *before_script
100
- script : " ./gradlew assembleRelease -Pmy_storepass=$storepass -Pmy_keyalias=$keyalias -Pmy_keypass=$keypass --scan"
101
- before_cache : *before_cache
102
- deploy : *deploy
76
+ - # Build and deploy release on tags
77
+ if : tag IS present
78
+ env : CACHING=false
79
+ script :
80
+ - " ./gradlew assembleRelease -Pmy_storepass=$storepass -Pmy_keyalias=$keyalias -Pmy_keypass=$keypass --scan"
81
+ - " ./gradlew :app:bundleRelease -Pmy_storepass=$storepass -Pmy_keyalias=$keyalias -Pmy_keypass=$keypass"
82
+ deploy :
83
+ provider : releases
84
+ edge : true
85
+ token :
86
+ secure : J5U/QxYAcGZn/pZeU8+YK7ani5dn64McDEVj5BxTBbywfhfpabzug+6H8k6Mnvs8m8CEvi2NsgptyvsxMt6952dNFI9F0URRsDkDdBvKQKdBmhCmCWVckRushfrn5k8RTjpJFYExiuDw6mSPZVtVzdXgHTgiZzPW20skROgoOq6Jb2CMa9awyI1Pbni7Emirkdl3N+h8krCyi/T06va1QebbWYsdLem8EvPgREBV+fDZ8RR+ABnT68aV7Jyq5YWortThT0TRAQ5f17C/T/aDWU7TqL4+HbfGEMvlO4vFYKUHNhxB6ZssaOpLSRVZKq4kecr2PQWIzQX+VFo4Fyxe3kTqfgidR2ptihkAERFz5FCHsEDDSRliatUUFpXxNLaa4ZIooo5p5uThRniu9COjdwuJZtFUIqstL1IrLntv4+3P2SY2BfdsTkgSuq7NT37u6MbT/cdr+dO7jgCoRIyxRzQGoeViALjzwIdXS2iBCwEpex9IDdvjsHmFJIo+8IsJGeGUCRsJL0tFBtZ8lIks1bh+t7pxKywhS3vXGny2ZCaIdA55g0b5N0D64P12ibWI80B7EAEv43Xmb5oVkVYdq9PdPJFoG/b4nDy8NfbQCWv9P/xgP6KwogAPsCJJ7tS4qn2HV6eUKrsj7ioBwpHsn/3ZEL0gU3sBnGJk20hyZyc=
87
+ file :
88
+ - $TRAVIS_BUILD_DIR/app/build/outputs/bundle/release/*.aab
89
+ - $TRAVIS_BUILD_DIR/app/build/outputs/apk/release/*.apk
90
+ - $TRAVIS_BUILD_DIR/app/build/outputs/mapping/release/mapping.txt
91
+ draft : false
92
+ on :
93
+ tags : true
94
+ name : $TRAVIS_TAG
95
+ tag_name : $TRAVIS_TAG
96
+ release_notes : " Generated release from Travis CI for build $TRAVIS_BUILD_NUMBER"
97
+ prerelease : true
0 commit comments