Skip to content

Commit 6a0826a

Browse files
authored
Merge pull request #7 from kalinjul/update-agp
Update agp
2 parents 697d600 + 6cfabf9 commit 6a0826a

22 files changed

Lines changed: 119 additions & 63 deletions

File tree

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
.idea
33
.kotlin
44
.gradle
5-
.DS_Store
5+
.DS_Store
6+
**/DerivedData

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ Supported Compose versions:
2222
2323
Add the dependency to your commonMain sourceSet (KMP) / Android dependencies (android only):
2424
```kotlin
25-
implementation("io.github.kalinjul.easydocumentscan:documentscanner-compose:0.4.0")
25+
implementation("io.github.kalinjul.easydocumentscan:documentscanner-compose:0.4.1")
2626
```
2727

2828
Or, for your libs.versions.toml:
2929
```toml
3030
[versions]
31-
easydocumentscanner = "0.4.0"
31+
easydocumentscanner = "0.4.1"
3232
[libraries]
3333
easydocumentscanner-compose = { module = "io.github.kalinjul.easydocumentscan:documentscanner-compose", version.ref = "easydocumentscanner" }
3434
easydocumentscanner-core = { module = "io.github.kalinjul.easydocumentscan:documentscanner-core", version.ref = "easydocumentscanner" }

build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/AndroidApplicationConventionPlugin.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import org.gradle.api.Plugin
55
import org.gradle.api.Project
66
import org.gradle.kotlin.dsl.configure
77
import io.github.kalinjul.convention.config.configureKotlinAndroid
8+
import org.gradle.api.JavaVersion
89

910
class AndroidApplicationConventionPlugin : Plugin<Project> {
1011
override fun apply(target: Project) {
@@ -15,6 +16,21 @@ class AndroidApplicationConventionPlugin : Plugin<Project> {
1516

1617
extensions.configure<ApplicationExtension> {
1718
configureKotlinAndroid(this)
19+
20+
defaultConfig {
21+
targetSdk = libs.versions.targetSdk.get().toInt()
22+
compileSdk = libs.versions.compileSdk.get().toInt()
23+
minSdk = libs.versions.minSdk.get().toInt()
24+
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
25+
}
26+
27+
28+
// Can remove this once https://issuetracker.google.com/issues/260059413 is fixed.
29+
// See https://kotlinlang.org/docs/gradle-configure-project.html#gradle-java-toolchains-support
30+
compileOptions {
31+
sourceCompatibility = JavaVersion.toVersion(libs.versions.jvmTarget.get())
32+
targetCompatibility = JavaVersion.toVersion(libs.versions.jvmTarget.get())
33+
}
1834
}
1935
}
2036
}

build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/AndroidLibraryConventionPlugin.kt

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,35 @@
11
package io.github.kalinjul.convention
22

3-
import com.android.build.gradle.LibraryExtension
3+
import com.android.build.api.dsl.KotlinMultiplatformAndroidLibraryTarget
44
import io.github.kalinjul.convention.config.configureKotlinAndroid
55
import org.gradle.api.Plugin
66
import org.gradle.api.Project
77
import org.gradle.kotlin.dsl.configure
8+
import org.gradle.kotlin.dsl.withType
9+
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
810

911
class AndroidLibraryConventionPlugin : Plugin<Project> {
1012
override fun apply(target: Project) {
1113
with(target) {
1214
with(pluginManager) {
13-
apply("com.android.library")
15+
apply("com.android.kotlin.multiplatform.library")
1416
}
1517

16-
extensions.configure<LibraryExtension> {
17-
configureKotlinAndroid(this)
18-
namespace = "org.publicvalue.multiplatform.${project.name.replace("-", ".")}"
18+
extensions.configure<KotlinMultiplatformExtension> {
19+
targets.withType<KotlinMultiplatformAndroidLibraryTarget>().configureEach {
20+
configureKotlinAndroid(this)
21+
22+
minSdk = libs.versions.minSdk.get().toInt()
23+
compileSdk = libs.versions.compileSdk.get().toInt()
24+
25+
26+
optimization {
27+
consumerKeepRules.file(target.layout.projectDirectory.file("consumer-rules.pro").asFile)
28+
consumerKeepRules.publish = true
29+
}
30+
31+
namespace = "org.publicvalue.multiplatform.${project.name.replace("-", ".")}"
32+
}
1933
}
2034
}
2135
}

build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/KotlinMultiplatformConventionPlugin.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package io.github.kalinjul.convention
22

33
import org.gradle.api.Plugin
44
import org.gradle.api.Project
5-
import org.gradle.configurationcache.extensions.capitalized
65
import org.gradle.kotlin.dsl.configure
76
import org.gradle.kotlin.dsl.dependencies
87
import org.gradle.kotlin.dsl.getByType
@@ -48,3 +47,5 @@ private fun Project.addKspDependencyForAllTargets(
4847
}
4948
}
5049
}
50+
51+
fun String.capitalized() = replaceFirstChar { if (it.isLowerCase()) it.titlecase() else it.toString() }

build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/KotlinMultiplatformMobileConventionPlugin.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class KotlinMultiplatformMobileConventionPlugin : Plugin<Project> {
2020
extensions.configure<KotlinMultiplatformExtension> {
2121
applyDefaultHierarchyTemplate()
2222

23-
if (pluginManager.hasPlugin("com.android.library")) {
23+
if (pluginManager.hasPlugin("com.android.kotlin.multiplatform.library")) {
2424
androidTarget {
2525
compilerOptions {
2626
jvmTarget.set(JvmTarget.fromTarget((libs.versions.jvmTarget.get())))

build-logic/convention/src/main/kotlin/io/github/kalinjul/convention/config/Android.kt

Lines changed: 40 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,58 @@ package io.github.kalinjul.convention.config
22

33
import com.android.build.api.dsl.ApplicationExtension
44
import com.android.build.api.dsl.CommonExtension
5+
import com.android.build.api.dsl.KotlinMultiplatformAndroidLibraryTarget
56
import com.android.build.api.dsl.LibraryExtension
7+
import io.github.kalinjul.convention.libs
68
import org.gradle.accessors.dm.LibrariesForLibs
79
import org.gradle.api.JavaVersion
810
import org.gradle.api.Project
911
import org.gradle.kotlin.dsl.the
12+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
1013
import java.io.File
1114

12-
fun Project.configureKotlinAndroid(extension: CommonExtension<*, *, *, *, *, *>) {
13-
val libs = the<LibrariesForLibs>()
15+
//fun Project.configureKotlinAndroid(extension: CommonExtension<*, *, *, *, *, *>) {
16+
// val libs = the<LibrariesForLibs>()
17+
//
18+
// if (extension is LibraryExtension) {
19+
// extension.defaultConfig {
20+
// consumerProguardFiles += File("consumer-rules.pro")
21+
// }
22+
// } else if (extension is ApplicationExtension) {
23+
// extension.apply {
24+
// defaultConfig {
25+
// targetSdk = libs.versions.targetSdk.get().toInt()
26+
// }
27+
// }
28+
// }
29+
//
30+
// extension.apply {
31+
// compileSdk = libs.versions.compileSdk.get().toInt()
32+
//
33+
// defaultConfig {
34+
// minSdk = libs.versions.minSdk.get().toInt()
35+
// testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
36+
// }
37+
//
38+
// // Can remove this once https://issuetracker.google.com/issues/260059413 is fixed.
39+
// // See https://kotlinlang.org/docs/gradle-configure-project.html#gradle-java-toolchains-support
40+
// compileOptions {
41+
// sourceCompatibility = JavaVersion.toVersion(libs.versions.jvmTarget.get())
42+
// targetCompatibility = JavaVersion.toVersion(libs.versions.jvmTarget.get())
43+
// }
44+
// }
45+
//}
1446

15-
if (extension is LibraryExtension) {
16-
extension.defaultConfig {
17-
consumerProguardFiles += File("consumer-rules.pro")
18-
}
19-
} else if (extension is ApplicationExtension) {
20-
extension.apply {
21-
defaultConfig {
22-
targetSdk = libs.versions.targetSdk.get().toInt()
23-
}
47+
fun Project.configureKotlinAndroid(target: KotlinMultiplatformAndroidLibraryTarget) {
48+
target.apply {
49+
compilerOptions {
50+
this.jvmTarget.set(JvmTarget.fromTarget(libs.versions.jvmTarget.get()))
2451
}
2552
}
53+
}
2654

55+
fun Project.configureKotlinAndroid(extension: ApplicationExtension) {
2756
extension.apply {
28-
compileSdk = libs.versions.compileSdk.get().toInt()
29-
30-
defaultConfig {
31-
minSdk = libs.versions.minSdk.get().toInt()
32-
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
33-
}
34-
3557
// Can remove this once https://issuetracker.google.com/issues/260059413 is fixed.
3658
// See https://kotlinlang.org/docs/gradle-configure-project.html#gradle-java-toolchains-support
3759
compileOptions {

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import java.net.URI
33

44
plugins {
55
alias(libs.plugins.android.application) apply false
6-
alias(libs.plugins.android.library) apply false
6+
alias(libs.plugins.android.multiplatform.library) apply false
77
alias(libs.plugins.composeMultiplatform) apply false
88
alias(libs.plugins.compose.compiler) apply false
99
alias(libs.plugins.ksp) apply false

documentscanner-compose/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import io.github.kalinjul.convention.config.configureIosTargets
44
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
55

66
plugins {
7-
id("io.github.kalinjul.convention.android.library")
87
id("io.github.kalinjul.convention.kotlin.multiplatform.mobile")
8+
id("io.github.kalinjul.convention.android.library")
99
id("io.github.kalinjul.convention.centralPublish")
1010
id("io.github.kalinjul.convention.compose.multiplatform")
1111
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
-keep class * implements com.google.firebase.components.ComponentRegistrar {
2+
public <init>();
3+
}

0 commit comments

Comments
 (0)