# Makefile to help automate tasks
WD := $(shell pwd)
PY := .venv/bin/python
PIP := .venv/bin/pip
PEP8 := .venv/bin/pep8
NOSE := .venv/bin/nosetests
TWINE := twine

# ###########
# Tests rule!
# ###########
.PHONY: test
test: venv develop $(NOSE)
	$(NOSE) --with-id -s tests

$(NOSE): setup

# #######
# INSTALL
# #######
.PHONY: all
all: setup develop

venv: .venv/bin/python

setup: venv
	$(PIP) install -r requirements-dev.txt

.venv/bin/python:
	virtualenv .venv

.PHONY: clean
clean:
	rm -rf .venv

develop: .venv/lib/python*/site-packages/readability-lxml.egg-link

.venv/lib/python*/site-packages/readability-lxml.egg-link:
	$(PY) setup.py develop


# ###########
# Development
# ###########
.PHONY: clean_all
clean_all: clean_venv


# ###########
# Deploy
# ###########
.PHONY: dist
dist:
	$(PY) setup.py sdist bdist_wheel
	$(TWINE) check dist/*

.PHONY: upload
upload:
	$(TWINE) upload dist/*

.PHONY: version_update
version_update:
	$(EDITOR) setup.py
