Use shell commands to concatenate files.
This commit is contained in:
parent
240bec370f
commit
610a8d50f0
36
Makefile
36
Makefile
@ -2,19 +2,18 @@ ifdef ComSpec
|
|||||||
BIN := $(subst /,\,node_modules/.bin/)
|
BIN := $(subst /,\,node_modules/.bin/)
|
||||||
RMDIR := -rmdir /s /q
|
RMDIR := -rmdir /s /q
|
||||||
RM := -del
|
RM := -del
|
||||||
CP = type $(subst /,\,$<) > $(subst /,\,$@)
|
CAT = type $(subst /,\,$1) > $(subst /,\,$2)
|
||||||
CP2 = type $(subst /,\,$1) > $(subst /,\,$2)
|
|
||||||
MKDIR = -mkdir $(subst /,\,$@)
|
MKDIR = -mkdir $(subst /,\,$@)
|
||||||
QUOTE = $(patsubst %,"%",$1)
|
QUOTE = $(patsubst %,"%",$1)
|
||||||
else
|
else
|
||||||
BIN := node_modules/.bin/
|
BIN := node_modules/.bin/
|
||||||
RMDIR := rm -rf
|
RMDIR := rm -rf
|
||||||
RM := rm -rf
|
RM := rm -rf
|
||||||
CP = cp $< $@
|
CAT = cat $1 > $2
|
||||||
CP2 = cp $1 $2
|
|
||||||
MKDIR = mkdir -p $@
|
MKDIR = mkdir -p $@
|
||||||
QUOTE = $(patsubst %,'%',$1)
|
QUOTE = $(patsubst %,'%',$1)
|
||||||
endif
|
endif
|
||||||
|
CP = $(call CAT,$<,$@)
|
||||||
|
|
||||||
npgoals := clean cleanrel cleanweb cleanfull withtests tag $(foreach i,1 2 3 4,bump$(i)) beta stable web update updatehard
|
npgoals := clean cleanrel cleanweb cleanfull withtests tag $(foreach i,1 2 3 4,bump$(i)) beta stable web update updatehard
|
||||||
ifneq "$(filter $(npgoals) npm-shrinkwrap.json,$(MAKECMDGOALS))" ""
|
ifneq "$(filter $(npgoals) npm-shrinkwrap.json,$(MAKECMDGOALS))" ""
|
||||||
@ -25,8 +24,6 @@ coffee := $(BIN)coffee -c --no-header
|
|||||||
coffee_deps := node_modules/coffee-script/package.json
|
coffee_deps := node_modules/coffee-script/package.json
|
||||||
template := node tools/template.js
|
template := node tools/template.js
|
||||||
template_deps := package.json tools/template.js node_modules/lodash.template/package.json node_modules/esprima/package.json
|
template_deps := package.json tools/template.js node_modules/lodash.template/package.json node_modules/esprima/package.json
|
||||||
cat := node tools/cat.js
|
|
||||||
cat_deps := tools/cat.js
|
|
||||||
|
|
||||||
pkg = $(shell node -p "JSON.parse(require('fs').readFileSync('package.json')).$1")
|
pkg = $(shell node -p "JSON.parse(require('fs').readFileSync('package.json')).$1")
|
||||||
name := $(call pkg,name)
|
name := $(call pkg,name)
|
||||||
@ -84,11 +81,14 @@ dests_of = $(sort $(call dests_platform,$1,crx) $(call dests_platform,$1,userscr
|
|||||||
dests = $(foreach s,$(sources),$(call dests_of,$(s)))
|
dests = $(foreach s,$(sources),$(call dests_of,$(s)))
|
||||||
|
|
||||||
pieces = \
|
pieces = \
|
||||||
LICENSE \
|
tmp/LICENSE \
|
||||||
src/meta/fbegin.js \
|
tmp/meta-newline.js \
|
||||||
|
tmp/meta-fbegin.js \
|
||||||
|
tmp/meta-newline.js \
|
||||||
tmp/declaration.js \
|
tmp/declaration.js \
|
||||||
|
tmp/meta-newline.js \
|
||||||
$(foreach s,$(sources),$(call dests_platform,$(s),$1)) \
|
$(foreach s,$(sources),$(call dests_platform,$(s),$1)) \
|
||||||
src/meta/fend.js
|
tmp/meta-fend.js
|
||||||
|
|
||||||
crx_contents := script.js eventPage.js icon16.png icon48.png icon128.png manifest.json
|
crx_contents := script.js eventPage.js icon16.png icon48.png icon128.png manifest.json
|
||||||
|
|
||||||
@ -151,13 +151,19 @@ $(foreach s,$(sources),$(eval $(call force_compile,$(subst $$,$$$$,$(s)))))
|
|||||||
tmp/eventPage.js : src/meta/eventPage.coffee $(coffee_deps) | tmp
|
tmp/eventPage.js : src/meta/eventPage.coffee $(coffee_deps) | tmp
|
||||||
$(coffee) -o tmp src/meta/eventPage.coffee
|
$(coffee) -o tmp src/meta/eventPage.coffee
|
||||||
|
|
||||||
|
tmp/LICENSE : LICENSE tools/newlinefix.js | tmp
|
||||||
|
node tools/newlinefix.js $< $@
|
||||||
|
|
||||||
|
tmp/meta-%.js : src/meta/%.js tools/newlinefix.js | tmp
|
||||||
|
node tools/newlinefix.js $< $@
|
||||||
|
|
||||||
define rules_channel
|
define rules_channel
|
||||||
|
|
||||||
testbuilds/crx$1 :
|
testbuilds/crx$1 :
|
||||||
$$(MKDIR)
|
$$(MKDIR)
|
||||||
|
|
||||||
testbuilds/crx$1/script.js : $$(call pieces,crx) $(cat_deps) | testbuilds/crx$1 .events/compile
|
testbuilds/crx$1/script.js : $$(call pieces,crx) | testbuilds/crx$1 .events/compile
|
||||||
$(cat) $$(call QUOTE,$$(call pieces,crx) $$@)
|
$(call CAT,$$(call QUOTE,$$(call pieces,crx)),$$@)
|
||||||
|
|
||||||
testbuilds/crx$1/eventPage.js : tmp/eventPage.js | testbuilds/crx$1
|
testbuilds/crx$1/eventPage.js : tmp/eventPage.js | testbuilds/crx$1
|
||||||
$$(CP)
|
$$(CP)
|
||||||
@ -182,8 +188,8 @@ testbuilds/$(name)$1.crx : testbuilds/$(name)$1.crx.zip package.json tools/sign.
|
|||||||
testbuilds/$(name)$1.meta.js : src/meta/metadata.js src/meta/icon48.png version.json $(template_deps) | testbuilds
|
testbuilds/$(name)$1.meta.js : src/meta/metadata.js src/meta/icon48.png version.json $(template_deps) | testbuilds
|
||||||
$(template) $$< $$@ type=userscript channel=$1
|
$(template) $$< $$@ type=userscript channel=$1
|
||||||
|
|
||||||
testbuilds/$(name)$1.user.js : testbuilds/$(name)$1.meta.js $$(call pieces,userscript) $(cat_deps) | .events/compile
|
testbuilds/$(name)$1.user.js : testbuilds/$(name)$1.meta.js tmp/meta-newline.js $$(call pieces,userscript) | .events/compile
|
||||||
$(cat) testbuilds/$(name)$1.meta.js $$(call QUOTE,$$(call pieces,userscript) $$@)
|
$(call CAT,testbuilds/$(name)$1.meta.js tmp/meta-newline.js $$(call QUOTE,$$(call pieces,userscript)),$$@)
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
@ -337,10 +343,10 @@ update :
|
|||||||
npm install --save-dev $(shell node tools/unpinned.js)
|
npm install --save-dev $(shell node tools/unpinned.js)
|
||||||
npm install
|
npm install
|
||||||
npm shrinkwrap --dev
|
npm shrinkwrap --dev
|
||||||
$(call CP2,npm-shrinkwrap.json,src/meta/npm-shrinkwrap.json)
|
$(call CAT,npm-shrinkwrap.json,src/meta/npm-shrinkwrap.json)
|
||||||
|
|
||||||
updatehard :
|
updatehard :
|
||||||
npm install --save-dev $(shell node tools/unpinned.js latest)
|
npm install --save-dev $(shell node tools/unpinned.js latest)
|
||||||
npm install
|
npm install
|
||||||
npm shrinkwrap --dev
|
npm shrinkwrap --dev
|
||||||
$(call CP2,npm-shrinkwrap.json,src/meta/npm-shrinkwrap.json)
|
$(call CAT,npm-shrinkwrap.json,src/meta/npm-shrinkwrap.json)
|
||||||
|
|||||||
1
src/meta/newline.js
Normal file
1
src/meta/newline.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
var fs = require('fs');
|
|
||||||
|
|
||||||
var text = process.argv.slice(2, -1).map(x => fs.readFileSync(x, 'utf8')).join('\n');
|
|
||||||
text = text.replace(/\r\n/g, '\n');
|
|
||||||
|
|
||||||
var outName = process.argv[process.argv.length - 1];
|
|
||||||
fs.writeFileSync(outName, text);
|
|
||||||
@ -16,6 +16,7 @@ for (var name of process.argv.slice(2)) {
|
|||||||
script = `${parts[3]} = ${script}`;
|
script = `${parts[3]} = ${script}`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
script += '\n';
|
||||||
fs.writeFileSync(name, script);
|
fs.writeFileSync(name, script);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error(`Error processing ${name}`);
|
console.error(`Error processing ${name}`);
|
||||||
|
|||||||
5
tools/newlinefix.js
Normal file
5
tools/newlinefix.js
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
|
var text = fs.readFileSync(process.argv[2], 'utf8');
|
||||||
|
text = text.replace(/\r\n/g, '\n');
|
||||||
|
fs.writeFileSync(process.argv[3], text);
|
||||||
Loading…
x
Reference in New Issue
Block a user