@@ -85,4 +85,219 @@ list of `FILES...`.
8585 This will generate a `mydata.json` file.
8686
8787
88+ ### Additional options
89+
90+ - ` -o PATH ` : Output all generated files to PATH (either absolute, or
91+ relative to the current directory). If omitted, PATH will be the
92+ current directory. PATH should end in your systems path separator,
93+ e.g. ` / ` or ` \ ` .
94+
95+ - ` -I PATH ` : when encountering ` include ` statements, attempt to load the
96+ files from this path. Paths will be tried in the order given, and if all
97+ fail (or none are specified) it will try to load relative to the path of
98+ the schema file being parsed.
99+
100+ - ` -M ` : Print make rules for generated files.
101+
102+ - ` --strict-json ` : Require & generate strict JSON (field names are enclosed
103+ in quotes, no trailing commas in tables/vectors). By default, no quotes are
104+ required/generated, and trailing commas are allowed.
105+
106+ - ` --allow-non-utf8 ` : Pass non-UTF-8 input through parser and emit nonstandard
107+ \x escapes in JSON. (Default is to raise parse error on non-UTF-8 input.)
108+
109+ - ` --natural-utf8 ` : Output strings with UTF-8 as human-readable strings.
110+ By default, UTF-8 characters are printed as \uXXXX escapes."
111+
112+ - ` --defaults-json ` : Output fields whose value is equal to the default value
113+ when writing JSON text.
114+
115+ - ` --no-prefix ` : Don't prefix enum values in generated C++ by their enum
116+ type.
117+
118+ - ` --scoped-enums ` : Use C++11 style scoped and strongly typed enums in
119+ generated C++. This also implies ` --no-prefix ` .
120+
121+ - ` --no-emit-min-max-enum-values ` : Disable generation of MIN and MAX
122+ enumerated values for scoped enums and prefixed enums.
123+
124+ - ` --gen-includes ` : (deprecated), this is the default behavior.
125+ If the original behavior is required (no include
126+ statements) use ` --no-includes. `
127+
128+ - ` --no-includes ` : Don't generate include statements for included schemas the
129+ generated file depends on (C++ / Python).
130+
131+ - ` --gen-mutable ` : Generate additional non-const accessors for mutating
132+ FlatBuffers in-place.
133+
134+ - ` --gen-onefile ` : Generate single output file for C#, Go, and Python.
135+
136+ - ` --gen-name-strings ` : Generate type name functions for C++.
137+
138+ - ` --gen-object-api ` : Generate an additional object-based API. This API is
139+ more convenient for object construction and mutation than the base API,
140+ at the cost of efficiency (object allocation). Recommended only to be used
141+ if other options are insufficient.
142+
143+ - ` --gen-compare ` : Generate operator== for object-based API types.
144+
145+ - ` --gen-nullable ` : Add Clang \_ Nullable for C++ pointer. or @Nullable for Java.
146+
147+ - ` --gen-generated ` : Add @Generated annotation for Java.
148+
149+ - ` --gen-jvmstatic ` : Add @JvmStatic annotation for Kotlin methods
150+ in companion object for interop from Java to Kotlin.
151+
152+ - ` --gen-all ` : Generate not just code for the current schema files, but
153+ for all files it includes as well. If the language uses a single file for
154+ output (by default the case for C++ and JS), all code will end up in
155+ this one file.
156+
157+ - ` --cpp-include ` : Adds an #include in generated file
158+
159+ - ` --cpp-ptr-type T ` : Set object API pointer type (default std::unique_ptr)
160+
161+ - ` --cpp-str-type T ` : Set object API string type (default std::string)
162+ T::c_str(), T::length() and T::empty() must be supported.
163+ The custom type also needs to be constructible from std::string (see the
164+ --cpp-str-flex-ctor option to change this behavior).
165+
166+ - ` --cpp-str-flex-ctor ` : Don't construct custom string types by passing
167+ std::string from Flatbuffers, but (char* + length). This allows efficient
168+ construction of custom string types, including zero-copy construction.
169+
170+ - ` --no-cpp-direct-copy ` : Don't generate direct copy methods for C++
171+ object-based API.
172+
173+ - ` --cpp-std CPP_STD ` : Generate a C++ code using features of selected C++ standard.
174+ Supported ` CPP_STD ` values:
175+ * ` c++0x ` - generate code compatible with old compilers (VS2010),
176+ * ` c++11 ` - use C++11 code generator (default),
177+ * ` c++17 ` - use C++17 features in generated code (experimental).
178+
179+ - ` --object-prefix ` : Customise class prefix for C++ object-based API.
180+
181+ - ` --object-suffix ` : Customise class suffix for C++ object-based API.
182+
183+ - ` --go-namespace ` : Generate the overrided namespace in Golang.
184+
185+ - ` --go-import ` : Generate the overrided import for flatbuffers in Golang.
186+ (default is "github.com/google/flatbuffers/go").
187+
188+ - ` --raw-binary ` : Allow binaries without a file_indentifier to be read.
189+ This may crash flatc given a mismatched schema.
190+
191+ - ` --size-prefixed ` : Input binaries are size prefixed buffers.
192+
193+ - ` --proto ` : Expect input files to be .proto files (protocol buffers).
194+ Output the corresponding .fbs file.
195+ Currently supports: ` package ` , ` message ` , ` enum ` , nested declarations,
196+ ` import ` (use ` -I ` for paths), ` extend ` , ` oneof ` , ` group ` .
197+ Does not support, but will skip without error: ` option ` , ` service ` ,
198+ ` extensions ` , and most everything else.
199+
200+ - ` --oneof-union ` : Translate .proto oneofs to flatbuffer unions.
201+
202+ - ` --grpc ` : Generate GRPC interfaces for the specified languages.
203+
204+ - ` --schema ` : Serialize schemas instead of JSON (use with -b). This will
205+ output a binary version of the specified schema that itself corresponds
206+ to the reflection/reflection.fbs schema. Loading this binary file is the
207+ basis for reflection functionality.
208+
209+ - ` --bfbs-comments ` : Add doc comments to the binary schema files.
210+
211+ - ` --conform FILE ` : Specify a schema the following schemas should be
212+ an evolution of. Gives errors if not. Useful to check if schema
213+ modifications don't break schema evolution rules.
214+
215+ - ` --conform-includes PATH ` : Include path for the schema given with
216+ ` --conform PATH ` .
217+
218+ - ` --filename-suffix SUFFIX ` : The suffix appended to the generated
219+ file names. Default is '\_ generated'.
220+
221+ - ` --filename-ext EXTENSION ` : The extension appended to the generated
222+ file names. Default is language-specific (e.g. "h" for C++). This
223+ should not be used when multiple languages are specified.
224+
225+ - ` --include-prefix PATH ` : Prefix this path to any generated include
226+ statements.
227+
228+ - ` --keep-prefix ` : Keep original prefix of schema include statement.
229+
230+ - ` --reflect-types ` : Add minimal type reflection to code generation.
231+
232+ - ` --reflect-names ` : Add minimal type/name reflection.
233+
234+ - ` --root-type T ` : Select or override the default root_type.
235+
236+ - ` --require-explicit-ids ` : When parsing schemas, require explicit ids (id: x).
237+
238+ - ` --force-defaults ` : Emit default values in binary output from JSON.
239+
240+ - ` --force-empty ` : When serializing from object API representation, force
241+ strings and vectors to empty rather than null.
242+
243+ - ` --force-empty-vectors ` : When serializing from object API representation, force
244+ vectors to empty rather than null.
245+
246+ - ` --flexbuffers ` : Used with "binary" and "json" options, it generates
247+ data using schema-less FlexBuffers.
248+
249+ - ` --no-warnings ` : Inhibit all warning messages.
250+
251+ - ` --cs-global-alias ` : Prepend ` global:: ` to all user generated csharp classes and structs.
252+
253+ - ` --json-nested-bytes ` : Allow a nested_flatbuffer field to be parsed as a
254+ vector of bytes in JSON, which is unsafe unless checked by a verifier
255+ afterwards.
256+
257+ - ` --python-no-type-prefix-suffix ` : Skip emission of Python functions that are prefixed
258+ with typenames
259+
260+ - ` --python-typing ` : Generate Python type annotations
261+
262+ Additional gRPC options:
263+
264+ - ` --grpc-filename-suffix ` : ` [C++] ` An optional suffix for the generated
265+ files' names. For example, compiling gRPC for C++ with
266+ ` --grpc-filename-suffix=.fbs ` will generate ` {name}.fbs.h ` and
267+ ` {name}.fbs.cc ` files.
268+
269+ - ` --grpc-additional-header ` : ` [C++] ` Additional headers to include in the
270+ generated files.
271+
272+ - ` --grpc-search-path ` : ` [C++] ` An optional prefix for the gRPC runtime path.
273+ For example, compiling gRPC for C++ with ` --grpc-search-path=some/path ` will
274+ generate the following includes:
275+
276+ ``` cpp
277+ #include " some/path/grpcpp/impl/codegen/async_stream.h"
278+ #include " some/path/grpcpp/impl/codegen/async_unary_call.h"
279+ #include " some/path/grpcpp/impl/codegen/method_handler.h"
280+ ...
281+ ```
282+
283+ - `--grpc-use-system-headers`: `[C++]` Whether to generate `#include <header>`
284+ instead of `#include " header.h" ` for all headers when compiling gRPC for
285+ C++. For example, compiling gRPC for C++ with `--grpc-use-system-headers`
286+ will generate the following includes:
287+
288+ ```cpp
289+ #include < some/path/grpcpp/impl/codegen/async_stream.h>
290+ #include < some/path/grpcpp/impl/codegen/async_unary_call.h>
291+ #include < some/path/grpcpp/impl/codegen/method_handler.h>
292+ ...
293+ ```
294+
295+ NOTE: This option can be negated with `--no-grpc-use-system-headers`.
296+
297+ - `--grpc-python-typed-handlers`: `[Python]` Whether to generate the typed
298+ handlers that use the generated Python classes instead of raw bytes for
299+ requests/responses.
300+
301+ NOTE: short -form options for generators are deprecated, use the long form
302+ whenever possible.
88303
0 commit comments