protobuf: Add build/protobuf/getprotoc helper scripts

GitOrigin-RevId: b05a85f8f38345139875374e0da49377c6cd0a5c
This commit is contained in:
Eldar Abusalimov
2020-10-31 01:47:18 +00:00
committed by intellij-monorepo-bot
parent 930b8a9f3c
commit 72b315f12a
7 changed files with 106 additions and 4 deletions
+2
View File
@@ -8,6 +8,8 @@
<excludeFolder url="file://$MODULE_DIR$/dependencies/build" />
<excludeFolder url="file://$MODULE_DIR$/jdk" />
<excludeFolder url="file://$MODULE_DIR$/restApiDocGenerator/node_modules" />
<excludeFolder url="file://$MODULE_DIR$/protobuf/cache" />
<excludeFolder url="file://$MODULE_DIR$/protobuf/bin" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
+47
View File
@@ -0,0 +1,47 @@
:: Usage:
:: @echo off
:: for /f %%i in ('git.exe rev-parse --show-toplevel') do set "toplevel=%%~fi"
:: call "%toplevel%\build\protobuf\getprotoc.bat"
:: @echo on
@echo off
if not defined PROTOC_VERSION set PROTOC_VERSION=3.5.1
if not defined PROTOC_BIN_DIR (
for /f %%i in ('git.exe rev-parse --show-toplevel') do set "toplevel=%%~fi"
set "PROTOC_BIN_DIR=%toplevel%\build\protobuf\bin"
)
if not exist "%PROTOC_BIN_DIR%" mkdir "%PROTOC_BIN_DIR%"
if not defined PROTOC_CACHE_DIR (
set "PROTOC_CACHE_DIR=%PROTOC_BIN_DIR%\..\cache"
)
if not exist "%PROTOC_CACHE_DIR%" mkdir "%PROTOC_CACHE_DIR%"
call:getprotoc || goto :exit
set PATH=%PROTOC_BIN_DIR%;%PATH%
:exit
exit /b %errorlevel%
:getprotoc
set "_protoc_zip_name=protoc-%PROTOC_VERSION%-win32.zip"
if not exist "%PROTOC_CACHE_DIR%\%_protoc_zip_name%" (
curl.exe -L --output "%PROTOC_CACHE_DIR%\%_protoc_zip_name%" ^
"https://github.com/protocolbuffers/protobuf/releases/download/v%PROTOC_VERSION%/%_protoc_zip_name%" || goto :exit
)
set "_protoc_exe=%PROTOC_BIN_DIR%\protoc.exe"
if exist "%_protoc_exe%.tmp" del "%_protoc_exe%.tmp"
if exist "%_protoc_exe%" move /y "%_protoc_exe%" "%_protoc_exe%.tmp" >nul
tar.exe --strip-components 1 -xf "%PROTOC_CACHE_DIR%\%_protoc_zip_name%" -C "%PROTOC_BIN_DIR%" bin/protoc.exe || (
if exist "%_protoc_exe%.tmp" move /y "%_protoc_exe%.tmp" "%_protoc_exe%" >nul
del "%PROTOC_CACHE_DIR%\%_protoc_zip_name%"
goto :exit
)
if exist "%_protoc_exe%.tmp" del "%_protoc_exe%.tmp"
goto :eof
+37
View File
@@ -0,0 +1,37 @@
# Usage: . "$(git rev-parse --show-toplevel)/build/protobuf/getprotoc.sh"
PROTOC_VERSION=${PROTOC_VERSION:-3.5.1}
PROTOC_BIN_DIR="${PROTOC_BIN_DIR:-$(git rev-parse --show-toplevel)/build/protobuf/bin}"
PROTOC_CACHE_DIR="${PROTOC_CACHE_DIR:-$(dirname "$PROTOC_BIN_DIR")/cache}"
mkdir -p "$PROTOC_BIN_DIR"
mkdir -p "$PROTOC_CACHE_DIR"
case "$(uname -s)" in
Darwin) PROTOC_OS_NAME="osx-$(uname -m)" ;;
Linux) PROTOC_OS_NAME="linux-$(uname -m)" ;;
*) echo "unrecognized operating system"; exit 1 ;;
esac
getprotoc() {
_protoc_zip_name="protoc-$PROTOC_VERSION-$PROTOC_OS_NAME.zip"
test -f "$PROTOC_CACHE_DIR/$_protoc_zip_name" || \
wget -O "$PROTOC_CACHE_DIR/$_protoc_zip_name" \
"https://github.com/protocolbuffers/protobuf/releases/download/v$_protoc_version/$_protoc_zip_name"
_protoc_exe="$PROTOC_BIN_DIR/protoc"
rm -f "$_protoc_exe.tmp"
test -f "$_protoc_exe" && mv -f "$_protoc_exe" "$_protoc_exe.tmp"
tar --strip-components 1 -xf "$PROTOC_CACHE_DIR/$_protoc_zip_name" -C "$PROTOC_BIN_DIR" bin/protoc || (
test -f "$_protoc_exe.tmp" && mv -f "$_protoc_exe.tmp" "$_protoc_exe"
rm -f "$PROTOC_CACHE_DIR/$_protoc_zip_name"
exit 1
)
rm -f "$_protoc_exe.tmp"
}
getprotoc
export PATH="$PROTOC_BIN_DIR:$PATH"
+6 -1
View File
@@ -1 +1,6 @@
call protoc -I=. --java_out=../src --java_opt=annotate_code javac_remote_proto.proto
@echo off
for /f %%i in ('git.exe rev-parse --show-toplevel') do set "toplevel=%%~fi"
call "%toplevel%\build\protobuf\getprotoc.bat"
@echo on
protoc -I=. --java_out=../src --java_opt=annotate_code javac_remote_proto.proto
+4 -1
View File
@@ -1 +1,4 @@
protoc -I=. --java_out=../src --java_opt=annotate_code javac_remote_proto.proto
#!/usr/bin/env sh
. "$(git rev-parse --show-toplevel)/build/protobuf/getprotoc.sh"
protoc -I=. --java_out=../src --java_opt=annotate_code javac_remote_proto.proto
+6 -1
View File
@@ -1 +1,6 @@
call protoc -I=. --java_out=../src --java_opt=annotate_code cmdline_remote_proto.proto
@echo off
for /f %%i in ('git.exe rev-parse --show-toplevel') do set "toplevel=%%~fi"
call "%toplevel%\build\protobuf\getprotoc.bat"
@echo on
protoc -I=. --java_out=../src --java_opt=annotate_code cmdline_remote_proto.proto
+4 -1
View File
@@ -1 +1,4 @@
protoc -I=. --java_out=../src --java_opt=annotate_code cmdline_remote_proto.proto
#!/bin/sh
. "$(git rev-parse --show-toplevel)/build/protobuf/getprotoc.sh"
protoc -I=. --java_out=../src --java_opt=annotate_code cmdline_remote_proto.proto