Skip to content

Commit 1fc8621

Browse files
authored
Merge branch 'main' into mdwairi/add-pr-checks-and-workflows
2 parents 9d824be + 6e8d4ce commit 1fc8621

File tree

5 files changed

+15
-19
lines changed

5 files changed

+15
-19
lines changed

expediagroup-sdk-openapi-plugin/src/main/kotlin/com/expediagroup/sdk/openapigenerator/EgSdkGeneratorPlugin.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ import org.gradle.api.Project
4646
* plugins { id("com.expediagroup.sdk.openapigenerator") }
4747
*
4848
* egSdkGenerator {
49-
* namespace.set("cars")
49+
* basePackage.set("com.expediagroup.sdk.example")
5050
* specFilePath.set(layout.projectDirectory.file("specs/cars.yaml"))
5151
* customTemplatesDir.set(layout.projectDirectory.dir("my-templates"))
5252
* }
@@ -72,7 +72,6 @@ class EgSdkGeneratorPlugin : Plugin<Project> {
7272
it.dependsOn(mergeCustomTemplatesTask)
7373

7474
it.specFilePath.set(egSdkGeneratorExt.specFilePath)
75-
it.namespace.set(egSdkGeneratorExt.namespace)
7675
it.objectMapper.set(egSdkGeneratorExt.objectMapper)
7776
it.customTemplatesDir.set(mergeCustomTemplatesTask.flatMap { mergeTask -> mergeTask.mergedDir })
7877
it.basePackage.set(egSdkGeneratorExt.basePackage)

expediagroup-sdk-openapi-plugin/src/main/kotlin/com/expediagroup/sdk/openapigenerator/extension/EgSdkGeneratorExtension.kt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ import org.openapitools.codegen.CodegenOperation
3838
*
3939
* ```kotlin
4040
* egSdkGenerator {
41+
* basePackage = "com.expediagroup.sdk.example"
4142
* specFilePath = layout.projectDirectory.file("specs/openapi.yaml")
42-
* namespace = "rapid"
4343
* }
4444
* ```
4545
*/
@@ -65,9 +65,6 @@ abstract class EgSdkGeneratorExtension(project: Project) : ExtensionAware {
6565
/** Final destination directory for the generated Kotlin sources. */
6666
abstract val outputDir: DirectoryProperty
6767

68-
/** namespace (e.g. `"rapid"`) inserted into package names {basePackage}.{namespace} */
69-
abstract val namespace: Property<String>
70-
7168
/** User-supplied processors that post-process **operations** before templating. */
7269
abstract val operationProcessors: ListProperty<(CodegenOperation) -> CodegenOperation>
7370

@@ -85,8 +82,8 @@ abstract class EgSdkGeneratorExtension(project: Project) : ExtensionAware {
8582

8683
init {
8784
// Default values
88-
modelPackage.set(namespace.map { ns -> "com.expediagroup.sdk.$ns.model" })
89-
operationPackage.set(namespace.map { ns -> "com.expediagroup.sdk.$ns.operation" })
85+
modelPackage.set(basePackage.map { bp -> "$bp.model" })
86+
operationPackage.set(basePackage.map { bp -> "$bp.operation" })
9087
outputDir.set(project.layout.projectDirectory.dir("src/main/kotlin"))
9188
}
9289
}

expediagroup-sdk-openapi-plugin/src/main/kotlin/com/expediagroup/sdk/openapigenerator/task/GenerateEgSdkTask.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,6 @@ import kotlin.collections.joinToString
5757
* It allows customization of the generated code through various properties and templates.
5858
*/
5959
abstract class GenerateEgSdkTask : DefaultTask() {
60-
@get:Input
61-
abstract val namespace: Property<String>
62-
6360
@get:InputFile
6461
abstract val specFilePath: RegularFileProperty
6562

@@ -107,7 +104,11 @@ abstract class GenerateEgSdkTask : DefaultTask() {
107104

108105
@TaskAction
109106
fun generate() {
110-
val supportingFilesNames = supportingTemplates.get().joinToString(",") { it.fileName }
107+
val supportingFilesNames =
108+
supportingTemplates.orNull
109+
?.joinToString(",") { it.fileName }
110+
.orEmpty()
111+
.ifEmpty { "false" }
111112

112113
val config =
113114
CodegenConfigurator().apply {
@@ -133,7 +134,6 @@ abstract class GenerateEgSdkTask : DefaultTask() {
133134
addGlobalProperty(CodegenConstants.SUPPORTING_FILES, supportingFilesNames)
134135

135136
// Additional Properties
136-
addAdditionalProperty("namespace", namespace.get())
137137
addAdditionalProperty("jacksonObjectMapper", objectMapper.get())
138138
addAdditionalProperty("modelPackage", modelPackage.get())
139139
addAdditionalProperty("operationPackage", operationPackage.get())
@@ -171,7 +171,7 @@ abstract class GenerateEgSdkTask : DefaultTask() {
171171
template.fileNameSuffix
172172
).also { t -> t.templateType = TemplateFileType.API }
173173
}
174-
} ?: emptyList()
174+
}
175175

176176
val resolvedSupportingTemplates =
177177
supportingTemplates.orNull?.let {
@@ -182,12 +182,12 @@ abstract class GenerateEgSdkTask : DefaultTask() {
182182
template.fileName
183183
)
184184
}
185-
} ?: emptyList()
185+
}
186186

187187
userDefinedTemplates(
188188
buildList {
189-
addAll(resolvedApiTemplates)
190-
addAll(resolvedSupportingTemplates)
189+
resolvedApiTemplates?.let { addAll(it) }
190+
resolvedSupportingTemplates?.let { addAll(it) }
191191
add(
192192
TemplateDefinition(
193193
"operation_params.mustache",

expediagroup-sdk-openapi-plugin/src/main/resources/templates/operations/params/get_path_params.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
return buildMap {
33
{{#pathParams}}
44
{{paramName}}{{^required}}?{{/required}}.also {
5-
put("{{{baseName}}}", {{{paramName}}}{{#isEnum}}.value{{/isEnum}})
5+
put("{{{baseName}}}", {{{paramName}}}{{#isEnum}}.value{{/isEnum}}{{^isString}}.toString(){{/isString}})
66
}
77
{{/pathParams}}
88
}

expediagroup-sdk-openapi-plugin/src/main/resources/templates/traits/implementation.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ override fun getUrlPath(): String {
1111
{{#pathParams}}
1212
url = url.replace(
1313
oldValue = "{" + "{{{baseName}}}" + "}",
14-
newValue = this.params.{{{paramName}}}{{#isEnum}}.value{{/isEnum}},
14+
newValue = this.params.{{{paramName}}}{{#isEnum}}.value{{/isEnum}}{{^isString}}.toString(){{/isString}},
1515
ignoreCase = true
1616
)
1717
{{/pathParams}}

0 commit comments

Comments
 (0)