Adding coding standards checks to minaccept in Makefile
[mahara:mahara.git] / Makefile
1 all:
2         @echo "Run 'make imageoptim' to losslessly optimise all images"
3         @echo "Run 'make minaccept' to run the quick pre-commit tests"
4         @echo "Run 'make checksignoff' to check that your commits are all Signed-off-by"
5         @echo "Run 'make push' to push your changes to the repo"
6
7 imageoptim:
8         find . -iname '*.png' -exec optipng -o7 -q {} \;
9         find . -iname '*.gif' -exec gifsicle -O2 -b {} \;
10         find . -iname '*.jpg' -exec jpegoptim -q -p --strip-all {} \;
11         find . -iname '*.jpeg' -exec jpegoptim -q -p --strip-all {} \;
12
13 branch := $(GERRIT_REFSPEC)
14 ifeq (, $(branch))
15 branch := $(shell bash -c "git branch | grep \* | sed -e 's/ *\* *//'" )
16 endif
17
18 ifeq ("(no branch)", $(branch))
19 remote := origin
20 else
21 remote := $(shell bash -c "git config --get branch.$(branch).remote" )
22 endif
23
24 ifeq (., $(remote))
25 remote := origin
26 endif
27 ifeq (, $(remote))
28 remote := origin
29 endif
30
31 commitid := $(shell bash -c "git merge-base $(remote)/master HEAD")
32
33 minaccept:
34         @echo "Running minimum acceptance test...";
35         find htdocs/ -type f -name "*.php" | xargs -n 1 -P 2 php -l > /dev/null && echo All good!
36         find htdocs/ -type f -name "install.xml" -path "*/db/install.xml" | xargs -n 1 -P 2 xmllint --schema htdocs/lib/xmldb/xmldb.xsd --noout
37         if git rev-parse --verify HEAD 2>/dev/null; then git diff-index -p -M --cached $(commitid) -- ; fi | test/coding-standard-check.pl
38
39 push: minaccept
40         if test -z "$(TAG)"; then \
41                 git push gerrit HEAD:refs/for/master; \
42         else \
43                 git push gerrit HEAD:refs/for/master/$(TAG); \
44         fi