接下来咱们来看下构建工具的最后一个环节,项目发布。项目发布可以将我们写好的模块发布给别人去使用,也可以发布到公司的公共仓库以供依赖的项目使用。这是公司中多项目协同合作的重要环节。以下是Gradle 发布项目流程。
Gradle 项目发布流程
发布流程- 由 Gradle 将项目打包和创建 metadata 文件
- 按要求发布到本地仓库或者远程仓库
这是发布的流程,也是待会我们需要 gradle 帮我们做的事情。
Gradle 项目发布实现
操作步骤
- 添加 maven-publish 插件
- 配置发布任务
- 执行发布
- 发布到远程私服
- 发布到本地仓库
- 发布到 maven 中央仓库
构建文件配置
build.gradle
apply plugin :'maven-publish'
publishing {
publications {
// publishProject 为自定义名称,可写多个发布任务
publishProject(MavenPublication){
from components.java // 发布 jar 包
//from components.war // 发布 war 包
}
}
// 配置发布到哪里
repositories {
maven {
//指定要上传的 maven 私服仓库
url = ""
//认证用户和密码
credentials {
username 'root'
password 'admin'
}
}
}
}
Gradle 操作窗口
publish多了 publishing 目录,其下有几个操作
- generatePomFileForPublishProjectPublication:生成 pom 文件
- publish:发布到 repositories 中指定的仓库(一般为 Maven 私服)
- publishPublishProjectPublicationToMavenLocal:执行 publishProject 指定操作到指定仓库
- publishPublishProjectPublicationToMyRepoRepository:执行 publishProject 中的操作并发布到指定仓库(私服)
- publishToMavenLocal:执行所有发布任务中的操作发布到本地 maven 仓库
一般在公司就是将项目发布到私服供其他项目使用,直接操作 publish。发布到本地使用 publishToMavenLocal 即可。
open 是一种情怀,目前很多框架都是开源,如果咱们在发布项目时想把源代码也发布出去怎么处理呢?
发布源代码
//打包源码
task sourceJar(type: Jar) {
from sourceSets.main.allJava
}
publishing{
publications{
publishJarProject(MavenPublication){
from components.java
//调用打包源码发布
artifact sourceJar {
classifier "sources"
}
}
}
// 配置发布到私服地址
repositories {
maven {
url ""
}
// ...
}
}
以上便是Gradle 的发布操作,包括源码的发布操作,这也是 Gradle 入门级的最后一个环节,到此我们已经系统的学习完了 Gradle 的一些操作原理和操作步骤。如果仅仅是想快速入手的话只需要看安装,依赖配置,多项目搭建,发布即可。
网友评论