Files
coco 7846a45f2c a
2026-07-03 15:47:27 +08:00

142 lines
4.8 KiB
Groovy

import org.jetbrains.dokka.DokkaConfiguration
plugins {
id 'com.android.library'
id 'org.jetbrains.kotlin.android'
id 'kotlinx-serialization'
id 'kotlin-parcelize'
id 'org.jetbrains.dokka' version "$kotlin_dokka_version"
}
version = UIKIT_VERSION
android {
namespace 'com.sendbird.uikit'
compileSdk 36
version = UIKIT_VERSION
defaultConfig {
minSdkVersion 23
targetSdkVersion 36
buildConfigField "String", "VERSION_NAME", "\"$UIKIT_VERSION\""
}
buildTypes {
release {
minifyEnabled false
consumerProguardFile 'consumer-rules.pro'
libraryVariants.all { variant ->
variant.outputs.all {
def aarName = "sendbird-uikit-${project.version}.aar"
println "\n============================================================"
println "project module : Sendbird UIKit"
println "project version : $project.version"
println "build type : ${variant.buildType.name}"
println "output name : $aarName"
println "============================================================\n"
outputFileName = aarName
}
}
}
}
buildFeatures {
viewBinding true
buildConfig = true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_21
targetCompatibility JavaVersion.VERSION_21
}
// kotlinOptions {
// jvmTarget = '1.8'
// }
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// Sendbird
api 'com.sendbird.sdk:sendbird-chat:4.32.0'
implementation "com.sendbird.sdk:message-template:1.2.0"
implementation 'com.github.bumptech.glide:glide:5.0.5'
annotationProcessor 'com.github.bumptech.glide:compiler:5.0.5'
implementation 'androidx.appcompat:appcompat:1.7.1'
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
implementation 'androidx.recyclerview:recyclerview:1.4.0'
implementation 'com.github.chrisbanes:PhotoView:2.3.0'
implementation "androidx.viewpager2:viewpager2:1.1.0"
implementation 'com.google.android.material:material:1.13.0'
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0"
}
dokkaHtml {
print "uikit doc path=$System.env.UIKIT_DOC_PATH"
outputDirectory.set(file("$System.env.UIKIT_DOC_PATH"))
// Set module name displayed in the final output
moduleName.set("SendbirdUIKit")
suppressInheritedMembers.set(true)
String dokkaBaseConfiguration = """
{
"footerMessage": "<a href=\\"https://dashboard.sendbird.com/settings/contact_us\\">Report a bug or request a feature.</a>\\tFor further developer documentation, see <a href=\\"https://sendbird.com/docs/chat/uikit/v3/android-view/overview\\">UIkit SDK Documentation</a>. That documentation contains more detailed descriptions, conceptual overviews, definitions of terms, and code examples.<br/> Copyright &copy; 2022, Sendbird or its affiliates. All rights reserved."
}
"""
pluginsMapConfiguration.set(
// fully qualified plugin name to json configuration
["org.jetbrains.dokka.base.DokkaBase": dokkaBaseConfiguration]
)
dokkaSourceSets {
configureEach {
// The set of visibility modifiers that should be documented.
documentedVisibilities.set(
[
DokkaConfiguration.Visibility.PUBLIC, // Same for both Kotlin and Java
DokkaConfiguration.Visibility.PROTECTED, // Same for both Kotlin and Java
]
)
// Do not output deprecated members. Applies globally, can be overridden by packageOptions
skipDeprecated.set(false)
// Emit warnings about not documented members. Applies globally, also can be overridden by packageOptions
reportUndocumented.set(false)
// Do not create index pages for empty packages
skipEmptyPackages.set(true)
// Disable linking to online Android documentation (only applicable for Android projects)
noAndroidSdkLink.set(false)
// Used for linking to JDK documentation
jdkVersion.set(8)
suppressGeneratedFiles.set(false)
// Suppress a package
perPackageOption {
matchingRegex.set(".*\\.internal.*")
suppress.set(true)
}
}
}
}