-
-
Notifications
You must be signed in to change notification settings - Fork 7.3k
Closed
Labels
Description
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?
Description
If you add -Xlint:all, -Werror to java compiler options, you will get error on any open-api specification.
- When
nativeas a library is used, the generator generates code with[this-escape] possible 'this' escape before subclass is fully initializedwarnings in ApiClient. - When
apache-httpclientas a library is used, the generator generates code with[rawtypes] found raw type: Collectionwarnings in ApiClient.
openapi-generator version
7.4.0
OpenAPI declaration file content or url
Generation Details
Steps to reproduce
jdk: Oracle OpenJDK 21.0.1
gradle: 8.7
open-api generator plugin: 7.4.0
plugins {
id("java")
id("org.openapi.generator") version "7.4.0"
}
group = "com.test"
version = "1.0"
repositories {
mavenCentral()
}
dependencies {
implementation("jakarta.annotation:jakarta.annotation-api:3.0.0")
implementation("org.openapitools:jackson-databind-nullable:0.2.6")
implementation("com.fasterxml.jackson.core:jackson-annotations:2.16.1")
implementation("com.fasterxml.jackson.core:jackson-core:2.16.1")
implementation("com.fasterxml.jackson.core:jackson-databind:2.16.1")
implementation("com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.13.4")
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.0")
implementation("javax.annotation:javax.annotation-api:1.3.2")
implementation("org.apache.httpcomponents.client5:httpclient5:5.4-alpha2")
testImplementation(platform("org.junit:junit-bom:5.9.1"))
testImplementation("org.junit.jupiter:junit-jupiter")
}
sourceSets {
named("main") {
java {
srcDir("$buildDir/java/src/main/java")
}
}
}
tasks.test {
useJUnitPlatform()
}
openApiGenerate {
generatorName = "java"
inputSpec = "$projectDir/src/main/resources/petstore-v3.0.yaml"
outputDir = "$buildDir/java"
apiPackage = "org.openapitools.example.api"
invokerPackage = "org.openapitools.example.invoker"
modelPackage = "org.openapitools.example.model"
configOptions.putAll(mapOf(
"library" to "apache-httpclient", // change to native for other warnings
"dateLibrary" to "java8",
"serializationLibrary" to "jackson",
"useJakartaEe" to "true",
"hideGenerationTimestamp" to "true",
"openApiNullable" to "false",
"useBeanValidation" to "false",
"disallowAdditionalPropertiesIfNotPresent" to "false",
"containerDefaultToNull" to "true",
))
}
tasks.withType<JavaCompile> {
options.compilerArgs.addAll(listOf("-Xlint:all", "-Werror"))
}
Related issues/PRs
Suggest a fix
nativelibrary: Change the implementation of affected methods with [this-escape] warningsapache-httpclientlibrary: Don't use raw type with Collection object (reimplement with generics if possible)