111 lines
4.2 KiB
Groovy
111 lines
4.2 KiB
Groovy
apply plugin: 'com.android.application'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlin-kapt'
|
|
apply plugin: "androidx.navigation.safeargs.kotlin"
|
|
|
|
android {
|
|
compileSdkVersion 30
|
|
buildToolsVersion "30.0.3"
|
|
|
|
defaultConfig {
|
|
applicationId "io.annaclemens.xivchat"
|
|
minSdkVersion 19
|
|
targetSdkVersion 30
|
|
versionCode 5
|
|
versionName file("../VERSION").readLines()[0]
|
|
multiDexEnabled = true
|
|
|
|
resValue "string", "app_version", versionName
|
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
|
|
vectorDrawables.useSupportLibrary = true
|
|
}
|
|
|
|
buildFeatures {
|
|
viewBinding true
|
|
}
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
}
|
|
|
|
applicationVariants.all { variant ->
|
|
variant.outputs.all { output ->
|
|
outputFileName = "XIVChat-${variant.versionName}.apk"
|
|
}
|
|
}
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
coreLibraryDesugaringEnabled true
|
|
}
|
|
packagingOptions {
|
|
exclude 'META-INF/atomicfu.kotlin_module'
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = '1.8'
|
|
freeCompilerArgs += "-Xopt-in=kotlin.RequiresOptIn"
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
ext.commonmark_version = '0.15.2'
|
|
ext.markwon_version = '4.6.0'
|
|
|
|
implementation fileTree(dir: "libs", include: ["*.jar"])
|
|
// default kotlin android stuff
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
implementation 'androidx.core:core-ktx:1.6.0'
|
|
implementation 'androidx.appcompat:appcompat:1.3.0'
|
|
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
|
implementation 'com.google.android.material:material:1.4.0'
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
|
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
|
|
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
|
|
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
|
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
|
|
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
|
|
// preference ui objects
|
|
implementation "androidx.preference:preference-ktx:1.1.1"
|
|
// libsodium for android
|
|
implementation 'com.goterl.lazycode:lazysodium-android:4.2.0@aar'
|
|
implementation 'net.java.dev.jna:jna:5.6.0@aar'
|
|
// kotlin serialisation (for xivapi)
|
|
implementation "org.jetbrains.kotlinx:kotlinx-serialization-core:1.0.0-RC"
|
|
// msgpack for xivchat protocol
|
|
implementation 'org.msgpack:msgpack-core:0.8.21'
|
|
// ktor is coroutines stuff for connection thread
|
|
implementation "io.ktor:ktor-network:$ktor_version"
|
|
implementation "io.ktor:ktor-client-core:$ktor_version"
|
|
implementation "io.ktor:ktor-client-android:$ktor_version"
|
|
// for pull-out nav profile pic
|
|
implementation 'de.hdodenhof:circleimageview:3.1.0'
|
|
// for markdown mode
|
|
implementation "io.noties.markwon:core:$markwon_version"
|
|
implementation "io.noties.markwon:ext-strikethrough:$markwon_version"
|
|
implementation "com.atlassian.commonmark:commonmark-ext-autolink:$commonmark_version"
|
|
// database stuff
|
|
implementation "androidx.room:room-runtime:$room_version"
|
|
kapt "androidx.room:room-compiler:$room_version"
|
|
implementation "androidx.room:room-ktx:$room_version"
|
|
androidTestImplementation "androidx.room:room-testing:$room_version"
|
|
// parsing latest version
|
|
implementation 'net.swiftzer.semver:semver:1.1.1'
|
|
// better link handling and phishing check hook
|
|
implementation 'me.saket:better-link-movement-method:2.2.0'
|
|
// floating action button speed dial
|
|
implementation 'com.leinardi.android:speed-dial:3.1.1'
|
|
// tests
|
|
testImplementation 'junit:junit:4.13'
|
|
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
|
// desugaring
|
|
implementation 'androidx.multidex:multidex:2.0.1'
|
|
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
|
|
// sentry
|
|
implementation 'io.sentry:sentry-android:4.0.0'
|
|
}
|