diff options
Diffstat (limited to 'third_party/protobuf/3.4.0/java/README.md')
-rw-r--r-- | third_party/protobuf/3.4.0/java/README.md | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/third_party/protobuf/3.4.0/java/README.md b/third_party/protobuf/3.4.0/java/README.md new file mode 100644 index 0000000000..0e0fba647a --- /dev/null +++ b/third_party/protobuf/3.4.0/java/README.md @@ -0,0 +1,127 @@ +Protocol Buffers - Google's data interchange format +=================================================== + +[![Build Status](https://travis-ci.org/google/protobuf.svg?branch=master)](https://travis-ci.org/google/protobuf) + +Copyright 2008 Google Inc. + +This directory contains the Java Protocol Buffers runtime library. + +Installation - With Maven +========================= + +The Protocol Buffers build is managed using Maven. If you would +rather build without Maven, see below. + +1) Install Apache Maven if you don't have it: + + http://maven.apache.org/ + +2) Build the C++ code, or obtain a binary distribution of protoc (see + the toplevel [README.md](../README.md)). If you install a binary + distribution, make sure that it is the same version as this package. + If in doubt, run: + + $ protoc --version + + You will need to place the protoc executable in ../src. (If you + built it yourself, it should already be there.) + +3) Run the tests: + + $ mvn test + + If some tests fail, this library may not work correctly on your + system. Continue at your own risk. + +4) Install the library into your Maven repository: + + $ mvn install + +5) If you do not use Maven to manage your own build, you can build a + .jar file to use: + + $ mvn package + + The .jar will be placed in the "target" directory. + +The above instructions will install 3 maven artifacts: + + * protobuf-java: The core Java Protocol Buffers library. Most users only + need this artifact. + * protobuf-lite: The lite version of core Java Protobuf Buffers library. It + is a subset of the core library and is used together with + the 'lite' code generator flag to reduce generated code size + for mobile. + * protobuf-java-util: Utilities to work with protos. It contains JSON support + as well as utilities to work with proto3 well-known + types. + +Installation - Without Maven +============================ + +If you would rather not install Maven to build the library, you may +follow these instructions instead. Note that these instructions skip +running unit tests and only describes how to install the core protobuf +library (without the util package). + +1) Build the C++ code, or obtain a binary distribution of protoc. If + you install a binary distribution, make sure that it is the same + version as this package. If in doubt, run: + + $ protoc --version + + If you built the C++ code without installing, the compiler binary + should be located in ../src. + +2) Invoke protoc to build DescriptorProtos.java: + + $ protoc --java_out=core/src/main/java -I../src \ + ../src/google/protobuf/descriptor.proto + +3) Compile the code in core/src/main/java using whatever means you prefer. + +4) Install the classes wherever you prefer. + +Compatibility Notice +==================== + +* Protobuf minor version releases are backwards-compatible. If your code + can build/run against the old version, it's expected to build/run against + the new version as well. Both binary compatibility and source compatibility + are guaranteed for minor version releases if the user follows the guideline + described in this section. + +* Protobuf major version releases may also be backwards-compatbile with the + last release of the previous major version. See the release notice for more + details. + +* APIs marked with the @ExperimentalApi annotation are subject to change. They + can be modified in any way, or even removed, at any time. Don't use them if + compatibility is needed. If your code is a library itself (i.e. it is used on + the CLASSPATH of users outside your own control), you should not use + experimental APIs, unless you repackage them (e.g. using ProGuard). + +* Deprecated non-experimental APIs will be removed two years after the release + in which they are first deprecated. You must fix your references before this + time. If you don't, any manner of breakage could result (you are not + guaranteed a compilation error). + +* Protobuf message interfaces/classes are designed to be subclassed by protobuf + generated code only. Do not subclass these message interfaces/classes + yourself. We may add new methods to the message interfaces/classes which will + break your own subclasses. + +* Don't use any method/class that is marked as "used by generated code only". + Such methods/classes are subject to change. + +* Protobuf LITE runtime APIs are not stable yet. They are subject to change even + in minor version releases. + +Documentation +============= + +The complete documentation for Protocol Buffers is available via the +web at: + + https://developers.google.com/protocol-buffers/ |