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

【Android Gradle 插件】将自定义 Gradle 插件上传到自建 Maven 仓库 ① ( Maven 仓库上传源码上传源码设置 | 自定义源码打包任务 | 自定义文档打包任务 )

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

文章目录

Android Plugin DSL Reference 参考文档 :

一、Maven 仓库上传源码设置


在之前的 【Android Gradle 插件】自定义 Gradle 插件模块 ⑤ ( 完整总结 ) ★★★ 博客中 , 将自定义 Gradle 插件的 jar 包发布到了本地 Maven 仓库 , 效果如下 : " C:\Users\octop.m2\repository " 目录中的内容如下 :

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

本地 Maven 仓库中 , 只有 jar 包 ;

除了 jar 包以外 , 还可以将 Gradle 插件的源码 也一同上传到 Maven 仓库中 ;

二、自定义源码打包任务 ( Jar 类型 Gradle 任务 )


上传 Gradle 插件源码 , 需要先 将源码进行打包 , 打包完成的源码包可以同 jar 包一起上传到 Maven 仓库中 ;

将源码打成源码包 , 需要在 自定义 Gradle 任务中完成 ; 任务的类型是 Jar 任务 , 将源码打成 jar 包 ;

org.gradle.api.tasks.bundling.Jar自带任务 ( 任务类型 ) 文档 : https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html

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

  • baseName : 指明要打的 jar 包名称 , 最终打包的名称是 plugin-0.1-sources.jar ;
  • classifier : 指定分类器 , 与其它 jar 包进行区分 ;
  • from : 设置打包哪些文件 , 这里设置的是 main 目录下的所有文件 ;

源码如下 :

代码语言:javascript
复制
// 指定自定义 Gradle 插件的版本号
version '0.1'

// 自定义源码打包任务
// 自定义 Jar 类型的 Gradle 任务
// 将源码打包到 jar 包中
task sources2Jar(type: Jar) {
    // 指明要打的 jar 包名称
    // 最终打包的名称是 plugin-0.1-sources.jar
    baseName 'plugin'
    // 指定分类器 , 与其它 jar 包进行区分
    classifier 'sources'
    // 设置打包哪些文件
    // 这里设置的是 main 目录下的所有文件
    from sourceSets.main.allSource
}

三、执行自定义源码打包任务


定义完上述任务后 , 同步构建脚本 , 发现在 Gradle 面板 中已存在 该 Gradle 任务 sources2Jar ;

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

在 Gradle 面板中执行该任务 , 或者在 Terminal 面板中执行

代码语言:javascript
复制
gradlew sources2Jar

命令 , 即可生成 打包源码的 jar 包 ;

在该模块下的 build/libs 下 , 生成了 plugin-0.1-sources.jar 源码对应的 jar 包 ;

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

自定义 Gradle 插件 - GitHub 地址 : https://github.com/han1202012/Android_UI

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

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

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

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

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