Files
AndroidIDE/app/build.gradle
T
2022-12-22 18:59:20 +05:30

182 lines
5.7 KiB
Groovy
Executable File

plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-parcelize'
id 'com.google.android.gms.oss-licenses-plugin'
}
android {
namespace "com.itsaky.androidide"
compileSdkVersion rootProject.ext.compileSdk
buildToolsVersion rootProject.ext.buildTools
defaultConfig {
applicationId rootProject.ext.packageName
minSdkVersion rootProject.ext.minSdk
targetSdkVersion rootProject.ext.targetSdk
versionCode rootProject.ext.versionCode
versionName rootProject.ext.versionName
multiDexEnabled true
vectorDrawables.useSupportLibrary = true
}
compileOptions {
coreLibraryDesugaringEnabled true
sourceCompatibility rootProject.ext.javaSourceVersion
targetCompatibility rootProject.ext.javaTargetVersion
}
kotlinOptions {
jvmTarget = "11"
}
buildFeatures {
viewBinding true
}
signingConfigs {
debug {
storeFile file ("dev.keystore")
keyAlias "androidide"
storePassword "ed68424fb109e5aa8146e4b86caa72e3"
keyPassword "ed68424fb109e5aa8146e4b86caa72e3"
}
release {
storeFile file ("dev.keystore")
keyAlias "androidide"
storePassword "ed68424fb109e5aa8146e4b86caa72e3"
keyPassword "ed68424fb109e5aa8146e4b86caa72e3"
}
}
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug
}
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
packagingOptions {
resources {
excludes += ['META-INF/eclipse.inf',
'META-INF/CHANGES',
'META-INF/README.md',
'about_files/LICENSE-2.0.txt',
'META-INF/AL2.0',
'META-INF/LGPL2.1',
'plugin.xml',
'plugin.properties',
'about.mappings',
'about.properties',
'about.ini',
'modeling32.png']
}
}
lint {
abortOnError false
disable 'VectorPath', 'NestedWeights', 'ContentDescription', 'SmallSp'
}
}
configurations.all {
exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
}
kapt {
arguments {
arg ('eventBusIndex', 'com.itsaky.androidide.events.AppEventsIndex')
}
}
dependencies {
// Annotation processors
kapt common.glide_ap
kapt common.eventbus_ap
kapt google.auto_service
implementation common.editor
implementation common.utilcode
implementation common.glide
implementation common.jsoup
implementation google.auto_service_annotations
implementation google.gson
implementation google.guava
//Git
implementation git.jgit
// AndroidX
implementation androidx.splashscreen
implementation androidx.annotation
implementation androidx.appcompat
implementation androidx.cardview
implementation androidx.constraintlayout
implementation androidx.coordinatorlayout
implementation androidx.drawer
implementation androidx.grid
implementation androidx.preference
implementation androidx.recyclerview
implementation androidx.vectors
implementation androidx.animated_vectors
implementation google.material
implementation google.oss_licenses
// Kotlin
implementation androidx.ktx
implementation common.kotlin
// Local projects here
implementation project (':actions')
implementation project (':common')
implementation project (':editor')
implementation project (':emulatorview')
implementation project (':eventbus')
implementation project (':eventbus-android')
implementation project (':eventbus-events')
implementation project (':subprojects:aaptcompiler')
implementation project (':subprojects:javac-services')
implementation project (':subprojects:xml-utils')
implementation project (':subprojects:projects')
implementation project (':subprojects:tooling-api')
implementation project (':lsp:api')
implementation project (':lsp:java')
implementation project (':lsp:xml')
implementation project (':lexers')
implementation project (':lookup')
implementation project (':preferences')
implementation project (':resources')
implementation project (':treeview')
implementation project (':uidesigner')
implementation project (':xml-inflater')
implementation fileTree (dir: 'libs', include: ['*.jar'])
coreLibraryDesugaring androidx.lib_desugaring
// This is to build the tooling-api-impl project before the app is built
// So we always copy the latest JAR file to assets
compileOnly project (path: ':subprojects:tooling-api-impl')
testImplementation common.editor
testImplementation tests.junit
testImplementation tests.google_truth
testImplementation tests.robolectric
androidTestImplementation tests.androidx_junit
androidTestImplementation tests.androidx_espresso
androidTestImplementation tests.google_truth
}