-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathMakefile
82 lines (65 loc) · 1.94 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
CSV_FILES = \
data/aosis.csv \
data/ar5.csv \
data/arab-group.csv \
data/brics.csv \
data/eig.csv \
data/european-union.csv \
data/g20.csv \
data/g77.csv \
data/g7.csv \
data/graduated-ldcs.csv \
data/imo.csv \
data/ldc.csv \
data/lldc.csv \
data/montreal_protocol_high_ambient_temp.csv \
data/oecd.csv \
data/opec.csv \
data/sids-non-un-or-regional-commissions-associates.csv \
data/sids.csv \
data/ssp.csv \
data/umbrella.csv \
data/unfccc.csv \
data/un-regional-groups.csv
# Website currently down.
#data/annex-one.csv \
#data/annex-one-kaz.csv \
#data/non-annex-one.csv \
JSON_FILES = \
data/montreal_protocol_countries.json \
data/unstats-geographical-regions.json
all: $(CSV_FILES) py/countrygroups/__init__.py index.js
data/%.csv: scripts/%.py scripts/util.py venv
@echo $@
@./venv/bin/python $<
data/%.json: scripts/%.py scripts/util.py venv
@echo $@
@./venv/bin/python $<
index.js py/countrygroups/__init__.py: scripts/generate_modules.py $(CSV_FILES) $(JSON_FILES) datapackage.json
@echo $@
@./venv/bin/python $<
venv: scripts/requirements.txt
[ -d ./venv ] || python3 -m venv venv
./venv/bin/pip install --upgrade pip
./venv/bin/pip install -Ur $<
touch venv
clean-generated-files:
rm -rf js/index.js data/*.csv data/*.json py/countrygroups/__init__.py
clean-venv:
rm -rf venv
clean: clean-generated-files clean-venv
tag:
./scripts/create_tag.sh
publish-on-pypi:
./scripts/publish-on-pypi.sh
publish-on-test-pypi:
./scripts/publish-on-test-pypi.sh
test-pypi-install:
$(eval TEMPVENV := $(shell mktemp -d))
python3 -m venv $(TEMPVENV)
$(TEMPVENV)/bin/pip install pip --upgrade
$(TEMPVENV)/bin/pip install countrygroups
$(TEMPVENV)/bin/python -c "import sys; sys.path.remove(''); import countrygroups; print(countrygroups.__version__)"
validate:
./venv/bin/python scripts/validate.py
.PHONY: clean clean-generated-files clean-venv tag publish-on-pypi publish-on-test-pypi test-pypi-install