Well you could use a little Groovy syntax sugar to make it prettier like so:
task publishAndSayHi {
subprojects.each { dependsOn("${it.name}:publishToMavenLocal") }
dependsOn('sayHi')
}
Alternatively, if you don’t want to do this for all subprojects
you can just define an Array.