Skip to content

Commit 608d00b

Browse files
committed
#198, add package-info
1 parent c39cf89 commit 608d00b

File tree

4 files changed

+39
-0
lines changed

4 files changed

+39
-0
lines changed

src/main/kotlin/io/openapiprocessor/spring/writer/java/AdditionalEnumWriter.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,21 @@ class AdditionalEnumWriter {
1818
return
1919
}
2020

21+
val piWriter = createPackageInfoWriter(options, factory)
22+
writePackageInfo(options, piWriter, formatter)
23+
piWriter.close()
24+
2125
val writer = createFactoryWriter(options, factory)
2226
writeEnumConverterFactory(options, writer, formatter)
2327
writer.close()
2428
}
2529

30+
private fun writePackageInfo(options: ApiOptions, writer: Writer, formatter: SourceFormatter) {
31+
val raw = StringWriter()
32+
PackageInfoWriter(options).writePackageInfo(raw)
33+
writer.write(formatter.format(raw.toString()))
34+
}
35+
2636
private fun writeEnumConverterFactory(options: ApiOptions, writer: Writer, formatter: SourceFormatter) {
2737
val raw = StringWriter()
2838
EnumConverterFactoryWriter(options).writeConverterFactory(raw)
@@ -35,4 +45,9 @@ class AdditionalEnumWriter {
3545
"StringToEnumConverterFactory")
3646
}
3747

48+
private fun createPackageInfoWriter(options: ApiOptions, writerFactory: WriterFactory): Writer {
49+
return writerFactory.createWriter(
50+
"${options.packageName}.spring",
51+
"package-info")
52+
}
3853
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/*
2+
* Copyright 2023 https://github.com/openapi-processor/openapi-processor-spring
3+
* PDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.openapiprocessor.spring.writer.java
7+
8+
import io.openapiprocessor.core.converter.ApiOptions
9+
import java.io.Writer
10+
11+
class PackageInfoWriter(val options: ApiOptions) {
12+
13+
fun writePackageInfo(target: Writer) {
14+
target.write("""
15+
@org.springframework.lang.NonNullApi
16+
@org.springframework.lang.NonNullFields
17+
package ${options.packageName}.spring;
18+
""".trimIndent())
19+
}
20+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
items:
22
- outputs/api/EnumApi.java
33
- outputs/<model>/Foo.java
4+
- outputs/spring/package-info.java
45
- outputs/spring/StringToEnumConverterFactory.java
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
@org.springframework.lang.NonNullApi
2+
@org.springframework.lang.NonNullFields
3+
package generated.spring;

0 commit comments

Comments
 (0)