Git Product home page Git Product logo

avro-cpp-packaging's Introduction

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.

avro-cpp-packaging's People

Contributors

edenhill avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.