Gradle 渐变:在调用根任务时排除触发子项目任务
我有以下项目结构:Gradle 渐变:在调用根任务时排除触发子项目任务,gradle,build.gradle,artifactory,Gradle,Build.gradle,Artifactory,我有以下项目结构: Root project 'base' +--- Project ':server' +--- Project ':testManager' 每个模块都有自己的artifactoryPublish任务 在baseroot目录下运行根任务时,如何排除执行testManager模块的artifactoryPublish ./gradlew artifactoryPublish-这应该而不是运行testManager:artifactoryPublish 但是我需要能够为一个te
Root project 'base'
+--- Project ':server'
+--- Project ':testManager'
每个模块都有自己的artifactoryPublish
任务
在base
root目录下运行根任务时,如何排除执行testManager
模块的artifactoryPublish
./gradlew artifactoryPublish
-这应该而不是运行testManager:artifactoryPublish
但是我需要能够为一个testmanager
模块单独运行此任务:
./gradlew
testManager:artifactoryPublish`-这将在指定模块中启动任务
我试图将以下内容添加到设置中。gradle
:
startParameter.excludedTaskNames << ':testManager:artifactoryPublish'
startParameter.excludedTaskNames您可以使用-x
开关排除运行任务
$> gradle --dry-run artifactoryPublish
:artifactoryPublish SKIPPED
:server:artifactoryPublish SKIPPED
:testManager:artifactoryPublish SKIPPED
$> gradle --dry-run artifactoryPublish -x :testManager:artifactoryPublish
:artifactoryPublish SKIPPED
:server:artifactoryPublish SKIPPED
适合我的解决方案是将以下内容添加到testManager build.gradle中:
artifactoryPublish.onlyIf {
ext.has("publishTestFiles")
}
仅当需要启动此模块的任务时,才允许使用其他标志 您只需添加到testManager
模块下一个脚本的build.gradle
artifactoryPublish.onlyIf { false }