最近从视频上https://www.udacity.com/course/viewer#!/c-ud867/l-3968239469/m-4296375297 学习Gradle的完整知识。有了在线的教学视频就是好啊,而且Google还带有英文字幕,这就方便多了。看来以后要多加练习听力。
task putOnSocks{
doLast{
println "Putting on Socks."
}
}
task putOnShoes{
dependsOn "putOnSocks"
doLast{
println "Putting on shoes"
}
}
task eatBreakfast{
finalizedBy "brushYourTeeth"
doLast{
println "Om mom mom breakfast!"
}
}
task brushYourTeeth{
doLast{
println "Brushie Brushie Brushie"
}
}
task takeShower{
doLast{
println "Taking a shower"
}
}
task putOnFragrance{
shouldRunAfter "takeShower"
doLast{
println "Semllin fesh!"
}
}
putOnShoes.mustRunAfter takeShower
task getReady{
dependsOn = ["takeShower","eatBreakfast","putOnShoes"]
}
task getEquipped{
dependsOn tasks.matching{task -> task.name.startsWith("putOn")}
doLast{
println "All geared up"
}
}
依赖关系:
dependsOn: puOnShoes必须在putOnSocks后运行
finalizedBy: eatBreakFast运行之后,必须运行burshYourTeeth
shouldRunAfter:两这单独不发生约束,只有同时运行才有约束。比如喷香水、洗澡。但如果两者都要发生,那喷香水在洗澡之后发生。
如:$ gradle -q putOnFragrance takeShower
Taking a shower
Semllin fesh!
mustRunAfter:: 视频没说和shouldRunAfter的区别,我试了下也没发现区别。。。。