plugins { `version-catalog` id("jf.maven-publish") } publishing { publications { register("mavenJava", MavenPublication::class) { from(components["versionCatalog"]) } } } tasks.withType(GenerateModuleMetadata::class) { enabled = true } tasks.register("configureCatalog") { doFirst { doConfigureCatalog() } } tasks.named("generateCatalogAsToml") { dependsOn("configureCatalog") } fun doConfigureCatalog() { for (proj in rootProject.allprojects) { if (proj == project) { continue } var catalogName = proj.name catalogName = when (catalogName) { "libjf-base" -> "base" "libjf-bom" -> "bom" "libjf" -> "libjf" else -> catalogName.substring("libjf-".length) } catalog { versionCatalog { library(catalogName, "$group:${proj.name}:${proj.version}") } } } }