Skip to content

Commit e0638d5

Browse files
StaehliJJoaquim StähliMGaetan89
authored
Enable desugaring of java 8+ feature for android < 24 (#509)
Co-authored-by: Joaquim Stähli <[email protected]> Co-authored-by: Gaëtan Muller <[email protected]>
1 parent 1c3346e commit e0638d5

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

build-logic/plugins/src/main/java/ch/srgssr/pillarbox/gradle/internal/ProjectExtensions.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package ch.srgssr.pillarbox.gradle.internal
66

77
import com.android.build.api.dsl.CommonExtension
88
import org.gradle.api.Project
9+
import org.gradle.kotlin.dsl.dependencies
910
import org.gradle.kotlin.dsl.withType
1011
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
1112

@@ -20,12 +21,18 @@ internal fun Project.configureAndroidModule(extension: CommonExtension<*, *, *,
2021
compileOptions {
2122
sourceCompatibility = AppConfig.javaVersion
2223
targetCompatibility = AppConfig.javaVersion
24+
isCoreLibraryDesugaringEnabled = true
2325
}
2426

2527
buildFeatures {
2628
resValues = false
2729
shaders = false
2830
}
31+
32+
dependencies {
33+
// coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4")
34+
add("coreLibraryDesugaring", "com.android.tools:desugar_jdk_libs:2.0.4")
35+
}
2936
}
3037

3138
internal fun configureComposeModule(extension: CommonExtension<*, *, *, *, *, *>) = with(extension) {

docs/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,22 @@ kotlinOptions {
106106
}
107107
```
108108

109+
### Support Android API < 24
110+
111+
If your min SDK version is below 24, you have to enabled library desugaring as describe in the [Android documentation](https://developer.android.com/studio/write/java8-support#library-desugaring):
112+
113+
```kotlin
114+
compileOptions {
115+
sourceCompatibility = JavaVersion.VERSION_17
116+
targetCompatibility = JavaVersion.VERSION_17
117+
isCoreLibraryDesugaringEnabled = true
118+
}
119+
120+
dependencies {
121+
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4")
122+
}
123+
```
124+
109125
### Integrate Pillarbox
110126

111127
To start using Pillarbox in your project, you can check each module's documentation:

0 commit comments

Comments
 (0)