diff --git a/internal/openapi_generator.bzl b/internal/openapi_generator.bzl index 31dba5a..64b85c4 100644 --- a/internal/openapi_generator.bzl +++ b/internal/openapi_generator.bzl @@ -43,6 +43,10 @@ def _new_generator_command(ctx, declared_dir, rjars): mappings = _comma_separated_pairs(ctx.attr.type_mappings), ) + gen_cmd += ' --import-mappings "{mappings}"'.format( + mappings = _comma_separated_pairs(ctx.attr.import_mappings), + ) + gen_cmd += ' --reserved-words-mappings "{reserved_words_mappings}"'.format( reserved_words_mappings = ",".join(ctx.attr.reserved_words_mappings), ) @@ -166,6 +170,7 @@ _openapi_generator = rule( "system_properties": attr.string_dict(), "engine": attr.string(), "type_mappings": attr.string_dict(), + "import_mappings": attr.string_dict(), "reserved_words_mappings": attr.string_list(), "is_windows": attr.bool(mandatory = True), "_jdk": attr.label( diff --git a/internal/test/basic/BUILD.bazel b/internal/test/basic/BUILD.bazel index 48f838b..b5ca520 100644 --- a/internal/test/basic/BUILD.bazel +++ b/internal/test/basic/BUILD.bazel @@ -64,3 +64,13 @@ openapi_generator( spec = "petstore.yaml", 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", + }, +)