自定义gradle插件并且发布到本地仓库

这篇具有很好参考价值的文章主要介绍了自定义gradle插件并且发布到本地仓库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

转载请标明出处,维权必究:http://77blogs.com/?p=189
一、在工程上新建一个Module。

二、删除其余不必要的文件,最终目录结构如下:
自定义gradle插件并且发布到本地仓库

注意:由于我用的是kotlin语言,所以用的是java目录,java语言也是用java目录,如果用的是groovy语言,那么就用groovy目录。

src/main/resources/META-INF/gradle-plugins目录下定义插件声明,*.properties文件的文件名就是插件名称
比如自定义gradle插件并且发布到本地仓库
而文件的内容implementation-class后面跟着的是插件类的全类名。

三、module的gradle引入相关的依赖以及插件

apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: 'maven'
apply plugin: 'kotlin'

repositories {
    maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
    google()
    jcenter()
    mavenLocal()
}

dependencies {
    implementation gradleApi()
    implementation localGroovy()
    implementation "commons-io:commons-io:2.6"
    implementation 'com.android.tools.build:gradle:4.0.1'
    implementation 'com.android.tools.build:gradle-api:4.0.1'
    implementation 'org.ow2.asm:asm:7.1'
    implementation 'org.ow2.asm:asm-util:7.1'
    implementation 'org.ow2.asm:asm-commons:7.1'
    implementation "org.jetbrains.kotlin:kotlin-stdlib:1.4.32"
}

uploadArchives {
    repositories {
        mavenDeployer {
            pom.groupId = 'com.plugin'
            pom.artifactId = 'double-click'
            pom.version = '1.0.26'
            //发布到本地仓库
            repository(url: uri('../repo'))
        }
    }
}

由于我需要用到asm与transform相关的api,所以引入了相关的依赖。

四、编写插件代码,此处不展开说了。

五、发布到本地仓库:

uploadArchives {
    repositories {
        mavenDeployer {
            pom.groupId = 'com.xxx.plugin'
            pom.artifactId = 'double-click'
            pom.version = '1.0.26'
            //发布到本地仓库
            repository(url: uri('../repo'))
        }
    }
}

  • pom.groupId:groundId自己定义,一般为包名
  • pom.artifactId:artifactId自己定义
  • pom.version:版本号
  • repository(url: uri('../repo')):仓库地址,为本地项目的repo文件夹,注意../不要写错,这是代表gradle所在目录的上一层目录。

六、引用
1、项目的app.gradle里引入插件:

apply plugin: 'com.xxxx.double-click'

该名称为第二部里面所讲的插件名称。

2、project.gradle中引入地址:

buildscript {
    ext.kotlin_version = "1.4.32"
    repositories {
        google()
        jcenter()
        maven {
            //配置本地插件目录
            url uri('./repo')
        }
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.1.3"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10"
        classpath "com.xxxxx.plugin:double-click:1.0.26"
    }
}

这里主要有两部分:
(1)配置本地插件所在的目录,注意要与发布到本地仓库时候写的地址对应上。

maven {
     //配置本地插件目录
     url uri('./repo')
}

(2)声明,写法就是发送到本地仓库时候所写的groupId:artifactId:version文章来源地址https://www.toymoban.com/news/detail-600076.html

classpath "com.xxxxx.plugin:double-click:1.0.26"

到了这里,关于自定义gradle插件并且发布到本地仓库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Docker】centos中及自定义镜像,并且上传阿里云仓库可提供使用

                                      🎉🎉欢迎来到我的CSDN主页!🎉🎉                         🏅我是平顶山大师,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《 【Docker】centos中及自定义镜像,并且上传阿里云仓库可提供使用

    2024年02月01日
    浏览(52)
  • 在 CentOS 7上创建本地 YUM 仓库,并且提供给其它服务器做yum源

    在 CentOS 7.6 上创建本地 YUM 仓库的步骤如下: 上传 CentOS 镜像文件 : 确保你已经将 CentOS 7.6 的 ISO 镜像文件上传到了服务器上。例如,假设你已经上传到 /path/to/your/iso 路径。 挂载 ISO 镜像 : 你需要将 ISO 镜像文件挂载到一个目录中,以便访问其中的内容。例如,创建一个挂

    2024年02月01日
    浏览(56)
  • 【Docker】Linux中Docker镜像结构及自定义镜像,并且上传仓库可提供使用

    目录 一、镜像结构 1. 基本结构 2. 常用命令 二、自定义镜像 1. 基本镜像 2. 进阶镜像 3. 完善镜像 三、镜像上传仓库 每篇一获 自定义 Docker 镜像有很多用途,以下是一些主要的应用场景: 一致性环境 :通过自定义镜像,您可以确保您的应用在不同的环境中(开发、测试、生

    2024年01月18日
    浏览(49)
  • 用git在本地仓库创建一个新的分支,并且将当前分支切换到新创建的分支上

    1 用下面的命令创建本地仓库的新分支 2 用下面的命令将当前分支切换到新创建的分支上  注意:下面的chatGPT说的是错的,正确的命令是git checkout -b  3 可以用简写的方式,可以同时实现创建本地分支和切换到新创建的分支上

    2024年02月09日
    浏览(64)
  • Docker 本地镜像发布到私有仓库

      1 官方Docker Hub地址:https://hub.docker.com/,中国大陆访问太慢了且准备被阿里云取代的趋势,不太主流。 2 Dockerhub、阿里云这样的公共镜像仓库可能不太方便,涉及机密的公司不可能提供镜像给公网,所以需要创建一个本地私人仓库供给团队使用,基于公司内部项目构建镜像

    2024年02月13日
    浏览(41)
  • git 使用场景 一套向 远程仓库 发布 本地仓库变更 的标准流程

    [Ref] 同步GIT仓库的操作 – push命令 Further Reading : Git常用命令汇总

    2024年01月25日
    浏览(43)
  • 定义现代化实时数据仓库,SelectDB 全新产品形态全面发布

    导读:9 月 25 日,2023 飞轮科技产品发布会在线上正式召开,本次产品发布会以 “新内核、新图景” 为主题,飞轮科技 CEO 马如悦全面解析了现代化数据仓库的演进趋势, 宣布立足于多云之上的 SelectDB Cloud 云服务全面开放 , 增加了全新的私有仓库(BYOC)产品模式,同时发

    2024年02月07日
    浏览(40)
  • 【Docker】使用docker-maven-plugin插件构建发布推镜像到私有仓库

    本文描述了在Spring Boot项目中通过docker-maven-plugin插件把项目推送到私有docker仓库中,随后拉取仓库中的项目用docker run运行项目。作者自行构建,质量有保证。 1、要想使用 docker-maven-plugin ,需要在 pom.xml 中添加该插件; 注:注意下db:3306 2、我们构建镜像之前需要先将项目打包

    2024年02月15日
    浏览(49)
  • 本地存储、自定义事件、全局事件总线、消息订阅与发布【Vue】

    存储内容大小一般支持5MB左右(不同浏览器可能还不一样) 浏览器通过 Window.sessionStorage 和 Window.localStorage 属性来实现本地存储机制 相关API: (1) xxxxStorage.setItem(\\\'key\\\', \\\'value\\\'); 该方法接受一个键和值作为参数,会把键值对添加到存储中,如果键名存在,则更新其对应的值。

    2023年04月21日
    浏览(40)
  • 前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包

    搭建团队的私有仓库,保证团队组件的安全维护和私密性,是进阶前端开发主管路上,必不可少的一项技能。 一、原理 我们平时使用npm publish进行发布时,上传的仓库默认地址是npm,通过Verdaccio工具在本地新建一个仓库地址,再把本地的默认上传仓库地址切换到本地仓库地址

    2024年04月17日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包