Skip to content
This repository was archived by the owner on Oct 12, 2022. It is now read-only.

Commit d1b4565

Browse files
authored
Merge pull request #6 from paulproteus/add-compression
Add compression to support library
2 parents 233a239 + 5ab97ef commit d1b4565

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

3.7.Dockerfile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,6 @@ RUN cd Python-3.7.6 && rm Lib/test/test_wsgiref.py
189189
# Install Python.
190190
RUN cd Python-3.7.6 && make install
191191
RUN cp -a $PYTHON_INSTALL_DIR/lib/libpython3.7m.so "$JNI_LIBS"
192-
ENV ASSETS_DIR $APPROOT/app/src/main/assets/
193-
RUN mkdir -p "$ASSETS_DIR" && cd "$PYTHON_INSTALL_DIR" && zip -0 -q "$ASSETS_DIR"/pythonhome.${TARGET_ABI_SHORTNAME}.zip -r .
194192

195193
# Download & install rubicon-java.
196194
ARG RUBICON_JAVA_VERSION=0.2020-02-27.0
@@ -199,6 +197,11 @@ RUN cd rubicon-java-${RUBICON_JAVA_VERSION} && \
199197
LDFLAGS='-landroid -llog' PYTHON_CONFIG=$PYTHON_INSTALL_DIR/bin/python3-config make
200198
RUN mv rubicon-java-${RUBICON_JAVA_VERSION}/dist/librubicon.so $JNI_LIBS
201199
RUN mkdir -p /opt/python-build/app/libs/ && mv rubicon-java-${RUBICON_JAVA_VERSION}/dist/rubicon.jar $APPROOT/app/libs/
202-
RUN cd rubicon-java-${RUBICON_JAVA_VERSION} && zip -0 -q "$ASSETS_DIR"/rubicon.zip -r rubicon
200+
201+
# Create output artifacts.
202+
ENV ASSETS_DIR $APPROOT/app/src/main/assets/
203+
ARG COMPRESS_LEVEL
204+
RUN mkdir -p "$ASSETS_DIR" && cd "$PYTHON_INSTALL_DIR" && zip -$COMPRESS_LEVEL -q "$ASSETS_DIR"/pythonhome.${TARGET_ABI_SHORTNAME}.zip -r .
205+
RUN cd rubicon-java-${RUBICON_JAVA_VERSION} && zip -$COMPRESS_LEVEL -q "$ASSETS_DIR"/rubicon.zip -r rubicon
203206

204207
RUN apt-get update -qq && apt-get -qq install rsync

3.7.sh

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ function extract_image_name() {
3838
function build_one_abi() {
3939
TARGET_ABI_SHORTNAME="$1"
4040
PYTHON_VERSION="$2"
41+
COMPRESS_LEVEL="$3"
4142
# Using ANDROID_API_LEVEL=21 for two reasons:
4243
#
4344
# - >= 21 gives us a `localeconv` libc function (admittedly a
@@ -85,7 +86,7 @@ function build_one_abi() {
8586
;;
8687
esac
8788

88-
docker build --build-arg COMPILER_TRIPLE="${COMPILER_TRIPLE}" --build-arg OPENSSL_BUILD_TARGET="$OPENSSL_BUILD_TARGET" --build-arg TARGET_ABI_SHORTNAME="$TARGET_ABI_SHORTNAME" --build-arg TOOLCHAIN_TRIPLE="$TOOLCHAIN_TRIPLE" --build-arg ANDROID_API_LEVEL="$ANDROID_API_LEVEL" -f "${PYTHON_VERSION}".Dockerfile . | extract_image_name
89+
docker build --build-arg COMPRESS_LEVEL="${COMPRESS_LEVEL}" --build-arg COMPILER_TRIPLE="${COMPILER_TRIPLE}" --build-arg OPENSSL_BUILD_TARGET="$OPENSSL_BUILD_TARGET" --build-arg TARGET_ABI_SHORTNAME="$TARGET_ABI_SHORTNAME" --build-arg TOOLCHAIN_TRIPLE="$TOOLCHAIN_TRIPLE" --build-arg ANDROID_API_LEVEL="$ANDROID_API_LEVEL" -f "${PYTHON_VERSION}".Dockerfile . | extract_image_name
8990
local IMAGE_NAME
9091
IMAGE_NAME="$(cat $IMAGE_NAME_TEMPFILE)"
9192
if [ -z "$IMAGE_NAME" ]; then
@@ -177,15 +178,20 @@ function main() {
177178
rm -rf ./build/3.7
178179
mkdir -p build/3.7
179180

181+
# Allow COMPRESS_LEVEL to be overridden by environment variable.
182+
COMPRESS_LEVEL="${COMPRESS_LEVEL:-8}"
183+
180184
# Allow TARGET_ABIs to be overridden by argv.
181185
TARGET_ABIS="${@:-x86 x86_64 armeabi-v7a arm64-v8a}"
182186
for TARGET_ABI_SHORTNAME in $TARGET_ABIS; do
183-
build_one_abi "$TARGET_ABI_SHORTNAME" "3.7"
187+
build_one_abi "$TARGET_ABI_SHORTNAME" "3.7" "$COMPRESS_LEVEL"
184188
done
185189

186190
# Make a ZIP file.
187191
fix_permissions
188-
cd build/3.7/app && zip -q -i '*' -r ../../../dist/Python-3.7-Android-support${BUILD_TAG}.zip . && cd ../../..
192+
pushd build/3.7/app > /dev/null
193+
zip -r -"${COMPRESS_LEVEL}" "../../../dist/Python-3.7-Android-support${BUILD_TAG}.zip" .
194+
popd
189195
}
190196

191197
download_urls

0 commit comments

Comments
 (0)