使用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

posted @ 2017-11-19 17:15  独毒火  阅读(3420)  评论(0编辑  收藏  举报