guardrail-dev / guardrail

Principled code generation from OpenAPI specifications
https://guardrail.dev
MIT License
525 stars 132 forks source link

Source code generation fails under 1.0.0-M1 #2017

Open aoiroaoino opened 1 month ago

aoiroaoino commented 1 month ago

Thank you for providing such a great tool! I also use it for my work. :)

When running under the following conditions, an error occurs, and the source code generation fails:

(I have masked the type names.)

    FooBarType:
      type: string
      enum:
        - A
        - B
        - C
        - D
    foo_type:
      type: array
      nullable: false
      items:
        allOf:
          - $ref: '#/components/schemas/FooBarType'
sbt:my-project> guardrail
Error:Unknown type for the following structure (No type definition, class: io.swagger.v3.oas.models.media.ComposedSchema, .components.schemas.foo_type.items):
  Tracker(class ComposedSchema {
      class Schema {
      }
  }, Vector(.components, .schemas, .foo_type, .items))

[error] (Compile / guardrail) dev.guardrail.sbt.CodegenFailedException
[error] Total time: 1 s, completed 2024/09/05 16:20:55

Here is the code to reproduce the issue: https://github.com/aoiroaoino/guardrail/commit/199dc9fd3b20cc88528942c5072c128135a67589

Could you please take a look? Thank you for your assistance.

blast-hardcheese commented 1 month ago

Thank you for the reproducing test case! Please pardon the delay in response, looking now. I'll follow up