-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbuild-on-travis.sh
executable file
·111 lines (92 loc) · 2.72 KB
/
build-on-travis.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#! /usr/bin/env bash
#
# Copyright (C) 2013-2014 Bilibili
# Copyright (C) 2013-2014 Zhang Rui <[email protected]>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
set -e
if [ -z "$ANDROID_NDK" -o -z "$ANDROID_NDK" ]; then
echo "You must define ANDROID_NDK, ANDROID_SDK before starting."
echo "They must point to your NDK and SDK directories.\n"
exit 1
fi
REQUEST_TARGET=$1
ACT_ABI_32="armv5 armv7a x86"
ACT_ABI_64="armv5 armv7a arm64 x86 x86_64"
ACT_ABI_ALL=$ACT_ABI_64
IJK_VERSION=`../version.sh show`
wget_uploaded_version() {
PARAM_TARGET=$1
VERSION_URL="https://jcenter.bintray.com/tv/danmaku/ijk/media/ijkplayer-$PARAM_TARGET/$IJK_VERSION"
echo "VERSION_URL="$VERSION_URL
wget $VERSION_URL -O /dev/null
}
do_build_native() {
PARAM_TARGET=$1
wget_uploaded_version $PARAM_TARGET && echo "ijkplayer-$PARAM_TARGET $IJK_VERSION already uploaded, skip..." && return 0
cd contrib
./compile-ffmpeg.sh $PARAM_TARGET
cd ..
./compile-ijk.sh $PARAM_TARGET
cd ijkplayer
./gradlew :ijkplayer-$PARAM_TARGET:bintrayUpload
cd ..
}
do_build_java() {
wget_uploaded_version java && echo "ijkplayer-$PARAM_TARGET $IJK_VERSION already uploaded, skip..." && return 0
cd ijkplayer
./gradlew :ijkplayer-java:bintrayUpload
cd ..
}
do_build_exo() {
wget_uploaded_version exo && echo "ijkplayer-$PARAM_TARGET $IJK_VERSION already uploaded, skip..." && return 0
cd ijkplayer
./gradlew :ijkplayer-exo:bintrayUpload
cd ..
}
case "$REQUEST_TARGET" in
armv5|armv7a|arm64|x86|x86_64)
do_build_native $REQUEST_TARGET
;;
java)
do_build_java
;;
exo)
do_build_exo
;;
all32)
do_build_java
for ABI in $ACT_ABI_32
do
do_build_native "$ABI";
done
do_build_exo
;;
all|all64)
do_build_java
for ABI in $ACT_ABI_64
do
do_build_native "$ABI";
done
do_build_exo
;;
*)
echo "Usage:"
echo " build-on-travis.sh armv5|armv7a|arm64|x86|x86_64"
echo " build-on-travis.sh java"
echo " build-on-travis.sh exo"
echo " build-on-travis.sh all|all32"
echo " build-on-travis.sh all64"
;;
esac