rootProject.name = "viaversion-parent" enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") enableFeaturePreview("VERSION_CATALOGS") include("adventure") include("java-compat", "java-compat:java-compat-common", "java-compat:java-compat-unsafe") setupViaSubproject("api") setupViaSubproject("common") setupViaSubproject("bukkit") setupViaSubproject("bukkit-legacy") setupViaSubproject("bungee") setupViaSubproject("velocity") setupViaSubproject("sponge") setupViaSubproject("sponge-legacy") setupViaSubproject("fabric") setupSubproject("viaversion") { projectDir = file("universal") } fun setupViaSubproject(name: String) { setupSubproject("viaversion-$name") { projectDir = file(name) } } inline fun setupSubproject(name: String, block: ProjectDescriptor.() -> Unit) { include(name) project(":$name").apply(block) }