Allow for ignoring certain schemas with vendor extension
It is possible to write a valid entry in schemas that Guardrail generates uncompilable code for. A good example is a schema using oneOf, which isn't currently supported (see #195). While we can ideally try to support every OpenAPI feature in Guardrail, I think that there's always potential for being a bit behind.
What's lacking currently is a way to exclude certain schema entries from being used to generate code. If we had this, we could exclude problematic/unimplemented ones, count on Guardrail to inline the missing type, and manually write the corresponding model and (de)serializers. I was thinking of a vendor extension like x-scala-ignore, similar to what's discussed in #183, but for entries in schemas.
Does this sound like a worthwhile feature? I had a quick look at implementing it, but had trouble understanding how the vendor extensions work. Ultimately it seems like filtering the definitions here would do the trick?
I think this makes sense, similar to x-server-raw-response, but instead of "ignore" semantics, I would advocate for x-(scala|java)-implementation: com.example.definitions.Whatever, similar to if you x-(scala|java|jvm)-type: 'd everywhere else in the specification.
Something to be careful of would likely be the initialization and registry of this feature in the Jackson generators, so it may be useful to split this up until multiple chunks of work instead of trying to implement it everywhere in one go.