diff --git a/README.md b/README.md index d698300..d13a4b6 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,12 @@ Adding intellij support `src/integration-test/java`, `src/integration-test/kotli Adding dependencies support `integrationTestImplementation()`, and `integrationTestRuntimeOnly()` as part of Gradle. +### Plugin Service Process Resource + +id `ltd.hlaeja.plugin.hlaeja-common-plugin.service-process-resource` + +Assign values to `application.yml` from Gradle. + ## Releasing plugin Run `release.sh` script from `master` branch. diff --git a/src/main/kotlin/ltd.hlaeja.plugin.hlaeja-common-plugin.service-process-resource.gradle.kts b/src/main/kotlin/ltd.hlaeja.plugin.hlaeja-common-plugin.service-process-resource.gradle.kts new file mode 100644 index 0000000..0a7730a --- /dev/null +++ b/src/main/kotlin/ltd.hlaeja.plugin.hlaeja-common-plugin.service-process-resource.gradle.kts @@ -0,0 +1,25 @@ +import org.gradle.kotlin.dsl.support.uppercaseFirstChar + +plugins { + id("ltd.hlaeja.plugin.hlaeja-core-plugin") +} + +tasks { + withType { + filesMatching("**/application.yml") { + filter { + it.replace( + "%APP_NAME%", + project.name.split("-").joinToString(" ") { word -> word.uppercaseFirstChar() }, + ) + } + filter { it.replace("%APP_VERSION%", project.version as String) } + filter { it.replace("%APP_BUILD_TIME%", info.utcTimestamp) } + filter { it.replace("%APP_BUILD_OS_NAME%", System.getProperty("os.name")) } + filter { it.replace("%APP_BUILD_OS_VERSION%", System.getProperty("os.version")) } + filter { it.replace("%APP_BUILD_GIT_COMMIT%", git.currentShortHash()) } + filter { it.replace("%APP_BUILD_GIT_BRANCH%", git.currentBranch()) } + } + onlyIf { file("src/main/resources/application.yml").exists() } + } +} diff --git a/src/main/kotlin/ltd.hlaeja.plugin.hlaeja-common-plugin.service.gradle.kts b/src/main/kotlin/ltd.hlaeja.plugin.hlaeja-common-plugin.service.gradle.kts index f272be5..998e615 100644 --- a/src/main/kotlin/ltd.hlaeja.plugin.hlaeja-common-plugin.service.gradle.kts +++ b/src/main/kotlin/ltd.hlaeja.plugin.hlaeja-common-plugin.service.gradle.kts @@ -2,4 +2,5 @@ plugins { id("ltd.hlaeja.plugin.hlaeja-common-plugin.common") id("ltd.hlaeja.plugin.hlaeja-common-plugin.service-container") id("ltd.hlaeja.plugin.hlaeja-common-plugin.service-integration-test") + id("ltd.hlaeja.plugin.hlaeja-common-plugin.service-process-resource") }