blob: 43bab9ed8b725dd0f8ea65f96fdc21a65a4e400b [file] [log] [blame]
Chip Boling67b674a2019-02-08 11:42:18 -06001# Copyright 2018 the original author or authors.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
Matt Jeanneretf3ad6852019-02-08 18:21:44 -050014
Zack Williamsa95e2c82019-04-17 15:43:54 -070015# Configure shell
16SHELL = bash -eu -o pipefail
Matt Jeanneretf3ad6852019-02-08 18:21:44 -050017
Zack Williamsa95e2c82019-04-17 15:43:54 -070018default: help
Chip Boling67b674a2019-02-08 11:42:18 -060019
20# This should to be the first and default target in this Makefile
21help:
22 @echo "Usage: make [<target>]"
23 @echo "where available targets are:"
24 @echo
Matt Jeanneretf3ad6852019-02-08 18:21:44 -050025 @echo "clean : Remove files created by the build and tests"
Zack Williamsa95e2c82019-04-17 15:43:54 -070026 @echo "dist : Create source distribution of the python package"
Matt Jeanneretf3ad6852019-02-08 18:21:44 -050027 @echo "help : Print this help"
Zack Williamsa95e2c82019-04-17 15:43:54 -070028 @echo "test : Run all unit test"
29 @echo "upload : Upload test version of python package to test.pypi.org"
Chip Boling67b674a2019-02-08 11:42:18 -060030 @echo
31
Zack Williamsa95e2c82019-04-17 15:43:54 -070032# ignore these directories
33.PHONY: test dist
Chip Boling67b674a2019-02-08 11:42:18 -060034
Zack Williamsa95e2c82019-04-17 15:43:54 -070035dist:
36 @ echo "Creating python source distribution"
William Kurkian3b144f12019-06-11 20:36:15 -040037 rm -rf dist/
Chip Boling67b674a2019-02-08 11:42:18 -060038 python setup.py sdist
39
40upload: dist
Zack Williamsa95e2c82019-04-17 15:43:54 -070041 @ echo "Uploading sdist to test.pypi.org"
Chip Boling67b674a2019-02-08 11:42:18 -060042 twine upload --repository-url https://test.pypi.org/legacy/ dist/*
Chip Boling67b674a2019-02-08 11:42:18 -060043
Matt Jeanneret6a7950c2019-09-17 11:14:33 -040044VENVDIR := venv-pyvoltha
45
46venv:
Zack Williams84a71e92019-11-15 09:00:19 -070047 virtualenv --python=python3.6 ${VENVDIR};\
48 source ./${VENVDIR}/bin/activate ; set -u ;\
49 pip install -r requirements.txt
Matt Jeanneret6a7950c2019-09-17 11:14:33 -040050
Zack Williamsa95e2c82019-04-17 15:43:54 -070051test:
52 @ echo "Executing unit tests w/tox"
53 tox
Chip Boling67b674a2019-02-08 11:42:18 -060054
55clean:
56 find . -name '*.pyc' | xargs rm -f
Zack Williamsa95e2c82019-04-17 15:43:54 -070057 rm -rf \
58 .tox \
Zack Williams84a71e92019-11-15 09:00:19 -070059 .coverage \
Zack Williamsa95e2c82019-04-17 15:43:54 -070060 coverage.xml \
61 dist \
62 nose-results.xml \
63 pyvoltha.egg-info \
Matt Jeanneret6a7950c2019-09-17 11:14:33 -040064 test/unit/tmp \
65 rm -rf ${VENVDIR}
66
67# end file