49 lines
1.6 KiB
Kotlin
49 lines
1.6 KiB
Kotlin
package ru.shadowsparky
|
|
|
|
import com.android.build.api.dsl.ApplicationExtension
|
|
import com.android.build.api.dsl.LibraryExtension
|
|
import org.gradle.api.JavaVersion
|
|
import org.gradle.api.Project
|
|
|
|
fun LibraryExtension.setupAndroid(project: Project) {
|
|
val libs = project.findLibs()
|
|
compileSdk {
|
|
version = release(libs.findVersion("proj.compile").get().toString().toInt())
|
|
}
|
|
defaultConfig {
|
|
minSdk = libs.findVersion("proj.min").get().toString().toInt()
|
|
}
|
|
compileOptions {
|
|
val javaVersion = JavaVersion.toVersion(libs.findVersion("proj.java").get())
|
|
sourceCompatibility = javaVersion
|
|
targetCompatibility = javaVersion
|
|
}
|
|
}
|
|
|
|
fun ApplicationExtension.setupAndroid(project: Project) {
|
|
val libs = project.findLibs()
|
|
compileSdk {
|
|
version = release(libs.findVersion("proj.compile").get().toString().toInt())
|
|
}
|
|
defaultConfig {
|
|
minSdk = libs.findVersion("proj.min").get().toString().toInt()
|
|
targetSdk {
|
|
version = release(libs.findVersion("proj.target").get().toString().toInt())
|
|
}
|
|
}
|
|
compileOptions {
|
|
val javaVersion = JavaVersion.toVersion(libs.findVersion("proj.java").get())
|
|
sourceCompatibility = javaVersion
|
|
targetCompatibility = javaVersion
|
|
}
|
|
}
|
|
|
|
fun generateVersionCode(versionName: String): Int {
|
|
val parts = versionName.split(".")
|
|
val major = parts.getOrNull(0)?.toIntOrNull() ?: 0
|
|
val minor = parts.getOrNull(1)?.toIntOrNull() ?: 0
|
|
val patch = parts.getOrNull(2)?.toIntOrNull() ?: 0
|
|
if (minor > 999 || patch > 999) error("invalid minor or patch!")
|
|
return major * 1_000_000 + minor * 1_000 + patch
|
|
}
|