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 }