diff options
-rw-r--r-- | .travis.yml | 85 | ||||
-rwxr-xr-x | scripts/travis | 61 |
2 files changed, 146 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml index 72215d2..9b983bb 100644 --- a/.travis.yml +++ b/.travis.yml | |||
@@ -37,6 +37,91 @@ matrix: | |||
37 | env: ARCH=arm64 | 37 | env: ARCH=arm64 |
38 | dist: trusty | 38 | dist: trusty |
39 | sudo: required | 39 | sudo: required |
40 | - language: android | ||
41 | name: "Android 4.x" | ||
42 | env: ARCH=android MIN_NAL=14 MAX_NAL=20 | ||
43 | dist: trusty | ||
44 | sudo: required | ||
45 | android: | ||
46 | components: | ||
47 | - tools | ||
48 | - tools | ||
49 | - platform-tools | ||
50 | - build-tools-27.0.3 | ||
51 | - android-27 | ||
52 | - extra-google-m2repository | ||
53 | - extra-android-m2repository | ||
54 | licenses: | ||
55 | - 'android-sdk-preview-license-.+' | ||
56 | - 'android-sdk-license-.+' | ||
57 | - language: android | ||
58 | name: "Android 5.x" | ||
59 | env: ARCH=android MIN_NAL=21 MAX_NAL=22 | ||
60 | dist: trusty | ||
61 | sudo: required | ||
62 | android: | ||
63 | components: | ||
64 | - tools | ||
65 | - tools | ||
66 | - platform-tools | ||
67 | - build-tools-27.0.3 | ||
68 | - android-27 | ||
69 | - extra-google-m2repository | ||
70 | - extra-android-m2repository | ||
71 | licenses: | ||
72 | - 'android-sdk-preview-license-.+' | ||
73 | - 'android-sdk-license-.+' | ||
74 | - language: android | ||
75 | name: "Android 6.x 7.x" | ||
76 | env: ARCH=android MIN_NAL=23 MAX_NAL=25 | ||
77 | dist: trusty | ||
78 | sudo: required | ||
79 | android: | ||
80 | components: | ||
81 | - tools | ||
82 | - tools | ||
83 | - platform-tools | ||
84 | - build-tools-27.0.3 | ||
85 | - android-27 | ||
86 | - extra-google-m2repository | ||
87 | - extra-android-m2repository | ||
88 | licenses: | ||
89 | - 'android-sdk-preview-license-.+' | ||
90 | - 'android-sdk-license-.+' | ||
91 | - language: android | ||
92 | name: "Android 8.x" | ||
93 | env: ARCH=android MIN_NAL=26 MAX_NAL=27 | ||
94 | dist: trusty | ||
95 | sudo: required | ||
96 | android: | ||
97 | components: | ||
98 | - tools | ||
99 | - tools | ||
100 | - platform-tools | ||
101 | - build-tools-27.0.3 | ||
102 | - android-27 | ||
103 | - extra-google-m2repository | ||
104 | - extra-android-m2repository | ||
105 | licenses: | ||
106 | - 'android-sdk-preview-license-.+' | ||
107 | - 'android-sdk-license-.+' | ||
108 | - language: android | ||
109 | name: "Android 9.x" | ||
110 | env: ARCH=android MIN_NAL=28 MAX_NAL=28 | ||
111 | dist: trusty | ||
112 | sudo: required | ||
113 | android: | ||
114 | components: | ||
115 | - tools | ||
116 | - tools | ||
117 | - platform-tools | ||
118 | - build-tools-27.0.3 | ||
119 | - android-27 | ||
120 | - extra-google-m2repository | ||
121 | - extra-android-m2repository | ||
122 | licenses: | ||
123 | - 'android-sdk-preview-license-.+' | ||
124 | - 'android-sdk-license-.+' | ||
40 | 125 | ||
41 | script: | 126 | script: |
42 | "./scripts/travis" | 127 | "./scripts/travis" |
diff --git a/scripts/travis b/scripts/travis index 3396479..5553276 100755 --- a/scripts/travis +++ b/scripts/travis | |||
@@ -95,4 +95,65 @@ elif [ "x$ARCH" = "xarm32" -o "x$ARCH" = "xarm64" ]; then | |||
95 | 95 | ||
96 | make -j 4 check | 96 | make -j 4 check |
97 | file apps/openssl/.libs/openssl | 97 | file apps/openssl/.libs/openssl |
98 | |||
99 | elif [ "x$ARCH" = "xandroid" ]; then | ||
100 | echo y | sdkmanager 'ndk-bundle' | ||
101 | echo y | sdkmanager 'cmake;3.6.4111459' | ||
102 | echo y | sdkmanager 'lldb;3.0' | ||
103 | echo y | sdkmanager --update | ||
104 | echo y | sdkmanager --licenses | ||
105 | |||
106 | export CMAKE=$ANDROID_HOME/cmake/3.6.4111459/bin/cmake | ||
107 | export NINJA=$ANDROID_HOME/cmake/3.6.4111459/bin/ninja | ||
108 | export ANDROID_NDK_HOME=$ANDROID_HOME/ndk-bundle | ||
109 | export TC_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake | ||
110 | |||
111 | # get available API level and architecture | ||
112 | pdir=$ANDROID_NDK_HOME/platforms | ||
113 | level_arch="" | ||
114 | level=$MIN_NAL | ||
115 | while [ $level -le $MAX_NAL ] | ||
116 | do | ||
117 | if [ -d $pdir/android-$level ] ; then | ||
118 | adir=$pdir/android-$level | ||
119 | if [ -d $adir/arch-arm ] ; then | ||
120 | level_arch="$level_arch $level;armeabi-v7a" | ||
121 | fi | ||
122 | if [ -d $adir/arch-arm64 ] ; then | ||
123 | level_arch="$level_arch $level;arm64-v8a" | ||
124 | fi | ||
125 | if [ -d $adir/arch-x86 ] ; then | ||
126 | level_arch="$level_arch $level;x86" | ||
127 | fi | ||
128 | if [ -d $adir/arch-x86_64 ] ; then | ||
129 | level_arch="$level_arch $level;x86_64" | ||
130 | fi | ||
131 | fi | ||
132 | level=`expr $level + 1` | ||
133 | done | ||
134 | |||
135 | # build each API level and architecture | ||
136 | for la in $level_arch | ||
137 | do | ||
138 | NAL=`echo $la | cut -d ';' -f 1` | ||
139 | ABI=`echo $la | cut -d ';' -f 2` | ||
140 | echo "" | ||
141 | echo "##### Date: `date`, Native API level: $NAL, ABI: $ABI" | ||
142 | |||
143 | ( | ||
144 | build_dir=build_$NAL_$ABI | ||
145 | rm -fr $build_dir | ||
146 | mkdir $build_dir | ||
147 | cd $build_dir | ||
148 | $CMAKE -GNinja -DCMAKE_MAKE_PROGRAM=$NINJA \ | ||
149 | -DANDROID_NDK=$ANDROID_NDK_HOME \ | ||
150 | -DCMAKE_TOOLCHAIN_FILE=$TC_FILE \ | ||
151 | -DANDROID_ABI=$ABI -DANDROID_NATIVE_API_LEVEL=$NAPI .. | ||
152 | |||
153 | $NINJA -j 4 | ||
154 | |||
155 | echo "" | ||
156 | file apps/openssl/openssl | ||
157 | ) | ||
158 | done | ||
98 | fi | 159 | fi |