mirror of
https://github.com/thunderbird/thunderbird-android.git
synced 2024-09-19 19:52:14 +02:00
Add Android Compose library build plugin
This commit is contained in:
parent
e0f0300e82
commit
a7256692e5
@ -1,4 +1,5 @@
|
||||
import com.android.build.api.dsl.CommonExtension
|
||||
import org.gradle.accessors.dm.LibrariesForLibs
|
||||
|
||||
fun CommonExtension<*, *, *, *>.configureSharedConfig() {
|
||||
compileSdk = ThunderbirdProjectConfig.androidSdkCompile
|
||||
@ -26,3 +27,24 @@ fun CommonExtension<*, *, *, *>.configureSharedConfig() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun CommonExtension<*, *, *, *>.configureSharedComposeConfig(libs: LibrariesForLibs) {
|
||||
buildFeatures {
|
||||
compose = true
|
||||
}
|
||||
|
||||
composeOptions {
|
||||
kotlinCompilerExtensionVersion = libs.versions.androidxComposeCompiler.get()
|
||||
}
|
||||
|
||||
lint {
|
||||
warningsAsErrors = true
|
||||
abortOnError = true
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
resources {
|
||||
excludes += "/META-INF/{AL2.0,LGPL2.1}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6,5 +6,6 @@ object ThunderbirdPlugins {
|
||||
object Library {
|
||||
const val jvm = "thunderbird.library.jvm"
|
||||
const val android = "thunderbird.library.android"
|
||||
const val androidCompose = "thunderbird.library.android.compose"
|
||||
}
|
||||
}
|
||||
|
@ -3,13 +3,7 @@ plugins {
|
||||
}
|
||||
|
||||
android {
|
||||
buildFeatures {
|
||||
compose = true
|
||||
}
|
||||
|
||||
composeOptions {
|
||||
kotlinCompilerExtensionVersion = libs.versions.androidxComposeCompiler.get()
|
||||
}
|
||||
configureSharedComposeConfig(libs)
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
@ -20,17 +14,6 @@ android {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
lint {
|
||||
warningsAsErrors = true
|
||||
abortOnError = true
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
resources {
|
||||
excludes += "/META-INF/{AL2.0,LGPL2.1}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@ -48,6 +31,7 @@ dependencies {
|
||||
debugImplementation("androidx.compose.ui:ui-test-manifest")
|
||||
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
|
||||
|
||||
implementation(libs.androidx.compose.activity)
|
||||
implementation(libs.androidx.compose.lifecycle.viewmodel)
|
||||
|
||||
implementation(libs.androidx.compose.activity)
|
||||
}
|
||||
|
@ -0,0 +1,25 @@
|
||||
plugins {
|
||||
id("thunderbird.library.android")
|
||||
}
|
||||
|
||||
android {
|
||||
configureSharedComposeConfig(libs)
|
||||
}
|
||||
|
||||
dependencies {
|
||||
val composeBom = platform("androidx.compose:compose-bom:${libs.versions.androidxComposeBom.get()}")
|
||||
implementation(composeBom)
|
||||
androidTestImplementation(composeBom)
|
||||
|
||||
implementation("androidx.compose.material:material")
|
||||
|
||||
// Android Studio Preview support
|
||||
implementation("androidx.compose.ui:ui-tooling-preview")
|
||||
debugImplementation("androidx.compose.ui:ui-tooling")
|
||||
|
||||
// UI Tests
|
||||
debugImplementation("androidx.compose.ui:ui-test-manifest")
|
||||
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
|
||||
|
||||
implementation(libs.androidx.compose.lifecycle.viewmodel)
|
||||
}
|
Loading…
Reference in New Issue
Block a user