diff options
Diffstat (limited to 'scripts/generate_code.py')
-rwxr-xr-x | scripts/generate_code.py | 47 |
1 files changed, 34 insertions, 13 deletions
diff --git a/scripts/generate_code.py b/scripts/generate_code.py index 13968c5e..df53ba51 100755 --- a/scripts/generate_code.py +++ b/scripts/generate_code.py @@ -14,6 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +import argparse import filecmp import glob import platform @@ -22,6 +23,19 @@ import subprocess import sys from pathlib import Path +parser = argparse.ArgumentParser() +parser.add_argument( + "--flatc", + help="path of the Flat C compiler relative to the root directory", +) +parser.add_argument("--cpp-0x", action="store_true", help="use --cpp-std c++ox") +parser.add_argument( + "--skip-monster-extra", + action="store_true", + help="skip generating tests involving monster_extra.fbs", +) +args = parser.parse_args() + # Get the path where this script is located so we can invoke the script from # any directory and have the paths work correctly. script_path = Path(__file__).parent.resolve() @@ -33,8 +47,8 @@ root_path = script_path.parent.absolute() # argument or defaulting to default names. flatc_exe = Path( ("flatc" if not platform.system() == "Windows" else "flatc.exe") - if len(sys.argv) <= 1 - else sys.argv[1] + if not args.flatc + else args.flatc ) # Find and assert flatc compiler is present. @@ -79,7 +93,8 @@ CPP_OPTS = [ "--gen-compare", "--cpp-ptr-type", "flatbuffers::unique_ptr", -] +] + (["--cpp-std", "c++0x"] if args.cpp_0x else []) + CPP_17_OPTS = NO_INCL_OPTS + [ "--cpp", "--cpp-std", @@ -230,11 +245,22 @@ flatc( schema="monster_test.fbs", ) -flatc( - CPP_OPTS + CS_OPTS + NO_INCL_OPTS + JAVA_OPTS + KOTLIN_OPTS + PYTHON_OPTS, - schema="monster_extra.fbs", - data="monsterdata_extra.json", -) +if not args.skip_monster_extra: + flatc( + CPP_OPTS + + CS_OPTS + + NO_INCL_OPTS + + JAVA_OPTS + + KOTLIN_OPTS + + PYTHON_OPTS, + schema="monster_extra.fbs", + data="monsterdata_extra.json", + ) + + flatc( + DART_OPTS + ["--gen-object-api"], + schema="monster_extra.fbs", + ) flatc( CPP_OPTS @@ -256,11 +282,6 @@ flatc( schema="arrays_test.fbs", ) -flatc( - DART_OPTS + ["--gen-object-api"], - schema="monster_extra.fbs", -) - # Optional Scalars optional_scalars_schema = "optional_scalars.fbs" |