summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaphaël Barrois <raphael.barrois@polyconseil.fr>2015-07-02 16:20:25 +0200
committerRaphaël Barrois <raphael.barrois@polyconseil.fr>2015-07-02 16:35:57 +0200
commitee65fd925dc5bf7ff388e997b7ffa5726c00898e (patch)
tree13a556df6fadf404b47b6cb5347ff0e7799aa780
parent2174bdcae6e46f5f68f5b8ea984a695db9f41bcf (diff)
downloadsemantic-version-ee65fd925dc5bf7ff388e997b7ffa5726c00898e.tar.gz
Switch to django-version-dependant install scheme.
Also update travis to use it.
-rw-r--r--.gitignore1
-rw-r--r--.travis.yml18
-rw-r--r--Makefile47
-rw-r--r--dev_requirements.txt1
-rw-r--r--dev_requirements_django1.4.txt3
-rw-r--r--dev_requirements_django1.5.txt3
-rw-r--r--dev_requirements_django1.6.txt3
-rw-r--r--dev_requirements_django1.7.txt3
-rw-r--r--dev_requirements_django1.8.txt3
-rw-r--r--requirements.txt1
10 files changed, 66 insertions, 17 deletions
diff --git a/.gitignore b/.gitignore
index 5ebc5ac..60b6b01 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@
# Build-related files
docs/_build/
+auto_dev_requirements*.txt
.coverage
*.egg-info
*.egg
diff --git a/.travis.yml b/.travis.yml
index d4ebed3..a393a8c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,13 +1,19 @@
language: python
+
+env:
+ - DJANGO_VERSION=1.4
+ - DJANGO_VERSION=1.6
+ - DJANGO_VERSION=1.8
+
python:
- - "2.6"
- "2.7"
- - "3.2"
- - "3.3"
- "3.4"
-script: "python setup.py test"
-install: "if [[ $TRAVIS_PYTHON_VERSION = 2.6 ]]; then pip install unittest2 --use-mirrors; fi"
+script:
+ - python setup.py test
+
+install:
+ - make install-deps
+
notifications:
email: false
irc: "irc.freenode.org#xelnext"
-
diff --git a/Makefile b/Makefile
index 22e50d8..c700042 100644
--- a/Makefile
+++ b/Makefile
@@ -1,28 +1,53 @@
-all: default
+PACKAGE=semantic_version
+TESTS_DIR=tests
+DOC_DIR=docs
+
+# Use current python binary instead of system default.
+COVERAGE = python $(shell which coverage)
+# Dependencies
+DJANGO_VERSION ?= 1.8
+PYTHON_VERSION := $(shell python --version)
+NEXT_DJANGO_VERSION=$(shell python -c "v='$(DJANGO_VERSION)'; parts=v.split('.'); parts[-1]=str(int(parts[-1])+1); print('.'.join(parts))")
-PACKAGE_DIR = src/semantic_version
+
+all: default
default:
+install-deps: auto_dev_requirements_django$(DJANGO_VERSION).txt
+ pip install --upgrade pip setuptools
+ pip install --upgrade -r $<
+ pip freeze
+
+auto_dev_requirements_%.txt: dev_requirements_%.txt dev_requirements.txt requirements.txt
+ grep --no-filename "^[^-]" $^ | grep -v "^Django" > $@
+ echo "Django>=$(DJANGO_VERSION),<$(NEXT_DJANGO_VERSION)" >> $@
+
clean:
find . -type f -name '*.pyc' -delete
+ find . -type f -path '*/__pycache__/*' -delete
+ find . -type d -empty -delete
+ @rm -f auto_dev_requirements_*
+ @rm -rf tmp_test/
-test:
+test: install-deps
python -W default setup.py test
-coverage:
- coverage erase
- coverage run "--include=$(PACKAGE_DIR)/*.py,tests/*.py" --branch setup.py test
- coverage report "--include=$(PACKAGE_DIR)/*.py,tests/*.py"
- coverage html "--include=$(PACKAGE_DIR)/*.py,tests/*.py"
+pylint:
+ pylint --rcfile=.pylintrc --report=no $(PACKAGE)/
-doc:
- $(MAKE) -C docs html
+coverage: install-deps
+ $(COVERAGE) erase
+ $(COVERAGE) run "--include=$(PACKAGE)/*.py,$(TESTS_DIR)/*.py" --branch setup.py test
+ $(COVERAGE) report "--include=$(PACKAGE)/*.py,$(TESTS_DIR)/*.py"
+ $(COVERAGE) html "--include=$(PACKAGE)/*.py,$(TESTS_DIR)/*.py"
+doc:
+ $(MAKE) -C $(DOC_DIR) html
-.PHONY: all default clean coverage doc test
+.PHONY: all default clean coverage doc install-deps pylint test
diff --git a/dev_requirements.txt b/dev_requirements.txt
new file mode 100644
index 0000000..94a0e83
--- /dev/null
+++ b/dev_requirements.txt
@@ -0,0 +1 @@
+Django
diff --git a/dev_requirements_django1.4.txt b/dev_requirements_django1.4.txt
new file mode 100644
index 0000000..b0a49b0
--- /dev/null
+++ b/dev_requirements_django1.4.txt
@@ -0,0 +1,3 @@
+-r dev_requirements.txt
+
+South
diff --git a/dev_requirements_django1.5.txt b/dev_requirements_django1.5.txt
new file mode 100644
index 0000000..b0a49b0
--- /dev/null
+++ b/dev_requirements_django1.5.txt
@@ -0,0 +1,3 @@
+-r dev_requirements.txt
+
+South
diff --git a/dev_requirements_django1.6.txt b/dev_requirements_django1.6.txt
new file mode 100644
index 0000000..b0a49b0
--- /dev/null
+++ b/dev_requirements_django1.6.txt
@@ -0,0 +1,3 @@
+-r dev_requirements.txt
+
+South
diff --git a/dev_requirements_django1.7.txt b/dev_requirements_django1.7.txt
new file mode 100644
index 0000000..6a242b1
--- /dev/null
+++ b/dev_requirements_django1.7.txt
@@ -0,0 +1,3 @@
+-r dev_requirements.txt
+
+South>=1.0
diff --git a/dev_requirements_django1.8.txt b/dev_requirements_django1.8.txt
new file mode 100644
index 0000000..28ddd61
--- /dev/null
+++ b/dev_requirements_django1.8.txt
@@ -0,0 +1,3 @@
+-r dev_requirements.txt
+
+# South isn't compatible with django1.8
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..e18794f
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1 @@
+# No hard external requirements.