Convert build scripts to Kotlin

Also added some new tasks to only build/install to maven local certain platforms
`buildMinecraft`, `installMinecraft`, `buildDiscord`, `installDiscord`, `buildIRC`, `installIRC`
This commit is contained in:
jmp 2020-12-31 21:26:53 -08:00 committed by Alexander Söderberg
parent d812ea633a
commit 2c188eb130
48 changed files with 519 additions and 499 deletions

54
settings.gradle.kts Normal file
View file

@ -0,0 +1,54 @@
rootProject.name = "cloud"
// Core Modules
include(":cloud-core")
include(":cloud-services")
include(":cloud-tasks")
include(":cloud-annotations")
// Extension Modules
include(":cloud-kotlin-extensions")
// Discord Modules
setupDiscordModule("cloud-javacord")
setupDiscordModule("cloud-jda")
// Minecraft Modules
setupMinecraftModule("cloud-brigadier")
setupMinecraftModule("cloud-bukkit")
setupMinecraftModule("cloud-paper")
setupMinecraftModule("cloud-velocity")
setupMinecraftModule("cloud-sponge")
setupMinecraftModule("cloud-bungee")
setupMinecraftModule("cloud-cloudburst")
setupMinecraftModule("cloud-minecraft-extras")
// IRC Modules
setupIrcModule("cloud-pircbotx")
// Example Modules
setupExampleModule("example-bukkit")
setupExampleModule("example-bungee")
setupExampleModule("example-jda")
setupExampleModule("example-velocity")
fun setupIrcModule(name: String) =
setupSubproject(name, file("cloud-irc/$name"))
fun setupDiscordModule(name: String) =
setupSubproject(name, file("cloud-discord/$name"))
fun setupMinecraftModule(name: String) =
setupSubproject(name, file("cloud-minecraft/$name"))
fun setupExampleModule(name: String) =
setupSubproject(name, file("examples/$name"))
fun setupSubproject(name: String, projectDirectory: File) = setupSubproject(name) {
projectDir = projectDirectory
}
inline fun setupSubproject(name: String, block: ProjectDescriptor.() -> Unit) {
include(name)
project(":$name").apply(block)
}