mirror of https://github.com/grpc/grpc-java.git
buildscripts: build windows artifacts in kokoro (#4253)
We always build the artifacts, but only store them in placer via kokoro if MVN_ARTIFACTS is set to a non empty value. The 32 bit script runs tests as well as builds artifacts. The 64 bit script only builds artifacts.
This commit is contained in:
parent
a43845622f
commit
19a64cc336
|
|
@ -12,32 +12,16 @@ cd /d %~dp0\..\..
|
||||||
set WORKSPACE=T:\src\github\grpc-java
|
set WORKSPACE=T:\src\github\grpc-java
|
||||||
set ESCWORKSPACE=%WORKSPACE:\=\\%
|
set ESCWORKSPACE=%WORKSPACE:\=\\%
|
||||||
|
|
||||||
mkdir grpc-java-helper
|
|
||||||
|
|
||||||
cd grpc-java-helper
|
|
||||||
|
|
||||||
@rem Clear JAVA_HOME to prevent a different Java version from being used
|
@rem Clear JAVA_HOME to prevent a different Java version from being used
|
||||||
set JAVA_HOME=
|
set JAVA_HOME=
|
||||||
set PATH=C:\Program Files\java\jdk1.8.0_152\bin;%PATH%
|
set PATH=C:\Program Files\java\jdk1.8.0_152\bin;%PATH%
|
||||||
call "%VS120COMNTOOLS%\vsvars32.bat" || exit /b 1
|
|
||||||
call "%WORKSPACE%\buildscripts\make_dependencies.bat" || exit /b 1
|
|
||||||
|
|
||||||
cd "%WORKSPACE%"
|
cmd.exe /C "%WORKSPACE%\buildscripts\kokoro\windows32.bat" || exit /b 1
|
||||||
|
cmd.exe /C "%WORKSPACE%\buildscripts\kokoro\windows64.bat" || exit /b 1
|
||||||
|
|
||||||
echo targetArch=x86_32> gradle.properties
|
IF DEFINED MVN_ARTIFACTS (
|
||||||
echo failOnWarnings=true>> gradle.properties
|
mkdir mvn-artifacts
|
||||||
echo vcProtobufLibs=%ESCWORKSPACE%\\grpc-java-helper\\protobuf-%PROTOBUF_VER%\\cmake\\build\\Release>> gradle.properties
|
move artifacts\x86_64 mvn-artifacts\x86_64
|
||||||
echo vcProtobufInclude=%ESCWORKSPACE%\\grpc-java-helper\\protobuf-%PROTOBUF_VER%\\cmake\\build\\include>> gradle.properties
|
move artifacts\x86_32 mvn-artifacts\x86_32
|
||||||
|
|
||||||
cmd.exe /C "%WORKSPACE%\gradlew.bat build"
|
|
||||||
set GRADLEEXIT=%ERRORLEVEL%
|
|
||||||
|
|
||||||
@rem Rename test results .xml files to format parsable by Kokoro
|
|
||||||
@echo off
|
|
||||||
for /r %%F in (TEST-*.xml) do (
|
|
||||||
mkdir "%%~dpnF"
|
|
||||||
move "%%F" "%%~dpnF\sponge_log.xml" >NUL
|
|
||||||
)
|
)
|
||||||
@echo on
|
|
||||||
|
|
||||||
exit /b %GRADLEEXIT%
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,6 @@ build_file: "grpc-java/buildscripts/kokoro/windows.bat"
|
||||||
timeout_mins: 45
|
timeout_mins: 45
|
||||||
action {
|
action {
|
||||||
define_artifacts {
|
define_artifacts {
|
||||||
regex: "**/build/test-results/**/*.xml"
|
regex: ["**/build/test-results/**/*.xml", "**/mvn-artifacts/**"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
@rem ##########################################################################
|
||||||
|
@rem
|
||||||
|
@rem Runs tests and then builds artifacts to %WORKSPACE%\artifacts\
|
||||||
|
@rem
|
||||||
|
@rem ##########################################################################
|
||||||
|
|
||||||
|
type c:\VERSION
|
||||||
|
|
||||||
|
@rem Enter repo root
|
||||||
|
cd /d %~dp0\..\..
|
||||||
|
|
||||||
|
set WORKSPACE=T:\src\github\grpc-java
|
||||||
|
set ESCWORKSPACE=%WORKSPACE:\=\\%
|
||||||
|
|
||||||
|
|
||||||
|
@rem Clear JAVA_HOME to prevent a different Java version from being used
|
||||||
|
set JAVA_HOME=
|
||||||
|
set PATH=C:\Program Files\java\jdk1.8.0_152\bin;%PATH%
|
||||||
|
|
||||||
|
mkdir grpc-java-helper32
|
||||||
|
cd grpc-java-helper32
|
||||||
|
call "%VS120COMNTOOLS%\vsvars32.bat" || exit /b 1
|
||||||
|
call "%WORKSPACE%\buildscripts\make_dependencies.bat" || exit /b 1
|
||||||
|
|
||||||
|
cd "%WORKSPACE%"
|
||||||
|
|
||||||
|
SET TARGET_ARCH=x86_32
|
||||||
|
SET FAIL_ON_WARNINGS=true
|
||||||
|
SET VC_PROTOBUF_LIBS=%ESCWORKSPACE%\\grpc-java-helper32\\protobuf-%PROTOBUF_VER%\\cmake\\build\\Release
|
||||||
|
SET VC_PROTOBUF_INCLUDE=%ESCWORKSPACE%\\grpc-java-helper32\\protobuf-%PROTOBUF_VER%\\cmake\\build\\include
|
||||||
|
SET GRADLE_FLAGS=-PtargetArch=%TARGET_ARCH% -PfailOnWarnings=%FAIL_ON_WARNINGS% -PvcProtobufLibs=%VC_PROTOBUF_LIBS% -PvcProtobufInclude=%VC_PROTOBUF_INCLUDE%
|
||||||
|
|
||||||
|
cmd.exe /C "%WORKSPACE%\gradlew.bat %GRADLE_FLAGS% build"
|
||||||
|
set GRADLEEXIT=%ERRORLEVEL%
|
||||||
|
|
||||||
|
@rem Rename test results .xml files to format parsable by Kokoro
|
||||||
|
@echo off
|
||||||
|
for /r %%F in (TEST-*.xml) do (
|
||||||
|
mkdir "%%~dpnF"
|
||||||
|
move "%%F" "%%~dpnF\sponge_log.xml" >NUL
|
||||||
|
)
|
||||||
|
@echo on
|
||||||
|
|
||||||
|
IF NOT %GRADLEEXIT% == 0 (
|
||||||
|
exit /b %GRADLEEXIT%
|
||||||
|
)
|
||||||
|
|
||||||
|
@rem make sure no daemons have any files open
|
||||||
|
cmd.exe /C "%WORKSPACE%\gradlew.bat --stop"
|
||||||
|
|
||||||
|
cmd.exe /C "%WORKSPACE%\gradlew.bat %GRADLE_FLAGS% -Dorg.gradle.parallel=false -PrepositoryDir=%WORKSPACE%\artifacts\x86_32\ clean grpc-compiler:build grpc-compiler:uploadArchives" || exit /b 1
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
@rem ##########################################################################
|
||||||
|
@rem
|
||||||
|
@rem Builds artifacts for x86_64 into %WORKSPACE%\artifacts\
|
||||||
|
@rem
|
||||||
|
@rem ##########################################################################
|
||||||
|
|
||||||
|
type c:\VERSION
|
||||||
|
|
||||||
|
@rem Enter repo root
|
||||||
|
cd /d %~dp0\..\..
|
||||||
|
|
||||||
|
set WORKSPACE=T:\src\github\grpc-java
|
||||||
|
set ESCWORKSPACE=%WORKSPACE:\=\\%
|
||||||
|
|
||||||
|
@rem Clear JAVA_HOME to prevent a different Java version from being used
|
||||||
|
set JAVA_HOME=
|
||||||
|
set PATH=C:\Program Files\java\jdk1.8.0_152\bin;%PATH%
|
||||||
|
|
||||||
|
mkdir grpc-java-helper64
|
||||||
|
cd grpc-java-helper64
|
||||||
|
call "%VS120COMNTOOLS%\..\..\VC\bin\amd64\vcvars64.bat" || exit /b 1
|
||||||
|
call "%WORKSPACE%\buildscripts\make_dependencies.bat" || exit /b 1
|
||||||
|
|
||||||
|
cd "%WORKSPACE%"
|
||||||
|
|
||||||
|
SET TARGET_ARCH=x86_64
|
||||||
|
SET FAIL_ON_WARNINGS=true
|
||||||
|
SET VC_PROTOBUF_LIBS=%ESCWORKSPACE%\\grpc-java-helper64\\protobuf-%PROTOBUF_VER%\\cmake\\build\\Release
|
||||||
|
SET VC_PROTOBUF_INCLUDE=%ESCWORKSPACE%\\grpc-java-helper64\\protobuf-%PROTOBUF_VER%\\cmake\\build\\include
|
||||||
|
SET GRADLE_FLAGS=-PtargetArch=%TARGET_ARCH% -PfailOnWarnings=%FAIL_ON_WARNINGS% -PvcProtobufLibs=%VC_PROTOBUF_LIBS% -PvcProtobufInclude=%VC_PROTOBUF_INCLUDE%
|
||||||
|
|
||||||
|
@rem make sure no daemons have any files open
|
||||||
|
cmd.exe /C "%WORKSPACE%\gradlew.bat --stop"
|
||||||
|
|
||||||
|
cmd.exe /C "%WORKSPACE%\gradlew.bat %GRADLE_FLAGS% -Dorg.gradle.parallel=false -PrepositoryDir=%WORKSPACE%\artifacts\x86_64\ clean grpc-compiler:build grpc-compiler:uploadArchives" || exit /b 1
|
||||||
|
|
@ -26,7 +26,16 @@ del protobuf.zip
|
||||||
pushd protobuf-%PROTOBUF_VER%\cmake
|
pushd protobuf-%PROTOBUF_VER%\cmake
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -Dprotobuf_BUILD_TESTS=OFF -G "Visual Studio %VisualStudioVersion:~0,2%" .. || exit /b 1
|
|
||||||
|
@rem cmake does not detect x86_64 from the vcvars64.bat variables.
|
||||||
|
@rem If vcvars64.bat has set PLATFORM to X64, then inform cmake to use the Win64 version of VS
|
||||||
|
if "%PLATFORM%" == "X64" (
|
||||||
|
@rem Note the space
|
||||||
|
SET CMAKE_VSARCH= Win64
|
||||||
|
) else (
|
||||||
|
SET CMAKE_VSARCH=
|
||||||
|
)
|
||||||
|
cmake -Dprotobuf_BUILD_TESTS=OFF -G "Visual Studio %VisualStudioVersion:~0,2%%CMAKE_VSARCH%" .. || exit /b 1
|
||||||
msbuild /maxcpucount /p:Configuration=Release libprotoc.vcxproj || exit /b 1
|
msbuild /maxcpucount /p:Configuration=Release libprotoc.vcxproj || exit /b 1
|
||||||
call extract_includes.bat || exit /b 1
|
call extract_includes.bat || exit /b 1
|
||||||
popd
|
popd
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue