From f4ce7bae6d4a6c41adf8d3c2a2e308048760b245 Mon Sep 17 00:00:00 2001 From: ccd0 Date: Mon, 11 Apr 2016 00:14:24 -0700 Subject: [PATCH] Record events to avoid needless repetition. --- .gitignore | 1 + Makefile | 45 ++++++++++++++++++++++++++++++++------------- tools/clean.js | 1 + 3 files changed, 34 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index b3ac96741..39b7a9743 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ install.json Gruntfile.js .jshintrc .tests_enabled +.events diff --git a/Makefile b/Makefile index 4b92a0c17..9b4298535 100644 --- a/Makefile +++ b/Makefile @@ -77,17 +77,30 @@ imports := \ .tests_enabled builds := \ - $(foreach c,. -beta.,$(name)$(c)crx updates$(c)xml $(name)$(c)user.js $(name)$(c)meta.js) \ - $(name)-noupdate.crx \ - $(name)-noupdate.user.js \ - $(name).zip + $(foreach f, \ + $(foreach c,. -beta.,$(name)$(c)crx updates$(c)xml $(name)$(c)user.js $(name)$(c)meta.js) \ + $(name)-noupdate.crx \ + $(name)-noupdate.user.js \ + $(name).zip \ + ,builds/$(f)) + +testbuilds := $(foreach f,$(subst .crx,.crx.zip,$(builds)),test$(f)) + +jshint := $(foreach f,script-crx eventPage script-userscript,.events/jshint.$(f)) default : install all : builds install -node_modules/%/package.json : npm-shrinkwrap.json - npm install $* +.events : + mkdir .events + +.events/npm : npm-shrinkwrap.json | .events + npm install + echo -> $@ + +node_modules/%/package.json : .events/npm + .tests_enabled : echo false> .tests_enabled @@ -144,7 +157,7 @@ $(eval $(call rules_channel,-noupdate)) testbuilds/$(name).zip : testbuilds/$(name)-noupdate.crx.zip $(cp_deps) $(cp) $< $@ -builds/% : testbuilds/% jshint $(cp_deps) +builds/% : testbuilds/% $(jshint) $(cp_deps) $(cp) $< $@ test.html : README.md template.jst tools/markdown.js node_modules/marked/package.json node_modules/lodash/package.json @@ -153,6 +166,14 @@ test.html : README.md template.jst tools/markdown.js node_modules/marked/package .jshintrc: tools/templates.coffee src/meta/jshint.json $(template_deps) $(template) src/meta/jshint.json .jshintrc +.events/jshint.% : tmp/%.js $(jshint_deps) | .events + $(BIN)jshint $< + echo -> $@ + +.events/install : $(testbuilds) $(jshint) install.json tools/install.js node_modules/fs-extra/package.json | .events + node tools/install.js + echo -> $@ + .SECONDARY : .PHONY: default all clean testbuilds builds jshint install @@ -160,12 +181,10 @@ test.html : README.md template.jst tools/markdown.js node_modules/marked/package clean : tools/clean.js node_modules/fs-extra/package.json node tools/clean.js -testbuilds : $(foreach f,$(subst .crx,.crx.zip,$(builds)),testbuilds/$(f)) +testbuilds : $(testbuilds) -builds : $(foreach f,$(builds),builds/$(f)) +builds : $(builds) -jshint : tmp/script-crx.js tmp/eventPage.js tmp/script-userscript.js $(jshint_deps) - $(BIN)jshint tmp/script-crx.js tmp/eventPage.js tmp/script-userscript.js +jshint : $(jshint) -install : testbuilds jshint install.json tools/install.js node_modules/fs-extra/package.json - node tools/install.js +install : .events/install diff --git a/tools/clean.js b/tools/clean.js index 1993941f6..6fba2f786 100644 --- a/tools/clean.js +++ b/tools/clean.js @@ -5,3 +5,4 @@ fs.removeSync('testbuilds'); fs.removeSync('builds'); fs.removeSync('.jshintrc'); fs.removeSync('.tests_enabled'); +fs.removeSync('.events');