Proto Kod Üretim Komutları¶
Tüm komutlar repo kökünden çalıştırılır. Plugin'ler için PATH eklemesi:
export PATH="$PATH:$HOME/go/bin:$HOME/.pub-cache/bin"
1. Mobil (yackr) — Go¶
protoc -I proto \
--go_out=backend/gen/go --go_opt=paths=source_relative \
--go-grpc_out=backend/gen/go --go-grpc_opt=paths=source_relative \
yackr/v1/yackr.proto
Çıktı: backend/gen/go/yackr/v1/yackr.pb.go, yackr_grpc.pb.go
2. Mobil app (yackr) — Dart¶
protoc -I proto --dart_out=grpc:app/lib/gen yackr/v1/yackr.proto
Çıktı: app/lib/gen/yackr/v1/yackr.{pb,pbgrpc,pbenum,pbjson}.dart
3. Panel — Go (+ ConnectRPC)¶
protoc -I proto \
--go_out=backend/gen/go --go_opt=paths=source_relative \
--go-grpc_out=backend/gen/go --go-grpc_opt=paths=source_relative \
--connect-go_out=backend/gen/go --connect-go_opt=paths=source_relative \
panel/v1/panel.proto
Çıktı: backend/gen/go/panel/v1/panel.pb.go, panel_grpc.pb.go, panelv1connect/panel.connect.go
4. Panel frontend — Dart¶
protoc -I proto --dart_out=grpc:panel/lib/gen panel/v1/panel.proto
Çıktı: panel/lib/gen/panel/v1/panel.{pb,pbgrpc,pbenum,pbjson}.dart
Hepsi tek seferde¶
export PATH="$PATH:$HOME/go/bin:$HOME/.pub-cache/bin"
mkdir -p backend/gen/go app/lib/gen panel/lib/gen
protoc -I proto \
--go_out=backend/gen/go --go_opt=paths=source_relative \
--go-grpc_out=backend/gen/go --go-grpc_opt=paths=source_relative \
yackr/v1/yackr.proto && \
protoc -I proto --dart_out=grpc:app/lib/gen yackr/v1/yackr.proto && \
protoc -I proto \
--go_out=backend/gen/go --go_opt=paths=source_relative \
--go-grpc_out=backend/gen/go --go-grpc_opt=paths=source_relative \
--connect-go_out=backend/gen/go --connect-go_opt=paths=source_relative \
panel/v1/panel.proto && \
protoc -I proto --dart_out=grpc:panel/lib/gen panel/v1/panel.proto