Dokümantasyonda gördüğünüz gibi üç aşama vardır: Başlatma, Yapılandırma ve Yürütme. Her adım, çok sayıda proje için kök projeden alt projelere aktarılır. Alt projelerde yapılan yapılandırmaya göre belirli öğeleri yapılandırmak istediğinizde, afterEvaluate çoklu proje yapısının kök not dosyasında kullanışlıdır.
Tanımlanmış belirli bir eklentiye sahip tüm alt projeler için bir görev eklemek istediğinizi varsayalım. Eğer kök projeye eklerseniz: Kök proje alt projeler önce yapılandırıldı beri
subprojects {subProject ->
if (subProject.plugins.hasPlugin('myplugin')){
subProject.task('newTask')<<{
println "This is a new task"
}
}
}
Bu görev eklenecektir asla.
subprojects {subProject ->
afterEvaluate{
if (subProject.plugins.hasPlugin('myplugin')){
subProject.task('newTask')<<{
println "This is a new task"
}
}
}
}
Yani dinlenme yapılandırması yapılmıştır sonra ** afterEvaluate ** bazı öğeleri yapılandırabilirsiniz: afterEvaluate sizin için bu çözecektir ilave edilmesi,? DoLast gibi bir şey, ama yalnız görevler için değil, ** afterEvaluate ** diğer yapılandırmadan sonra ve yürütmeden önce yapılandırmasını koydu. Yani değerlendirme, bir yapılandırma sonunda ve yürütmeden önce yürütülür? Ben haklı mıyım – Xelian
Evet haklısınız. Belirli bir proje yapılandırıldıktan sonra çalışan "project.afterEvaluate" in yanı sıra, tüm projeler yapılandırıldıktan sonra çalışan bir "gradle.projectsEvaluated" kancası da vardır. –