]> git.wh0rd.org - chrome-ext/music-player-client.git/blob - makedist.sh
661f9f7c881747d61b71f61b909d13fae767b48b
[chrome-ext/music-player-client.git] / makedist.sh
1 #!/bin/bash -e
2 # Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
5
6 case $1 in
7 -h|--help)
8 echo "Usage: $0 [rev]"
9 exit 0
10 ;;
11 esac
12
13 json_value() {
14 local key=$1
15 sed -n -r \
16 -e '/^[[:space:]]*"'"${key}"'"/s|.*:[[:space:]]*"([^"]*)",?$|\1|p' \
17 manifest.json
18 }
19
20 PN=$(json_value name | sed 's:[[:space:]]:_:g' | tr '[:upper:]' '[:lower:]')
21 PV=$(json_value version)
22 rev=${1:-0}
23 PVR="${PV}.${rev}"
24 P="${PN}-${PVR}"
25
26 rm -rf "${P}"
27 mkdir "${P}"
28
29 while read line ; do
30 [[ ${line} == */* ]] && mkdir -p "${P}/${line%/*}"
31 ln "${line}" "${P}/${line}"
32 done < <(sed 's:#.*::' manifest.files)
33 cp Makefile manifest.files manifest.json "${P}/"
34
35 make -C "${P}" -j js-min
36 while read line ; do
37 mv "${line}.min" "${line}"
38 done < <(find "${P}" -name '*.js')
39 rm "${P}"/{manifest.files,Makefile}
40
41 sed -i \
42 -e '/"version"/s:"[^"]*",:"'${PVR}'",:' \
43 "${P}/manifest.json"
44
45 zip="${P}.zip"
46 zip -r "${zip}" "${P}"
47 rm -rf "${P}"
48 du -b "${zip}"