xref: /aosp_15_r20/external/cronet/third_party/protobuf/README.md (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard WorkerProtocol Buffers - Google's data interchange format
2*6777b538SAndroid Build Coastguard Worker===================================================
3*6777b538SAndroid Build Coastguard Worker
4*6777b538SAndroid Build Coastguard WorkerCopyright 2008 Google Inc.
5*6777b538SAndroid Build Coastguard Worker
6*6777b538SAndroid Build Coastguard Workerhttps://developers.google.com/protocol-buffers/
7*6777b538SAndroid Build Coastguard Worker
8*6777b538SAndroid Build Coastguard WorkerOverview
9*6777b538SAndroid Build Coastguard Worker--------
10*6777b538SAndroid Build Coastguard Worker
11*6777b538SAndroid Build Coastguard WorkerProtocol Buffers (a.k.a., protobuf) are Google's language-neutral,
12*6777b538SAndroid Build Coastguard Workerplatform-neutral, extensible mechanism for serializing structured data. You
13*6777b538SAndroid Build Coastguard Workercan find [protobuf's documentation on the Google Developers site](https://developers.google.com/protocol-buffers/).
14*6777b538SAndroid Build Coastguard Worker
15*6777b538SAndroid Build Coastguard WorkerThis README file contains protobuf installation instructions. To install
16*6777b538SAndroid Build Coastguard Workerprotobuf, you need to install the protocol compiler (used to compile .proto
17*6777b538SAndroid Build Coastguard Workerfiles) and the protobuf runtime for your chosen programming language.
18*6777b538SAndroid Build Coastguard Worker
19*6777b538SAndroid Build Coastguard WorkerProtocol Compiler Installation
20*6777b538SAndroid Build Coastguard Worker------------------------------
21*6777b538SAndroid Build Coastguard Worker
22*6777b538SAndroid Build Coastguard WorkerThe protocol compiler is written in C++. If you are using C++, please follow
23*6777b538SAndroid Build Coastguard Workerthe [C++ Installation Instructions](src/README.md) to install protoc along
24*6777b538SAndroid Build Coastguard Workerwith the C++ runtime.
25*6777b538SAndroid Build Coastguard Worker
26*6777b538SAndroid Build Coastguard WorkerFor non-C++ users, the simplest way to install the protocol compiler is to
27*6777b538SAndroid Build Coastguard Workerdownload a pre-built binary from our release page:
28*6777b538SAndroid Build Coastguard Worker
29*6777b538SAndroid Build Coastguard Worker  [https://github.com/protocolbuffers/protobuf/releases](https://github.com/protocolbuffers/protobuf/releases)
30*6777b538SAndroid Build Coastguard Worker
31*6777b538SAndroid Build Coastguard WorkerIn the downloads section of each release, you can find pre-built binaries in
32*6777b538SAndroid Build Coastguard Workerzip packages: protoc-$VERSION-$PLATFORM.zip. It contains the protoc binary
33*6777b538SAndroid Build Coastguard Workeras well as a set of standard .proto files distributed along with protobuf.
34*6777b538SAndroid Build Coastguard Worker
35*6777b538SAndroid Build Coastguard WorkerIf you are looking for an old version that is not available in the release
36*6777b538SAndroid Build Coastguard Workerpage, check out the maven repo here:
37*6777b538SAndroid Build Coastguard Worker
38*6777b538SAndroid Build Coastguard Worker  [https://repo1.maven.org/maven2/com/google/protobuf/protoc/](https://repo1.maven.org/maven2/com/google/protobuf/protoc/)
39*6777b538SAndroid Build Coastguard Worker
40*6777b538SAndroid Build Coastguard WorkerThese pre-built binaries are only provided for released versions. If you want
41*6777b538SAndroid Build Coastguard Workerto use the github main version at HEAD, or you need to modify protobuf code,
42*6777b538SAndroid Build Coastguard Workeror you are using C++, it's recommended to build your own protoc binary from
43*6777b538SAndroid Build Coastguard Workersource.
44*6777b538SAndroid Build Coastguard Worker
45*6777b538SAndroid Build Coastguard WorkerIf you would like to build protoc binary from source, see the [C++ Installation
46*6777b538SAndroid Build Coastguard WorkerInstructions](src/README.md).
47*6777b538SAndroid Build Coastguard Worker
48*6777b538SAndroid Build Coastguard WorkerProtobuf Runtime Installation
49*6777b538SAndroid Build Coastguard Worker-----------------------------
50*6777b538SAndroid Build Coastguard Worker
51*6777b538SAndroid Build Coastguard WorkerProtobuf supports several different programming languages. For each programming
52*6777b538SAndroid Build Coastguard Workerlanguage, you can find instructions in the corresponding source directory about
53*6777b538SAndroid Build Coastguard Workerhow to install protobuf runtime for that specific language:
54*6777b538SAndroid Build Coastguard Worker
55*6777b538SAndroid Build Coastguard Worker| Language                             | Source                                                      |
56*6777b538SAndroid Build Coastguard Worker|--------------------------------------|-------------------------------------------------------------|
57*6777b538SAndroid Build Coastguard Worker| C++ (include C++ runtime and protoc) | [src](src)                                                  |
58*6777b538SAndroid Build Coastguard Worker| Java                                 | [java](java)                                                |
59*6777b538SAndroid Build Coastguard Worker| Python                               | [python](python)                                            |
60*6777b538SAndroid Build Coastguard Worker| Objective-C                          | [objectivec](objectivec)                                    |
61*6777b538SAndroid Build Coastguard Worker| C#                                   | [csharp](csharp)                                            |
62*6777b538SAndroid Build Coastguard Worker| Ruby                                 | [ruby](ruby)                                                |
63*6777b538SAndroid Build Coastguard Worker| Go                                   | [protocolbuffers/protobuf-go](https://github.com/protocolbuffers/protobuf-go)|
64*6777b538SAndroid Build Coastguard Worker| PHP                                  | [php](php)                                                  |
65*6777b538SAndroid Build Coastguard Worker| Dart                                 | [dart-lang/protobuf](https://github.com/dart-lang/protobuf) |
66*6777b538SAndroid Build Coastguard Worker
67*6777b538SAndroid Build Coastguard WorkerQuick Start
68*6777b538SAndroid Build Coastguard Worker-----------
69*6777b538SAndroid Build Coastguard Worker
70*6777b538SAndroid Build Coastguard WorkerThe best way to learn how to use protobuf is to follow the tutorials in our
71*6777b538SAndroid Build Coastguard Workerdeveloper guide:
72*6777b538SAndroid Build Coastguard Worker
73*6777b538SAndroid Build Coastguard Workerhttps://developers.google.com/protocol-buffers/docs/tutorials
74*6777b538SAndroid Build Coastguard Worker
75*6777b538SAndroid Build Coastguard WorkerIf you want to learn from code examples, take a look at the examples in the
76*6777b538SAndroid Build Coastguard Worker[examples](examples) directory.
77*6777b538SAndroid Build Coastguard Worker
78*6777b538SAndroid Build Coastguard WorkerDocumentation
79*6777b538SAndroid Build Coastguard Worker-------------
80*6777b538SAndroid Build Coastguard Worker
81*6777b538SAndroid Build Coastguard WorkerThe complete documentation for Protocol Buffers is available via the
82*6777b538SAndroid Build Coastguard Workerweb at:
83*6777b538SAndroid Build Coastguard Worker
84*6777b538SAndroid Build Coastguard Workerhttps://developers.google.com/protocol-buffers/
85