-
Notifications
You must be signed in to change notification settings - Fork 2
/
emscripten_script.sh
executable file
·108 lines (90 loc) · 3.77 KB
/
emscripten_script.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
#!/bin/bash
set -ev
# Deployer for Travis-CI
# Emscripten Build Script
################################
# Preparation
################################
# Activate emsdk
source ~/emsdk/emsdk_env.sh
# Stage low-end assets
__ASSET_DIRECTORY="$TRAVIS_BUILD_DIR/emscripten/data"
if [[ "$ASSET_ARCHIVE_PATH_LOWEND" != "" ]]; then
wget --verbose --server-response -N "$ASSET_ARCHIVE_PATH_LOWEND";
7z x "$(basename $ASSET_ARCHIVE_PATH_LOWEND)" -o"${__ASSET_DIRECTORY}-lowend" -aos;
fi
# Prepare packaging variables
if [[ "$GTAG" != "" ]]; then
GTAG="--gtag $GTAG";
fi
if [[ "$PACKAGE_VERSION" == "" ]]; then
PACKAGE_VERSION="${TRAVIS_COMMIT:0:8}";
PACKAGE_FILENAME="${TRAVIS_JOB_ID}-";
else
PACKAGE_FILENAME="${TRAVIS_JOB_ID}-${TRAVIS_COMMIT:0:8}-";
fi
if [[ "$BASE_VERSION" != "" ]]; then
BASE_VERSION="--base-version ${BASE_VERSION}";
else
BASE_VERSION="--base-version ${PACKAGE_VERSION}";
fi
if [[ "$MAINTAINER" != "" ]]; then
MAINTAINER="--maintainer ${MAINTAINER}";
fi
if [[ "$MAINTAINER_URL" != "" ]]; then
MAINTAINER_URL="--maintainer-url ${MAINTAINER_URL}";
fi
# Prepare for build
cd $TRAVIS_BUILD_DIR
if [[ "${BUILD}" == "Debug" ]]; then
DEBUGCMD="DEBUGMODE=1";
fi
################################
# Regular Build
################################
# Recall regular build OBJ
rm -rf "$TRAVIS_BUILD_DIR/objs/Emscripten/SDL/${BUILD}";
mkdir -p "$TRAVIS_BUILD_DIR/objs/Emscripten/SDL/${BUILD}";
# if [[ -d "$HOME/srb2_cache/em-objs-normal/${BUILD}" ]]; then
# cp -r "$HOME/srb2_cache/em-objs-normal/${BUILD}" "$TRAVIS_BUILD_DIR/objs/Emscripten/SDL/${BUILD}";
# fi
# Make regular build
emmake make -C src/ $DEBUGCMD
# Cache regular build OBJ
# rm -rf "$HOME/srb2_cache/em-objs-normal/${BUILD}";
# mkdir -p "$HOME/srb2_cache/em-objs-normal/${BUILD}";
# cp -r "$TRAVIS_BUILD_DIR/objs/Emscripten/SDL/${BUILD}" "$HOME/srb2_cache/em-objs-normal/${BUILD}/"
# Package landing for regular build
python3 emscripten/emscripten-package.py ${PACKAGE_VERSION} \
--package-versions ${PACKAGE_VERSION} ${PACKAGE_VERSION}-lowend \
--default-package-version ${PACKAGE_VERSION} ${BASE_VERSION} ${GTAG} ${MAINTAINER} ${MAINTAINER_URL} \
--build-dir "bin/Emscripten/${BUILD}" --data-dir "$__ASSET_DIRECTORY" --ewad music.dta
################################
# Low-End Build
################################
# Recall low-end build OBJ
rm -rf "$TRAVIS_BUILD_DIR/objs/Emscripten/SDL/${BUILD}";
mkdir -p "$TRAVIS_BUILD_DIR/objs/Emscripten/SDL/${BUILD}";
# if [[ -d "$HOME/srb2_cache/em-objs-lowend/${BUILD}" ]]; then
# cp -r "$HOME/srb2_cache/em-objs-lowend/${BUILD}" "$TRAVIS_BUILD_DIR/objs/Emscripten/SDL/${BUILD}";
# fi
# Make low-end build
emmake make -C src/ NOASYNCIFY=1 $DEBUGCMD
# Cache low-end build OBJ
# rm -rf "$HOME/srb2_cache/em-objs-lowend/${BUILD}";
# mkdir -p "$HOME/srb2_cache/em-objs-lowend/${BUILD}";
# cp -r "$TRAVIS_BUILD_DIR/objs/Emscripten/SDL/${BUILD}" "$HOME/srb2_cache/em-objs-lowend/${BUILD}"
# Generate no-assets ZIP without GTAG or maintainer
python3 emscripten/emscripten-package.py ${PACKAGE_VERSION}-lowend \
--package-versions ${PACKAGE_VERSION} ${PACKAGE_VERSION}-lowend \
--default-package-version ${PACKAGE_VERSION} ${BASE_VERSION} \
--build-dir "bin/Emscripten/${BUILD}" --data-dir "${__ASSET_DIRECTORY}-lowend" \
--out-zip-no-assets "emscripten/srb2-web-${PACKAGE_FILENAME}${PACKAGE_VERSION}-no-assets.zip"
# Generate full ZIP with GTAG and maintainer
python3 emscripten/emscripten-package.py ${PACKAGE_VERSION}-lowend \
--package-versions ${PACKAGE_VERSION} ${PACKAGE_VERSION}-lowend \
--default-package-version ${PACKAGE_VERSION} ${BASE_VERSION} ${GTAG} ${MAINTAINER} ${MAINTAINER_URL} \
--skip-build --skip-data \
--out-zip "emscripten/srb2-web-${PACKAGE_FILENAME}${PACKAGE_VERSION}.zip"
# Reset current dir
cd $TRAVIS_BUILD_DIR/build