前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Android Gradle 插件】将自定义 Gradle 插件上传到自建 Maven 仓库 ② ( java 和 groovy 插件自带文档任务 | 自定义文档打包任务 | 生成文档包 )

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

作者头像
韩曙亮
发布2023-03-30 17:18:12
5480
发布2023-03-30 17:18:12
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

Android Plugin DSL Reference 参考文档 :

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


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

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

两个 Gradle 任务 ;

在这里插入图片描述
在这里插入图片描述

这两个任务是 build.gradle 构建脚本 中 ,

代码语言:javascript
复制
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 任务的输出目录 ;

源码如下 :

代码语言:javascript
复制
// 自定义文档打包任务
// 自定义 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
}

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

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

代码语言:javascript
复制
// 自定义文档打包任务
// 自定义 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 面板中执行

代码语言:javascript
复制
gradlew document2Jar

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

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、java 和 groovy 插件自带文档任务
  • 二、自定义文档打包任务 ( Jar 类型 Gradle 任务 )
  • 三、生成文档 Jar 包
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档