#!/usr/bin/make -f # generate documentation unless nodoc requested ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS))) DOCS = README.html README.txt endif NODE_ENV = NO_COLOR=1 NODE_PATH=debian/node_modules NODE = $(NODE_ENV) node ESLINT = $(NODE_ENV) eslint MOCHA = $(NODE_ENV) mocha --no-timeout MOCHA_TAP := $(MOCHA) --reporter tap # normalize output with TAP where possible unless terse requested ifeq (,$(filter terse,$(DEB_BUILD_OPTIONS))) ESLINT += --format tap MOCHA += --reporter tap else ESLINT += --format unix MOCHA += --reporter dot --no-colors endif # Work around missing node modules MOCHA_EXCLUDES += \ tests/lib/configs/ts.js \ tests/lib/configs/vue.js # Work around misc. breakage MOCHA_ISOLATE += \ tests/lib/configs/es5.js \ tests/lib/configs/eslint-plugin.js \ tests/lib/configs/node.js %: dh $@ %.html: %.md pandoc --from gfm-raw_html --to html --standalone --output $@ $< %.txt: %.md pandoc --from gfm-raw_html --to plain --output $@ $< override_dh_auto_clean: rm -rf debian/node_modules override_dh_clean: dh_clean -- $(DOCS) override_dh_auto_configure: mkdir -p debian/node_modules/@mysticatea ln --force --symbolic ../../.. debian/node_modules/@mysticatea/eslint-plugin override_dh_auto_build: $(DOCS) $(NODE) scripts/generate-browser-globals $(NODE) scripts/generate-configs $(NODE) scripts/generate-rules ifeq (,$(filter pkg.eslint.stage1,$(DEB_BUILD_PROFILES))) $(ESLINT) --fix lib/configs/_browser-globals.js lib/configs.js lib/rules.js endif # TODO: fix remaining test failures override_dh_auto_test: ifeq (,$(filter pkg.eslint.stage1,$(DEB_BUILD_PROFILES))) $(ESLINT) lib scripts tests endif $(MOCHA) $(patsubst %,--exclude %,$(MOCHA_EXCLUDES) $(MOCHA_ISOLATE)) \ "tests/lib/**/*.js" $(MOCHA_TAP) $(patsubst %,--exclude %,$(MOCHA_EXCLUDES)) \ $(MOCHA_ISOLATE) \ | debian/tap-todo \ "'es5.js' should include existing rule 'multiline-comment-style'." \ "'es5.js' should include existing rule 'no-misleading-character-class'." \ "'\+eslint-plugin.js' should include existing rule '\@mysticatea/eslint-plugin/prefer-object-rule'." \ "'\+eslint-plugin.js' should include existing rule '\@mysticatea/eslint-plugin/require-meta-docs-description'." \ "'\+eslint-plugin.js' should include existing rule '\@mysticatea/eslint-plugin/require-meta-schema'." \ "'\+node.js' should include existing rule '\@mysticatea/node/callback-return'." \ "'\+node.js' should include existing rule '\@mysticatea/node/global-require'." \ "'\+node.js' should include existing rule '\@mysticatea/node/handle-callback-err'." \ "'\+node.js' should include existing rule '\@mysticatea/node/no-callback-literal'." \ "'\+node.js' should include existing rule '\@mysticatea/node/no-exports-assign'." \ "'\+node.js' should include existing rule '\@mysticatea/node/no-mixed-requires'." \ "'\+node.js' should include existing rule '\@mysticatea/node/no-new-require'." \ "'\+node.js' should include existing rule '\@mysticatea/node/no-path-concat'." \ "'\+node.js' should include existing rule '\@mysticatea/node/no-process-env'." \ "'\+node.js' should include existing rule '\@mysticatea/node/no-process-exit'." \ "'\+node.js' should include existing rule '\@mysticatea/node/no-restricted-import'." \ "'\+node.js' should include existing rule '\@mysticatea/node/no-restricted-require'." \ "'\+node.js' should include existing rule '\@mysticatea/node/no-sync'." override_dh_installdocs: dh_installdocs --all -- $(DOCS)