[BUG] openapi-generator-cli fails silently when it cannot create openapitools.json
🐛 Bug Report:
Describe the bug
openapi-generator-cli fails silently when it cannot create openapitools.json
Steps to Reproduce
Steps to reproduce the behavior:
~/openapi-test
❯ node --version
v12.15.0
~/openapi-test
❯ npm --version
6.13.4
~/openapi-test
❯ java --version
openjdk 11.0.6 2020-01-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.6+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.6+10, mixed mode)
❯ npm install @openapitools/[email protected]
...
~/openapi-test
❯ cat swagger.yaml
swagger: "2.0"
info:
version: v1
title: Our API
description: The REST API for interacting with Our API
host: localhost:1234
schemes:
- http
paths:
"/api/job/{jobid}/status":
get:
summary: getJobStatus
description: Get the current status for a job.
operationId: getJobStatus
produces:
- application/json;charset=utf-8
parameters:
- required: true
in: path
name: jobid
type: string
responses:
"200":
schema:
$ref: "#/definitions/JobStatus"
description: ""
"404":
description: "`jobid` not found"
definitions:
JobStatus:
type: string
~/openapi-test
❯ $(npm bin)/openapi-generator-cli generate -i swagger.yaml --generator-name typescript-fetch
...
~/openapi-test
❯ ls apis/
DefaultApi.ts index.ts
~/openapi-test
❯ mkdir readonly
~/openapi-test
❯ chmod u-w readonly
~/openapi-test
❯ cd readonly
~/openapi-test/readonly
❯ touch test
touch: cannot touch 'test': Permission denied
~/openapi-test/readonly
❯ $(npm bin)/openapi-generator-cli generate -i ../swagger.yaml --generator-name typescript-fetch --output ..
~/openapi-test/readonly
❯ echo $?
1
~/openapi-test/readonly
❯ chmod u+w .
~/openapi-test/readonly
❯ cp ../openapitools.json .
~/openapi-test/readonly
❯ ls
openapitools.json
~/openapi-test/readonly
❯ chmod u-w .
~/openapi-test/readonly
❯ $(npm bin)/openapi-generator-cli generate -i ../swagger.yaml --generator-name typescript-fetch --output ..
... (works)
Expected behavior
The command prints an explanation of why the command is failing, or any next steps on how to debug
Operation System (please complete the following information):
- OS: Ubuntu 18 LTS
Package System (please complete the following information):
See reproduction for versions
Additional context
This cost me many, many hours of debugging because it only occurred in CI where volumes with no writes expected are mounted readonly, and during local testing we tend to already have an openapitools.json
This is annoying when using it inside Docker container with read-only volumes. Versioning is already solved by containerizing the openapi-generator-cli command. There should be an option to skip need for the openapitools.json configuration file or provide an option to select different path for this file.