diff options
-rw-r--r-- | .gitignore | 18 | ||||
-rw-r--r-- | build.ninja | 39 | ||||
-rwxr-xr-x[-rw-r--r--] | gen/png (renamed from Makefile) | 17 |
3 files changed, 61 insertions, 13 deletions
@@ -1,8 +1,26 @@ +# Copyright 2021 Benjamin Barenblat +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + # Editor backup files *~ \#* .\#* .*.swp +# Build system +.ninja_* + # Generated files +disable_keyboard_shortcuts *.zip diff --git a/build.ninja b/build.ninja new file mode 100644 index 0000000..63813aa --- /dev/null +++ b/build.ninja @@ -0,0 +1,39 @@ +# Copyright 2021 Benjamin Barenblat +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +name = disable_keyboard_shortcuts + +rule generate_png + command = gen/png $in $out 2>/dev/null + description = Generating $out + +rule minify_js + command = uglifyjs $in -m -o $out + description = Minifying $in + +rule minify_json + command = jq -Sc . $in >$out + description = Minifying $in + +rule zip + command = zip -qr $out $in + description = Zipping $out + +build $name/background.js: minify_js background.js +build $name/manifest.json: minify_json manifest.json +build $name/icon128.png: generate_png icon128.png +build $name/icon48.png: generate_png icon128.png + +build $name.zip: zip $name/background.js $name/manifest.json $name/icon128.png $ + $name/icon48.png @@ -1,4 +1,4 @@ -# Copyright 2019 Google LLC +#!/bin/sh # Copyright 2021 Benjamin Barenblat # # Licensed under the Apache License, Version 2.0 (the "License"); you may not @@ -13,16 +13,7 @@ # License for the specific language governing permissions and limitations under # the License. -NAME = disable_keyboard_shortcuts +set -eu -$(NAME).zip: background.js manifest.json icon128.png icon48.png - mkdir $(NAME) - uglifyjs background.js -m -o $(NAME)/background.js - jq -Sc . manifest.json >$(NAME)/manifest.json - cp -al icon128.png icon48.png $(NAME) - zip -9r $(NAME) $(NAME) - $(RM) -r $(NAME) - -.PHONY: clean -clean: - $(RM) -r $(NAME).zip $(NAME) +cp "$1" "$2" +optipng -o7 "$2" |