Nikky
09/10/2018, 9:19 AM$TIME with current time
in kotlin-dsl:
sourceSets {
getByName("main").java.srcDirs("$buildDir/generated-src")
}
val compileKotlin by tasks.getting(KotlinCompile::class) {
doFirst {
val folder = if (project != rootProject) "${rootProject.name}/${project.name}" else rootProject.name
val name = project.name.split("/").last().capitalize().split("-").joinToString("") { it.capitalize() }
val templateSrc = rootProject.file("template/kotlin/")
copy {
from(templateSrc)
into("$buildDir/generated-src/$folder")
expand(mapOf(
"PACKAGE" to folder.replace("/", ".").replace("-", "."),
"NAME" to name,
"MAJOR_VERSION" to major,
"MINOR_VERSION" to minor,
"PATCH_VERSION" to patch,
"BUILD_NUMBER" to System.getenv("BUILD_NUMBER").let { it ?: -1 },
"BUILD" to System.getenv("BUILD_NUMBER").let { it ?: "dev" }
))
}
}
}
the Template file would contain stuff like so
package $PACKAGE
object ${NAME}Constants {
const val MAJOR_VERSION = $MAJOR_VERSION
const val MINOR_VERSION = $MINOR_VERSION
const val PATCH_VERSION = $PATCH_VERSION
const val BUILD_NUMBER = $BUILD_NUMBER
const val VERSION = "$MAJOR_VERSION.$MINOR_VERSION.$PATCH_VERSION"
const val FULL_VERSION = "$MAJOR_VERSION.$MINOR_VERSION.$PATCH_VERSION-$BUILD"
}
home that helps @Konstantin Petrukhnov