Skip to content

Commit 79ac348

Browse files
authored
Merge pull request #39 from edee111/fix/multiple-fork-properties
FIX: Cannot use multiple forkProperties
2 parents 5427bbb + c57f3ed commit 79ac348

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

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

+4-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,10 @@ open class OpenApiGradlePlugin : Plugin<Project> {
3636
if (extension.forkProperties.isPresent) {
3737
val element = extension.forkProperties.get()
3838
if (element is String) {
39-
command.add(element)
39+
val elements = element
40+
.split("-D")
41+
.map { "-D${it.trim()}" }
42+
command.addAll(elements)
4043
} else if (element is Properties) {
4144
element.toMap().map { r -> "-D${r.key}=${r.value}" }.forEach { p -> command.add(p) }
4245
} else {

src/test/kotlin/org/springdoc/openapi/gradle/plugin/OpenApiGradlePluginTest.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ class OpenApiGradlePluginTest {
126126
fun `using forked properties`() {
127127
buildFile.writeText("""$baseBuildGradle
128128
openApi{
129-
forkProperties = "-Dspring.profiles.active=multiple-endpoints"
129+
forkProperties = "-Dspring.profiles.active=multiple-endpoints -Dsome.second.property=someValue"
130130
}
131131
""".trimMargin())
132132

@@ -139,7 +139,7 @@ class OpenApiGradlePluginTest {
139139
assertEquals(TaskOutcome.SUCCESS, getTaskByName(result, "generateOpenApiDocs")?.outcome)
140140

141141
val openApiJsonFile = File(projectBuildDir, DEFAULT_OPEN_API_FILE_NAME)
142-
assertOpenApiJsonFileIsAsExpected(openApiJsonFile, 2)
142+
assertOpenApiJsonFileIsAsExpected(openApiJsonFile, 3)
143143
}
144144

145145
@Test
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.example.demo.endpoints;
2+
3+
import org.springframework.web.bind.annotation.GetMapping;
4+
import org.springframework.web.bind.annotation.RestController;
5+
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
6+
7+
@ConditionalOnProperty(value = {"some.second.property"}, havingValue = "someValue")
8+
@RestController("/conditional")
9+
public class ConditionalController {
10+
11+
@GetMapping("/conditional")
12+
public String conditional(){
13+
return "conditional";
14+
}
15+
}

0 commit comments

Comments
 (0)