| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | 
							- #!/bin/bash
 
- set -ex
 
- # change to repo root
 
- pushd $(dirname $0)/../../../..
 
- # Create stage dir
 
- ORIGINAL_DIR=`pwd`
 
- pushd ..
 
- cp -R $ORIGINAL_DIR stage
 
- export STAGE_DIR="`pwd`/stage"
 
- popd
 
- export REPO_DIR=protobuf
 
- export BUILD_VERSION=`grep -i "version" python/google/protobuf/__init__.py | grep -o "'.*'" | tr -d "'"`
 
- export BUILD_COMMIT=`git rev-parse HEAD`
 
- export PLAT=x86_64
 
- export UNICODE_WIDTH=32
 
- export MACOSX_DEPLOYMENT_TARGET=10.9
 
- rm -rf artifacts/
 
- rm -rf multibuild/
 
- mkdir artifacts
 
- export ARTIFACT_DIR=$(pwd)/artifacts
 
- git clone https://github.com/matthew-brett/multibuild.git
 
- cp kokoro/release/python/linux/config.sh config.sh
 
- build_artifact_version() {
 
-   MB_PYTHON_VERSION=$1
 
-   cp -R $STAGE_DIR $REPO_DIR
 
-   source multibuild/common_utils.sh
 
-   source multibuild/travis_steps.sh
 
-   before_install
 
-   clean_code $REPO_DIR $BUILD_COMMIT
 
-   sed -i '/Wno-sign-compare/a \ \ \ \ \ \ \ \ extra_compile_args.append("-std=c++11")' $REPO_DIR/python/setup.py
 
-   cat $REPO_DIR/python/setup.py
 
-   build_wheel $REPO_DIR/python $PLAT
 
-   mv wheelhouse/* $ARTIFACT_DIR
 
-   # Clean up env
 
-   rm -rf venv
 
-   sudo rm -rf $REPO_DIR
 
- }
 
- build_crosscompiled_aarch64_artifact_version() {
 
-   # crosscompilation is only supported with the dockcross manylinux2014 image
 
-   DOCKER_IMAGE=dockcross/manylinux2014-aarch64
 
-   PLAT=aarch64
 
-   # TODO(jtatermusch): currently when crosscompiling, "auditwheel repair" will be disabled
 
-   # since auditwheel doesn't work for crosscomiled wheels.
 
-   build_artifact_version $@
 
- }
 
- build_artifact_version 2.7
 
- build_artifact_version 3.5
 
- build_artifact_version 3.6
 
- build_artifact_version 3.7
 
- build_artifact_version 3.8
 
- build_artifact_version 3.9
 
- build_crosscompiled_aarch64_artifact_version 3.7
 
- build_crosscompiled_aarch64_artifact_version 3.8
 
- build_crosscompiled_aarch64_artifact_version 3.9
 
- # Put the aarch64 manylinux wheels under the "unofficial" subdirectory.
 
- # Only wheels directly under the artifacts/ directory will be published
 
- # to PyPI as part of the protobuf release process.
 
- # TODO(jtattermusch): include aarch64 wheels in the release
 
- # once they are sufficiently tested.
 
- mkdir -p $ARTIFACT_DIR/unofficial
 
- mv $ARTIFACT_DIR/protobuf-*-manylinux*_aarch64.whl $ARTIFACT_DIR/unofficial
 
 
  |