eikek / eikek/sbt-openapi-schema
Failed to generate Scala code from the Fireblocks OpenAPI schema: Unsupported number type: class NumberSchema
- Dominant language
- Scala
- Stars
- 27
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
I followed the instructions in the README, providing the [Fireblocks OpenAPI schema YAML](https://docs.fireblocks.com/api/v1/swagger.yaml) as the source:
```scala
lazy val fireblocksClient = project
.in(file("modules/fireblocks-client"))
.enablePlugins(OpenApiSchema)
.settings(name := "fireblocks-client", libraryDependencies ++= Bundles.akkaHttp)
.settings(
openapiTargetLanguage := Language.Scala,
openapiSpec := (Compile / resourceDirectory).value / "fireblocks-openapi.yaml"
)
```
The code generation resulted in the following error:
```
[IJ]last fireblocksClient / openapiCodegen
[error] java.lang.RuntimeException: Unsupported number type: class NumberSchema {
[error] class Schema {
[error] type: number
[error] format: null
[error] $ref: null
[error] description: Number of hours for expiration.This data is valid only it ticket not in DRAFT state and it will be used to calculate expiresAt value
[error] title: null
[error] multipleOf: null
[error] maximum: null
[error] exclusiveMaximum: null
[error] minimum: null
[error] exclusiveMinimum: null
[error] maxLength: null
[error] minLength: null
[error] pattern: null
[error] maxItems: null
[error] minItems: null
[error] uniqueItems: null
[error] maxProperties: null
[error] minProperties: null
[error] required: null
[error] not: null
[error] properties: null
[error] additionalProperties: null
[error] nullable: null
[error] readOnly: null
[error] writeOnly: null
[error] example: 13
[error] externalDocs: null
[error] deprecated: null
[error] discriminator: null
[error] xml: null
[error] }
[error] }
[error] at scala.sys.package$.error(package.scala:30)
[error] at com.github.eikek.sbt.openapi.impl.Parser$.schemaType(Parser.scala:139)
[error] at com.github.eikek.sbt.openapi.impl.Parser$.makeProperty(Parser.scala:100)
[error] at com.github.eikek.sbt.openapi.impl.Parser$.$anonfun$makeSchemaClass$8(Parser.scala:79)
[error] at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:286)
[error] at scala.collection.Iterator.foreach(Iterator.scala:943)
[error] at scala.collection.Iterator.foreach$(Iterator.scala:943)
[error] at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
[error] at scala.collection.IterableLike.foreach(IterableLike.scala:74)
[error] at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
[error] at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
[error] at scala.collection.TraversableLike.map(TraversableLike.scala:286)
[error] at scala.collection.TraversableLike.map$(TraversableLike.scala:279)
[error] at scala.collection.AbstractTraversable.map(Traversable.scala:108)
[error] at com.github.eikek.sbt.openapi.impl.Parser$.makeSchemaClass(Parser.scala:78)
[error] at com.github.eikek.sbt.openapi.impl.Parser$.$anonfun$parse$1(Parser.scala:19)
[error] at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:286)
[error] at scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:400)
[error] at scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:728)
[error] at scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:728)
[error] at scala.collection.TraversableLike.map(TraversableLike.scala:286)
[error] at scala.collection.TraversableLike.map$(TraversableLike.scala:279)
[error] at scala.collection.AbstractTraversable.map(Traversable.scala:108)
[error] at com.github.eikek.sbt.openapi.impl.Parser$.parse(Parser.scala:18)
[error] at com.github.eikek.sbt.openapi.OpenApiSchema$.generateCode(OpenApiSchema.scala:107)
[error] at com.github.eikek.sbt.openapi.OpenApiSchema$.$anonfun$defaultSettings$5(OpenApiSchema.scala:68)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:63)
[error] at sbt.std.Transform$$anon$4.work(Transform.scala:69)
[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:283)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:24)
[error] at sbt.Execute.work(Execute.scala:292)
[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:283)
[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:65)
[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[error] at java.base/java.lang.Thread.run(Thread.java:834)
[error] (fireblocksClient / openapiCodegen) Unsupported number type: class NumberSchema {
[error] class Schema {
[error] type: number
[error] format: null
[error] $ref: null
[error] description: Number of hours for expiration.This data is valid only it ticket not in DRAFT state and it will be used to calculate expiresAt value
[error] title: null
[error] multipleOf: null
[error] maximum: null
[error] exclusiveMaximum: null
[error] minimum: null
[error] exclusiveMinimum: null
[error] maxLength: null
[error] minLength: null
[error] pattern: null
[error] maxItems: null
[error] minItems: null
[error] uniqueItems: null
[error] maxProperties: null
[error] minProperties: null
[error] required: null
[error] not: null
[error] properties: null
[error] additionalProperties: null
[error] nullable: null
[error] readOnly: null
[error] writeOnly: null
[error] example: 13
[error] externalDocs: null
[error] deprecated: null
[error] discriminator: null
[error] xml: null
[error] }
[error] }
[IJ]
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.