gradle安卓

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

2019-10-23  本文已影响0人  波澜步惊

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

搭建

从无到有

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

image.png
image.png

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

原本长这样

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


image.png

接下来我们进行处理:

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类,编辑插件逻辑

image.png
MyProject.java MyTask.java

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

4. 创建插件配置文件

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

5. 发布插件到mavenLocal

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

image.png
注:如果刚才的java代码中存在中文,那么,你有可能会看到: image.png

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


image.png
如果顺利,就会发布成功:
image.png

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


image.png

发布成功!

使用本地gradle插件

使用的时候,两个步骤:

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

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

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

image.png
注意,上图中,apply plugin: 'hank.zhou.plugin' 是新增的代码。其中 hank.zhou.plugin 是和 hank.zhou,plugin.properties 的文件名是一摸一样的.
gradle同步成功之后,就能看到我们自定义的Task:
image.png

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

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

image.png

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

image.png

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

image.png
image.png

直到:


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

猜你喜欢

热点阅读