27 lines
1.2 KiB
PowerShell
27 lines
1.2 KiB
PowerShell
# Proto codegen script.
|
|
# Canonical .proto lives at repo-root proto/ (language-neutral contract).
|
|
# Generated Go code (*.pb.go / *_grpc.pb.go) is written into src/go/proto/ and
|
|
# committed to git, so cloning + `go build` works without protoc.
|
|
# Only re-run this when the .proto contract changes.
|
|
$ErrorActionPreference = 'Stop'
|
|
$root = Split-Path $PSScriptRoot -Parent # repo root
|
|
|
|
$protoc = 'D:\RJ\Tool\Anaconda3\Library\bin\protoc.exe'
|
|
$gopath = 'C:\Users\Administrator\go'
|
|
|
|
# protoc needs protoc-gen-go / protoc-gen-go-grpc (in GOPATH\bin) on PATH
|
|
$env:GOPATH = $gopath
|
|
$env:PATH = "$gopath\bin;$env:PATH"
|
|
|
|
$protoRoot = Join-Path $root 'proto' # proto import root
|
|
$goOut = Join-Path $root 'src\go\proto' # Go output root (module-relative proto/)
|
|
|
|
New-Item -ItemType Directory -Force $goOut | Out-Null
|
|
|
|
& $protoc "--proto_path=$protoRoot" `
|
|
"--go_out=$goOut" --go_opt=paths=source_relative `
|
|
"--go-grpc_out=$goOut" --go-grpc_opt=paths=source_relative `
|
|
contract/v1/contract.proto
|
|
if ($LASTEXITCODE -ne 0) { throw "protoc failed (exit $LASTEXITCODE)" }
|
|
Write-Host "Proto generated: src/go/proto/contract/v1/*.pb.go (from proto/contract/v1/contract.proto)"
|