Dokka API自动生成文档配置

app模块build.gradle配置

apply plugin: 'org.jetbrains.dokka'

android{}外添加

dokkaHtml.configure {
    moduleName.set("A10 Library")
//    html格式
    outputDirectory.set(file("$buildDir/dokka/html"))
//    javaDoc格式
    outputDirectory.set(file("$buildDir/dokka/JavaDoc"))
    // 添加更多配置
    dokkaSourceSets {
        configureEach {
            skipEmptyPackages.set(true)
            includeNonPublic.set(false)
            jdkVersion.set(8)
        }
    }

}

项目跟目录下的build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
apply from: 'git.gradle'
buildscript {
    ext {
        gradleVersion = '4.2.1'
        kotlinVersion = '1.5.31'
        hitVersion = "2.38.1"
        kotlin_version = '1.5.31'
        //1.5.31
        dokkaVersion = '1.9.10'
    }
    repositories {
        google()
        mavenCentral()
        maven{ url 'https://maven.aliyun.com/repository/public' }
        maven{ url 'https://maven.aliyun.com/repository/google'}
        maven{ url 'https://maven.aliyun.com/repository/jcenter'}
        //zza
        maven { url "http://repo.boundlessgeo.com/main"
            allowInsecureProtocol = true }
        maven { url "http://download.osgeo.org/webdav/geotools/"
            allowInsecureProtocol = true}
        maven { url "https://jitpack.io" }

    }
    dependencies {
        classpath "com.android.tools.build:gradle:$gradleVersion"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
        classpath "com.google.dagger:hilt-android-gradle-plugin:$hitVersion"
        classpath "org.jetbrains.dokka:dokka-gradle-plugin:$dokkaVersion"

//        classpath "com.github.ben-manes:gradle-versions-plugin:0.36.0"
//        classpath 'com.google.dagger:hilt-android-gradle-plugin:2.28.1-alpha'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        maven{ url 'https://maven.aliyun.com/repository/public' }
        maven{ url 'https://maven.aliyun.com/repository/google'}
        maven{ url 'https://maven.aliyun.com/repository/jcenter'}
        maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'}
        //zza
        maven { url "http://repo.boundlessgeo.com/main"
            allowInsecureProtocol = true}
        maven { url "http://download.osgeo.org/webdav/geotools/"
            allowInsecureProtocol = true}
        maven { url "https://jitpack.io" }

    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

然后执行命令 

./gradlew dokkaHtml 
或者 
./gradlew dokkaJavaDoc

高版本配置:

app目录下build.gradle

import org.jetbrains.dokka.gradle.DokkaTask

plugins {
    alias(libs.plugins.android.application)
    alias(libs.plugins.kotlin.android)
    id("org.jetbrains.dokka") version "1.9.10"
}

android {
    namespace = "com.example.dokkademo"
    compileSdk = 35

    defaultConfig {
        applicationId = "com.example.dokkademo"
        minSdk = 24
        targetSdk = 35
        versionCode = 1
        versionName = "1.0"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }
    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"
    }

}

buildscript {
    dependencies {
        classpath("org.jetbrains.dokka:dokka-base:1.9.10")
        classpath("org.jetbrains.dokka:kotlin-as-java-plugin:1.9.10")
    }
}
dependencies {

    implementation(libs.androidx.core.ktx)
    implementation(libs.androidx.appcompat)
    implementation(libs.material)
    implementation(libs.androidx.activity)
    implementation(libs.androidx.constraintlayout)
    testImplementation(libs.junit)
    androidTestImplementation(libs.androidx.junit)
    androidTestImplementation(libs.androidx.espresso.core)
    implementation(libs.dokka.android.documentation.plugin)

}
// Dokka 配置
tasks.withType<org.jetbrains.dokka.gradle.DokkaTask>().configureEach {
    // 公共配置
    dokkaSourceSets {
        configureEach {
            moduleName.set("Dokka Demo")
            includes.from("README.md")
            displayName.set("Android")
            jdkVersion.set(11)

            perPackageOption {
                matchingRegex.set("com\\.example\\.dokkademo\\.internal.*")
                suppress.set(true)
            }
        }
    }
}

// 配置不同格式的输出任务
val dokkaHtml by tasks.getting(org.jetbrains.dokka.gradle.DokkaTask::class) {
    outputDirectory.set(file("$buildDir/dokka/html"))

    pluginsMapConfiguration.set(
        mapOf(
            "org.jetbrains.dokka.base.DokkaBase" to """{
                "customStyleSheets": [],
                "customAssets": [],
                "templatesDir": "",
                "mergeImplicitExpectActual": false
            }"""
        )
    )
}

// 检查任务是否已存在再注册
if (!tasks.names.contains("dokkaJavadoc")) {
    tasks.register<DokkaTask>("dokkaJavadoc") {
        outputDirectory.set(file("$buildDir/dokka/javadoc"))
        // 明确设置为Javadoc格式
        pluginsMapConfiguration.set(
            mapOf(
                "org.jetbrains.dokka.base.DokkaBase" to """{ "outputFormat": "javadoc" }"""
            )
        )
    }
}


if (!tasks.names.contains("dokkaGfm")) {
    tasks.register<DokkaTask>("dokkaGfm") {
        outputDirectory.set(file("$buildDir/dokka/markdown"))
        // 明确设置为GFM格式
        pluginsMapConfiguration.set(
            mapOf(
                "org.jetbrains.dokka.base.DokkaBase" to """{ "outputFormat": "gfm" }"""
            )
        )
    }
}

项目下build.gradle配置

// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
    alias(libs.plugins.android.application) apply false
    alias(libs.plugins.kotlin.android) apply false
    id("org.jetbrains.dokka") version "1.9.10" apply false
    alias(libs.plugins.android.library) apply false
}
tasks.register("clean", Delete::class) {
    delete(rootProject.buildDir)
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值