11# Copyright 2019 OpenAPI-Generator-Bazel Contributors
22
3- def openapi_tools_generator_bazel_repositories (openapi_generator_cli_version = "4.1.3" , sha256 = "234cbbc5ec9b56e4b585199ec387b5ad3aefb3eda9424c30d35c849dd5950d2f" , prefix = "openapi_tools_generator_bazel" ):
3+ def openapi_tools_generator_bazel_repositories (openapi_generator_cli_version = "4.1.3" , sha256 = "234cbbc5ec9b56e4b585199ec387b5ad3aefb3eda9424c30d35c849dd5950d2f" , prefix = "openapi_tools_generator_bazel" ):
44 native .maven_jar (
55 name = "openapi_tools_generator_bazel_cli" ,
66 sha256 = sha256 ,
@@ -27,7 +27,6 @@ def _new_generator_command(ctx, declared_dir, rjars):
2727
2828 jars = [ctx .file .openapi_generator_cli ] + rjars .to_list ()
2929
30-
3130 gen_cmd += " -cp \" {jars}\" org.openapitools.codegen.OpenAPIGenerator generate -i {spec} -g {generator} -o {output}" .format (
3231 java = java_path ,
3332 jars = jar_delimiter .join ([j .path for j in jars ]),
@@ -67,6 +66,10 @@ def _new_generator_command(ctx, declared_dir, rjars):
6766 gen_cmd += " --model-package {package}" .format (
6867 package = ctx .attr .model_package ,
6968 )
69+ if ctx .attr .engine :
70+ gen_cmd += " --engine {package}" .format (
71+ package = ctx .attr .engine ,
72+ )
7073
7174 # fixme: by default, openapi-generator is rather verbose. this helps with that but can also mask useful error messages
7275 # when it fails. look into log configuration options. it's a java app so perhaps just a log4j.properties or something
@@ -89,7 +92,7 @@ def _impl(ctx):
8992 inputs = inputs ,
9093 command = "mkdir -p {gen_dir} && {generator_command}" .format (
9194 gen_dir = declared_dir .path ,
92- generator_command = _new_generator_command (ctx , declared_dir , rjars )
95+ generator_command = _new_generator_command (ctx , declared_dir , rjars ),
9396 ),
9497 outputs = [declared_dir ],
9598 tools = ctx .files ._jdk ,
@@ -149,6 +152,7 @@ _openapi_generator = rule(
149152 "model_package" : attr .string (),
150153 "additional_properties" : attr .string_dict (),
151154 "system_properties" : attr .string_dict (),
155+ "engine" : attr .string (),
152156 "type_mappings" : attr .string_dict (),
153157 "is_windows" : attr .bool (mandatory = True ),
154158 "_jdk" : attr .label (
0 commit comments