From 2b73b7d6bd15848dc621d6f5a781ab59c107a3a5 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 22 Mar 2014 04:58:16 -0400 Subject: [PATCH] add files to help with making dists --- .gitignore | 1 + Makefile | 23 ++++++++++++++++++++++ makedist.sh | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ manifest.files | 12 ++++++++++++ manifest.json | 2 +- 5 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 Makefile create mode 100755 makedist.sh create mode 100644 manifest.files diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c4c4ffc --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.zip diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5e88047 --- /dev/null +++ b/Makefile @@ -0,0 +1,23 @@ +CLOSURE = closure-compiler --language_in ECMASCRIPT5 +YUICOMPRESSOR = yuicompressor + +all: + +%.js.min: %.js + $(CLOSURE) $< > $@ + +JS_FILES = $(shell grep '[.]js$$' manifest.files) +js-min: $(JS_FILES:=.min) + +%.css.min: %.css + $(YUICOMPRESSOR) $< > $@ + +CSS_FILES = $(shell grep '[.]css$$' manifest.files) +css-min: $(CSS_FILES:=.min) + +check: css-min js-min + +dist: + ./makedist.sh + +.PHONY: all clean check css-min dist js-min diff --git a/makedist.sh b/makedist.sh new file mode 100755 index 0000000..1b66c57 --- /dev/null +++ b/makedist.sh @@ -0,0 +1,52 @@ +#!/bin/bash -e +# Copyright (c) 2013 The Chromium OS Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +case $1 in +-h|--help) + echo "Usage: $0 [rev]" + exit 0 + ;; +esac + +json_value() { + local key=$1 + sed -n -r \ + -e '/^[[:space:]]*"'"${key}"'"/s|.*:[[:space:]]*"([^"]*)",?$|\1|p' \ + manifest.json +} + +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}" +P="${PN}-${PVR}" + +rm -rf "${P}" +mkdir "${P}" + +while read line ; do + [[ ${line} == */* ]] && mkdir -p "${P}/${line%/*}" + ln "${line}" "${P}/${line}" +done < <(sed 's:#.*::' manifest.files) +cp Makefile manifest.files manifest.json "${P}/" + +make -C "${P}" -j {css,js}-min +while read line ; do + mv "${line}.min" "${line}" +done < <(find "${P}" -name '*.js' -o -name '*.css') +rm "${P}"/{manifest.files,Makefile} + +sed -i \ + -e '/"version"/s:"[^"]*",:"'${PVR}'",:' \ + "${P}/manifest.json" + +zip="${P}.zip" +rm -f "${zip}" +zip -r "${zip}" "${P}" +rm -rf "${P}" +du -b "${zip}" diff --git a/manifest.files b/manifest.files new file mode 100644 index 0000000..64a52ae --- /dev/null +++ b/manifest.files @@ -0,0 +1,12 @@ +_locales/en/messages.json +chrome-bootstrap/chrome-bootstrap.css +css/options.css +images/icon16.png +images/icon32.png +images/icon48.png +images/icon128.png +javascript/background.js +javascript/clearhistory.js +javascript/options.js +javascript/util.js +views/options.html diff --git a/manifest.json b/manifest.json index 9196f47..ce21c70 100644 --- a/manifest.json +++ b/manifest.json @@ -2,7 +2,7 @@ "name": "__MSG_name__", "default_locale": "en", "manifest_version": 2, - "version": "1.5.0", + "version": "1.5.3", "description": "__MSG_description__", "permissions": [ "alarms", -- 2.39.5