使用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 分组下就可以看到 generateSourcesJar 和 generateJavadoc 两个任务了。
双击这两个任务,sources.jar 和 javadoc.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 分组下就可以看到 generateSourcesJar 和 generateJavadoc 两个任务了。
双击这两个任务,sources.jar 和 javadoc.jar 就会生成,位置在 build/libs 目录下。

相关参考链接

Documenting Kotlin Code

Github Kotlin/dokka

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容