188 lines
6.3 KiB
Kotlin
188 lines
6.3 KiB
Kotlin
import com.android.build.gradle.internal.api.ApkVariantOutputImpl
|
|
|
|
plugins {
|
|
id(libs.plugins.android.application.get().pluginId)
|
|
id(libs.plugins.kotlin.android.get().pluginId)
|
|
id(libs.plugins.kotlin.parcelize.get().pluginId)
|
|
id(libs.plugins.ksp.get().pluginId)
|
|
id(libs.plugins.hilt.plugin.get().pluginId)
|
|
id(libs.plugins.spotless.get().pluginId)
|
|
}
|
|
|
|
android {
|
|
compileSdk = (Apps.compileSdk)
|
|
buildToolsVersion = (Apps.buildTools)
|
|
defaultConfig {
|
|
applicationId = "me.rosuh.easywatermark"
|
|
minSdk = (Apps.minSdk)
|
|
targetSdk = (Apps.targetSdk)
|
|
versionCode = 21000
|
|
versionName = "2.10.0"
|
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
|
}
|
|
|
|
buildTypes {
|
|
val debug by getting {
|
|
applicationIdSuffix = ".debug"
|
|
}
|
|
|
|
val release by getting {
|
|
isMinifyEnabled = true
|
|
isShrinkResources = true
|
|
proguardFiles(
|
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
|
"coroutines.pro", "proguard-rules.pro"
|
|
)
|
|
}
|
|
|
|
create("benchmark") {
|
|
initWith(release)
|
|
signingConfig = signingConfigs.getByName("debug")
|
|
// [START_EXCLUDE silent]
|
|
// Selects release buildType if the benchmark buildType not available in other modules.
|
|
matchingFallbacks.add("release")
|
|
// [END_EXCLUDE]
|
|
proguardFiles("benchmark-rules.pro")
|
|
}
|
|
}
|
|
|
|
packagingOptions {
|
|
resources.excludes.add("DebugProbesKt.bin")
|
|
}
|
|
|
|
android.buildFeatures.viewBinding = true
|
|
|
|
namespace = "me.rosuh.easywatermark"
|
|
|
|
buildFeatures {
|
|
compose = true
|
|
}
|
|
|
|
composeOptions {
|
|
kotlinCompilerExtensionVersion = libs.versions.androidxComposeCompiler.get()
|
|
}
|
|
|
|
kotlin {
|
|
jvmToolchain(17)
|
|
}
|
|
|
|
applicationVariants.configureEach {
|
|
outputs.configureEach {
|
|
(this as? ApkVariantOutputImpl)?.outputFileName =
|
|
"EasyWatermark-$versionName-$versionCode.apk"
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
dependencies {
|
|
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
|
|
implementation(project(mapOf("path" to ":cmonet")))
|
|
|
|
implementation(libs.room.runtime)
|
|
implementation(libs.room.ktx)
|
|
implementation(libs.core.ktx)
|
|
ksp(libs.room.compiler)
|
|
|
|
implementation(libs.datastore.preference)
|
|
|
|
// di
|
|
implementation(libs.hilt.android)
|
|
ksp(libs.hilt.compiler)
|
|
androidTestImplementation(libs.hilt.testing)
|
|
kspAndroidTest(libs.hilt.compiler)
|
|
|
|
implementation(libs.asynclayout.inflater)
|
|
|
|
implementation(libs.glide)
|
|
ksp(libs.glide.compiler)
|
|
|
|
implementation(libs.compressor)
|
|
|
|
implementation(libs.kotlin.stdlib)
|
|
implementation(libs.kotlin.coroutine.android)
|
|
implementation(libs.kotlin.coroutine.core)
|
|
|
|
implementation(libs.appcompat)
|
|
implementation(libs.material)
|
|
implementation(libs.fragment.ktx)
|
|
implementation(libs.activity.ktx)
|
|
implementation(libs.lifecycle.runtime.ktx)
|
|
implementation(libs.lifecycle.livedata.ktx)
|
|
implementation(libs.lifecycle.viewmodel.ktx)
|
|
implementation(libs.viewpager2)
|
|
implementation(libs.recyclerview)
|
|
implementation(libs.constraintlayout)
|
|
implementation(libs.exifinterface)
|
|
implementation(libs.palette.ktx)
|
|
implementation(libs.profileinstaller)
|
|
|
|
implementation(libs.colorpicker)
|
|
|
|
|
|
testImplementation(libs.test.junit)
|
|
testImplementation(libs.test.rules)
|
|
testImplementation(libs.test.runner)
|
|
androidTestImplementation(libs.mockito.core)
|
|
androidTestImplementation(libs.mockito.android)
|
|
androidTestImplementation(libs.robolectric)
|
|
androidTestImplementation(libs.hamcrest.library)
|
|
androidTestImplementation(libs.test.espresso.core)
|
|
androidTestImplementation(libs.test.uiautomator)
|
|
androidTestImplementation(libs.test.ext.junit)
|
|
|
|
// or only import the main APIs for the underlying toolkit systems,
|
|
// such as input and measurement/layout
|
|
// val composeBom = platform("androidx.compose:compose-bom:2023.10.00")
|
|
// implementation(composeBom)
|
|
// androidTestImplementation(composeBom)
|
|
implementation(platform(libs.androidx.compose.bom))
|
|
androidTestImplementation(platform(libs.androidx.compose.bom))
|
|
// implementation("androidx.compose.material3:material3:1.2.0-alpha09")
|
|
// implementation("androidx.compose.material3:material3-window-size-class:1.1.2")
|
|
// implementation(libs.material)
|
|
implementation(libs.androidx.compose.material3)
|
|
implementation(libs.androidx.compose.material3.windowSizeClass)
|
|
// implementation("androidx.compose.ui:ui")
|
|
implementation(libs.androidx.compose.ui.ui)
|
|
|
|
// implementation("androidx.compose.ui:ui-tooling-preview")
|
|
// debugImplementation("androidx.compose.ui:ui-tooling")
|
|
implementation(libs.androidx.compose.ui.tooling.preview)
|
|
implementation(libs.androidx.compose.ui.tooling)
|
|
|
|
// Optional - Integration with activities
|
|
// implementation("androidx.activity:activity-compose:1.8.0")
|
|
implementation(libs.androidx.activity.compose)
|
|
// Optional - Integration with ViewModels
|
|
// implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2")
|
|
implementation(libs.androidx.compose.lifecycle.viewmodel)
|
|
|
|
// When using a MDC theme
|
|
// implementation("com.google.android.material:compose-theme-adapter:1.2.1")
|
|
|
|
// implementation("com.google.accompanist:accompanist-permissions:0.33.2-alpha")
|
|
implementation(libs.accompanist.permissions)
|
|
// implementation("io.coil-kt:coil-compose:2.3.0")
|
|
implementation(libs.coil.kt)
|
|
implementation(libs.coil.kt.compose)
|
|
implementation(libs.coil.kt.svg)
|
|
|
|
// implementation("androidx.compose.runtime:runtime-livedata:1.5.3")
|
|
implementation(libs.androidx.compose.runtime.livedata)
|
|
|
|
// implementation("androidx.lifecycle:lifecycle-runtime-compose:2.6.2")
|
|
implementation(libs.androidx.lifecycle.runtime.compose)
|
|
|
|
// implementation("androidx.navigation:navigation-compose:2.7.4")
|
|
implementation(libs.androidx.navigation.compose)
|
|
|
|
// implementation("com.google.accompanist:accompanist-navigation-animation:0.31.1-alpha")
|
|
implementation(libs.accompanist.navigation.animation)
|
|
|
|
// implementation("androidx.constraintlayout:constraintlayout-compose:1.0.1")
|
|
implementation(libs.androidx.constraintlayout.compose)
|
|
implementation(libs.androidx.motionlayoout.compose)
|
|
|
|
}
|