import java.io.ByteArrayOutputStream import org.gradle.api.provider.Provider plugins { id("foo.java-conventions") // generated by gradle maven conversion id("java-library") } tasks.register("executeRake", Exec::class) { workingDir("../../Generators/B") commandLine("/usr/bin/rake") // output is not yet working correctly, so call this task manually to generate sources ext["output"] = { listOf("../../B/src"); } } sourceSets { main { java.srcDir(listOf("src")) } } dependencies { api(project(":A")) //deps } group = "foo" description = "B"