約搖籃(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