Skip to content
This repository

A Thrift parser/generator

Merge branch 'tmp'

latest commit b9732b032f
Mr. Jenkins authored April 18, 2014
Octocat-spinner-32 bin [split] Move scrooge into the birdcage July 30, 2013
Octocat-spinner-32 demos [split] bump scrooge generator version April 02, 2014
Octocat-spinner-32 doc [split] update cli usage docs April 18, 2014
Octocat-spinner-32 project [split] Revert "upload the scrooge sbt plugin to bintray" April 17, 2014
Octocat-spinner-32 scrooge-benchmark [split] bump scrooge to 3.13.3-SNAPSHOT April 11, 2014
Octocat-spinner-32 scrooge-core [split] bump scrooge to 3.13.3-SNAPSHOT April 11, 2014
Octocat-spinner-32 scrooge-generator [split] Removing scrooge-generated null checks for primitive Scala types April 14, 2014
Octocat-spinner-32 scrooge-maven-plugin [split] bump scrooge to 3.13.3-SNAPSHOT April 11, 2014
Octocat-spinner-32 scrooge-ostrich [split] scrooge-ostrich: Add a flag for enabling ThriftMux April 12, 2014
Octocat-spinner-32 scrooge-runtime [split] bump scrooge to 3.13.3-SNAPSHOT April 11, 2014
Octocat-spinner-32 scrooge-sbt-plugin [split] add the thrift root to the list of includes for scrooge February 07, 2014
Octocat-spinner-32 scrooge-serializer [split] bump scrooge to 3.13.3-SNAPSHOT April 11, 2014
Octocat-spinner-32 .gitignore [split] Move scrooge into the birdcage July 30, 2013
Octocat-spinner-32 .travis.yml [split] Move scrooge into the birdcage July 30, 2013
Octocat-spinner-32 CHANGES [split] bump scrooge to 3.13.3-SNAPSHOT April 11, 2014
Octocat-spinner-32 GROUPS [split] move scrooge-runtime to scrooge August 01, 2013
Octocat-spinner-32 LICENSE [split] Move scrooge into the birdcage July 30, 2013
Octocat-spinner-32 OWNERS [split] Cleanup around the TypeResolver - add myself to the owners - … August 08, 2013
Octocat-spinner-32 README.md [split] create scrooge-core leaving legacy finagle code in scrooge-ru… August 05, 2013
Octocat-spinner-32 pom.xml [split] bump scrooge to 3.13.3-SNAPSHOT April 11, 2014
Octocat-spinner-32 pushsite.bash [split] create scrooge documentation site July 31, 2013
Octocat-spinner-32 sbt [split] add sbt 0.13 variant of scrooge-sbt-plugin March 05, 2014
README.md

Scrooge

Build Status

Scrooge is a thrift code generator written in Scala, which currently generates code for Scala and Java.

It's meant to be a replacement for the apache thrift code generator, and generates conforming, compatible binary codecs by building on top of libthrift.

Since Scala is API-compatible with Java, you can use the apache thrift code generator to generate Java files and use them from within Scala, but the generated code uses Java collections and mutable "bean" classes, causing some annoying boilerplate conversions to be hand-written. This is an attempt to bypass the problem by generating Scala code directly. It also uses Scala syntax so the generated code is much more compact.

There is a fairly comprehensive set of unit tests, which actually generate code, compile it, and execute it to verify expectations.

Quick-start

There are a couple of classes needed by the generated code. These have been moved out of scrooge into a separate jar to keep dependencies small. Maven users need to add the following to the pom.xml file:

<dependency>
  <groupId>com.twitter</groupId>
  <artifactId>scrooge-core_2.9.2</artifactId>
  <version>3.3.2</version>
</dependency>

SBT users need this:

val scroogeCore = "com.twitter" %% "scrooge-core" % "3.3.2"

Full Documentation

http://twitter.github.io/scrooge/

Something went wrong with that request. Please try again.