blob: ebaa1c6ee6aa33325a99c46837d2d263cb3c3d1c [file] [log] [blame]
Xavier Ducrohetb9582242009-12-01 13:03:49 -08001#!/bin/bash
2
3function replace()
4{
5 echo replacing $1
6 rm $V -rf "$UNZIPPED_BASE_DIR"/$1
7 cp $V -rf "$UNZIPPED_IMAGE_DIR"/$1 "$UNZIPPED_BASE_DIR"/$1
8}
9
10V=""
11Q="-q"
12if [ "$1" == "-v" ]; then
13 V="-v"
14 Q=""
15 shift
16fi
17
18NOZIP=""
19if [ "$1" == "-nozip" ]; then
20 NOZIP="1"
21 shift
22fi
23
24BASE="$1"
25IMAGES="$2"
26OUTPUT="$3"
27
28if [[ -z "$BASE" || -z "$IMAGES" || -z "$OUTPUT" ]] ; then
29 echo "usage: combine_sdks.sh [-v] [-nozip] BASE IMAGES OUTPUT"
30 echo
31 echo " BASE and IMAGES should be sdk zip files. The system image files,"
32 echo " emulator and other runtime files will be copied from IMAGES and"
33 echo " everything else will be copied from BASE. All of this will be"
34 echo " bundled into OUTPUT and zipped up again (unless -nozip is specified)."
35 echo
36 exit 1
37fi
38
39TMP=$(mktemp -d)
40
41TMP_ZIP=tmp.zip
42
43# determine executable extension
44case `uname -s` in
45 *_NT-*) # for Windows
46 EXE=.exe
47 ;;
48 *)
49 EXE=
50 ;;
51esac
52
53BASE_DIR="$TMP"/base
54IMAGES_DIR="$TMP"/images
55OUTPUT_TMP_ZIP="$BASE_DIR/$TMP_ZIP"
56
57unzip $Q "$BASE" -d "$BASE_DIR"
58unzip $Q "$IMAGES" -d "$IMAGES_DIR"
59
60UNZIPPED_BASE_DIR=$(echo "$BASE_DIR"/*)
61UNZIPPED_IMAGE_DIR=$(echo "$IMAGES_DIR"/*)
62
63#
64# The commands to copy over the files that we want
65#
66
67# replace tools/emulator # at this time we do not want the exe from SDK1.x
68replace tools/lib/images
69replace tools/lib/res
70replace tools/lib/fonts
71replace tools/lib/layoutlib.jar
72replace docs
73replace android.jar
74
75for i in widgets categories broadcast_actions service_actions; do
76 replace tools/lib/$i.txt
77done
78
79if [ -d "$UNZIPPED_BASE_DIR"/usb_driver ]; then
80 replace usb_driver
81fi
82
83#
84# end
85#
86
87if [ -z "$NOZIP" ]; then
88 pushd "$BASE_DIR" &> /dev/null
89 # rename the directory to the leaf minus the .zip of OUTPUT
90 LEAF=$(echo "$OUTPUT" | sed -e "s:.*\.zip/::" | sed -e "s:.zip$::")
91 mv * "$LEAF"
92 # zip it
93 zip $V -qr "$TMP_ZIP" "$LEAF"
94 popd &> /dev/null
95
96 cp $V "$OUTPUT_TMP_ZIP" "$OUTPUT"
97 echo "Combined SDK available at $OUTPUT"
98else
99 OUT_DIR="${OUTPUT//.zip/}"
100 mv $V "$BASE_DIR"/* "$OUT_DIR"
101 echo "Unzipped combined SDK available at $OUT_DIR"
102fi
103
104rm $V -rf "$TMP"
105