mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-11 14:08:55 +08:00
feat(android): ai chat scaffold (#11124)
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> Co-authored-by: eyhn <cneyhn@gmail.com>
This commit is contained in:
@@ -3,7 +3,12 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
alias libs.plugins.android.application
|
||||
alias libs.plugins.compose
|
||||
alias libs.plugins.hilt
|
||||
alias libs.plugins.kotlin.android
|
||||
alias libs.plugins.kotlin.parcelize
|
||||
alias libs.plugins.kotlin.serialization
|
||||
alias libs.plugins.ksp
|
||||
alias libs.plugins.rust.android
|
||||
}
|
||||
|
||||
@@ -26,17 +31,23 @@ android {
|
||||
ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'
|
||||
}
|
||||
ndk {
|
||||
abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86', 'x86_64'
|
||||
abiFilters 'arm64-v8a'
|
||||
}
|
||||
}
|
||||
buildFeatures {
|
||||
compose true
|
||||
buildConfig true
|
||||
viewBinding true
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
minifyEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
debug {
|
||||
minifyEnabled false
|
||||
debuggable true
|
||||
}
|
||||
}
|
||||
flavorDimensions = ['chanel']
|
||||
productFlavors {
|
||||
@@ -66,17 +77,54 @@ dependencies {
|
||||
implementation project(':capacitor-android')
|
||||
implementation project(':capacitor-cordova-android-plugins')
|
||||
implementation project(':service')
|
||||
implementation libs.kotlinx.coroutines.core
|
||||
implementation libs.kotlinx.coroutines.android
|
||||
|
||||
implementation libs.androidx.appcompat
|
||||
implementation libs.androidx.browser
|
||||
implementation libs.timber
|
||||
|
||||
implementation libs.hilt.android.core
|
||||
ksp libs.hilt.compiler
|
||||
|
||||
def composeBom = platform(libs.androidx.compose.bom)
|
||||
implementation composeBom
|
||||
implementation libs.androidx.activity.compose
|
||||
implementation libs.androidx.compose.foundation.layout
|
||||
implementation libs.androidx.compose.material3
|
||||
implementation libs.androidx.compose.material.icons.extended
|
||||
implementation libs.androidx.compose.runtime.livedata
|
||||
implementation libs.androidx.compose.ui.tooling.preview
|
||||
implementation libs.androidx.compose.ui.util
|
||||
implementation libs.androidx.compose.ui.viewbinding
|
||||
implementation libs.androidx.compose.ui.googlefonts
|
||||
implementation libs.androidx.lifecycle.viewModelCompose
|
||||
implementation libs.androidx.lifecycle.runtime.compose
|
||||
implementation libs.androidx.navigation.compose
|
||||
debugImplementation composeBom
|
||||
debugImplementation libs.androidx.compose.ui.test.manifest
|
||||
debugImplementation libs.androidx.compose.ui.tooling
|
||||
|
||||
implementation libs.androidx.coordinatorlayout
|
||||
implementation libs.androidx.core.splashscreen
|
||||
implementation libs.androidx.core.ktx
|
||||
implementation libs.androidx.material3
|
||||
implementation libs.androidx.core.splashscreen
|
||||
implementation libs.androidx.navigation.fragment
|
||||
implementation libs.androidx.navigation.ui.ktx
|
||||
|
||||
implementation libs.apollo.runtime
|
||||
implementation libs.google.material
|
||||
implementation libs.jna
|
||||
implementation (libs.jna) {
|
||||
artifact {
|
||||
type = 'aar'
|
||||
}
|
||||
}
|
||||
implementation libs.kotlinx.coroutines.android
|
||||
implementation libs.kotlinx.serialization.json
|
||||
|
||||
def okhttpBom = platform(libs.okhttp.bom)
|
||||
implementation okhttpBom
|
||||
implementation libs.okhttp
|
||||
implementation libs.okhttp.coroutines
|
||||
implementation libs.okhttp.logging
|
||||
implementation libs.okhttp.sse
|
||||
|
||||
testImplementation libs.junit
|
||||
androidTestImplementation libs.androidx.junit
|
||||
androidTestImplementation libs.androidx.espresso.core
|
||||
@@ -105,6 +153,7 @@ cargo {
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
apiVersion = KotlinVersion.KOTLIN_2_1
|
||||
languageVersion = KotlinVersion.KOTLIN_2_1
|
||||
jvmTarget = JvmTarget.JVM_21
|
||||
}
|
||||
}
|
||||
@@ -125,7 +174,7 @@ android.applicationVariants.configureEach { variant ->
|
||||
def t = tasks.register("generate${variant.name.capitalize()}UniFFIBindings", Exec) {
|
||||
workingDir "${project.projectDir}"
|
||||
// Runs the bindings generation, note that you must have uniffi-bindgen installed and in your PATH environment variable
|
||||
commandLine "cargo", 'run', '--bin', 'uniffi-bindgen', 'generate', '--library', "${buildDir}/rustJniLibs/android/arm64-v8a/libaffine_mobile_native.so", '--language', 'kotlin', '--out-dir', "${project.projectDir}/src/main/java"
|
||||
commandLine 'cargo', 'run', '--bin', 'uniffi-bindgen', 'generate', '--library', "${buildDir}/rustJniLibs/android/arm64-v8a/libaffine_mobile_native.so", '--language', 'kotlin', '--out-dir', "${project.projectDir}/src/main/java"
|
||||
dependsOn("cargoBuild")
|
||||
}
|
||||
variant.javaCompileProvider.get().dependsOn(t)
|
||||
|
||||
Reference in New Issue
Block a user