mirror of https://github.com/grpc/grpc-java.git
84 lines
2.6 KiB
Batchfile
84 lines
2.6 KiB
Batchfile
@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=
|
|
|
|
mkdir grpc-java-helper32
|
|
cd grpc-java-helper32
|
|
call "%VS170COMNTOOLS%\..\..\VC\Auxiliary\Build\vcvars32.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 PROTOBUF_VER=22.5
|
|
SET PKG_CONFIG_PATH=%ESCWORKSPACE%\\grpc-java-helper32\\protobuf-%PROTOBUF_VER%\\build\\protobuf-%PROTOBUF_VER%\\lib\\pkgconfig
|
|
SET VC_PROTOBUF_LIBS=/LIBPATH:%ESCWORKSPACE%\\grpc-java-helper32\\protobuf-%PROTOBUF_VER%\\build\\protobuf-%PROTOBUF_VER%\\lib
|
|
SET VC_PROTOBUF_INCLUDE=%ESCWORKSPACE%\\grpc-java-helper32\\protobuf-%PROTOBUF_VER%\\build\\protobuf-%PROTOBUF_VER%\\include
|
|
call :Get_Libs
|
|
SET GRADLE_FLAGS=-PtargetArch=%TARGET_ARCH% -PfailOnWarnings=%FAIL_ON_WARNINGS% -PvcProtobufLibs=%VC_PROTOBUF_LIBS% -PvcProtobufInclude=%VC_PROTOBUF_INCLUDE% -PskipAndroid=true
|
|
SET GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx1g'"
|
|
|
|
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 clean grpc-compiler:build grpc-compiler:publish" || exit /b 1
|
|
|
|
goto :eof
|
|
:Get_Libs
|
|
SetLocal EnableDelayedExpansion
|
|
set "libs_list="
|
|
for /f "tokens=*" %%a in ('pkg-config --libs protobuf') do (
|
|
for %%b in (%%a) do (
|
|
set lib=%%b
|
|
set libfirst2char=!lib:~0,2!
|
|
if !libfirst2char!==-l (
|
|
@rem remove the leading -l
|
|
set lib=!lib:~2!
|
|
@rem remove spaces
|
|
set lib=!lib: =!
|
|
@rem Because protobuf is specified as libprotobuf and elsewhere
|
|
if !lib! NEQ protobuf (
|
|
set lib=!lib!.lib
|
|
if "!libs_list!"=="" (
|
|
set libs_list=!lib!
|
|
) else (
|
|
set libs_list=!libs_list!,!lib!
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
EndLocal & set "VC_PROTOBUF_LIBS=%VC_PROTOBUF_LIBS%,%libs_list%"
|
|
exit /b 0
|
|
|