mediawiki-extensions-Echo/Makefile
Timo Tijhof 169a1d3561 Remove legacy qunit handling from Echo
* QUnit is now handled by MediaWiki core. For running QUnit from the command
  line. See: <https://www.mediawiki.org/wiki/Manual:JavaScript_unit_testing>
  Basically:
  > $ cd mediawiki-core && npm install && grunt qunit

  Similar to the PHPUnit entry point in core, it will also run tests
  for extensions enabled on the target wiki.

Bug: T129282
Bug: T131389
Change-Id: Iab4ebf2e61f5834cedc1b2656bd4487f6dcfeabd
2016-03-31 19:09:48 +00:00

71 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
# 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
###
# Update this repository for csscss dependencies
###
gems:
bundle install