-PY := .tox/py35/bin/python3.5
+BIN := .tox/py35/bin
+PY := $(BIN)/python3.5
+PIP := $(BIN)/pip
+SCHEMAGEN := $(shell which schemagen)
+VERSION=$(shell cat VERSION)
+
+clean:
+ find . -name __pycache__ -type d -exec rm -r {} +
+ find . -name *.pyc -delete
+ rm -rf .tox
+ rm -rf docs/_build/
.tox:
tox -r --notest
-.phony: client
client:
- $(PY) -m juju.client.facade -s juju/client/schemas.json -o juju/client/_client.py
+ifndef SCHEMAGEN
+ $(error "schemagen is not available, please install from https://github.com/juju/schemagen")
+endif
+ $(PY) -m juju.client.facade -s "juju/client/schemas*" -o juju/client/
-.phony: test
test:
tox
+
+docs: .tox
+ $(PIP) install -r docs/requirements.txt
+ rm -rf docs/_build/
+ $(BIN)/sphinx-build -b html docs/ docs/_build/
+ cd docs/_build/ && zip -r docs.zip *
+
+release: docs
+ git remote | xargs -L1 git fetch --tags
+ $(PY) setup.py sdist upload
+ git tag ${VERSION}
+ git remote | xargs -L1 git push --tags
+ @echo "Please manually upload docs/_build/docs.zip via the PyPI website"
+
+upload: release
+
+
+.PHONY: clean client test docs upload release