如何在 Gradle 中创建两个任务




我有一个以Gradle作为构建系统的Java项目。
我需要创建两个单一用途的构建任务,但使用不同版本的jar文件。
具体来说,我需要:

  • 在本地计算机中使用-LOCAL.jar版本进行本地计算机使用(例如项目名称-本地.jar(

  • 对于GitLab CI\CD系统中的构建任务,请使用编号版本(项目名称-1.1.1.jar(

GitLab CI\CD 的版本取自提交标记,取自 GitLab 预定义的 ENV 变量。

所以,我有一个默认的build.gradle文件,其中:

group = 'projectName'
version = 'LOCAL'
sourceCompatibility = '11'
jar {
manifest {
attributes "Main-Class": "projectName.Application"
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
}

此任务必须在本地计算机上运行,并创建项目名称-本地.jar。他正在做的是。
如何在另一个具有编号版本的任务中实现这一点,特别是对于 GitLab CI\CD?

Gradle 默认将 jar 文件命名为${baseName}-${appendix}-${version}-${classifier}.${extension}

因此,您可以根据条件简单地更改version

这样的事情应该有效:

ext {
isLocal = System.getenv('ENV') == 'LOCAL'
}
jar {
if (isLocal) version = 'LOCAL'
}

要使用本地,您可以使用ENV=LOCAL ./gradlew jar并使用常规命令,而无需 GitLab 的 ENV 部分。

相关内容

  • 没有找到相关文章

最新更新