| 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: Defaults are not yet supported. And the file and rpc |
| containers are not yet implemented. Documentation, sparse. |
| |
| INSTRUCTIONS |
| |
| To compile requires boost headers, and the boost regex library. |
| Additionally, to generate the avro spec compiler requires flex and bison. |
| To build one requires cmake 2.6 or later. |
| |
| To generate a Makefile under Unix or Cygwin use: |
| |
| 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 |
| ./build/unittest |
| ./build/buffertest |
| ./build/testgentest |
| ./build/CodecTests |
| ./build/StreamTests |
| |
| To install |
| |
| make package |
| |
| and then untar the generated .tar.gz file. |
| |
| 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. |