initial extension
[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 manifest.json "${P}/"
34
35 sed -i \
36 -e '/"version"/s:"[^"]*",:"'${PVR}'",:' \
37 "${P}/manifest.json"
38
39 zip="${P}.zip"
40 zip -r "${zip}" "${P}"
41 rm -rf "${P}"
42 du -b "${zip}"