使用Gradle打包Kotlin項目代碼、生成Kotlin代碼文檔


Kotlin項目

Root Project 下的 build.gradle 文件中 buildscript 下的 dependencies 中添加:

classpath "org.jetbrains.dokka:dokka-gradle-plugin:0.9.15"

module 下的 build.gradle 文件中添加:

apply plugin: 'org.jetbrains.dokka'


task generateSourcesJar(type: Jar) {
    group = 'jar'
    from sourceSets.main.java.srcDirs
    classifier = 'sources'
}

task dokkaJavadoc(type: org.jetbrains.dokka.gradle.DokkaTask) {
    outputFormat = "javadoc"
    outputDirectory = javadoc.destinationDir
}

task generateJavadoc(type: Jar, dependsOn: dokkaJavadoc) {
    group = 'jar'
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives generateJavadoc
    archives generateSourcesJar
}

其中, generateSourcesJar Task 中的 from sourceSets.main.java.srcDirs 需要根據項目實際源碼目錄填寫。

同步之后,在 gradle 的任務列表中的 jar 分組下就可以看到 generateSourcesJargenerateJavadoc 兩個任務了。
雙擊這兩個任務,sources.jarjavadoc.jar 就會生成,位置在 build/libs 目錄下。

使用Kotlin開發的Android項目

Root Project 下的 build.gradle 文件中 buildscript 下的 dependencies 中添加:

classpath 'org.jetbrains.dokka:dokka-android-gradle-plugin:0.9.15'

module 下的 build.gradle 文件中添加:

apply plugin: 'org.jetbrains.dokka-android'


task generateSourcesJar(type: Jar) {
    group = 'jar'
    from android.sourceSets.main.java.srcDirs
    classifier = 'sources'
}

task javadoc(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}

task dokkaJavadoc(type: org.jetbrains.dokka.gradle.DokkaTask) {
    outputFormat = "javadoc"
    outputDirectory = javadoc.destinationDir
}

task generateJavadoc(type: Jar, dependsOn: dokkaJavadoc) {
    group = 'jar'
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives generateJavadoc
    archives generateSourcesJar
}

其中, generateSourcesJar Task 和 javadoc Task 中的 sourceSets.main.java.srcDirs 需要根據項目實際源碼目錄填寫。

同步之后,在 gradle 的任務列表中的 jar 分組下就可以看到 generateSourcesJargenerateJavadoc 兩個任務了。
雙擊這兩個任務,sources.jarjavadoc.jar 就會生成,位置在 build/libs 目錄下。

相關參考鏈接

Documenting Kotlin Code

Github Kotlin/dokka


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM