如何在gradle编程中搭建以及使用maven本地仓库

本文详解如何在androidStudio中,搭建以及使用maven本地仓库

搭建

从无到有

1. 创建一个javaLibrary, module名字自取.

如何在gradle编程中搭建以及使用maven本地仓库_第1张图片
image.png

如何在gradle编程中搭建以及使用maven本地仓库_第2张图片
image.png

2. 找到这个module的build.gradle文件

如何在gradle编程中搭建以及使用maven本地仓库_第3张图片
原本长这样

此时,右侧Gradle栏目中,zzsyc的Tasks是长这样:


如何在gradle编程中搭建以及使用maven本地仓库_第4张图片
image.png

接下来我们进行处理:

如何在gradle编程中搭建以及使用maven本地仓库_第5张图片
image.png

在配置publishing闭包的时候

publishing {//然后进行发布配置
    publications {
        zzsycChannelPlugin(MavenPublication) {//zzsycChannelPlugin 是发布配置命令的名字
            from components.java // 这个命令来自java
            groupId = 'com.zhou.plugins' //插件包名,在此插件被引用的时候必须写成一摸一样
            artifactId = 'channelPlugin' //插件名,在此插件被引用的时候必须写成一摸一样
            version = '1.2'//插件版本号
        }
    }
}

要特别注意3个参数:

groupId 这是maven的群组ID, artifactId 是插件名,version是插件版本号,三者完全匹配才能准确定位到一个插件,定义插件的时候可以随便写,但是使用插件的时候,必须一毛一样,否则编译失败,说找不到插件。

3. 新建java类,编辑插件逻辑

如何在gradle编程中搭建以及使用maven本地仓库_第6张图片
image.png

如何在gradle编程中搭建以及使用maven本地仓库_第7张图片
MyProject.java
如何在gradle编程中搭建以及使用maven本地仓库_第8张图片
MyTask.java

最最简单的插件,也必须有两个类,一个 impelement Plugin,一个 extends DefaultTask

4. 创建插件配置文件

如何在gradle编程中搭建以及使用maven本地仓库_第9张图片
image.png

这里要特别注意:
如何在gradle编程中搭建以及使用maven本地仓库_第10张图片
image.png

这里有3级目录, resources / META-INF / gradle-plugins ,然后才是文件名: hank.zhou.plugin.properties
这里的目录,必须创建成一摸一样,否则,会有未知错误。

5. 发布插件到mavenLocal

如果上述过程都完成,而且没有报编译错误,那么就可以发布插件到mavenLocal:

如何在gradle编程中搭建以及使用maven本地仓库_第11张图片
image.png

注:如果刚才的java代码中存在中文,那么,你有可能会看到:
如何在gradle编程中搭建以及使用maven本地仓库_第12张图片
image.png

此时,只需要将文件的编码格式从utf-8改为GBK即可:


如何在gradle编程中搭建以及使用maven本地仓库_第13张图片
image.png

如果顺利,就会发布成功:
如何在gradle编程中搭建以及使用maven本地仓库_第14张图片
image.png

我们到本地的maven仓库目录下去找找看:


如何在gradle编程中搭建以及使用maven本地仓库_第15张图片
image.png

发布成功!

使用本地gradle插件

使用的时候,两个步骤:

1. 在全局build.gradle 文件中,加入两个部分:

如何在gradle编程中搭建以及使用maven本地仓库_第16张图片
image.png

注:这里 classpath 'com.zhou.plugins:channelPlugin:1.2'也是分为3个部分,一个groupId,冒号后面接,artifactId,冒号,接版本号.

2. 在app module的build.gradle中, 引用此插件

如何在gradle编程中搭建以及使用maven本地仓库_第17张图片
image.png

注意,上图中, apply plugin: 'hank.zhou.plugin' 是新增的代码。其中 hank.zhou.plugin 是和 hank.zhou,plugin.properties 的文件名是一摸一样的.
gradle同步成功之后,就能看到我们自定义的Task:
如何在gradle编程中搭建以及使用maven本地仓库_第18张图片
image.png

如果你还没有搭建maven本地仓库的话

1. 先去官网下载maven最新版:

如何在gradle编程中搭建以及使用maven本地仓库_第19张图片
image.png

2. 下载好之后,解压到本地,并且进入bin目录

如何在gradle编程中搭建以及使用maven本地仓库_第20张图片
image.png

3. 在此处打开cmd,输入mvn help:system 回车

如何在gradle编程中搭建以及使用maven本地仓库_第21张图片
image.png

如何在gradle编程中搭建以及使用maven本地仓库_第22张图片
image.png

直到:


如何在gradle编程中搭建以及使用maven本地仓库_第23张图片
image.png

才算搭建成功!之后就可以在用户目录下找到.m2 文件夹,从而找到自己发布的插件.
image.png

你可能感兴趣的:(如何在gradle编程中搭建以及使用maven本地仓库)