add dockerfile for pipeline, nose
[osm/osmclient.git] / Makefile
1 # Copyright 2017 Sandvine
2 #
3 # All Rights Reserved.
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License"); you may
6 # not use this file except in compliance with the License. You may obtain
7 # a copy of the License at
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 # License for the specific language governing permissions and limitations
15 # under the License.
16 #
17
18 all: build_tools
19 $(MAKE) test
20 $(MAKE) package
21
22 BUILD_TOOLS=python python3 virtualenv \
23 libcurl4-gnutls-dev python-pip \
24 python3-pip libgnutls-dev debhelper
25
26 VENV=osmclient-venv
27 VENV3=osmclient-venv3
28 VENV_BIN=$(VENV)/bin/python
29 VENV3_BIN=$(VENV3)/bin/python
30
31 venv: $(VENV)/bin/activate
32 venv3: $(VENV3)/bin/activate
33
34 $(VENV)/bin/activate: test_requirements.txt
35 test -d $(VENV) || virtualenv $(VENV)
36 $(VENV)/bin/pip install -Ur test_requirements.txt
37 touch $(VENV)/bin/activate
38
39 $(VENV3)/bin/activate: test_requirements.txt
40 test -d $(VENV3) || virtualenv -p python3 $(VENV3)
41 $(VENV3)/bin/pip3 install -Ur test_requirements.txt
42 touch $(VENV3)/bin/activate
43
44 build_tools:
45 sudo apt-get -y install $(BUILD_TOOLS)
46
47 package:
48 $(VENV_BIN) setup.py --command-packages=stdeb.command bdist_deb
49
50 test_flake8: venv
51 $(VENV_BIN) setup.py flake8
52
53 test_nose: venv
54 $(VENV_BIN) setup.py test
55
56 test_nose3: venv3
57 $(VENV3_BIN) setup.py test
58
59 test: test_flake8 test_nose test_nose3
60
61 .PHONY: package build_tools test test_flake8 test_nose test_nose3
62
63 clean:
64 rm -rf $(VENV) $(VENV3) deb_dist dist osmclient.egg-info