Why are composite build behaving differently from multi-project build in regards with cli support?

Hi all,

I am wondering why composite builds are not working as multi-project builds.

For example, in a multi project build I can make gradle test even if some projects do not have the test task.

Also, in multi project build, it is not necessary to define dummy tasks with dependencies to other tasks of included build. This is super inconvenient if you have projects that are rather different in nature and do not share same task names.

I am forced to write that kind of weird stuff in my composite build.

["assemble", "build", "classes", "clean", "docker", "test"].each { name ->
    task(name) {
        dependsOn gradle.includedBuild("project-a").task(':'+name)
        dependsOn gradle.includedBuild("project-b").task(':'+name)
        dependsOn gradle.includedBuild("project-c").task(':'+name)
        for (build in gradle.includedBuilds) {
            if (build.name.startsWith("blabla-")) {
                dependsOn gradle.includedBuild(build.name).task(':'+name)
            }
            if (build.name.startsWith("fwk-") && !build.name.startsWith("fwk-plugins")) {
                dependsOn gradle.includedBuild(build.name).task(':'+name)
            }
        }
    }
}