Commit d166eab8 authored by p x's avatar p x
Browse files

dokka 插件

parent d8a1e0d4
...@@ -2,15 +2,16 @@ ...@@ -2,15 +2,16 @@
buildscript { buildscript {
dependencies { dependencies {
classpath("org.jetbrains.dokka:dokka-base:2.0.0") // classpath("org.jetbrains.dokka:dokka-base:2.0.0")
} }
} }
plugins { plugins {
alias(libs.plugins.android.application) apply false alias(libs.plugins.android.application) apply false
alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.android.library) apply false alias(libs.plugins.android.library) apply false
// id("org.jetbrains.dokka") version "2.0.0" apply false
// id("org.jetbrains.kotlin.jvm") version "2.1.10" apply false // id("org.jetbrains.kotlin.jvm") version "2.1.10" apply false
} }
......
import org.intellij.markdown.html.urlEncode import org.jetbrains.dokka.gradle.engine.parameters.VisibilityModifier
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 { plugins {
alias(libs.plugins.android.library) alias(libs.plugins.android.library)
...@@ -20,7 +10,10 @@ plugins { ...@@ -20,7 +10,10 @@ plugins {
// 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.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" // id("org.jetbrains.dokka") version "2.0.0"
// kotlin("jvm") version "2.1.10" // kotlin("jvm") version "2.1.10"
id("org.jetbrains.dokka") version "2.0.0" // Generates HTML documentation
id("org.jetbrains.dokka") version "2.1.0"
// Generates Javadoc documentation
id("org.jetbrains.dokka-javadoc") version "2.1.0"
} }
...@@ -81,12 +74,11 @@ dependencies { ...@@ -81,12 +74,11 @@ dependencies {
androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core) androidTestImplementation(libs.androidx.espresso.core)
// Is applied for the single-module dokkaHtml task only //Dokka插件增加了渲染源代码注释中的数学的能力。
// dokkaHtmlPlugin("org.jetbrains.dokka:kotlin-as-java-plugin:2.0.0") // dokkaPlugin("org.jetbrains.dokka:mathjax-plugin:2.1.0")
// Will apply the plugin to all Dokka tasks // 从Java的角度呈现Kotlin签名
dokkaPlugin("org.jetbrains.dokka:kotlin-as-java-plugin:2.0.0") dokkaHtmlPlugin("org.jetbrains.dokka:kotlin-as-java-plugin:2.1.0")
// dokka("org.jetbrains.dokka:kotlin-as-java-plugin:2.0.0") runtimeOnly("org.jetbrains.dokka:android-documentation-plugin:2.1.0")
api(project(":maplibs")) api(project(":maplibs"))
// Webview交互 // Webview交互
...@@ -109,33 +101,50 @@ dependencies { ...@@ -109,33 +101,50 @@ dependencies {
implementation("androidx.fragment:fragment-ktx:1.8.0") implementation("androidx.fragment:fragment-ktx:1.8.0")
} }
dokka { dokka {
// moduleName.set("Project Name")
dokkaPublications.html {
suppressInheritedMembers.set(true)
failOnWarning.set(true)
includes.setFrom("com.cusc.map.maps")
} dokkaPublications.javadoc {
dokkaSourceSets.main { moduleName.set(project.name)
// includes.from("README.md") moduleVersion.set(project.version.toString())
// sourceLink { // Standard output directory for HTML documentation
// localDirectory.set(file("src/main/kotlin")) // outputDirectory.set(layout.buildDirectory.dir("dokka/html"))
// remoteUrl("https://example.com/src") failOnWarning.set(false)
// remoteLineSuffix.set("#L") suppressInheritedMembers.set(false)
// } suppressObviousFunctions.set(true)
} offlineMode.set(true)
dokkaSourceSets.configureEach { // includes.from("package-info.java")
perPackageOption {
matchingRegex.set("^com.cusc.map.maps.*") // Output directory for additional files
// includedRange("com.sd.api.maps") // Use this block instead of the standard when you
// want to change the output directory and include extra files
// outputDirectory.set(rootDir.resolve("docs/api/1.0"))
// Use fileTree to add multiple files
// includes.from(
// fileTree("docs") {
// include("**/*.md")
// }
// )
dokkaSourceSets {
configureEach {
// documentedVisibilities.set(setOf(VisibilityModifier.Public)) // OR documentedVisibilities(VisibilityModifier.Public)
perPackageOption {
matchingRegex.set("^com\\.cusc\\.map\\.test")
suppress.set(false)//suppress = true:完全禁用匹配包的文档生成
// skipDeprecated.set(false)
// reportUndocumented.set(false)
// documentedVisibilities.set(
// setOf(
// VisibilityModifier.Public,
// VisibilityModifier.Private,
// VisibilityModifier.Protected,
// VisibilityModifier.Internal,
// VisibilityModifier.Package
// ))
}
}
} }
} }
pluginsConfiguration.html {
// customStyleSheets.from("styles.css")
// customAssets.from("logo.png")
// footerMessage.set("(c) Your Company")
}
} }
......
<html>
<body>
<p>地图显示包,帮助您在Android应用程序中显示高德地图,并且支持地图交互手势的功能。</p>
</body>
</html>
/**
* 包级文档示例。
*
* <p>这个包包含了用户管理相关的类,包括:
* <ul>
* <li>用户实体类</li>
* <li>用户服务接口</li>
* <li>用户数据访问对象</li>
* </ul>
*
* @author 开发者
* @version 1.0
* @since 2024
*/
package com.cusc.map.maps;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment