1 | RABBITMQ_SRC_VERSION=rabbitmq_v3_2_1
|
2 | JSON=amqp-rabbitmq-0.9.1.json
|
3 | RABBITMQ_CODEGEN=https://raw.githubusercontent.com/rabbitmq/rabbitmq-codegen
|
4 | AMQP_JSON=$(RABBITMQ_CODEGEN)/$(RABBITMQ_SRC_VERSION)/$(JSON)
|
5 |
|
6 | NODEJS_VERSIONS='10.21' '11.15' '12.18' '13.14' '14.5' '15.8' '16.3.0' '18.1.0'
|
7 |
|
8 | MOCHA=./node_modules/.bin/mocha
|
9 | _MOCHA=./node_modules/.bin/_mocha
|
10 | UGLIFY=./node_modules/.bin/uglifyjs
|
11 | NYC=./node_modules/.bin/nyc
|
12 |
|
13 | .PHONY: test test-all-nodejs all clean coverage
|
14 |
|
15 | all: lib/defs.js
|
16 |
|
17 | clean:
|
18 | rm lib/defs.js bin/amqp-rabbitmq-0.9.1.json
|
19 | rm -rf ./coverage
|
20 |
|
21 | lib/defs.js: $(UGLIFY) bin/generate-defs.js bin/amqp-rabbitmq-0.9.1.json
|
22 | (cd bin; node ./generate-defs.js > ../lib/defs.js)
|
23 | $(UGLIFY) ./lib/defs.js -o ./lib/defs.js \
|
24 | -c 'sequences=false' --comments \
|
25 | -b 'indent-level=2' 2>&1 | (grep -v 'WARN' || true)
|
26 |
|
27 | test: lib/defs.js
|
28 | $(MOCHA) --check-leaks -u tdd --exit test/
|
29 |
|
30 | test-all-nodejs: lib/defs.js
|
31 | for v in $(NODEJS_VERSIONS); \
|
32 | do echo "-- Node version $$v --"; \
|
33 | nave use $$v $(MOCHA) -u tdd --exit -R progress test; \
|
34 | done
|
35 |
|
36 | coverage: $(NYC) lib/defs.js
|
37 | $(NYC) --reporter=lcov --reporter=text $(_MOCHA) -u tdd -R progress test/
|
38 | @echo "HTML report at file://$$(pwd)/coverage/lcov-report/index.html"
|
39 |
|
40 | bin/amqp-rabbitmq-0.9.1.json:
|
41 | curl -L $(AMQP_JSON) > $@
|
42 |
|
43 | $(ISTANBUL):
|
44 | npm install
|
45 |
|
46 | $(UGLIFY):
|
47 | npm install
|