aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/apache/avro/README
diff options
context:
space:
mode:
authorDevtools Arcadia <arcadia-devtools@yandex-team.ru>2022-02-07 18:08:42 +0300
committerDevtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net>2022-02-07 18:08:42 +0300
commit1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch)
treee26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/libs/apache/avro/README
downloadydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/libs/apache/avro/README')
-rw-r--r--contrib/libs/apache/avro/README69
1 files changed, 69 insertions, 0 deletions
diff --git a/contrib/libs/apache/avro/README b/contrib/libs/apache/avro/README
new file mode 100644
index 0000000000..6b081f13a8
--- /dev/null
+++ b/contrib/libs/apache/avro/README
@@ -0,0 +1,69 @@
+Avro C++ README.txt
+
+The C++ port is thus far incomplete. Currently, it contains:
+
+ - Serializer/Parser- objects for writing/reading raw binary.
+
+ - xxxSchema- objects for composing schemas.
+
+ - ValidSchema- a schema object that has been converted to a parse tree
+ (with some sanity checks).
+
+ - ValidSchema.toJson() writes the schema as a json object.
+
+ - ValidatingSerializer/ValidatingParser- check that reads/writes
+ match the expected schema type (more expensive than the raw
+ serializer/parser but they detect errors, and allow dynamic
+ discovery of parsed data/attributes).
+
+ - Compiler (compileJsonSchema())- converts a Json string schema to a
+ ValidSchema.
+
+ - Code Generation (experimental) - given a schema it generates C++
+ objects of the same data types, and the code to serialize and parse
+ it.
+
+What's missing: Rpc containers are not yet implemented. Documentation is sparse.
+
+INSTRUCTIONS
+
+Pre-requisites:
+
+To compile requires boost headers, and the boost regex library. Optionally, it requires Snappy compression library. If Snappy is available, it builds support for Snappy compression and skips it otherwise. (Please see your OS-specific instructions on how to install Boost and Snappy for your OS).
+
+To build one requires cmake 2.6 or later.
+
+To generate a Makefile under Unix, MacOS (using GNU) or Cygwin use:
+
+mkdir build
+cd build
+cmake -G "Unix Makefiles" ..
+
+If it doesn't work, either you are missing some packages (boost, flex or bison),
+or you need to help configure locate them.
+
+If the Makefile is configured correctly, then you can make and run tests:
+
+ make
+ ctest
+
+To install
+
+ make package
+
+and then untar the generated .tar.gz file.
+
+To build and test on MacOS (using Xcode)
+
+mkdir build.mac
+cd build.mac
+cmake -G Xcode
+
+xcodebuild -configuration Release
+ctest -C Release
+
+If debug version is required, replace 'Release' above with 'Debug'.
+
+Note: The LICENSE and NOTICE files in the lang/c++ source directory are used to
+build the binary distribution. The LICENSE and NOTICE information for the Avro
+C++ source distribution is in the root directory.