Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/spanner-lib-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,19 +48,27 @@ jobs:
- name: Build shared library
working-directory: spannerlib/shared
run: go build -o spannerlib.so -buildmode=c-shared shared_lib.go
- name: Build gRPC server
working-directory: spannerlib/grpc-server
run: |
go build -o grpc_server server.go
chmod +x grpc_server
- name: Copy to Java wrapper
working-directory: spannerlib
run: |
echo "$RUNNER_OS"
if [ "$RUNNER_OS" == "Windows" ]; then
mkdir -p wrappers/spannerlib-java/src/main/resources/win32-x86-64
cp shared/spannerlib.so wrappers/spannerlib-java/src/main/resources/win32-x86-64/spanner.dll
cp grpc-server/grpc_server wrappers/spannerlib-java/src/main/resources/win32-x86-64/grpc_server
elif [ "$RUNNER_OS" == "macOS" ]; then
mkdir -p wrappers/spannerlib-java/src/main/resources/darwin-aarch64
cp shared/spannerlib.so wrappers/spannerlib-java/src/main/resources/darwin-aarch64/libspanner.dylib
cp grpc-server/grpc_server wrappers/spannerlib-java/src/main/resources/darwin-aarch64/grpc_server
else
mkdir -p wrappers/spannerlib-java/src/main/resources/linux-x86-64
cp shared/spannerlib.so wrappers/spannerlib-java/src/main/resources/linux-x86-64/libspanner.so
cp grpc-server/grpc_server wrappers/spannerlib-java/src/main/resources/linux-x86-64/grpc_server
fi
shell: bash
- name: ls spannerlib.so
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "spannerlib/grpc-server/googleapis"]
path = spannerlib/grpc-server/googleapis
url = git@github.com:googleapis/googleapis.git
4 changes: 2 additions & 2 deletions spannerlib/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ toolchain go1.25.1
replace github.com/googleapis/go-sql-spanner => ..

require (
cloud.google.com/go/longrunning v0.6.7
cloud.google.com/go/spanner v1.85.1
github.com/google/go-cmp v0.7.0
github.com/googleapis/go-sql-spanner v1.18.0
google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c
google.golang.org/grpc v1.75.1
google.golang.org/protobuf v1.36.9
)
Expand All @@ -21,7 +23,6 @@ require (
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
cloud.google.com/go/compute/metadata v0.8.0 // indirect
cloud.google.com/go/iam v1.5.2 // indirect
cloud.google.com/go/longrunning v0.6.7 // indirect
cloud.google.com/go/monitoring v1.24.2 // indirect
github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.5.3 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0 // indirect
Expand Down Expand Up @@ -62,6 +63,5 @@ require (
golang.org/x/time v0.12.0 // indirect
google.golang.org/api v0.249.0 // indirect
google.golang.org/genproto v0.0.0-20250804133106-a7a43d27e69b // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250908214217-97024824d090 // indirect
)
3 changes: 3 additions & 0 deletions spannerlib/grpc-server/build-java-darwin-aarch64.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
go build -o grpc_server server.go
chmod +x grpc_server
cp grpc_server ../wrappers/spannerlib-java/src/main/resources/darwin-aarch64/grpc_server
18 changes: 18 additions & 0 deletions spannerlib/grpc-server/build-protos.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
PATH="${PATH}:${HOME}/go/bin"
rm -rf googleapis/google/spannerlib || true
cp -r google/spannerlib googleapis/google/spannerlib
cd googleapis || exit 1
protoc \
--go_out=../ \
--go_opt=paths=source_relative \
--go-grpc_out=../ \
--go-grpc_opt=paths=source_relative \
google/spannerlib/v1/spannerlib.proto
protoc \
--java_out=../../wrappers/spannerlib-java/src/main/java/ \
--plugin=protoc-gen-java-grpc=/Users/loite/protoc-gen-grpc-java-1.75.0-osx-aarch_64.exe \
--java-grpc_out=../../wrappers/spannerlib-java/src/main/java/ \
--java-grpc_opt=paths=source_relative \
google/spannerlib/v1/spannerlib.proto
cd .. || exit 1
rm -rf googleapis/google/spannerlib
Loading
Loading