Skip to content

Commit 44f7985

Browse files
committed
Add treatWarningsAsErrors option to ValidateTask in gradle plugin
1 parent f1a0935 commit 44f7985

2 files changed

Lines changed: 14 additions & 0 deletions

File tree

modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorValidateExtension.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,9 @@ open class OpenApiGeneratorValidateExtension(project: Project) {
3434
* Whether to offer recommendations related to the validated specification document.
3535
*/
3636
val recommend = project.objects.property<Boolean>().convention(true)
37+
38+
/**
39+
* Whether to treat warnings as errors and fail the task.
40+
*/
41+
val treatWarningsAsErrors = project.objects.property<Boolean>().convention(false)
3742
}

modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/ValidateTask.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ open class ValidateTask : DefaultTask() {
6060
@Input
6161
val recommend = project.objects.property<Boolean>().convention(true)
6262

63+
@Optional
64+
@Input
65+
val treatWarningsAsErrors = project.objects.property<Boolean>().convention(false)
66+
6367
@get:Internal
6468
@set:Option(option = "input", description = "The input specification.")
6569
var input: String? = null
@@ -73,6 +77,7 @@ open class ValidateTask : DefaultTask() {
7377

7478
val spec = inputSpec.get()
7579
val recommendations = recommend.get()
80+
val failOnWarnings = treatWarningsAsErrors.get()
7681

7782
logger.quiet("Validating spec $spec")
7883

@@ -98,6 +103,10 @@ open class ValidateTask : DefaultTask() {
98103
out.println("\t${it.message}\n")
99104
logger.debug("WARNING: ${it.message}|${it.details}")
100105
}
106+
107+
if (failOnWarnings) {
108+
throw GradleException("Validation failed due to warnings (treatWarningsAsErrors = true).")
109+
}
101110
}
102111

103112
if (messages.isNotEmpty() || validationResult.errors.isNotEmpty()) {

0 commit comments

Comments
 (0)