Thrift编译器允许为生成的文件指定输出目录。
我正在编写Java客户端和C#服务器,我希望-gen java
和-gen csharp
生成的文件位于项目的不同目录中。
有可能吗?
答案 0 :(得分:6)
...按照模式gen-<lang>
,每种语言生成一个文件夹。
thrift -gen java -gen csharp myfile.thrift
在您的情况下,这将是gen-csharp
和gen-java
。如果这不符合您的要求,请尝试
通过-out
参数,您可以告诉Thrift在您想要的任何文件夹中生成代码。唯一需要注意的是,必须事先创建这些目标文件夹。除了使用默认文件夹,这些文件夹不会自动创建。
mkdir my/cool/javadir
mkdir my/cool/csdir
thrift -gen java -out my/cool/javadir myfile.thrift
thrift -gen csharp -out my/cool/csdir myfile.thrift
输入thrift -help
以查看所有选项:
$ thrift -help
Usage: thrift [options] file
Options:
-version Print the compiler version
-o dir Set the output directory for gen-* packages
(default: current directory)
-out dir Set the ouput location for generated files.
(no gen-* folder will be created)
-I dir Add a directory to the list of directories
searched for include directives
-nowarn Suppress all compiler warnings (BAD!)
-strict Strict compiler warnings on
-v[erbose] Verbose mode
-r[ecurse] Also generate included files
-debug Parse debug trace to stdout
--allow-neg-keys Allow negative field keys (Used to preserve protocol
compatibility with older .thrift files)
--allow-64bit-consts Do not print warnings about using 64-bit constants
--gen STR Generate code with a dynamically-registered generator.
STR has the form language[:key1=val1[,key2[,key3=val3]]].
Keys and values are options passed to the generator.
Many options will not require values.
Available generators (and options):
(... more options ...)
有可能吗?
是的,是的。