Skip to content

Commit d4faa1b

Browse files
committed
Upgrade Gradle, AGP, and dependencies
1 parent bd16333 commit d4faa1b

12 files changed

Lines changed: 92 additions & 299 deletions

.idea/kotlinc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44
alias(libs.plugins.app.hilt)
55
alias(libs.plugins.kotlin.serialization)
66
alias(libs.plugins.app.kotlin.serialization)
7-
id("kotlin-parcelize")
7+
id("org.jetbrains.kotlin.plugin.parcelize")
88
}
99

1010
android {

build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ class AndroidApplicationConventionPlugin : Plugin<Project> {
88
override fun apply(target: Project) {
99
with(target) {
1010
apply(plugin = "com.android.application")
11-
apply(plugin = "org.jetbrains.kotlin.android")
1211
apply(plugin = "app.android.lint")
1312

1413
extensions.configure<ApplicationExtension> {

build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ class AndroidLibraryConventionPlugin : Plugin<Project> {
1010
override fun apply(target: Project) {
1111
with(target) {
1212
apply(plugin = "com.android.library")
13-
apply(plugin = "org.jetbrains.kotlin.android")
1413
apply(plugin = "app.android.lint")
1514

1615
extensions.configure<LibraryExtension> {

build-logic/convention/src/main/kotlin/config/AndroidCompose.kt

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,16 @@ import org.gradle.kotlin.dsl.dependencies
55
import org.jetbrains.kotlin.compose.compiler.gradle.ComposeCompilerGradlePluginExtension
66

77
internal fun Project.configureAndroidCompose(
8-
commonExtension: CommonExtension<*, *, *, *, *, *>,
8+
commonExtension: CommonExtension,
99
) {
10-
commonExtension.apply {
11-
buildFeatures {
12-
compose = true
13-
}
10+
commonExtension.buildFeatures.compose = true
1411

15-
dependencies {
16-
val bom = libs.findLibrary("androidx.compose.bom").get()
17-
add("implementation", platform(bom))
18-
add("androidTestImplementation", platform(bom))
19-
add("implementation", libs.findLibrary("androidx.compose.ui.tooling.preview").get())
20-
add("debugImplementation", libs.findLibrary("androidx.compose.ui.tooling").get())
21-
}
12+
dependencies {
13+
val bom = libs.findLibrary("androidx.compose.bom").get()
14+
add("implementation", platform(bom))
15+
add("androidTestImplementation", platform(bom))
16+
add("implementation", libs.findLibrary("androidx.compose.ui.tooling.preview").get())
17+
add("debugImplementation", libs.findLibrary("androidx.compose.ui.tooling").get())
2218
}
2319

2420
extensions.configure<ComposeCompilerGradlePluginExtension> {

build-logic/convention/src/main/kotlin/config/GradleManagedDevices.kt

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import com.android.build.api.dsl.CommonExtension
2-
import com.android.build.api.dsl.ManagedVirtualDevice
32
import org.gradle.kotlin.dsl.get
43
import org.gradle.kotlin.dsl.invoke
54

65
internal fun configureGradleManagedDevices(
7-
commonExtension: CommonExtension<*, *, *, *, *, *>,
6+
commonExtension: CommonExtension,
87
) {
98
val pixel6Api31 = DeviceConfig("Pixel 6", 31, "aosp")
109
val pixel8Api34 = DeviceConfig("Pixel 8", 34, "google")
@@ -13,11 +12,10 @@ internal fun configureGradleManagedDevices(
1312
val ciDevices = listOf(pixel6Api31)
1413

1514
commonExtension.testOptions.apply {
16-
@Suppress("UnstableApiUsage")
1715
managedDevices {
18-
devices {
16+
localDevices {
1917
allDevices.forEach { deviceConfig ->
20-
maybeCreate(deviceConfig.taskName, ManagedVirtualDevice::class.java).apply {
18+
maybeCreate(deviceConfig.taskName).apply {
2119
device = deviceConfig.device
2220
apiLevel = deviceConfig.apiLevel
2321
systemImageSource = deviceConfig.systemImageSource
@@ -27,7 +25,7 @@ internal fun configureGradleManagedDevices(
2725
groups {
2826
maybeCreate("ci").apply {
2927
ciDevices.forEach { deviceConfig ->
30-
targetDevices.add(devices[deviceConfig.taskName])
28+
targetDevices.add(localDevices[deviceConfig.taskName])
3129
}
3230
}
3331
}

build-logic/convention/src/main/kotlin/config/KotlinAndroid.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@ import org.gradle.api.Project
44
import org.gradle.api.plugins.JavaPluginExtension
55
import org.gradle.kotlin.dsl.configure
66
import org.gradle.kotlin.dsl.dependencies
7+
import org.gradle.kotlin.dsl.withType
78
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
8-
import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension
99
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
10+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
1011

1112
internal fun Project.configureKotlinAndroid(
12-
commonExtension: CommonExtension<*, *, *, *, *, *>,
13+
commonExtension: CommonExtension,
1314
) {
1415
commonExtension.apply {
1516
compileSdk = libs.findVersion("compileSdk").get().toString().toInt()
@@ -25,7 +26,7 @@ internal fun Project.configureKotlinAndroid(
2526
}
2627
}
2728

28-
extensions.configure<KotlinAndroidProjectExtension> {
29+
tasks.withType<KotlinCompile>().configureEach {
2930
compilerOptions {
3031
jvmTarget.set(JvmTarget.JVM_17)
3132

build.gradle.kts

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
import io.gitlab.arturbosch.detekt.Detekt
2-
import io.gitlab.arturbosch.detekt.DetektCreateBaselineTask
1+
import dev.detekt.gradle.Detekt
2+
import dev.detekt.gradle.DetektCreateBaselineTask
33

44
plugins {
55
alias(libs.plugins.android.application) apply false
66
alias(libs.plugins.android.library) apply false
7-
alias(libs.plugins.kotlin.android) apply false
87
alias(libs.plugins.kotlin.compose) apply false
98
alias(libs.plugins.ksp) apply false
109
alias(libs.plugins.hilt) apply false
@@ -17,48 +16,38 @@ plugins {
1716

1817
dependencies {
1918
detektPlugins(libs.detekt.formatting)
20-
detektPlugins(libs.detekt.twitter.compose.rules)
21-
detektPlugins(libs.detekt.kode.compose.rules)
19+
detektPlugins(libs.compose.rules.detekt)
2220
}
2321

2422
val baselineFile = file("$rootDir/config/detekt/baseline.xml")
2523
val configFile = file("$rootDir/config/detekt/detekt.yml")
2624

2725
detekt {
28-
toolVersion = libs.versions.detekt.get()
29-
buildUponDefaultConfig = true
30-
baseline = baselineFile
26+
toolVersion.set(libs.versions.detekt.get())
27+
buildUponDefaultConfig.set(true)
28+
baseline.set(baselineFile)
3129
config.setFrom(configFile)
32-
parallel = true
33-
reports {
34-
html.required.set(true)
35-
html.outputLocation.set(file("$projectDir/build/detekt/report.html"))
36-
xml.required.set(true)
37-
xml.outputLocation.set(file("$projectDir/build/detekt/report.xml"))
38-
}
30+
parallel.set(true)
31+
reportsDir.set(file("$projectDir/build/detekt"))
3932
}
4033

4134
val detektAll by tasks.registering(Detekt::class) {
4235
description = "Runs Detekt analysis on the whole project."
43-
parallel = true
44-
buildUponDefaultConfig = true
36+
parallel.set(true)
37+
buildUponDefaultConfig.set(true)
4538
setSource(file(projectDir))
4639
config.setFrom(configFile)
4740
include("**/*.kt", "**/*.kts")
4841
exclude("**/resources/**", "**/build/**")
4942
baseline.set(baselineFile)
50-
reports {
51-
xml.required.set(true)
52-
html.required.set(true)
53-
}
5443
}
5544

5645
val detektFormat by tasks.registering(Detekt::class) {
5746
description = "Formats the whole project with Detekt."
58-
parallel = true
59-
disableDefaultRuleSets = true
60-
buildUponDefaultConfig = true
61-
autoCorrect = true
47+
parallel.set(true)
48+
disableDefaultRuleSets.set(true)
49+
buildUponDefaultConfig.set(true)
50+
autoCorrect.set(true)
6251
setSource(file(projectDir))
6352
config.setFrom(configFile)
6453
include("**/*.kt", "**/*.kts")

0 commit comments

Comments
 (0)