Skip to content

Commit 10336eb

Browse files
committed
1 parent 37ea407 commit 10336eb

File tree

3 files changed

+59
-1
lines changed

3 files changed

+59
-1
lines changed

openapi-processor-core/src/main/kotlin/io/openapiprocessor/core/converter/ApiOptions.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,11 @@ class ApiOptions {
7777
*/
7878
var formatCode = false
7979

80+
/**
81+
* enable/disable the @Generated annotation (optional).
82+
*/
83+
var generatedAnnotation = true
84+
8085
/**
8186
* enable/disable the @Generated date (optional).
8287
*/

openapi-processor-core/src/main/kotlin/io/openapiprocessor/core/writer/java/GeneratedWriterImpl.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,27 @@ class GeneratedWriterImpl(private val info: GeneratedInfo, private val options:
1313
: GeneratedWriter {
1414

1515
override fun getImports(): Set<String> {
16+
if (!options.generatedAnnotation) {
17+
return emptySet()
18+
}
19+
1620
return setOf("${options.packageName}.support.Generated")
1721
}
1822

1923
override fun writeUse(target: Writer) {
24+
if (!options.generatedAnnotation) {
25+
return
26+
}
27+
2028
target.write(create())
2129
target.write("\n")
2230
}
2331

2432
override fun writeSource(target: Writer) {
33+
if (!options.generatedAnnotation) {
34+
return
35+
}
36+
2537
target.write("""
2638
package ${options.packageName}.support;
2739

openapi-processor-core/src/test/kotlin/io/openapiprocessor/core/writer/java/GeneratedWriterSpec.kt

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,52 @@
66
package io.openapiprocessor.core.writer.java
77

88
import io.kotest.core.spec.style.StringSpec
9+
import io.kotest.matchers.collections.shouldBeEmpty
10+
import io.kotest.matchers.collections.shouldNotBeEmpty
11+
import io.kotest.matchers.string.shouldBeEmpty
12+
import io.kotest.matchers.string.shouldContain
13+
import io.openapiprocessor.core.converter.ApiOptions
14+
import java.io.StringWriter
915

1016
class GeneratedWriterSpec: StringSpec({
1117

12-
"x" {
18+
"writes @Generated if enabled" {
19+
val info = GeneratedInfo("openapi-processor-core", "test")
20+
val options = ApiOptions()
21+
options.generatedAnnotation = true
1322

23+
val generated = GeneratedWriterImpl(info, options)
24+
25+
val imports = generated.getImports()
26+
27+
val usage = StringWriter()
28+
generated.writeUse(usage)
29+
30+
val source = StringWriter()
31+
generated.writeSource(source)
32+
33+
imports.shouldNotBeEmpty()
34+
usage.toString() shouldContain "@Generated"
35+
source.toString() shouldContain "public @interface Generated"
1436
}
1537

38+
"does not write @Generated if disabled" {
39+
val info = GeneratedInfo("openapi-processor-core", "test")
40+
val options = ApiOptions()
41+
options.generatedAnnotation = false
42+
43+
val generated = GeneratedWriterImpl(info, options)
44+
45+
val imports = generated.getImports()
46+
47+
val usage = StringWriter()
48+
generated.writeUse(usage)
49+
50+
val source = StringWriter()
51+
generated.writeSource(source)
52+
53+
imports.shouldBeEmpty()
54+
usage.toString().shouldBeEmpty()
55+
source.toString().shouldBeEmpty()
56+
}
1657
})

0 commit comments

Comments
 (0)