scrooge

A Thrift parser/generator

Github星跟踪图

Scrooge

Build status
Codecov
Project status
Gitter
Maven Central

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

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. It integrates with the finagle project, exporting stats
and finagle APIs, and makes it easy to build high throughput, low latency,
robust thrift servers and clients.

Part of the motivation behind scrooge's scala implementation is that 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. Scrooge bypasses the problem by generating Scala
code directly. It also uses Scala syntax so the generated code is much more
compact.

There is a comprehensive set of unit tests, which generate code, compile it, and
execute it to verify expectations, as well as gold files to make it easy to
review the effects of changes to the generator.

Status

This project is used in production at Twitter (and many other organizations),
and is actively developed and maintained.

Building the develop branch locally

We are not currently publishing snapshots for Scrooge's dependencies, which
means that it may be necessary to publish the develop branches of these
libraries locally in order to work on Scrooge's develop branch. To do so
you can use our build tool, dodo.

curl -s https://raw.githubusercontent.com/twitter/dodo/develop/bin/build, bash -s -- --no-test scrooge

If you have any questions or run into any problems, please create
an issue here, tweet at us at @finagle, or email
the Finaglers mailing list.

Full Documentation

https://twitter.github.io/scrooge/

Copyright 2013-2019 Twitter, Inc.

主要指标

概览
名称与所有者twitter/scrooge
主编程语言Scala
编程语言Shell (语言数: 11)
平台
许可证Apache License 2.0
所有者活动
创建于2011-08-22 15:17:18
推送于2025-04-02 01:10:55
最后一次提交
发布数95
最新版本名称scrooge-24.5.0 (发布于 )
第一版名称org=com.twitter,name=scrooge,version=1.1.3 (发布于 2011-09-06 14:54:00)
用户参与
星数797
关注者数161
派生数248
提交数1.9k
已启用问题?
问题数177
打开的问题数34
拉请求数26
打开的拉请求数10
关闭的拉请求数156
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?