README
1Avro C++ README.txt
2
3The C++ port is thus far incomplete. Currently, it contains:
4
5 - Serializer/Parser- objects for writing/reading raw binary.
6
7 - xxxSchema- objects for composing schemas.
8
9 - ValidSchema- a schema object that has been converted to a parse tree
10 (with some sanity checks).
11
12 - ValidSchema.toJson() writes the schema as a json object.
13
14 - ValidatingSerializer/ValidatingParser- check that reads/writes
15 match the expected schema type (more expensive than the raw
16 serializer/parser but they detect errors, and allow dynamic
17 discovery of parsed data/attributes).
18
19 - Compiler (compileJsonSchema())- converts a Json string schema to a
20 ValidSchema.
21
22 - Code Generation (experimental) - given a schema it generates C++
23 objects of the same data types, and the code to serialize and parse
24 it.
25
26What's missing: Defaults are not yet supported. And the file and rpc
27containers are not yet implemented. Documentation, sparse.
28
29INSTRUCTIONS
30
31To compile requires boost headers, and the boost regex library.
32Additionally, to generate the avro spec compiler requires flex and bison.
33To build one requires cmake 2.6 or later.
34
35To generate a Makefile under Unix or Cygwin use:
36
37cmake -G "Unix Makefiles"
38
39If it doesn't work, either you are missing some packages (boost, flex or bison),
40or you need to help configure locate them.
41
42If the Makefile is configured correctly, then you can make and run tests:
43
44 make
45 ./build/unittest
46 ./build/buffertest
47 ./build/testgentest
48 ./build/CodecTests
49 ./build/StreamTests
50
51To install
52
53 make package
54
55and then untar the generated .tar.gz file.
56
57
README.md
1avrocpp
2=======
3
4Patched fork of the Apache AvroC++ project. The purposes of this fork are:
5- to provide a version of Avro that can be bundled internally to a project without risk of conflicting with an external build
6- add seek support for Avro data containers
7- add support for writing Avro data containers to arbitrary streams
8- fix various problems with Avro exports
9
10Branch names are the version of avrocpp that is being forked. See the log for the branch for a more complete list of patches.
11