All Downloads are FREE. Search and download functionalities are using the official Maven repository.

tech.skot.tools.starter.buildsrc.BuildSrc.kt Maven / Gradle / Ivy

package tech.skot.starter.buildsrc

import com.squareup.kotlinpoet.FileSpec
import com.squareup.kotlinpoet.KModifier
import com.squareup.kotlinpoet.PropertySpec
import com.squareup.kotlinpoet.TypeSpec
import tech.skot.Versions
import tech.skot.tools.generation.writeLinesTo
import tech.skot.tools.starter.StarterGenerator
import tech.skot.tools.starter.buildsrc.buildGradle

fun StarterGenerator.buildSrc() {
    rootDir.writeLinesTo("buildSrc/build.gradle.kts", buildGradle())

    FileSpec.builder("", "Build")
            .addType(
                    TypeSpec.objectBuilder("Build")
                            .addProperty(propertySpec = PropertySpec.builder("appName", String::class, KModifier.CONST).initializer("\"${configuration.appName}\"").build())
                            .addProperty(propertySpec = PropertySpec.builder("versionCode", Int::class, KModifier.CONST).initializer("1").build())
                            .addProperty(propertySpec = PropertySpec.builder("versionName", String::class, KModifier.CONST).initializer("\"0.0.0\"").build())
                            .build()
            ).build().writeTo(rootDir.resolve("buildSrc/src/main/kotlin"))

    FileSpec.builder("", "Versions")
            .addType(
                    TypeSpec.objectBuilder("Versions")
                            .addProperty(propertySpec = PropertySpec.builder("skot", String::class, KModifier.CONST).initializer("\"${Versions.skot}\"").build())
                            .build()
            ).build().writeTo(rootDir.resolve("buildSrc/src/main/kotlin"))

    configuration.appName
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy