|
|
|
# Define custom utilities
|
|
|
|
# Test for OSX with [ -n "$IS_OSX" ]
|
|
|
|
|
|
|
|
function remove_travis_ve_pip {
|
|
|
|
# Removing the system virtualenv or pip can be very problematic for
|
|
|
|
# macOS on Kokoro, so just leave them be.
|
|
|
|
:;
|
|
|
|
}
|
|
|
|
|
|
|
|
function install_pip {
|
|
|
|
check_python
|
|
|
|
PIP_CMD="sudo $PYTHON_EXE -m pip${pip_args:+ $pip_args}"
|
|
|
|
$PIP_CMD install --upgrade pip
|
|
|
|
}
|
|
|
|
|
|
|
|
function install_virtualenv {
|
|
|
|
check_python
|
|
|
|
check_pip
|
|
|
|
$PIP_CMD install --upgrade virtualenv
|
|
|
|
VIRTUALENV_CMD="$PYTHON_EXE -m virtualenv"
|
|
|
|
}
|
|
|
|
|
|
|
|
function pre_build {
|
|
|
|
# Any stuff that you need to do before you start building the wheels
|
|
|
|
# Runs in the root directory of this repository.
|
|
|
|
pushd protobuf
|
|
|
|
|
|
|
|
# Build protoc
|
|
|
|
./autogen.sh
|
|
|
|
./configure
|
|
|
|
|
|
|
|
CXXFLAGS="-std=c++14 -fPIC -g -O2" ./configure
|
|
|
|
make -j8
|
|
|
|
|
|
|
|
# Generate python dependencies.
|
|
|
|
pushd python
|
|
|
|
python setup.py build_py
|
|
|
|
popd
|
|
|
|
|
|
|
|
popd
|
|
|
|
}
|
|
|
|
|
|
|
|
function bdist_wheel_cmd {
|
|
|
|
# Builds wheel with bdist_wheel, puts into wheelhouse
|
|
|
|
#
|
|
|
|
# It may sometimes be useful to use bdist_wheel for the wheel building
|
|
|
|
# process. For example, versioneer has problems with versions which are
|
|
|
|
# fixed with bdist_wheel:
|
|
|
|
# https://github.com/warner/python-versioneer/issues/121
|
|
|
|
local abs_wheelhouse=$1
|
|
|
|
|
|
|
|
# Modify build version
|
|
|
|
pwd
|
|
|
|
ls
|
|
|
|
python setup.py bdist_wheel --cpp_implementation --compile_static_extension
|
|
|
|
cp dist/*.whl $abs_wheelhouse
|
|
|
|
}
|
|
|
|
|
|
|
|
function build_wheel {
|
|
|
|
build_wheel_cmd "bdist_wheel_cmd" $@
|
|
|
|
}
|
|
|
|
|
|
|
|
function run_tests {
|
|
|
|
# Runs tests on installed distribution from an empty directory
|
|
|
|
python --version
|
|
|
|
python -c "from google.protobuf.pyext import _message;"
|
|
|
|
}
|