diff --git a/magefile.go b/magefile.go index 11b14dce5..1d03cfb18 100644 --- a/magefile.go +++ b/magefile.go @@ -77,13 +77,17 @@ func Proto() error { "rpc/whip_signal.proto", "rpc/sip.proto", } + allProtoFiles := append(append(append(twirpProtoFiles, protoFiles...), grpcProtoFiles...), psrpcProtoFiles...) fmt.Println("generating protobuf") target := "livekit" if err := os.MkdirAll(target, 0755); err != nil { return err } - + javaTarget := "generated/java" + if err := os.MkdirAll(javaTarget, 0755); err != nil { + return err + } protoc, err := getToolPath("protoc") if err != nil { return err @@ -191,7 +195,18 @@ func Proto() error { if err = cmd.Run(); err != nil { return err } + fmt.Println("generating Java protobuf") + javaArgs := append([]string{ + "--java_out=" + javaTarget, + "-I=./protobufs", + "-I" + psrpcDir + "/protoc-gen-psrpc/options", + }, allProtoFiles...) + cmd = exec.Command(protoc, javaArgs...) + mageutil.ConnectStd(cmd) + if err = cmd.Run(); err != nil { + return fmt.Errorf("生成 Java 代码失败: %v", err) + } return nil }