summaryrefslogtreecommitdiffstats
path: root/azure/aria/aria-extension-cloudify/src/aria/Makefile
blob: 9fef3ab12586a965fa48a2897d8ea79f84ec4396 (plain)
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
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

EXTENSIONS = ./extensions
DIST = ./dist
DOCS = ./docs
HTML = ./docs/html
EASY_INSTALL_PTH = $(VIRTUAL_ENV)/lib/python2.7/site-packages/easy-install.pth
PYTHON_VERSION = $$(python -V 2>&1 | cut -f2 -d' ' | cut -f1,2 -d'.' --output-delimiter='')

.DEFAULT_GOAL = default
.PHONY: clean install install-virtual docs test dist deploy

default:
	@echo "Please choose one of the following targets: clean, install, install-virtual, docs, test, dist, requirements.txt"

clean:
	rm -rf "$(DIST)" "$(HTML)" build .tox .coverage*
	-find . -maxdepth 1 -type f -name '.coverage' -delete
	-find . -type f -name '*.pyc' -delete
	-find . -type d -name '__pycache__' -prune -exec rm -rf {} \; 2>/dev/null

install:
	pip install .[ssh]

install-virtual:
	pip install --editable .[ssh]
	
	# "pip install --editable" will not add our extensions to the path, so we will patch the virtualenv
	EXTENSIONS_PATH="$$(head -n 1 "$(EASY_INSTALL_PTH)")/extensions" && \
	if ! grep -Fxq "$$EXTENSIONS_PATH" "$(EASY_INSTALL_PTH)"; then \
		echo "$$EXTENSIONS_PATH" >> "$(EASY_INSTALL_PTH)"; \
	fi

docs:
	pip install --requirement "$(DOCS)/requirements.txt"
	rm -rf "$(HTML)"
	sphinx-build -W -T -b html "$(DOCS)" "$(HTML)"

test:
	pip install --upgrade "tox>=2.7.0"
	tox -e pylint_code \
	    -e pylint_tests \
	    -e py$(PYTHON_VERSION) \
	    -e py$(PYTHON_VERSION)e2e \
	    -e py$(PYTHON_VERSION)ssh \
	    -e docs

./requirements.txt: ./requirements.in
	pip install --upgrade "pip-tools>=1.9.0"
	pip-compile --output-file ./requirements.txt ./requirements.in