约摇篮(3.3版)如何解决在多项目设置任务相关性(用java子项目)一个小问题。我是很新的,所以也许摇篮这是一个愚蠢的问题...摇篮dependson与defaultTasks在多项目
我想实现一个任务被编译前一个编译后的执行和。
使用它按预期工作defaultTasks。但是,当用dependsOn定义任务时,它不会。
我的根build.gradle
文件看起来像这样:
defaultTasks 'a', 'classes', 'b'
task a {
doLast {
println 'before compile'
}
}
task b {
doLast {
println 'after compile'
}
}
task doIt(dependsOn: [a, 'classes', b]) {
doLast {
println('done!')
}
}
allprojects {
group = 'foo'
repositories {
mavenCentral()
maven {
url 'https://maven.atlassian.com/3rdparty/'
}
}
}
subprojects {
ext {
springVersion = '4.3.5.RELEASE'
}
apply plugin: 'java'
dependencies {
compile fileTree(dir: 'lib', include: '*.jar')
testCompile group: 'junit', name: 'junit', version: '4.12'
}
}
当我执行gradle
预期默认任务执行:我得到“前编”,那么所有的子项目进行编译,然后“编译后”。
当我执行gradle doIt
我收到以下错误消息
Task with path 'classes' not found in root project 'teambits-core'.
任何想法,为什么是这样的话?
感谢您的详细解答,马克!特别是.mustRunAfter是非常有帮助的。 – Axel
@Axel - 很高兴我能帮上忙。我确实发现了你的问题,因为我有类似的问题,并且在解决我的问题时,它也解决了你的问题。 –
这就是这些双赢局面之一:-) – Axel