preparing the publication
This commit is contained in:
1 parent
bad1e89c26
commit
128275402e
18 files changed
+242
-22
No files matched your search
@@ -2,6 +2,10 @@ import org.jetbrains.compose.desktop.application.dsl.TargetFormat
|
||||
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
|
||||
val appVersionName = "1.0"
|
||||
val appVersionCode = 1
|
||||
val appVersionDisplay = "$appVersionName.$appVersionCode"
|
||||
|
||||
plugins {
|
||||
alias(libs.plugins.kotlinMultiplatform)
|
||||
alias(libs.plugins.androidApplication)
|
||||
@@ -10,6 +14,38 @@ plugins {
|
||||
alias(libs.plugins.composeHotReload)
|
||||
}
|
||||
|
||||
abstract class GenerateAppVersionConstantsTask : DefaultTask() {
|
||||
@get:Input
|
||||
abstract val versionName: Property<String>
|
||||
|
||||
@get:Input
|
||||
abstract val versionCode: Property<Int>
|
||||
|
||||
@get:OutputDirectory
|
||||
abstract val outputDir: DirectoryProperty
|
||||
|
||||
@TaskAction
|
||||
fun generate() {
|
||||
val outputFile = outputDir.file("net/sergeych/toread/AppVersion.kt").get().asFile
|
||||
outputFile.parentFile.mkdirs()
|
||||
outputFile.writeText(
|
||||
"""
|
||||
package net.sergeych.toread
|
||||
|
||||
internal const val AppVersionName = "${versionName.get()}"
|
||||
internal const val AppVersionCode = ${versionCode.get()}
|
||||
internal const val AppVersionDisplay = "${versionName.get()}.${versionCode.get()}"
|
||||
""".trimIndent() + "\n",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
val generateAppVersionConstants by tasks.registering(GenerateAppVersionConstantsTask::class) {
|
||||
versionName.set(appVersionName)
|
||||
versionCode.set(appVersionCode)
|
||||
outputDir.set(layout.buildDirectory.dir("generated/appVersion/commonMain/kotlin"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
jvmToolchain(17)
|
||||
|
||||
@@ -33,6 +69,9 @@ kotlin {
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
commonMain {
|
||||
kotlin.srcDir(generateAppVersionConstants)
|
||||
}
|
||||
androidMain.dependencies {
|
||||
implementation(libs.compose.uiToolingPreview)
|
||||
implementation(libs.androidx.activity.compose)
|
||||
@@ -69,8 +108,8 @@ android {
|
||||
applicationId = "net.sergeych.toread"
|
||||
minSdk = libs.versions.android.minSdk.get().toInt()
|
||||
targetSdk = libs.versions.android.targetSdk.get().toInt()
|
||||
versionCode = 1
|
||||
versionName = "1.0"
|
||||
versionCode = appVersionCode
|
||||
versionName = appVersionName
|
||||
}
|
||||
packaging {
|
||||
resources {
|
||||
@@ -100,7 +139,7 @@ compose.desktop {
|
||||
nativeDistributions {
|
||||
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
|
||||
packageName = "To Read"
|
||||
packageVersion = "1.0.0"
|
||||
packageVersion = appVersionDisplay
|
||||
|
||||
macOS {
|
||||
iconFile.set(project.file("src/jvmMain/resources/icons/icon.icns"))
|
||||
|
||||
Reference in new issue
Block a user