忽略gradle中的子项目
我有一个gradle多项目,我正试图在root build.gradle文件中创建一个任务 我需要在签出后运行该任务一次,或者每次我需要从项目所依赖的war生成jars文件时运行该任务。 问题是,当我运行gradlemytask时,gradle尝试编译文件setting.gradle中的所有项目,但由于我还没有JAR,所以失败了 是否有方法运行任务忽略setting.gradle 我已经尝试过gradle-c假设置。gradle我的任务,它工作得很完美,但我希望有更好的方法来完成它忽略gradle中的子项目,gradle,Gradle,我有一个gradle多项目,我正试图在root build.gradle文件中创建一个任务 我需要在签出后运行该任务一次,或者每次我需要从项目所依赖的war生成jars文件时运行该任务。 问题是,当我运行gradlemytask时,gradle尝试编译文件setting.gradle中的所有项目,但由于我还没有JAR,所以失败了 是否有方法运行任务忽略setting.gradle 我已经尝试过gradle-c假设置。gradle我的任务,它工作得很完美,但我希望有更好的方法来完成它 tas
task postCheckout << {
println "<<<<<< postCheckout"
delete fileTree(dir: "${rootProject.projectDir}/libs/fineos", include: ".")
copy{
from zipTree("${rootProject.projectDir}/fineos-war/fineos6/fineos.war/")
include "WEB-INF/lib/*.jar"
eachFile { fcp-> fcp.path = fcp.name }
into "${rootProject.projectDir}/libs/fineos" includeEmptyDirs = false
}
}
不应该忽略子项目。Gradle不会尝试编译所有项目,除非根项目的myTask任务依赖于它们,或者每个项目都有一个名为myTask的任务,该任务依赖于项目的编译输出。问题是,在子项目中,我对jar有依赖关系,myTask必须放在所有项目都要查找的文件夹中。。。MyTask只在根项目中…听起来好像构建有问题。可能myTask任务的声明不正确。Gradle只会在执行myTask.task postCheckout fcp.path=fcp.name}时需要编译子项目到${rootProject.projectDir}/libs/fineos includeEmptyDirs=false}请将其添加到原始问题中。它不属于评论。