Add basic testing infrastructure
[cascardo/ipsilon.git] / Makefile
1 RPMBUILD = $(PWD)/dist/rpmbuild
2
3 all: lint pep8
4
5 lint:
6         # Analyze code
7         # don't show recommendations, info, comments, report
8         # W0613 - unused argument
9         # Ignore cherrypy class members as they are dynamically added
10         pylint -d c,r,i,W0613 -r n -f colorized \
11                    --notes= \
12                    --ignored-classes=cherrypy \
13                    ./ipsilon
14
15 pep8:
16         # Check style consistency
17         pep8 ipsilon
18
19 # Requires python-lesscpy
20 ui: less/ipsilon.less less/admin.less
21         # Create CSS
22         lesscpy less/ipsilon.less > ui/css/ipsilon.css
23         lesscpy less/admin.less > ui/css/admin.css
24
25 # Requires NodeJS less and clear-css packages
26 # Should be removed when lesscpy starts to work properly
27 ui-node: less/ipsilon.less less/admin.less
28         # Create and minify CSS
29         lessc --clean-css less/ipsilon.less ui/css/ipsilon.css
30         lessc --clean-css less/admin.less ui/css/admin.css
31
32 clean:
33         rm -fr testdir
34
35 lp-test:
36         pylint -d c,r,i,W0613 -r n -f colorized \
37                    --notes= \
38                    --ignored-classes=cherrypy \
39                    ./tests
40         pep8 tests
41
42 test: lp-test
43         PYTHONPATH=./ ./ipsilon/tools/saml2metadata.py
44
45 sdist:
46         python setup.py sdist
47
48 rpmroot:
49         rm -rf $(RPMBUILD)
50         mkdir -p $(RPMBUILD)/BUILD
51         mkdir -p $(RPMBUILD)/RPMS
52         mkdir -p $(RPMBUILD)/SOURCES
53         mkdir -p $(RPMBUILD)/SPECS
54         mkdir -p $(RPMBUILD)/SRPMS
55
56 rpmdistdir:
57         mkdir -p dist/rpms
58         mkdir -p dist/srpms
59
60 rpms: rpmroot rpmdistdir sdist
61         cp dist/ipsilon*.tar.gz $(RPMBUILD)/SOURCES/
62         rpmbuild --define "_topdir $(RPMBUILD)" -ba contrib/fedora/ipsilon.spec
63         mv $(RPMBUILD)/RPMS/*/ipsilon-*.rpm dist/rpms/
64         mv $(RPMBUILD)/SRPMS/ipsilon-*.src.rpm dist/srpms/
65         rm -rf $(RPMBUILD)
66
67 rpms: sdist