-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
131 lines (107 loc) · 4.3 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
########################################################
# Makefile for re-worker-docker
#
# useful targets (not all implemented yet!):
# make clean -- Clean up garbage
# make pyflakes, make pep8 -- source code checks
# make test ----------------- run all unit tests (export LOG=true for /tmp/ logging)
########################################################
# > VARIABLE = value
#
# Normal setting of a variable - values within it are recursively
# expanded when the variable is USED, not when it's declared.
#
# > VARIABLE := value
#
# Setting of a variable with simple expansion of the values inside -
# values within it are expanded at DECLARATION time.
########################################################
NAME := re-worker-docker
SHORTNAME := replugin
TESTPACKAGE := replugin
RPMSPECDIR := ./contrib/rpm/
RPMSPEC := $(RPMSPECDIR)/re-worker-docker.spec
sdist: clean
python setup.py sdist
rm -fR $(SHORTNAME).egg-info
virtualenv:
@echo "#############################################"
@echo "# Creating a virtualenv"
@echo "#############################################"
virtualenv $(NAME)env
. $(NAME)env/bin/activate && pip install -r requirements.txt
. $(NAME)env/bin/activate && pip install pep8 nose coverage mock
# If there are any special things to install do it here
. $(NAME)env/bin/activate && pip install git+https://github.com/RHInception/re-worker.git
ci-unittests:
@echo "#############################################"
@echo "# Running Unit Tests in virtualenv"
@echo "#############################################"
. $(NAME)env/bin/activate && nosetests -v --with-cover --cover-min-percentage=80 --cover-package=$(TESTPACKAGE) test/
ci-list-deps:
@echo "#############################################"
@echo "# Listing all pip deps"
@echo "#############################################"
. $(NAME)env/bin/activate && pip freeze
ci-pep8:
@echo "#############################################"
@echo "# Running PEP8 Compliance Tests in virtualenv"
@echo "#############################################"
. $(NAME)env/bin/activate && pep8 --ignore=E501,E121,E124 $(SHORTNAME)/
ci-pyflakes:
@echo "#############################################"
@echo "# Running PyFlakes Tests in virtualenv"
@echo "#############################################"
. $(NAME)env/bin/activate && pyflakes $(SHORTNAME)
ci: clean virtualenv ci-list-deps ci-pep8 ci-unittests
:
tests: unittests pep8 pyflakes
:
unittests:
@echo "#############################################"
@echo "# Running Unit Tests"
@echo "#############################################"
nosetests -v --with-cover --cover-min-percentage=80 --cover-package=$(TESTPACKAGE) test/
clean:
@find . -type f -regex ".*\.py[co]$$" -delete
@find . -type f \( -name "*~" -or -name "#*" \) -delete
@rm -fR build dist rpm-build MANIFEST htmlcov .coverage reworkerdocker.egg-info
@rm -rf $(NAME)env
pep8:
@echo "#############################################"
@echo "# Running PEP8 Compliance Tests"
@echo "#############################################"
pep8 --ignore=E501,E121,E124 $(SHORTNAME)/
pyflakes:
@echo "#############################################"
@echo "# Running Pyflakes Sanity Tests"
@echo "# Note: most import errors may be ignored"
@echo "#############################################"
-pyflakes $(SHORTNAME)
rpmcommon: sdist
@mkdir -p rpm-build
@cp dist/*.gz rpm-build/
srpm: rpmcommon
@rpmbuild --define "_topdir %(pwd)/rpm-build" \
--define "_builddir %{_topdir}" \
--define "_rpmdir %{_topdir}" \
--define "_srcrpmdir %{_topdir}" \
--define "_specdir $(RPMSPECDIR)" \
--define "_sourcedir %{_topdir}" \
-bs $(RPMSPEC)
@echo "#############################################"
@echo "$(NAME) SRPM is built:"
@find rpm-build -maxdepth 2 -name 're-worker-docker*src.rpm' | awk '{print " " $$1}'
@echo "#############################################"
rpm: rpmcommon
@rpmbuild --define "_topdir %(pwd)/rpm-build" \
--define "_builddir %{_topdir}" \
--define "_rpmdir %{_topdir}" \
--define "_srcrpmdir %{_topdir}" \
--define "_specdir $(RPMSPECDIR)" \
--define "_sourcedir %{_topdir}" \
-ba $(RPMSPEC)
@echo "#############################################"
@echo "$(NAME) RPMs are built:"
@find rpm-build -maxdepth 2 -name 're-worker-docker*.rpm' | awk '{print " " $$1}'
@echo "#############################################"