142 lines
4.8 KiB
Groovy
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 © 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)
|
|
}
|
|
}
|
|
}
|
|
}
|