Add tox for local development (no travis integration yet).
commit
460008e11e
|
|
@ -1,8 +1,9 @@
|
|||
*.pyc
|
||||
/README*.html
|
||||
*.class
|
||||
/build
|
||||
/dist
|
||||
build/
|
||||
dist/
|
||||
env/
|
||||
.ropeproject/globalnames
|
||||
.ropeproject/history
|
||||
.ropeproject/objectdb
|
||||
|
|
@ -11,6 +12,9 @@
|
|||
mem.*
|
||||
*.log
|
||||
JayDeBeApi.egg-info
|
||||
/mockdriver/target
|
||||
/mockdriver/.classpath
|
||||
/mockdriver/.project
|
||||
target/
|
||||
.classpath
|
||||
.project
|
||||
.tox
|
||||
*.iml
|
||||
.idea/
|
||||
|
|
|
|||
|
|
@ -37,8 +37,8 @@ before_install:
|
|||
- ci/before_install.sh
|
||||
|
||||
install:
|
||||
- if [ "$JDBC_DRIVER" == "org.jaydebeapi:mockdriver:1.0-SNAPSHOT" ]; then (cd mockdriver && mvn install) ;fi
|
||||
- if [ -n "$JDBC_DRIVER" ]; then envsubst < ci/dot_jip > $VIRTUAL_ENV/.jip && pip install jip==0.9.3 && jip install $JDBC_DRIVER && export CLASSPATH=$VIRTUAL_ENV/javalib/* ;fi # TODO: Fix jip to search for local maven repo without twaking .jip
|
||||
- if [ "$JDBC_DRIVER" == "org.jaydebeapi:mockdriver:1.0-SNAPSHOT" ]; then (cd mockdriver && mvn -Dmaven.repo.local=$VIRTUAL_ENV/.m2/repository install) ;fi
|
||||
- if [ -n "$JDBC_DRIVER" ]; then python ci/jipconf_subst.py $VIRTUAL_ENV $VIRTUAL_ENV && pip install jip==0.9.9 && jip install $JDBC_DRIVER && export CLASSPATH=$VIRTUAL_ENV/javalib/* ;fi # TODO: Fix jip to search for local maven repo without twaking .jip
|
||||
- source $HOME/myvirtualenv/bin/activate
|
||||
- pip install -e .
|
||||
- if [ -z "$JYTHON" ]; then pip install coveralls ;fi
|
||||
|
|
|
|||
|
|
@ -10,19 +10,23 @@ Setup test requirements
|
|||
=======================
|
||||
|
||||
::
|
||||
sudo apt-get install python2.7-dev g++ maven
|
||||
cd mockdriver
|
||||
mvn install
|
||||
sudo apt-get install python2.7-dev python3-dev python3-venv g++ maven
|
||||
cd <JAYDEBEAPI_WORKDIR>
|
||||
python3 -m venv env
|
||||
. env/bin/activate
|
||||
pip install -rdev-requirements.txt
|
||||
|
||||
virtualenv ~/.virtualenvs/jaydebeapi-py27 -p /usr/bin/python2.7
|
||||
. ~/.virtualenvs/jaydebeapi-py27/bin/activate
|
||||
pip install -r dev-requirements.txt -r requirements-python-2.7.txt jip==0.9.9
|
||||
envsubst < ci/dot_jip > $VIRTUAL_ENV/.jip
|
||||
jip install org.jaydebeapi:mockdriver:1.0-SNAPSHOT
|
||||
jip install org.hsqldb:hsqldb:1.8.0.10
|
||||
jip install org.xerial:sqlite-jdbc:3.7.2
|
||||
# Install Jython 2.7
|
||||
ci/mvnget.sh org.python:jython-installer:2.7.0
|
||||
java -jar jython-installer-2.7.0.jar && rm jython-installer-2.7.0.jar
|
||||
# add jython to your path
|
||||
|
||||
# run tests for all supported envs
|
||||
tox
|
||||
|
||||
# activate and work on specific env
|
||||
. .tox/py35-driver-mock/bin/activate
|
||||
export CLASSPATH=$VIRTUAL_ENV/javalib/*
|
||||
python setup.py develop
|
||||
python test/testsuite.py
|
||||
|
||||
Build a new release
|
||||
|
|
@ -50,7 +54,7 @@ Build a new release
|
|||
|
||||
7. Run setuptools to ensure everything is working as expected. ::
|
||||
|
||||
$ python setup.py sdist bdist_wheel upload
|
||||
$ python setup.py sdist bdist_wheel upload -r pypitest
|
||||
|
||||
8. Check the files in ``dist/`` for unwanted or missing files.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
[repos:local]
|
||||
uri=$HOME/.m2/repository/
|
||||
type=local
|
||||
|
||||
[repos:central]
|
||||
uri=http://repo1.maven.org/maven2/
|
||||
type=remote
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/env python
|
||||
from __future__ import print_function
|
||||
from os import path
|
||||
import sys
|
||||
|
||||
home=sys.argv[1]
|
||||
dist=sys.argv[2]
|
||||
with open(path.join(home, '.jip_config'), "w") as out:
|
||||
print("""[repos:local]
|
||||
uri={0}/.m2/repository/
|
||||
type=local
|
||||
|
||||
[repos:central]
|
||||
uri=http://repo1.maven.org/maven2/
|
||||
type=remote
|
||||
""".format(dist), file=out)
|
||||
|
|
@ -4,7 +4,7 @@ set -e
|
|||
ARTIFACT_SPEC=$1
|
||||
GROUP_ID=${ARTIFACT_SPEC%%:*}
|
||||
NON_GROUP_ID=${ARTIFACT_SPEC#*:}
|
||||
ARTIFACT_NAME=`python -c "import re;print re.search(r':(.*):', '$ARTIFACT_SPEC').group(1)"`
|
||||
ARTIFACT_NAME=`python -c "import re;print(re.search(r':(.*):', '$ARTIFACT_SPEC').group(1))"`
|
||||
_PATH=${GROUP_ID/./\/}/$ARTIFACT_NAME
|
||||
_ARTIFACT_SPEC_BASENAME=${NON_GROUP_ID/:/-}
|
||||
VERSION=${ARTIFACT_SPEC##*:}
|
||||
|
|
|
|||
|
|
@ -1,2 +1,3 @@
|
|||
wheel==0.24.0
|
||||
bumpversion==0.5.1
|
||||
tox==2.6.0
|
||||
wheel==0.29.0
|
||||
bumpversion==0.5.3
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
[tox]
|
||||
envlist = py{26,27,3}-driver-{hsqldb,mock,sqliteXerial},py27-driver-sqlitePy,jython-driver-{hsqldb,mock}
|
||||
[testenv]
|
||||
whitelist_externals = mvn
|
||||
setenv = CLASSPATH = {envdir}/javalib/*
|
||||
driver-mock: TESTNAME=test_mock
|
||||
driver-hsqldb: TESTNAME=test_integration.HsqldbTest
|
||||
driver-sqliteXerial: TESTNAME=test_integration.SqliteXerialTest
|
||||
driver-sqlitePy: TESTNAME=test_integration.SqlitePyTest
|
||||
deps =
|
||||
py26: -rrequirements-python-2.6.txt
|
||||
py27: -rrequirements-python-2.7.txt
|
||||
py3: -rrequirements-python-3.4.txt
|
||||
# not required for jython >= 2.7 anymore jython: -rrequirements-jython.txt
|
||||
jip==0.9.9
|
||||
commands =
|
||||
python ci/jipconf_subst.py {envdir} {toxworkdir}/shared
|
||||
driver-hsqldb: jip install org.hsqldb:hsqldb:1.8.0.10
|
||||
driver-sqliteXerial: jip install org.xerial:sqlite-jdbc:3.7.2
|
||||
driver-mock: mvn -Dmaven.repo.local={toxworkdir}/shared/.m2/repository -f mockdriver/pom.xml install
|
||||
driver-mock: jip install org.jaydebeapi:mockdriver:1.0-SNAPSHOT
|
||||
{envbindir}/python test/testsuite.py {env:TESTNAME}
|
||||
driver-hsqldb: {envbindir}/python test/doctests.py
|
||||
Loading…
Reference in New Issue