tahamajs's picture
download
raw
9.26 kB
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'com.google.devtools.ksp'
id 'kotlin-kapt'
id 'com.google.dagger.hilt.android'
id 'kotlin-parcelize'
id 'org.jetbrains.kotlin.plugin.serialization'
}
android {
namespace 'com.airmouse'
compileSdk 34
defaultConfig {
applicationId "com.airmouse"
minSdk 29
targetSdk 34
versionCode 100
versionName "4.9.9"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
buildConfigField "String", "APP_NAME", '"Air Mouse Pro"'
buildConfigField "String", "BUILD_TIME", "\"${new Date().format("yyyy-MM-dd HH:mm:ss")}\""
buildConfigField "String", "GIT_HASH", "\"${System.getenv("GIT_COMMIT") ?: "unknown"}\""
resConfigs "en", "fa"
}
buildFeatures {
compose true
buildConfig true
viewBinding false
dataBinding false
}
composeOptions {
kotlinCompilerExtensionVersion "1.5.14"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '17'
freeCompilerArgs = [
'-Xskip-metadata-version-check',
'-Xallow-kotlin-package',
'-Xjvm-default=all',
'-opt-in=kotlin.RequiresOptIn',
'-opt-in=androidx.compose.material3.ExperimentalMaterial3Api',
'-opt-in=androidx.compose.animation.ExperimentalAnimationApi',
'-opt-in=androidx.compose.foundation.ExperimentalFoundationApi',
'-opt-in=androidx.compose.ui.ExperimentalComposeUiApi',
'-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi',
'-opt-in=kotlinx.serialization.ExperimentalSerializationApi'
]
}
signingConfigs {
release {
storeFile file("airmouse.keystore")
storePassword "airmouse"
keyAlias "airmouse"
keyPassword "airmouse"
}
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
buildConfigField "boolean", "IS_DEBUG", "false"
buildConfigField "boolean", "ENABLE_LOGGING", "false"
}
debug {
debuggable true
buildConfigField "boolean", "IS_DEBUG", "true"
buildConfigField "boolean", "ENABLE_LOGGING", "true"
minifyEnabled false
}
}
packagingOptions {
resources {
excludes += '/META-INF/{AL2.0,LGPL2.1}'
excludes += '/META-INF/DEPENDENCIES'
excludes += '/META-INF/LICENSE'
excludes += '/META-INF/NOTICE'
excludes += '/META-INF/INDEX.LIST'
excludes += '/META-INF/io.netty.versions.properties'
excludes += '**/attach_hotspot_windows.dll'
excludes += 'META-INF/versions/**'
merges += 'META-INF/LICENSE.md'
merges += 'META-INF/NOTICE.md'
}
}
testOptions {
unitTests {
includeAndroidResources = true
returnDefaultValues = true
}
}
lint {
abortOnError = false
checkReleaseBuilds = false
disable 'MissingTranslation', 'ExtraTranslation'
baseline file("lint-baseline.xml")
}
sourceSets {
main {
java.srcDirs += 'src/main/kotlin'
java.srcDirs += 'src/main/java'
}
debug {
java.srcDirs += 'src/debug/kotlin'
java.srcDirs += 'src/debug/java'
}
}
}
// Java Toolchain configuration
kotlin {
jvmToolchain(17)
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.24"
implementation "org.jetbrains.kotlin:kotlin-reflect:1.9.24"
implementation platform('androidx.compose:compose-bom:2024.10.00')
implementation 'androidx.compose.ui:ui'
implementation 'androidx.compose.ui:ui-graphics'
implementation 'androidx.compose.ui:ui-tooling-preview'
implementation 'androidx.compose.material3:material3'
implementation 'androidx.compose.material:material-icons-extended'
implementation 'androidx.compose.animation:animation'
implementation 'androidx.compose.animation:animation-graphics'
implementation 'androidx.compose.runtime:runtime-livedata'
implementation 'androidx.compose.runtime:runtime-rxjava2'
debugImplementation 'androidx.compose.ui:ui-tooling'
debugImplementation 'androidx.compose.ui:ui-test-manifest'
implementation 'androidx.activity:activity-compose:1.9.2'
implementation 'androidx.navigation:navigation-compose:2.7.7'
implementation 'androidx.hilt:hilt-navigation-compose:1.2.0'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.4'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.4'
implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.8.4'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.8.4'
implementation 'androidx.lifecycle:lifecycle-runtime-compose:2.8.4'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3'
implementation 'com.google.dagger:hilt-android:2.52'
implementation 'androidx.hilt:hilt-work:1.2.0'
implementation 'androidx.hilt:hilt-navigation-fragment:1.2.0'
ksp 'com.google.dagger:hilt-compiler:2.52'
implementation 'androidx.datastore:datastore-preferences:1.1.1'
implementation 'androidx.datastore:datastore-preferences-core:1.1.1'
implementation 'androidx.room:room-runtime:2.6.1'
ksp 'androidx.room:room-compiler:2.6.1'
implementation 'androidx.room:room-ktx:2.6.1'
implementation 'androidx.room:room-paging:2.6.1'
implementation 'androidx.preference:preference-ktx:1.2.1'
implementation 'androidx.viewpager2:viewpager2:1.1.0'
implementation 'androidx.recyclerview:recyclerview:1.3.2'
implementation 'androidx.paging:paging-runtime-ktx:3.3.0'
implementation 'androidx.paging:paging-compose:3.3.0'
implementation 'com.squareup.okhttp3:okhttp:4.12.0'
implementation 'com.squareup.okhttp3:logging-interceptor:4.12.0'
implementation 'com.squareup.okhttp3:okhttp-sse:4.12.0'
implementation 'com.squareup.okhttp3:okhttp-tls:4.12.0'
implementation 'com.google.code.gson:gson:2.11.0'
implementation 'com.squareup.retrofit2:retrofit:2.11.0'
implementation 'com.squareup.retrofit2:converter-gson:2.11.0'
implementation 'com.github.mik3y:usb-serial-for-android:3.8.0'
implementation 'androidx.core:core-splashscreen:1.0.1'
implementation 'com.jakewharton.timber:timber:5.0.1'
implementation 'com.google.android.material:material:1.12.0'
implementation 'com.github.PhilJay:MPAndroidChart:3.1.0'
implementation 'com.journeyapps:zxing-android-embedded:4.3.0'
implementation 'androidx.work:work-runtime-ktx:2.9.0'
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1'
implementation 'androidx.core:core-ktx:1.13.1'
implementation 'androidx.appcompat:appcompat:1.7.0'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.mockito:mockito-core:5.8.0'
testImplementation 'org.mockito.kotlin:mockito-kotlin:5.1.0'
testImplementation 'androidx.arch.core:core-testing:2.2.0'
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3'
testImplementation 'com.google.truth:truth:1.1.5'
testImplementation 'io.mockk:mockk:1.13.8'
testImplementation 'org.robolectric:robolectric:4.11.1'
testImplementation 'androidx.test:core:1.5.0'
testImplementation 'androidx.test.ext:junit:1.1.5'
testImplementation 'com.squareup.okhttp3:mockwebserver:4.12.0'
androidTestImplementation 'androidx.test:runner:1.5.2'
androidTestImplementation 'androidx.test:rules:1.5.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.5.1'
androidTestImplementation 'androidx.test.espresso:espresso-intents:3.5.1'
androidTestImplementation platform('androidx.compose:compose-bom:2024.10.00')
androidTestImplementation 'androidx.compose.ui:ui-test-junit4'
androidTestImplementation 'androidx.compose.ui:ui-test-manifest'
androidTestImplementation 'com.google.dagger:hilt-android-testing:2.52'
kspAndroidTest 'com.google.dagger:hilt-compiler:2.52'
}
ksp {
arg("room.schemaLocation", "$projectDir/schemas")
arg("room.incremental", "false")
arg("dagger.hilt.android.internal.disableAndroidSuperclassValidation", "true")
arg("kotlin.incremental", "false")
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
kotlinOptions {
jvmTarget = '17'
freeCompilerArgs += [
'-Xskip-metadata-version-check',
'-Xallow-kotlin-package'
]
}
}

Xet Storage Details

Size:
9.26 kB
·
Xet hash:
2404b4c7b28bf40736100b403a826e800a1a271a1096f9eb7d17b7d38c38f94a

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.