forked from oraoto/pib
-
-
Notifications
You must be signed in to change notification settings - Fork 57
/
Copy pathcompress-package.sh
executable file
·42 lines (28 loc) · 988 Bytes
/
compress-package.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
#!/usr/bin/env bash
PACKAGE_DIR=${1}
cd ${PACKAGE_DIR}/
ORIGINAL_COUNT=`ls php-*.wasm 2> /dev/null | wc -l`
HASHED_COUNT=`ls [0123456789abcdef]*.wasm 2> /dev/null | wc -l`
if [[ ${ORIGINAL_COUNT} == "0" ]]; then
echo "${ORIGINAL_COUNT} original, ${HASHED_COUNT} hashed files found, is this package (${PACKAGE_DIR}) already compressed?"
fi
# THIS SCRIPT SHOULD QUIT IMMEDIATELY UPON ERRORS
set -euo pipefail
rm -f [0123456789abcdef]*.wasm
ls php-*.wasm | while read FILENAME; do
SHA_HASH=`sha1sum $FILENAME | cut -f1 -d' '`
HASHNAME=${SHA_HASH}.wasm
echo ${FILENAME}
echo ${SHA_HASH}
if [ -e "${HASHNAME}" ]; then
echo EXISTS ${FILENAME} ${HASHNAME}
echo ${SHA_HASH} ${FILENAME} | sha1sum -c -
echo ${SHA_HASH} ${HASHNAME} | sha1sum -c -
fi
echo MOVING ${FILENAME} ${HASHNAME}
mv ${FILENAME} ${HASHNAME}
JS_FILE=${FILENAME::-5}
cp ${JS_FILE} ${JS_FILE}.tmp
perl -pi -w -e 's|'${FILENAME}'|'${HASHNAME}'|g' ${JS_FILE}.tmp
mv ${JS_FILE}.tmp ${JS_FILE}
done;