From cbacfa6277592dd05f6d9a5aaf1026ba58e74162 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Mon, 8 Sep 2025 17:00:41 -0400 Subject: Added godobuf fork to repository --- vendor/godobuf/addons/protobuf/protobuf_cmdln.gd | 66 ++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 vendor/godobuf/addons/protobuf/protobuf_cmdln.gd (limited to 'vendor/godobuf/addons/protobuf/protobuf_cmdln.gd') diff --git a/vendor/godobuf/addons/protobuf/protobuf_cmdln.gd b/vendor/godobuf/addons/protobuf/protobuf_cmdln.gd new file mode 100644 index 0000000..97d7ba4 --- /dev/null +++ b/vendor/godobuf/addons/protobuf/protobuf_cmdln.gd @@ -0,0 +1,66 @@ +# +# BSD 3-Clause License +# +# Copyright (c) 2018, Oleg Malyavkin +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# * Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +extends SceneTree + +var Parser = preload("res://addons/protobuf/parser.gd") +var Util = preload("res://addons/protobuf/protobuf_util.gd") + +func error(msg : String): + push_error(msg) + quit() + +func _init(): + var arguments = {} + for argument in OS.get_cmdline_args(): + if argument.find("=") > -1: + var key_value = argument.split("=") + arguments[key_value[0].lstrip("--")] = key_value[1] + + if !arguments.has("input") || !arguments.has("output"): + error("Expected 2 Parameters: input and output") + + var input_file_name = arguments["input"] + var output_file_name = arguments["output"] + + var file = FileAccess.open(input_file_name, FileAccess.READ) + if file == null: + error("File: '" + input_file_name + "' not found.") + + var parser = Parser.new() + + if parser.work(Util.extract_dir(input_file_name), Util.extract_filename(input_file_name), \ + output_file_name, "res://addons/protobuf/protobuf_core.gd"): + print("Compiled '", input_file_name, "' to '", output_file_name, "'.") + else: + error("Compilation failed.") + + quit() -- cgit 1.4.1