diff options
author | Paul Yang <TeBoring@users.noreply.github.com> | 2018-08-13 10:33:56 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-13 10:33:56 -0700 |
commit | f2a1356966cef3889434368598ac888d131489fb (patch) | |
tree | 1c980d10b17c1cd0a7da0a5ea10c50f0a0ac7375 /kokoro/release/python/windows/build_single_artifact.bat | |
parent | af3b2ab9159ab59003c539d48d8920a1d7dcd5ac (diff) | |
download | protobuf-f2a1356966cef3889434368598ac888d131489fb.tar.gz protobuf-f2a1356966cef3889434368598ac888d131489fb.tar.bz2 protobuf-f2a1356966cef3889434368598ac888d131489fb.zip |
Python wheel kokoro for windows (#5034)
* Add kokoro config for building python wheels on windows
* Move script to root
* Debug
* Debug
* Change working directory
* Add msbuild to path
* Debug
* Fix python dir name
* Debug
* Move artifacts to targeted directory
* Update artifact directory
* Debug
* Debug
* Automatic generation of version
* Reduce file numbers
Diffstat (limited to 'kokoro/release/python/windows/build_single_artifact.bat')
-rw-r--r-- | kokoro/release/python/windows/build_single_artifact.bat | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/kokoro/release/python/windows/build_single_artifact.bat b/kokoro/release/python/windows/build_single_artifact.bat new file mode 100644 index 00000000..9d581992 --- /dev/null +++ b/kokoro/release/python/windows/build_single_artifact.bat @@ -0,0 +1,62 @@ +setlocal + +if %PYTHON%==C:\python35_32bit set generator=Visual Studio 14 +if %PYTHON%==C:\python35_32bit set vcplatform=Win32 + +if %PYTHON%==C:\python35 set generator=Visual Studio 14 Win64 +if %PYTHON%==C:\python35 set vcplatform=x64 + +if %PYTHON%==C:\python36_32bit set generator=Visual Studio 14 +if %PYTHON%==C:\python36_32bit set vcplatform=Win32 + +if %PYTHON%==C:\python36 set generator=Visual Studio 14 Win64 +if %PYTHON%==C:\python36 set vcplatform=x64 + +REM Prepend newly installed Python to the PATH of this build (this cannot be +REM done from inside the powershell script as it would require to restart +REM the parent CMD process). +SET PATH=%PYTHON%;%PYTHON%\Scripts;%OLD_PATH% +python -m pip install -U pip +pip install wheel + +REM Check that we have the expected version and architecture for Python +python --version +python -c "import struct; print(struct.calcsize('P') * 8)" + +rmdir /s/q protobuf +git clone https://github.com/google/protobuf.git + +REM Checkout release commit +cd %REPO_DIR% +git checkout %BUILD_COMMIT% + +REM ====================== +REM Build Protobuf Library +REM ====================== + +mkdir src\.libs + +mkdir vcprojects +pushd vcprojects +cmake -G "%generator%" -Dprotobuf_BUILD_SHARED_LIBS=%BUILD_DLL% -Dprotobuf_UNICODE=%UNICODE% -Dprotobuf_BUILD_TESTS=OFF ../cmake +msbuild protobuf.sln /p:Platform=%vcplatform% /p:Configuration=Release +dir /s /b +popd +copy vcprojects\Release\libprotobuf.lib src\.libs\libprotobuf.a +copy vcprojects\Release\libprotobuf-lite.lib src\.libs\libprotobuf-lite.a +SET PATH=%cd%\vcprojects\Release;%PATH% +dir vcprojects\Release + +REM ====================== +REM Build python library +REM ====================== + +cd python + +REM sed -i 's/\ extra_compile_args\ =\ \[\]/\ extra_compile_args\ =\ \[\'\/MT\'\]/g' setup.py + +python setup.py bdist_wheel --cpp_implementation --compile_static_extension +dir dist +copy dist\* %ARTIFACT_DIR% +dir %ARTIFACT_DIR% +cd ..\.. |