You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
2.2 KiB
105 lines
2.2 KiB
#!/bin/bash |
|
|
|
function replace() |
|
{ |
|
echo replacing $1 |
|
rm $V -rf "$UNZIPPED_BASE_DIR"/$1 |
|
cp $V -rf "$UNZIPPED_IMAGE_DIR"/$1 "$UNZIPPED_BASE_DIR"/$1 |
|
} |
|
|
|
V="" |
|
Q="-q" |
|
if [ "$1" == "-v" ]; then |
|
V="-v" |
|
Q="" |
|
shift |
|
fi |
|
|
|
NOZIP="" |
|
if [ "$1" == "-nozip" ]; then |
|
NOZIP="1" |
|
shift |
|
fi |
|
|
|
BASE="$1" |
|
IMAGES="$2" |
|
OUTPUT="$3" |
|
|
|
if [[ -z "$BASE" || -z "$IMAGES" || -z "$OUTPUT" ]] ; then |
|
echo "usage: combine_sdks.sh [-v] [-nozip] BASE IMAGES OUTPUT" |
|
echo |
|
echo " BASE and IMAGES should be sdk zip files. The system image files," |
|
echo " emulator and other runtime files will be copied from IMAGES and" |
|
echo " everything else will be copied from BASE. All of this will be" |
|
echo " bundled into OUTPUT and zipped up again (unless -nozip is specified)." |
|
echo |
|
exit 1 |
|
fi |
|
|
|
TMP=$(mktemp -d) |
|
|
|
TMP_ZIP=tmp.zip |
|
|
|
# determine executable extension |
|
case `uname -s` in |
|
*_NT-*) # for Windows |
|
EXE=.exe |
|
;; |
|
*) |
|
EXE= |
|
;; |
|
esac |
|
|
|
BASE_DIR="$TMP"/base |
|
IMAGES_DIR="$TMP"/images |
|
OUTPUT_TMP_ZIP="$BASE_DIR/$TMP_ZIP" |
|
|
|
unzip $Q "$BASE" -d "$BASE_DIR" |
|
unzip $Q "$IMAGES" -d "$IMAGES_DIR" |
|
|
|
UNZIPPED_BASE_DIR=$(echo "$BASE_DIR"/*) |
|
UNZIPPED_IMAGE_DIR=$(echo "$IMAGES_DIR"/*) |
|
|
|
# |
|
# The commands to copy over the files that we want |
|
# |
|
|
|
# replace tools/emulator # at this time we do not want the exe from SDK1.x |
|
replace tools/lib/images |
|
replace tools/lib/res |
|
replace tools/lib/fonts |
|
replace tools/lib/layoutlib.jar |
|
replace docs |
|
replace android.jar |
|
|
|
for i in widgets categories broadcast_actions service_actions; do |
|
replace tools/lib/$i.txt |
|
done |
|
|
|
if [ -d "$UNZIPPED_BASE_DIR"/usb_driver ]; then |
|
replace usb_driver |
|
fi |
|
|
|
# |
|
# end |
|
# |
|
|
|
if [ -z "$NOZIP" ]; then |
|
pushd "$BASE_DIR" &> /dev/null |
|
# rename the directory to the leaf minus the .zip of OUTPUT |
|
LEAF=$(echo "$OUTPUT" | sed -e "s:.*\.zip/::" | sed -e "s:.zip$::") |
|
mv * "$LEAF" |
|
# zip it |
|
zip $V -qr "$TMP_ZIP" "$LEAF" |
|
popd &> /dev/null |
|
|
|
cp $V "$OUTPUT_TMP_ZIP" "$OUTPUT" |
|
echo "Combined SDK available at $OUTPUT" |
|
else |
|
OUT_DIR="${OUTPUT//.zip/}" |
|
mv $V "$BASE_DIR"/* "$OUT_DIR" |
|
echo "Unzipped combined SDK available at $OUT_DIR" |
|
fi |
|
|
|
rm $V -rf "$TMP" |
|
|
|
|