]> git.wh0rd.org - chrome-ext/web-power-switch.git/blobdiff - makedist.sh
fix dark theme
[chrome-ext/web-power-switch.git] / makedist.sh
index 76be81836e843477312d5604cbbe9977fb208d62..bbc02a503c079a73077cacd8e8cbf926252e1386 100755 (executable)
@@ -12,12 +12,19 @@ esac
 
 json_value() {
   local key=$1
-  sed -n -r \
-    -e '/^[[:space:]]*"'"${key}"'"/s|.*:[[:space:]]*"([^"]*)",?$|\1|p' \
-    manifest.json
+  python -c '
+import json, os, sys
+path, key = sys.argv[1:]
+with open(path) as fp:
+  data = json.load(fp)
+print(data[key])
+' "manifest.json" "${key}"
 }
 
-PN=$(json_value name | sed 's:[[:space:]]:_:g' | tr '[:upper:]' '[:lower:]')
+PN=$(json_value name | sed 's:[[:space:]/]:_:g' | tr '[:upper:]' '[:lower:]')
+if [[ ${PN} == "__msg_name__" ]] ; then
+  PN=$(basename "$(pwd)")
+fi
 PV=$(json_value version)
 rev=${1:-0}
 PVR="${PV}.${rev}"
@@ -30,13 +37,27 @@ while read line ; do
   [[ ${line} == */* ]] && mkdir -p "${P}/${line%/*}"
   ln "${line}" "${P}/${line}"
 done < <(sed 's:#.*::' manifest.files)
-cp manifest.json "${P}/"
+cp Makefile manifest.files manifest.json "${P}/"
 
-sed -i \
-  -e '/"version"/s:"[^"]*",:"'${PVR}'",:' \
-  "${P}/manifest.json"
+make -C "${P}" -j {css,js}-min
+while read line ; do
+  mv "${line}" "${line%.min}"
+done < <(find "${P}" -name '*.min')
+rm "${P}"/{manifest.files,Makefile}
+
+python -c '
+import json, os, sys
+path, ver = sys.argv[1:]
+with open(path) as fp:
+  data = json.load(fp)
+data.pop("key", None)
+data["version"] = ver
+with open(path, "w") as fp:
+  json.dump(data, fp, separators=(",", ":"))
+' "${P}/manifest.json" "${PVR}"
 
 zip="${P}.zip"
+rm -f "${zip}"
 zip -r "${zip}" "${P}"
 rm -rf "${P}"
 du -b "${zip}"