21 |
21 |
echo " -b, build=[LOC]: set file/directory to use for building"
|
22 |
22 |
echo " -h, help: print usage information and exit"
|
23 |
23 |
echo " -o, output=[LOC]: set output file/directory"
|
|
24 |
echo " -k, key=[LOC]: select a key to use in building and"
|
|
25 |
echo " signing a CRX"
|
24 |
26 |
echo " -s, safe: don't delete existing directories;"
|
25 |
|
echo " throw an error instead."
|
|
27 |
echo " throw an error instead"
|
26 |
28 |
echo " -z, zip: pack the extension as a file"
|
27 |
29 |
echo
|
28 |
30 |
echo "environment variables (optional)"
|
... | ... | |
46 |
48 |
-b | --build) BUILDDIR="$2"; shift;;
|
47 |
49 |
build=*) BUILDDIR="$(echo "$1" | cut -c 7-)";;
|
48 |
50 |
-h | --help | help) print_usage;;
|
|
51 |
-k | --key) KEY="$2"; shift;;
|
|
52 |
key=*) KEY="$(echo "$1" | cut -c 5-)";;
|
49 |
53 |
-o | --output) OUTPUT="$2"; shift;;
|
50 |
54 |
output=*) OUTPUT="$(echo "$1" | cut -c 8-)";;
|
51 |
55 |
-s | --safe | safe) FORCE=0;;
|
... | ... | |
57 |
61 |
|
58 |
62 |
if [ "x$BROWSER" = x ]; then
|
59 |
63 |
print_usage 1 No browser was specified.
|
|
64 |
elif [ "x$KEY" != x ]; then
|
|
65 |
if [ $BROWSER != chromium ]; then
|
|
66 |
print_usage 4 The "'key'" option applies only to builds 'for' Chromium.
|
|
67 |
elif [ $MAKEZIP = 0 ]; then
|
|
68 |
print_usage 4 The "'key'" option must be used in conjunction with the "'zip'" option.
|
|
69 |
elif [ ! -e "$KEY" ]; then
|
|
70 |
print_usage 5 The specified key file "'$KEY'" does not exist.
|
|
71 |
fi
|
|
72 |
KEY="$(realpath "$KEY")"
|
60 |
73 |
fi
|
61 |
74 |
|
62 |
|
|
63 |
|
if [ $MAKEZIP = 1 ]; then
|
|
75 |
if [ "x$KEY" != x ]; then
|
|
76 |
PACKDIR="${BUILDDIR:-build_$BROWSER}"
|
|
77 |
BUILDDIR="$PACKDIR"/inner
|
|
78 |
OUTPUT="${OUTPUT:-build.crx}"
|
|
79 |
|
|
80 |
mkdir "$PACKDIR"
|
|
81 |
elif [ $MAKEZIP = 1 ]; then
|
64 |
82 |
BUILDDIR="${BUILDDIR:-build_$BROWSER}"
|
|
83 |
PACKDIR="$BUILDDIR"
|
65 |
84 |
|
66 |
85 |
if [ "x$OUTPUT" = x ]; then
|
67 |
86 |
case $BROWSER in
|
68 |
|
chromium) OUTPUT=build.zip;;
|
69 |
|
mozilla) OUTPUT=build.xpi;;
|
|
87 |
chromium) OUTPUT=build.zip;;
|
|
88 |
mozilla) OUTPUT=build.xpi;;
|
70 |
89 |
esac
|
71 |
90 |
fi
|
72 |
91 |
else
|
... | ... | |
99 |
118 |
main
|
100 |
119 |
if [ $MAKEZIP = 1 ]; then
|
101 |
120 |
make_zip
|
102 |
|
mv "$BUILDDIR"/build.zip "$OUTPUT"
|
103 |
|
rm -rf "$BUILDDIR"
|
|
121 |
mv "$PACKDIR"/build.zip "$OUTPUT"
|
|
122 |
rm -rf "$PACKDIR"
|
104 |
123 |
elif [ "$BUILDDIR" != "$OUTPUT" ]; then
|
105 |
124 |
mv "$BUILDDIR" "$OUTPUT"
|
106 |
125 |
fi
|
Support building CRXs
Chromium now builds CRXs rather than ZIPs when given a key.