Skip to content

Commit d9b211e

Browse files
committed
Forkproperties regression with Jetty. Fixes #44.
1 parent 3c3e275 commit d9b211e

File tree

1 file changed

+51
-50
lines changed

1 file changed

+51
-50
lines changed

Diff for: src/main/kotlin/org/springdoc/openapi/gradle/plugin/OpenApiGradlePlugin.kt

+51-50
Original file line numberDiff line numberDiff line change
@@ -7,65 +7,66 @@ import org.gradle.api.logging.Logging
77
import java.util.*
88

99
open class OpenApiGradlePlugin : Plugin<Project> {
10-
private val LOGGER =
11-
Logging.getLogger(OpenApiGradlePlugin::class.java)
10+
private val LOGGER =
11+
Logging.getLogger(OpenApiGradlePlugin::class.java)
1212

13-
override fun apply(project: Project) {
14-
// Run time dependency on the following plugins
15-
project.plugins.apply(SPRING_BOOT_PLUGIN)
16-
project.plugins.apply(PROCESS_PLUGIN)
13+
override fun apply(project: Project) {
14+
// Run time dependency on the following plugins
15+
project.plugins.apply(SPRING_BOOT_PLUGIN)
16+
project.plugins.apply(PROCESS_PLUGIN)
1717

18-
project.extensions.create(EXTENSION_NAME, OpenApiExtension::class.java, project)
18+
project.extensions.create(EXTENSION_NAME, OpenApiExtension::class.java, project)
1919

20-
project.afterEvaluate {
21-
// Spring boot jar task
22-
val bootJarTask = project.tasks.named(SPRING_BOOT_JAR_TASK_NAME)
20+
project.afterEvaluate {
21+
// Spring boot jar task
22+
val bootJarTask = project.tasks.named(SPRING_BOOT_JAR_TASK_NAME)
2323

24-
val extension: OpenApiExtension = project.extensions.run {
25-
getByName(EXTENSION_NAME) as OpenApiExtension
26-
}
24+
val extension: OpenApiExtension = project.extensions.run {
25+
getByName(EXTENSION_NAME) as OpenApiExtension
26+
}
2727

28-
// Create a forked version spring boot run task
29-
val forkedSpringBoot = project.tasks.register(FORKED_SPRING_BOOT_RUN_TASK_NAME, Fork::class.java) { fork ->
30-
fork.dependsOn(bootJarTask)
28+
// Create a forked version spring boot run task
29+
val forkedSpringBoot = project.tasks.register(FORKED_SPRING_BOOT_RUN_TASK_NAME, Fork::class.java) { fork ->
30+
fork.dependsOn(bootJarTask)
3131

32-
fork.onlyIf {
33-
val bootJar = bootJarTask.get().outputs.files.first()
32+
fork.onlyIf {
33+
val bootJar = bootJarTask.get().outputs.files.first()
3434

35-
val command = mutableListOf("java", "-jar")
36-
if (extension.forkProperties.isPresent) {
37-
val element = extension.forkProperties.get()
38-
if (element is String) {
39-
val elements = element
40-
.split("-D")
41-
.map { "-D${it.trim()}" }
42-
command.addAll(elements)
43-
} else if (element is Properties) {
44-
element.toMap().map { r -> "-D${r.key}=${r.value}" }.forEach { p -> command.add(p) }
45-
} else {
46-
LOGGER.warn("Failed to use the value set for 'forkProprerties'. Only String and Properties objects are supported.")
47-
}
48-
}
49-
command.add("$bootJar")
35+
val command = mutableListOf("java", "-jar")
36+
if (extension.forkProperties.isPresent) {
37+
val element = extension.forkProperties.get()
38+
if (element is String) {
39+
val elements = element
40+
.split("-D")
41+
.filter { s -> s.isNotEmpty() }
42+
.map { "-D${it.trim()}" }
43+
command.addAll(elements)
44+
} else if (element is Properties) {
45+
element.toMap().map { r -> "-D${r.key}=${r.value}" }.forEach { p -> command.add(p) }
46+
} else {
47+
LOGGER.warn("Failed to use the value set for 'forkProprerties'. Only String and Properties objects are supported.")
48+
}
49+
}
50+
command.add("$bootJar")
5051

51-
fork.commandLine = command
52-
true
53-
}
54-
}
52+
fork.commandLine = command
53+
true
54+
}
55+
}
5556

56-
val stopForkedSpringBoot = project.tasks.register(FINALIZER_TASK_NAME) {
57-
it.dependsOn(forkedSpringBoot)
58-
it.doLast {
59-
forkedSpringBoot.get().processHandle.abort();
60-
}
61-
}
57+
val stopForkedSpringBoot = project.tasks.register(FINALIZER_TASK_NAME) {
58+
it.dependsOn(forkedSpringBoot)
59+
it.doLast {
60+
forkedSpringBoot.get().processHandle.abort();
61+
}
62+
}
6263

63-
// This is my task. Before I can run it I have to run the dependent tasks
64-
project.tasks.register(OPEN__API_TASK_NAME, OpenApiGeneratorTask::class.java) { openApiGenTask ->
65-
openApiGenTask.dependsOn(forkedSpringBoot)
66-
openApiGenTask.finalizedBy(stopForkedSpringBoot)
67-
}
68-
}
64+
// This is my task. Before I can run it I have to run the dependent tasks
65+
project.tasks.register(OPEN__API_TASK_NAME, OpenApiGeneratorTask::class.java) { openApiGenTask ->
66+
openApiGenTask.dependsOn(forkedSpringBoot)
67+
openApiGenTask.finalizedBy(stopForkedSpringBoot)
68+
}
69+
}
6970

70-
}
71+
}
7172
}

0 commit comments

Comments
 (0)