thriftgo

command module
v0.3.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

README

Thriftgo

English | 中文

Thriftgo is an implementation of thrift compiler in go language. It has a command line interface similar to the apache/thrift compiler and is enhanced with a plugin mechanism which makes it more powerful.

Installation

Note: before executing the following commands, make sure your GOPATH environment is properly set.

Using go install:

GO111MODULE=on go install github.com/cloudwego/thriftgo@latest

Or build from source:

git clone https://github.com/cloudwego/thriftgo.git
cd thriftgo
export GO111MODULE=on
go mod tidy
go build
go install

Usage

The Thriftgo command line tool accepts IDL files and compiles them to the target language. Each backend has a plentiful set of options to customize the generated code.

By the moment, Thriftgo can generates golang code only. More backends will be added in the future.

To compile an thrift IDL to golang files with the default setting, you can just run:

thriftgo -g go the-idl-file.thrift

Run thriftgo -h to see all available options for each backend and their meanings.

Plugin

If the code generated by Thriftgo does not satisfy your needs and the options provideds do not meet your requirements. You may also write plugins to generate code beside Thriftgo while taking the advantage of Thriftgo's IDL parser. Check the documentation of the plugin package for more details.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
extension
Package generator contains the generator implementation that manages backends.
Package generator contains the generator implementation that manages backends.
backend
Package backend defines the Backend interface for generators.
Package backend defines the Backend interface for generators.
golang
Package golang is the generator backend for golang.
Package golang is the generator backend for golang.
golang/extension/unknown
Package unknown .
Package unknown .
golang/templates
Package templates defines templates for generating golang codes.
Package templates defines templates for generating golang codes.
internal
Package parser parses a thrift IDL file with its dependencies into an abstract syntax tree.
Package parser parses a thrift IDL file with its dependencies into an abstract syntax tree.
pkg
namespace
Package namespace implements a namespace to solve name collision.
Package namespace implements a namespace to solve name collision.
test
Package test provides some simple assertion functions to simplify unit tests.
Package test provides some simple assertion functions to simplify unit tests.
Package plugin defines the interface for implementing thriftgo plugins.
Package plugin defines the interface for implementing thriftgo plugins.
Package semantic contains semantic checking for AST parsed from a IDL.
Package semantic contains semantic checking for AST parsed from a IDL.
tool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL