From e99cd74633e2a1f5fdd9a728b24f5b50574c85d8 Mon Sep 17 00:00:00 2001 From: Aljaz Zajc Date: Mon, 3 Nov 2025 16:35:08 +0100 Subject: [PATCH 1/2] Add: support for --name-mappings parameter. --- internal/openapi_generator.bzl | 5 +++++ internal/test/basic/BUILD.bazel | 18 ++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/internal/openapi_generator.bzl b/internal/openapi_generator.bzl index 64b85c4..c462b30 100644 --- a/internal/openapi_generator.bzl +++ b/internal/openapi_generator.bzl @@ -51,6 +51,10 @@ def _new_generator_command(ctx, declared_dir, rjars): reserved_words_mappings = ",".join(ctx.attr.reserved_words_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 +174,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", ) From 49033145b78137900eefffee15d2d1070e8bb41d Mon Sep 17 00:00:00 2001 From: Aljaz Zajc Date: Tue, 4 Nov 2025 16:42:23 +0100 Subject: [PATCH 2/2] Add: Ignore for empty name_mappings. --- internal/openapi_generator.bzl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/openapi_generator.bzl b/internal/openapi_generator.bzl index c462b30..2b1c8d3 100644 --- a/internal/openapi_generator.bzl +++ b/internal/openapi_generator.bzl @@ -51,9 +51,10 @@ def _new_generator_command(ctx, declared_dir, rjars): reserved_words_mappings = ",".join(ctx.attr.reserved_words_mappings), ) - gen_cmd += ' --name-mappings "{mappings}"'.format( - mappings = _comma_separated_pairs(ctx.attr.name_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(