diff --git a/api/build.gradle.kts b/api/build.gradle.kts index 7bb29bf5..376119f2 100644 --- a/api/build.gradle.kts +++ b/api/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("floodgate.publish-conventions") + id("floodgate.shadow-conventions") +} + dependencies { api(libs.cumulus) api(libs.events) diff --git a/build.gradle.kts b/build.gradle.kts index dc49b931..780af7da 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,62 +1,3 @@ plugins { - `java-library` - alias(libs.plugins.micronaut) apply false - alias(libs.plugins.lombok) apply false -} - -allprojects { - group = "org.geysermc.floodgate" - description = "Allows Bedrock players to join Java edition servers while keeping the server in online mode" - - apply { - plugin("net.kyori.indra.git") - } - - if (shouldAddBranchName()) { - version = versionWithBranchName() - } -} - -//todo differentiate maven publishing from downloads publishing -val deployProjects = setOf( - projects.api, - projects.coreCommon, - projects.coreNetty4, - projects.isolation, - projects.bungee, - projects.spigot, - projects.velocity, - projects.bungeeBase, - projects.spigotBase, - projects.velocityBase, - projects.universal -).map { it.dependencyProject } - -val shadowProjects = setOf( - projects.api, - projects.coreCommon, - projects.coreNetty4, - projects.bungeeBase, - projects.spigotBase, - projects.velocityBase, - projects.universal -).map { it.dependencyProject } - -//todo re-add checkstyle when we switch back to 2 space indention -// and take a look again at spotbugs someday - -subprojects { - apply { - plugin("java-library") - plugin("io.freefair.lombok") - } - - when (this) { - in deployProjects -> plugins.apply("floodgate.publish-conventions") - else -> plugins.apply("floodgate.base-conventions") - } - - if (this in shadowProjects) { - plugins.apply("floodgate.shadow-conventions") - } + id("floodgate.base-conventions") } \ No newline at end of file diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 91c44bc3..55837462 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -7,6 +7,8 @@ repositories { } dependencies { + implementation(libs.lombok) + implementation(libs.micronaut) implementation(libs.indra.common) implementation(libs.indra.git) implementation(libs.indra.licenser.spotless) diff --git a/buildSrc/src/main/kotlin/floodgate.base-conventions.gradle.kts b/buildSrc/src/main/kotlin/floodgate.base-conventions.gradle.kts index d8e973eb..a14cc2a4 100644 --- a/buildSrc/src/main/kotlin/floodgate.base-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/floodgate.base-conventions.gradle.kts @@ -5,8 +5,14 @@ plugins { id("net.kyori.indra.git") // id("net.kyori.indra.licenser.spotless") id("floodgate.depsize") + id("io.freefair.lombok") } +val rootProperties: Map = project.rootProject.properties +group = rootProperties["group"] as String + "." + rootProperties["id"] as String +version = if (shouldAddBranchName()) versionWithBranchName() else rootProperties["version"] as String +description = rootProperties["description"] as String + dependencies { compileOnly("org.checkerframework", "checker-qual", "3.19.0") } diff --git a/bungee/base/build.gradle.kts b/bungee/base/build.gradle.kts index 95bc9073..4fd5ccf6 100644 --- a/bungee/base/build.gradle.kts +++ b/bungee/base/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("floodgate.shadow-conventions") + id("floodgate.publish-conventions") +} + dependencies { api(projects.coreNetty4) annotationProcessor(projects.coreNetty4) diff --git a/bungee/isolated/build.gradle.kts b/bungee/isolated/build.gradle.kts index 2cac9ec7..b51b363c 100644 --- a/bungee/isolated/build.gradle.kts +++ b/bungee/isolated/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - java + id("floodgate.base-conventions") } dependencies { diff --git a/core/common/build.gradle.kts b/core/common/build.gradle.kts index 8dc4fc3c..0542d1fd 100644 --- a/core/common/build.gradle.kts +++ b/core/common/build.gradle.kts @@ -1,6 +1,8 @@ plugins { + id("floodgate.publish-conventions") id("floodgate.generate-templates") id("floodgate.dependency-hash") + id("floodgate.shadow-conventions") id("io.micronaut.library") } diff --git a/core/netty4/build.gradle.kts b/core/netty4/build.gradle.kts index 01749278..8d028caf 100644 --- a/core/netty4/build.gradle.kts +++ b/core/netty4/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("floodgate.publish-conventions") + id("floodgate.shadow-conventions") +} + dependencies { api(projects.coreCommon) annotationProcessor(projects.coreCommon) diff --git a/gradle.properties b/gradle.properties index b08de121..5102b022 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,5 +2,8 @@ org.gradle.configureondemand=true org.gradle.caching=true org.gradle.parallel=true +group=org.geysermc +id=floodgate +description="Allows Bedrock players to join Java edition servers while keeping the server in online mode" version=3.0.0-SNAPSHOT micronautVersion=4.6.0 \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ae79fe44..c0cc0fed 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -110,10 +110,8 @@ indra-git = { module = "net.kyori:indra-git", version.ref = "indra" } indra-licenser-spotless = { module = "net.kyori:indra-licenser-spotless", version.ref = "indra" } shadow = { group = "com.gradleup.shadow", name = "com.gradleup.shadow.gradle.plugin", version.ref = "shadow" } gradle-idea-ext = { module = "gradle.plugin.org.jetbrains.gradle.plugin.idea-ext:gradle-idea-ext", version.ref = "gradle-idea-ext" } - -[plugins] -micronaut = { id = "io.micronaut.library", version.ref = "micronaut-gradle" } -lombok = { id = "io.freefair.lombok", version.ref = "lombok" } +lombok = { group = "io.freefair.gradle", name = "lombok-plugin", version.ref = "lombok" } +micronaut = { group = "io.micronaut.library", name = "io.micronaut.library.gradle.plugin", version.ref = "micronaut-gradle" } [bundles] fastutil = ["fastutil-short-object-maps", "fastutil-int-object-maps"] \ No newline at end of file diff --git a/isolation/build.gradle.kts b/isolation/build.gradle.kts index b71c6e16..c1438baa 100644 --- a/isolation/build.gradle.kts +++ b/isolation/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("floodgate.base-conventions") + id("floodgate.publish-conventions") } dependencies { diff --git a/spigot/base/build.gradle.kts b/spigot/base/build.gradle.kts index 0e27097d..2a24e4bc 100644 --- a/spigot/base/build.gradle.kts +++ b/spigot/base/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("floodgate.publish-conventions") + id("floodgate.shadow-conventions") +} + dependencies { api(projects.coreNetty4) annotationProcessor(projects.coreNetty4) diff --git a/spigot/isolated/build.gradle.kts b/spigot/isolated/build.gradle.kts index 670f1535..2f30520b 100644 --- a/spigot/isolated/build.gradle.kts +++ b/spigot/isolated/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - java + id("floodgate.base-conventions") } dependencies { diff --git a/universal/build.gradle.kts b/universal/build.gradle.kts index c4665b2c..bf59faff 100644 --- a/universal/build.gradle.kts +++ b/universal/build.gradle.kts @@ -1,5 +1,7 @@ plugins { + id("floodgate.publish-conventions") id("floodgate.generate-templates") + id("floodgate.shadow-conventions") } provided(libs.bungee) diff --git a/velocity/base/build.gradle.kts b/velocity/base/build.gradle.kts index efc0959c..84019d58 100644 --- a/velocity/base/build.gradle.kts +++ b/velocity/base/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("floodgate.publish-conventions") + id("floodgate.shadow-conventions") +} + dependencies { api(projects.coreNetty4) annotationProcessor(projects.coreNetty4) diff --git a/velocity/isolated/build.gradle.kts b/velocity/isolated/build.gradle.kts index 2a2d9f6b..9fe00bf1 100644 --- a/velocity/isolated/build.gradle.kts +++ b/velocity/isolated/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - java + id("floodgate.base-conventions") } dependencies {