Files
AndroidIDE/app/build.gradle.kts
T
2023-11-09 01:36:15 +05:30

149 lines
4.4 KiB
Kotlin
Executable File

@file:Suppress("UnstableApiUsage")
import com.itsaky.androidide.plugins.AndroidIDEAssetsPlugin
plugins {
id("com.android.application")
id("kotlin-android")
id("kotlin-kapt")
id("kotlin-parcelize")
id("com.google.android.gms.oss-licenses-plugin")
id("androidx.navigation.safeargs.kotlin")
}
apply {
plugin(AndroidIDEAssetsPlugin::class.java)
}
android {
namespace = BuildConfig.packageName
defaultConfig {
applicationId = BuildConfig.packageName
vectorDrawables.useSupportLibrary = true
}
androidResources {
generateLocaleConfig = true
}
compileOptions {
isCoreLibraryDesugaringEnabled = true
}
buildTypes { release { isShrinkResources = true } }
packaging {
resources.excludes.addAll(
arrayOf(
"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.addAll(arrayOf("VectorPath", "NestedWeights", "ContentDescription", "SmallSp"))
}
}
kapt { arguments { arg("eventBusIndex", "${BuildConfig.packageName}.events.AppEventsIndex") } }
dependencies {
debugImplementation(libs.common.leakcanary)
// Annotation processors
kapt(libs.common.glide.ap)
kapt(libs.google.auto.service)
kapt(projects.annotationProcessors)
implementation(libs.common.editor)
implementation(libs.common.utilcode)
implementation(libs.common.glide)
implementation(libs.common.jsoup)
implementation(libs.common.kotlin.coroutines.android)
implementation(libs.google.auto.service.annotations)
implementation(libs.google.gson)
implementation(libs.google.guava)
// Git
implementation(libs.git.jgit)
// AndroidX
implementation(libs.androidx.splashscreen)
implementation(libs.androidx.annotation)
implementation(libs.androidx.appcompat)
implementation(libs.androidx.cardview)
implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.coordinatorlayout)
implementation(libs.androidx.drawer)
implementation(libs.androidx.grid)
implementation(libs.androidx.nav.fragment)
implementation(libs.androidx.nav.ui)
implementation(libs.androidx.preference)
implementation(libs.androidx.recyclerview)
implementation(libs.androidx.transition)
implementation(libs.androidx.vectors)
implementation(libs.androidx.animated.vectors)
implementation(libs.androidx.work)
implementation(libs.androidx.work.ktx)
implementation(libs.google.material)
implementation(libs.google.flexbox)
implementation(libs.google.oss.licenses)
// Kotlin
implementation(libs.androidx.ktx)
implementation(libs.common.kotlin)
// Local projects here
implementation(projects.actions)
implementation(projects.buildInfo)
implementation(projects.common)
implementation(projects.editor)
implementation(projects.emulatorview)
implementation(projects.eventbus)
implementation(projects.eventbusAndroid)
implementation(projects.eventbusEvents)
implementation(projects.gradlePluginConfig)
implementation(projects.idestats)
implementation(projects.subprojects.aaptcompiler)
implementation(projects.subprojects.javacServices)
implementation(projects.subprojects.javapoet)
implementation(projects.subprojects.xmlUtils)
implementation(projects.subprojects.projects)
implementation(projects.subprojects.toolingApi)
implementation(projects.logsender)
implementation(projects.lsp.api)
implementation(projects.lsp.java)
implementation(projects.lsp.xml)
implementation(projects.lexers)
implementation(projects.lookup)
implementation(projects.preferences)
implementation(projects.resources)
implementation(projects.treeview)
implementation(projects.templatesApi)
implementation(projects.templatesImpl)
implementation(projects.uidesigner)
implementation(projects.xmlInflater)
coreLibraryDesugaring(libs.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(projects.subprojects.toolingApiImpl)
testImplementation(projects.testing.unit)
androidTestImplementation(projects.testing.android)
}