forked from CiscoTestAutomation/unicon.plugins
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
139 lines (116 loc) · 3.82 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
132
133
134
135
136
137
138
139
# Variables
PKG_NAME = unicon.plugins
BUILD_DIR = $(shell pwd)/__build__
DIST_DIR = $(BUILD_DIR)/dist
SOURCEDIR = .
PROD_USER = pyadm@pyats-ci
PROD_PKGS = /auto/pyats/packages
PYTHON = python
TESTCMD = runAll --path=tests/
BUILD_CMD = $(PYTHON) setup.py bdist_wheel --dist-dir=$(DIST_DIR)
PYPIREPO = pypitest
DEPENDENCIES = robotframework pyyaml dill coverage Sphinx \
sphinxcontrib-napoleon sphinxcontrib-mockautodoc \
sphinx-rtd-theme asyncssh
.PHONY: clean package distribute develop undevelop help devnet\
docs test install_build_deps uninstall_build_deps
help:
@echo "Please use 'make <target>' where <target> is one of"
@echo ""
@echo "package Build the package"
@echo "test Test the package"
@echo "distribute Distribute the package to internal Cisco PyPi server"
@echo "clean Remove build artifacts"
@echo "develop Build and install development package"
@echo "undevelop Uninstall development package"
@echo "docs Build Sphinx documentation for this package"
@echo "install_build_deps does nothing - just following pyATS pkg standard"
@echo "uninstall_build_deps does nothing - just following pyATS pkg standard"
@echo "changelogs Build compiled changelog file"
@echo ""
install_build_deps:
@pip install --upgrade pip setuptools wheel
@echo ""
@echo "Done."
@echo ""
uninstall_build_deps:
@echo ""
html: docs
docs:
@echo ""
@echo "--------------------------------------------------------------------"
@echo "Building $(PKG_NAME) documentation for preview: $@"
@echo ""
python docs/gen_dialogs_rst.py > docs/user_guide/services/service_dialogs.rst
sphinx-build -b html -c docs -d ./__build__/documentation/doctrees docs/ ./__build__/documentation/html
@echo "Completed building docs for preview."
@echo ""
@echo "Done."
@echo ""
test:
@$(TESTCMD)
package:
@echo ""
@echo "--------------------------------------------------------------------"
@echo "Building $(PKG_NAME) distributable: $@"
@echo ""
$(BUILD_CMD)
@echo ""
@echo "Completed building: $@"
@echo ""
@echo "Done."
@echo ""
develop:
@echo ""
@echo "--------------------------------------------------------------------"
@echo "Building and installing $(PKG_NAME) development distributable: $@"
@echo ""
@pip uninstall -y $(PKG_NAME)
@pip install $(DEPENDENCIES)
@$(PYTHON) setup.py develop --no-deps
@echo ""
@echo "Completed building and installing: $@"
@echo ""
@echo "Done."
@echo ""
undevelop:
@echo ""
@echo "--------------------------------------------------------------------"
@echo "Uninstalling $(PKG_NAME) development distributable: $@"
@echo ""
@$(PYTHON) setup.py develop --no-deps -q --uninstall
@echo ""
@echo "Completed uninstalling: $@"
@echo ""
@echo "Done."
@echo ""
clean:
@echo ""
@echo "--------------------------------------------------------------------"
@echo "Removing make directory: $(BUILD_DIR)"
@rm -rf $(BUILD_DIR) $(DIST_DIR)
@echo ""
@echo "Removing build artifacts ..."
@$(PYTHON) setup.py clean
@echo ""
@echo "Done."
@echo ""
distribute:
@echo ""
@echo "--------------------------------------------------------------------"
@echo "Copying all distributable to $(PROD_PKGS)"
@test -d $(DIST_DIR) || { echo "Nothing to distribute! Exiting..."; exit 1; }
@ssh -q $(PROD_USER) 'test -e $(PROD_PKGS)/$(PKG_NAME) || mkdir $(PROD_PKGS)/$(PKG_NAME)'
@scp $(DIST_DIR)/* $(PROD_USER):$(PROD_PKGS)/$(PKG_NAME)/
@echo ""
@echo "Done."
@echo ""
changelogs:
@echo ""
@echo "--------------------------------------------------------------------"
@echo "Generating changelog file"
@echo ""
@python "./tools/changelog_script.py" "./docs/changelog/undistributed" --output "./docs/changelog/undistributed.rst"
@echo ""
@echo "Done."
@echo ""