16 bindings_output_directory_path: str
21 lightning_h_path: str,
22 output_blob_path: str,
23 bindings_output_directory_path: str,
25 language: Language = Language.TypeScript,
27 self.language = language
30 self.lightning_h_path = lightning_h_path
31 self.output_blob_path = output_blob_path
32 self.bindings_output_directory_path = bindings_output_directory_path
33 self.output_c_path = output_c_path
37 parser = argparse.ArgumentParser(description='Generate Java or Typescript bindings.')
38 parser.add_argument('lightning', type=str, help='Path to lightning.h input')
39 parser.add_argument('output-blob', type=str, help='Path to output blob file')
40 parser.add_argument('bindings-dir', type=str, help='Path to bindings output directory')
41 parser.add_argument('output-c', type=str, help='Path to output.c')
42 parser.add_argument('-l', '--language', type=str, choices=['java', 'typescript'], help='Language',
44 parser.add_argument('-d', '--debug', help='Debug', action='store_true', default=False)
45 args = parser.parse_args()
47 language = Language.Java
48 if args.language == 'typescript':
49 language = Language.TypeScript
51 bindings_directory_input = getattr(args, 'bindings-dir')
52 bindings_directory = os.path.abspath(bindings_directory_input)
53 if not os.path.isdir(bindings_directory):
54 print('Bindings output directory must, in fact, be a directory!', bindings_directory, file=sys.stderr)
57 configuration = Configurator(
58 lightning_h_path=args.lightning,
59 output_blob_path=getattr(args, 'output-blob'),
60 bindings_output_directory_path=bindings_directory,
61 output_c_path=getattr(args, 'output-c'),