Compile File .proto

Pada modul ini kita akan belajar mengkompilasi file .proto ke beberapa bahasa.

Pada file project, buat direktori baru, proto, python, java dan go.

Agar lebih terognanisir, pindahkan file date.proto dan person.proto yang telah dibuat di modul sebelumnya kedalam directory proto.

Perintah dasar yang umum digunakan adalah

$ protoc -I=directory_source_proto --python_out=directory_target file_proto
  • -I untuk directory source file proto.
  • –python_out adalah option target, terdapat beberapa target bahasa yang digunakan. membutuhkan parameter direktori untuk menyimpan hasil compile.
  • file_proto : adalah file .proto yang akan dicompile, gunakan *.proto untuk compile semua file

Untuk target bahasa terdapat pilihan:

  --cpp_out=OUT_DIR           Generate C++ header and source.
  --csharp_out=OUT_DIR        Generate C# source file.
  --java_out=OUT_DIR          Generate Java source file.
  --js_out=OUT_DIR            Generate JavaScript source.
  --kotlin_out=OUT_DIR        Generate Kotlin file.
  --objc_out=OUT_DIR          Generate Objective-C header and source.
  --php_out=OUT_DIR           Generate PHP source file.
  --pyi_out=OUT_DIR           Generate python pyi stub.
  --python_out=OUT_DIR        Generate Python source file.
  --ruby_out=OUT_DIR          Generate Ruby source file.

Contoh compile target python

$ protoc -I=proto --python_out=python proto/*.proto

Jika Anda buka directory python, dapat dilihat terdapat 2 file baru yang digenerate oleh protoc compiler.

  • date_pb2.py
  • person_pb2.py

Contoh compile target java

$ protoc -I=proto --java_out=java proto/*.proto

Jika Anda buka directory java, dapat dilihat terdapat 2 file baru dalam 2 direcotry yang digenerate oleh protoc compiler

java
  |-my
  |  |-date
  |      |- DateOuterClass.java
  |
  |-person
      |-PersonOuterClass.java
   

Compile Go

Untuk Go, sedikit repot, anda perlu install dahulu pluginnya, buka command prompt lalu jalankan perintah berikut:

$ go install google.golang.org/protobuf/cmd/protoc-gen-go@latest

Perintah diatas akan menginstall plugin protoc-gen-go.exe di Go directory.

Tambahkan path GOPATH kedalam system Path, agar protoc compiler mengetahui lokasi plugin.

Kemudian anda perlu menambahkan option go_package = “nama package”; pada file .proto.

Dengan menggunakan contoh file person.proto dan date.proto, maka perlu ditambahkan seperti berikut

option go_package = "./person";

option go_package = "./my.date";

Kemudian jalankan perintah pada command prompt

protoc -I=proto --go_out=go proto/*.proto

Jika Anda lihat directory go, file generate sudah dibuat

go
  |-my.date
  |   |- date.pb.go
  |
  |-person
      |-person.pb.go
   

Sampai disini kita sudah berhasil melakukan compile ke 3 bahasa favorite.

Dengan berakhirnya modul ini, tuotrial Protobuf Dasar Sudah selesai. Semoga bermanfaat.

Sharing is caring:

Leave a Comment