diff --git a/internal/openapi_generator.bzl b/internal/openapi_generator.bzl index 64b85c4..2b1c8d3 100644 --- a/internal/openapi_generator.bzl +++ b/internal/openapi_generator.bzl @@ -51,6 +51,11 @@ def _new_generator_command(ctx, declared_dir, rjars): reserved_words_mappings = ",".join(ctx.attr.reserved_words_mappings), ) + if ctx.attr.name_mappings: + gen_cmd += ' --name-mappings "{mappings}"'.format( + mappings = _comma_separated_pairs(ctx.attr.name_mappings), + ) + if ctx.attr.config: gen_cmd += " --config {config}".format( config = ctx.attr.config.files.to_list()[0].path, @@ -170,6 +175,7 @@ _openapi_generator = rule( "system_properties": attr.string_dict(), "engine": attr.string(), "type_mappings": attr.string_dict(), + "name_mappings": attr.string_dict(), "import_mappings": attr.string_dict(), "reserved_words_mappings": attr.string_list(), "is_windows": attr.bool(mandatory = True), diff --git a/internal/test/basic/BUILD.bazel b/internal/test/basic/BUILD.bazel index b5ca520..3689925 100644 --- a/internal/test/basic/BUILD.bazel +++ b/internal/test/basic/BUILD.bazel @@ -45,32 +45,42 @@ openapi_generator( openapi_generator( name = "petstore_java_reserved_words", generator = "java", - spec = "petstore.yaml", reserved_words_mappings = [ "interface=interface", ], + spec = "petstore.yaml", ) openapi_generator( name = "petstore_python_flask_with_config_tag", + config = "config.yaml", generator = "python-flask", spec = "petstore.yaml", - config = "config.yaml" ) openapi_generator( name = "petstore_python_flask_with_template_dir", generator = "python-flask", spec = "petstore.yaml", - template_dir = "python-templates" + template_dir = "python-templates", ) openapi_generator( name = "petstore_java_import_mappings", generator = "java", - spec = "petstore.yaml", import_mappings = { "Date": "java.time.LocalDate", "DateTime": "java.time.OffsetDateTime", }, + spec = "petstore.yaml", +) + +openapi_generator( + name = "petstore_java_name_mappings", + generator = "java", + name_mappings = { + "code": "statusCode", + "message": "statusMessage", + }, + spec = "petstore.yaml", )