【Android Gradle 插件】将自定义 Gradle 插件上传到自建 Maven 仓库 ② ( java 和 groovy 插件自带文档任务 | 自定义文档打包任务 | 生成文档包 )

Android Plugin DSL Reference 参考文档 :





一、java 和 groovy 插件自带文档任务



Gradle 面板 中的 自定义 Gradle 插件的 Module 模块 下 , 有 documentation 任务分组 , 其中有

  • groovydoc : ‘groovy’ 插件自带的 Gradle 任务 ;
  • javadoc : ‘java-library’ 插件自带的 Gradle 任务 ;

两个 Gradle 任务 ;
在这里插入图片描述
这两个任务是 build.gradle 构建脚本 中 ,

plugins {
    
    
    id 'java-library'
    id 'kotlin'
    id 'groovy'
}

‘java-library’ 插件 ‘groovy’ 插件 自带的 Gradle 任务 , 执行这两个任务 , 就会得到对应的文档 ;





二、自定义文档打包任务 ( Jar 类型 Gradle 任务 )



在该 自定义 Jar 类型的 Gradle 任务 中 , 将源码打包到 jar 包中 ;

  • baseName : 指明要打的 jar 包名称 , 最终打包的名称是 plugin-0.1-doc.jar ;
  • classifier : 指定分类器 , 与其它 jar 包进行区分 ;
  • from : 设置打包哪些文件 , 这里设置的是 javadoc 和 groovydoc 任务的输出目录 ;

源码如下 :

// 自定义文档打包任务
// 自定义 Jar 类型的 Gradle 任务
// 将文档打包到 jar 包中
task document2Jar(type: Jar) {
    
    
    // 指明要打的 jar 包名称
    // 最终打包的名称是 plugin-0.1-doc.jar
    baseName 'plugin'
    // 指定分类器 , 与其它 jar 包进行区分
    classifier 'doc'
    // 设置打包哪些文件
    // 这里设置的是 javadoc 和 groovydoc 任务的输出目录
    from javadoc.destinationDir, groovydoc.destinationDir
}

由于上述任务需要用到 javadocgroovydoc 任务的输出目录 , 因此需要依赖于 javadocgroovydoc 任务 ;

在自定义 Gradle 任务的 构造函数中 , 添加 dependsOn: [javadoc, groovydoc] 参数 , 最终的源码如下 :

// 自定义文档打包任务
// 自定义 Jar 类型的 Gradle 任务
// 将文档打包到 jar 包中
task document2Jar(type: Jar, dependsOn: [javadoc, groovydoc]) {
    
    
    // 指明要打的 jar 包名称
    // 最终打包的名称是 plugin-0.1-doc.jar
    baseName 'plugin'
    // 指定分类器 , 与其它 jar 包进行区分
    classifier 'doc'
    // 设置打包哪些文件
    // 这里设置的是 javadoc 和 groovydoc 任务的输出目录
    from javadoc.destinationDir, groovydoc.destinationDir
}




三、生成文档 Jar 包



同步代码 , 同步完之后 , 发现在 Gradle 面板 中已经存在该任务 ;

在这里插入图片描述
Gradle 面板 执行 document2Jar 任务 , 或者在 Terminal 面板中执行

gradlew document2Jar

命令 , 即可执行上述 Gradle 任务 ;


由于设置了依赖 , dependsOn: [javadoc, groovydoc] , 首先执行的是 groovydoc 任务 , 然后执行 javadoc 任务 , 最后执行 document2Jar 任务 ;

在这里插入图片描述

执行完毕后 , 在该模块的 build/libs 目录 下 , 生成了 plugin-0.1-doc.jar 封装文档的 Jar 包 ;

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/han1202012/article/details/127359638