diff --git a/build.sh b/build.sh index 91b9121..3d726e4 100755 --- a/build.sh +++ b/build.sh @@ -1,5 +1,8 @@ #!/bin/bash +pyenv=$(which pyenv) +interpreters=(2.7 3.7 3.9 3.10) + read -p "Build dataplicity agent v$(python dataplicity/_version.py) from PyPi? " -n 1 -r echo if [[ ! "$REPLY" =~ ^[Yy]$ ]] @@ -7,13 +10,31 @@ then exit 1 fi +# check if pyenv is installed: +if [ ! -e ~/.pyenv/ ] +then + echo "Make sure you have pyenv installed" + exit 1 +fi + +pyenvRoot=$("$pyenv" root) + +buildParams="" +for version in ${interpreters[@]}; do + fullVersion=$(pyenv install --list | grep "^ $version" | tail -1 | xargs) + echo "${version} => ${fullVersion}" + pyenv install -s $fullVersion + buildParams="$buildParams--python=$pyenvRoot/versions/$fullVersion/bin/python " +done + mkdir -p bin rm -f bin/dataplicity rm -rf .build -virtualenv -qq .build -p python3 +python3 -m venv .build source .build/bin/activate -pip -q install pex==2.1.21 subprocess32 +pip -q install pex==2.1.112 subprocess32 echo building ./bin/dataplicity -pex dataplicity==$(python dataplicity/_version.py) --pre --python-shebang="#!/usr/bin/env python" --python=$(which python2) --python=$(which python3) -r requirements.txt -o bin/dataplicity -m dataplicity.app:main +echo "pex dataplicity==$(python dataplicity/_version.py) --pre --python-shebang='#!/usr/bin/env python' -r requirements.txt -o bin/dataplicity -m dataplicity.app:main $buildParams" +pex dataplicity==$(python dataplicity/_version.py) --pre --python-shebang='#!/usr/bin/env python' -r requirements.txt -o bin/dataplicity -m dataplicity.app:main $buildParams deactivate echo built dataplicity agent v$(./bin/dataplicity version) diff --git a/dataplicity/_version.py b/dataplicity/_version.py index 72c840d..c43e678 100644 --- a/dataplicity/_version.py +++ b/dataplicity/_version.py @@ -1,4 +1,4 @@ -__version__ = "0.5.9" +__version__ = "0.5.9a10" if __name__ == "__main__": # The build script uses this to extract the current version diff --git a/setup.py b/setup.py index d71c6cb..209fbbc 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,8 @@ classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", - "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 3", ] # http://bit.ly/2alyerp @@ -25,8 +26,9 @@ url="https://www.dataplicity.com", platforms=["any"], packages=find_packages(), + python_requires='>=2.7', classifiers=classifiers, entry_points={"console_scripts": ["dataplicity = dataplicity.app:main"]}, - install_requires=["enum34==1.1.6", "six==1.10.0", "lomond==0.3.3"], + install_requires=["enum34==1.1.6", "six==1.10.0", "lomond==0.3.3", "distro==1.6.0"], zip_safe=True, )