[BUG][JAVA] $ref not working correctly
Created by: maxbec
Bug Report Checklist
-
Have you provided a full/minimal spec to reproduce the issue? -
Have you validated the input using an OpenAPI validator (example)? -
Have you tested with the latest master to confirm the issue still exists? -
Have you searched for related issues/PRs? -
What's the actual output vs expected output? -
[Optional] Sponsorship to speed up the bug fix or feature request (example)
Description
We have the following swagger folder structure in our project:
- api
- endpoints
- schemas
- common-elements (git submodule)
- default-endpoints
- Healthcheck.yml
- default-schemas
DefaultHeaders.yml
Error.yml
- main_api.yml
Now in the Healthcheck file we have the following code which is referencing stuff in the common-elements git submodule:
500:
description: Error on TCS side
headers:
cobaActivityID:
$ref: "../common-elements/headers/DefaultHeaders.yaml#/Response/cobaActivityID"
cobaMachineName:
$ref: "../common-elements/headers/DefaultHeaders.yaml#/Response/cobaMachineName"
content:
application/json;charset=utf-8:
schema:
$ref: "../common-elements/schemas/Error.yaml#/Error"
With this setup we get the following error on generation and even on the teamcity build it is not working.
[WARNING] Exception while resolving:
java.lang.RuntimeException: Unable to load RELATIVE ref: ./common-elements/default-endpoints/common-elements/default-schemas/Error.yaml path: C:\dev\bitbucket\test\api
When we change $ref: "../common-elements/schemas/Error.yaml#/Error" for $ref: "./schemas/Error.yaml#/Error" it is working. But we only need to change it for the schema.
I need your help now. What is wrong here and what would be the correct referencing of the files?
openapi-generator version
5.3.0
Generation Details
mvn clean generate-sources
Steps to reproduce
See above