74bf45f379
The example utilizes native bazel rules (proto_library, cc_proto_library, java_proto_library, java_lite_proto_library) to show how easy it is to build protobuf with bazel's native support. It also makes use of well known types which was not possible until the latest bazel 0.5.4 release and https://github.com/google/protobuf/pull/3594 .
52 lines
1.2 KiB
Protocol Buffer
52 lines
1.2 KiB
Protocol Buffer
// See README.txt for information and build instructions.
|
|
//
|
|
// Note: START and END tags are used in comments to define sections used in
|
|
// tutorials. They are not part of the syntax for Protocol Buffers.
|
|
//
|
|
// To get an in-depth walkthrough of this file and the related examples, see:
|
|
// https://developers.google.com/protocol-buffers/docs/tutorials
|
|
|
|
// [START declaration]
|
|
syntax = "proto3";
|
|
package tutorial;
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
// [END declaration]
|
|
|
|
// [START java_declaration]
|
|
option java_package = "com.example.tutorial";
|
|
option java_outer_classname = "AddressBookProtos";
|
|
// [END java_declaration]
|
|
|
|
// [START csharp_declaration]
|
|
option csharp_namespace = "Google.Protobuf.Examples.AddressBook";
|
|
// [END csharp_declaration]
|
|
|
|
// [START messages]
|
|
message Person {
|
|
string name = 1;
|
|
int32 id = 2; // Unique ID number for this person.
|
|
string email = 3;
|
|
|
|
enum PhoneType {
|
|
MOBILE = 0;
|
|
HOME = 1;
|
|
WORK = 2;
|
|
}
|
|
|
|
message PhoneNumber {
|
|
string number = 1;
|
|
PhoneType type = 2;
|
|
}
|
|
|
|
repeated PhoneNumber phones = 4;
|
|
|
|
google.protobuf.Timestamp last_updated = 5;
|
|
}
|
|
|
|
// Our address book file is just one of these.
|
|
message AddressBook {
|
|
repeated Person people = 1;
|
|
}
|
|
// [END messages]
|