import org.intellij.markdown.html.urlEncode
import org.jetbrains.dokka.DokkaConfiguration
import org.jetbrains.dokka.DokkaConfiguration.Visibility
import org.jetbrains.dokka.DokkaDefaults
import org.jetbrains.dokka.DokkaDefaults.skipEmptyPackages
import org.jetbrains.dokka.base.DokkaBase
import org.jetbrains.dokka.base.DokkaBaseConfiguration
import org.jetbrains.dokka.gradle.DokkaTask
import org.jetbrains.kotlin.gradle.targets.js.npm.includedRange
import org.jetbrains.kotlin.psi.namedFunctionVisitor
import org.jetbrains.kotlin.psi.packageDirectiveVisitor
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
id("kotlin-kapt")
id("kotlin-parcelize")
// id("maven-publish")
// signing
// id ("org.jreleaser") version "1.20.0"//JReleaser now has support for publishing via the Central Publisher Portal and can be used via their Gradle plugin integration.
// id("org.jetbrains.dokka") version "2.0.0"
// kotlin("jvm") version "2.1.10"
id("org.jetbrains.dokka") version "2.0.0"
}
android {
namespace = "com.cusc.map"
compileSdk = 35
defaultConfig {
minSdk = 29
version = "1.0.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles("consumer-rules.pro")
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "11"
}
buildFeatures {
// dataBinding = true
viewBinding = true
}
android.libraryVariants.all {
outputs.all {
if (this is com.android.build.gradle.internal.api.LibraryVariantOutputImpl) {
// val config = project.android.defaultConfig
// val versionName = config.versionName
// val formatter = DateTimeFormatter.ofPattern("yyyy_MM_dd_HHmm")
// val createTime = LocalDateTime.now().format(formatter)
outputFileName = "map_cusc_${version}.aar"
}
}
}
}
dependencies {
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar", "*.aar"))))
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.material)
implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.activity)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
// Is applied for the single-module dokkaHtml task only
// dokkaHtmlPlugin("org.jetbrains.dokka:kotlin-as-java-plugin:2.0.0")
// Will apply the plugin to all Dokka tasks
dokkaPlugin("org.jetbrains.dokka:kotlin-as-java-plugin:2.0.0")
// dokka("org.jetbrains.dokka:kotlin-as-java-plugin:2.0.0")
api(project(":maplibs"))
// Webview交互
api("com.github.lzyzsd:jsbridge:1.0.4")
//四维高精地图依赖
// implementation("daohang.tingche.unityLibrary:adas:1.0")
//高德
// implementation("com.amap.api:navi-3dmap:latest.integration")
// implementation("com.amap.api:search:latest.integration")
//网络
implementation("com.squareup.okhttp3:okhttp:3.12.0")
implementation("com.google.code.gson:gson:2.8.6")
// 权限请求框架
implementation("com.guolindev.permissionx:permissionx:1.8.1")
// ViewModel
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2")
//fragment-ktx
implementation("androidx.fragment:fragment-ktx:1.8.0")
}
dokka {
// moduleName.set("Project Name")
dokkaPublications.html {
suppressInheritedMembers.set(true)
failOnWarning.set(true)
includes.setFrom("com.cusc.map.maps")
}
dokkaSourceSets.main {
// includes.from("README.md")
// sourceLink {
// localDirectory.set(file("src/main/kotlin"))
// remoteUrl("https://example.com/src")
// remoteLineSuffix.set("#L")
// }
}
dokkaSourceSets.configureEach {
perPackageOption {
matchingRegex.set("^com.cusc.map.maps.*")
// includedRange("com.sd.api.maps")
}
}
pluginsConfiguration.html {
// customStyleSheets.from("styles.css")
// customAssets.from("logo.png")
// footerMessage.set("(c) Your Company")
}
}
//group = "msmap"
//version = "1.0"
//publishing {
// publications {
// create("maplib") {
// groupId = "io.github.killcow"
// artifactId = "ms-map"
// version = "1.0.0"
//
// // 如果是Android库模块
// artifact(layout.buildDirectory.dir("outputs/aar/maplibrary-release.aar"))
// // 如果是Java库模块
// // artifact("$buildDir/libs/your-library.jar")
// //发布到本地仓库
// repositories {
// maven {
// name = "MyRepo"
// url = uri(layout.buildDirectory.dir("repo"))
// }
//
// }
// }
// }
//}
//signing {
//// val signingKey: String=findProperty("signing.keyId")
// val signingPassword: String? by project
// useInMemoryPgpKeys(findProperty("signing.keyId").toString(), findProperty("signing.password").toString())
////
// sign(publishing.publications["maplib"])
//}