mediawiki-extensions-Echo/Makefile
jdlrobson 08c1c0dcee make jshint command should run on tests directory
Change-Id: Ieccf67d20d257f96bbb91476dba768237c32dd6f
2014-08-11 23:51:25 +00:00

75 lines
1.9 KiB
Makefile

MW_INSTALL_PATH ?= ../..
MEDIAWIKI_LOAD_URL ?= http://localhost:8080/w/load.php
# mediawiki-vagrant default to hhvm rather than php5, which is mostly
# fine but really slow for commands like phplint
PHP=/usr/bin/php5
###
# Meta stuff
###
remotes:
@scripts/remotecheck.sh
# code review/pull patches/etc from command line
gerrit: remotes
@scripts/remotes/gerrit.py --project 'mediawiki/extensions/Echo' --gtscore -1 --ignorepattern 'WIP'
# interactively make sure en.json and qqq.json have all the
# same message keys
message: remotes
@python scripts/remotes/message.py
# non-interactive version of message outputs result via exit code
messagecheck: remotes
@python scripts/remotes/message.py check
###
# Lints
###
lint: jshint phplint checkless messagecheck
# Verify all php in the project has valid syntax
phplint:
@find ./ -type f -iname '*.php' -print0 | xargs -0 -P 12 -L 1 ${PHP} -l
# Install nodejs dependencies for jshint
nodecheck:
@which npm > /dev/null && npm install \
|| (echo "You need to install Node.JS! See http://nodejs.org/" && false)
# Verify all javascript in the project has valid syntax and follows jshint rules
jshint: nodecheck
@node_modules/.bin/jshint modules/* tests/qunit --config .jshintrc
# Verify all less files are compilable
checkless:
@${PHP} ../../maintenance/checkLess.php
# Check compiled less files for duplicated rules
csscss: gems
echo "Generating CSS file..."
php scripts/generatecss.php ${MEDIAWIKI_LOAD_URL} /tmp/foo.css
csscss -v /tmp/foo.css --num 2 --no-match-shorthand --ignore-properties=display,position,top,bottom,left,right
###
# Testing
###
test: phpunit qunit
# Run the projects phpunit tests
phpunit:
cd ${MW_INSTALL_PATH}/tests/phpunit && ${PHP} phpunit.php --configuration ${MW_INSTALL_PATH}/extensions/Echo/tests/echo.suite.xml --group=Echo
# Run the projects qunit tests
qunit:
@scripts/qunit.sh
###
# Update this repository for csscss dependencies
###
gems:
bundle install