Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 11 additions & 25 deletions android-beans/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,53 +1,39 @@
import com.android.build.gradle.internal.api.BaseVariantOutputImpl
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import com.android.build.api.dsl.LibraryExtension
import com.android.build.gradle.internal.component.AarCreationConfig

plugins {
id("com.android.library")
id("kotlin-android")
id("org.jetbrains.dokka") version "2.0.0"
id("jacoco")
id("maven-publish")
id("signing")
}

kotlin {
compilerOptions {
jvmTarget = JvmTarget.JVM_11
}
}
android {
sourceSets {
maybeCreate("main").java.srcDirs("src/main/kotlin/")
maybeCreate("test").java.srcDirs("src/test/kotlin/")
}
extensions.configure<LibraryExtension>("android") {
namespace = "rocks.frieler.android.beans"

compileOptions {
isCoreLibraryDesugaringEnabled = true
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
compileSdk = 34
buildToolsVersion = "36.0.0"
compileSdk = 35

defaultConfig {
minSdk = 21

// append version to android build-artifacts:
libraryVariants.all { outputs.all { this as BaseVariantOutputImpl
outputFileName = outputFileName.replace(base.archivesName.get(), "${base.archivesName.get()}-${version}")
}}
// append version to and strip "release" (which ought to be the default) qualifier from android build-artifacts:
androidComponents.onVariants { variant ->
(variant as AarCreationConfig).apply {
aarOutputFileName = listOfNotNull(project.name, project.version, name.takeIf { it != "release" }).joinToString("-", postfix = ".aar")
}
}
fileTree("proguard/").forEach(defaultConfig::consumerProguardFile)
}

buildTypes {
getByName("release") {
isMinifyEnabled = false

// strip "-release"-qualifier from artifact file-names, because release is the default:
android.libraryVariants.matching { name == "release" }.all { outputs.all { this as BaseVariantOutputImpl
outputFileName = outputFileName.replace("-release", "") }
}
testBuildType = this.name
}
}
Expand Down Expand Up @@ -82,7 +68,7 @@ val kdocJar by tasks.registering(Jar::class) {
}

val sourcesJar by tasks.registering(Jar::class) {
from(android.sourceSets["main"].java.srcDirs)
from((project.extensions["android"] as LibraryExtension).sourceSets["main"].kotlin.directories.map { file(it) })
archiveClassifier.set("sources")
}

Expand Down
3 changes: 2 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ org.gradle.jvmargs=-Xmx1536m
org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled
org.jetbrains.dokka.experimental.gradle.pluginMode.noWarn=true

android.useAndroidX=true
# workaround, until sonar gradle plugin supports new DSL of AGP9:
android.newDsl = false

# configuration for the signing-plugin:
# These will be set in the build-script, but must be defined to exist.
Expand Down
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[versions]
kotlin = "2.3.20"
android-build-tools-gradle = "8.7.3"
android-build-tools-gradle = "9.1.0"
androidx-activity = "1.10.1"
androidx-lifecycle = "2.8.7"
android-tools-desugar_jdk_libs = "2.1.5"
Expand Down
Loading