diff options
| -rw-r--r-- | .github/workflows/ci.yaml | 4 | ||||
| -rw-r--r-- | .github/workflows/dokka.yaml | 4 | ||||
| -rw-r--r-- | .github/workflows/release.yaml | 8 | ||||
| -rw-r--r-- | .idea/runConfigurations/LunaticChat__dokkaGenerate_.xml | 2 | ||||
| -rw-r--r-- | .idea/runConfigurations/LunaticChat__shadowJar_.xml | 2 | ||||
| -rw-r--r-- | build.gradle.kts | 57 | ||||
| -rw-r--r-- | docker/compose.yaml | 2 | ||||
| -rw-r--r-- | engine/build.gradle.kts | 9 | ||||
| -rw-r--r-- | gradle.properties | 3 | ||||
| -rw-r--r-- | platform-paper/build.gradle.kts | 44 | ||||
| -rw-r--r-- | platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/LunaticChat.kt (renamed from src/main/kotlin/dev/m1sk9/lunaticChat/LunaticChat.kt) | 2 | ||||
| -rw-r--r-- | platform-paper/src/main/resources/paper-plugin.yml (renamed from src/main/resources/paper-plugin.yml) | 2 | ||||
| -rw-r--r-- | platform-velocity/build.gradle.kts | 31 | ||||
| -rw-r--r-- | settings.gradle.kts | 6 | ||||
| -rwxr-xr-x | x | 4 |
15 files changed, 129 insertions, 51 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index b23385b..d706921 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -30,12 +30,12 @@ jobs: run: ./gradlew ktlintCheck --no-daemon - name: Build with shadowJar - run: ./gradlew shadowJar --parallel --no-daemon + run: ./gradlew :platform-paper:shadowJar --parallel --no-daemon - name: Upload build artifact uses: actions/upload-artifact@v6 if: success() with: name: LunaticChat-${{ github.sha }} - path: build/libs/*-all.jar + path: platform-paper/build/libs/*-all.jar retention-days: 7 diff --git a/.github/workflows/dokka.yaml b/.github/workflows/dokka.yaml index c02d67b..a8b3c80 100644 --- a/.github/workflows/dokka.yaml +++ b/.github/workflows/dokka.yaml @@ -32,13 +32,13 @@ jobs: run: chmod +x gradlew - name: Generate JavaDoc with Dokka - run: ./gradlew dokkaGenerate --no-daemon + run: ./gradlew :platform-paper:dokkaGenerate --no-daemon - name: Upload artifact id: lunaticchat_dokka uses: actions/upload-pages-artifact@v4 with: - path: build/dokka/html + path: platform-paper/build/dokka/html deploy: environment: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 8cd9cd6..67fd190 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -18,9 +18,9 @@ jobs: - name: Extract version from build.gradle.kts id: get_version run: | - VERSION=$(grep '^version = ' build.gradle.kts | sed 's/version = "\(.*\)"/\1/') + VERSION=$(grep ' version = ' build.gradle.kts | sed 's/.*version = "\(.*\)"/\1/') echo "version=$VERSION" >> $GITHUB_OUTPUT - echo "jar_name=rune-core-$VERSION-all.jar" >> $GITHUB_OUTPUT + echo "jar_name=LunaticChat-$VERSION-all.jar" >> $GITHUB_OUTPUT echo "Extracted version: $VERSION" - name: Validate tag matches version @@ -62,13 +62,13 @@ jobs: run: chmod +x gradlew - name: Build with shadowJar - run: ./gradlew shadowJar --parallel --no-daemon + run: ./gradlew :platform-paper:shadowJar --parallel --no-daemon - name: Upload build artifact uses: actions/upload-artifact@v6 with: name: LunaticChat-v${{ needs.validate.outputs.version }} - path: build/libs/${{ needs.validate.outputs.jar_name }} + path: platform-paper/build/libs/${{ needs.validate.outputs.jar_name }} retention-days: 90 release: diff --git a/.idea/runConfigurations/LunaticChat__dokkaGenerate_.xml b/.idea/runConfigurations/LunaticChat__dokkaGenerate_.xml index dc948ed..e9b8112 100644 --- a/.idea/runConfigurations/LunaticChat__dokkaGenerate_.xml +++ b/.idea/runConfigurations/LunaticChat__dokkaGenerate_.xml @@ -10,7 +10,7 @@ </option> <option name="taskNames"> <list> - <option value="dokkaGenerate" /> + <option value=":platform-paper:dokkaGenerate" /> </list> </option> <option name="vmOptions" /> diff --git a/.idea/runConfigurations/LunaticChat__shadowJar_.xml b/.idea/runConfigurations/LunaticChat__shadowJar_.xml index ed944a6..c33890e 100644 --- a/.idea/runConfigurations/LunaticChat__shadowJar_.xml +++ b/.idea/runConfigurations/LunaticChat__shadowJar_.xml @@ -10,7 +10,7 @@ </option> <option name="taskNames"> <list> - <option value="shadowJar" /> + <option value=":platform-paper:shadowJar" /> </list> </option> <option name="vmOptions" /> diff --git a/build.gradle.kts b/build.gradle.kts index 7546945..488ce4e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,46 +1,31 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + plugins { - kotlin("jvm") version "2.3.0" - id("com.gradleup.shadow") version "8.3.0" - id("xyz.jpenilla.run-paper") version "2.3.1" - id("org.jlleitschuh.gradle.ktlint") version "14.0.1" - id("org.jetbrains.dokka") version "2.1.0" + kotlin("jvm") version "2.3.0" apply false + kotlin("plugin.serialization") version "2.3.0" apply false + id("com.gradleup.shadow") version "8.3.0" apply false + id("xyz.jpenilla.run-paper") version "2.3.1" apply false + id("org.jlleitschuh.gradle.ktlint") version "14.0.1" apply false + id("org.jetbrains.dokka") version "2.1.0" apply false } -group = "dev.m1sk9" -version = "0.0.0" +allprojects { + group = "dev.m1sk9" + version = "0.0.0" -repositories { - mavenCentral() - maven("https://repo.papermc.io/repository/maven-public/") { - name = "papermc-repo" + repositories { + mavenCentral() } } -dependencies { - compileOnly("io.papermc.paper:paper-api:1.21.11-R0.1-SNAPSHOT") - implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") -} - -tasks { - runServer { - minecraftVersion("1.21") - } -} - -val targetJavaVersion = 21 -kotlin { - jvmToolchain(targetJavaVersion) -} - -tasks.build { - dependsOn("shadowJar") -} +subprojects { + apply(plugin = "org.jetbrains.kotlin.jvm") + apply(plugin = "org.jlleitschuh.gradle.ktlint") -tasks.processResources { - val props = mapOf("version" to version) - inputs.properties(props) - filteringCharset = "UTF-8" - filesMatching("paper-plugin.yml") { - expand(props) + tasks.withType<KotlinCompile> { + compilerOptions { + jvmTarget.set(JvmTarget.JVM_21) + } } } diff --git a/docker/compose.yaml b/docker/compose.yaml index f81760d..536242a 100644 --- a/docker/compose.yaml +++ b/docker/compose.yaml @@ -8,7 +8,7 @@ services: - "25575:25575" volumes: - minecraft-data:/data - - ../build/libs:/plugins:ro + - ../platform-paper/build/libs:/plugins:ro - ./plugins:/data/plugins - ./bukkit.yml:/data/bukkit.yml environment: diff --git a/engine/build.gradle.kts b/engine/build.gradle.kts new file mode 100644 index 0000000..9706c62 --- /dev/null +++ b/engine/build.gradle.kts @@ -0,0 +1,9 @@ +plugins { + kotlin("jvm") + kotlin("plugin.serialization") +} + +dependencies { + // JSON シリアライゼーション + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3") +} diff --git a/gradle.properties b/gradle.properties index 5ad6974..a99b6a4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1,4 @@ org.gradle.configuration-cache=true +kotlin.code.style=official +org.gradle.jvmargs=-Xmx2G +org.gradle.parallel=true diff --git a/platform-paper/build.gradle.kts b/platform-paper/build.gradle.kts new file mode 100644 index 0000000..315061f --- /dev/null +++ b/platform-paper/build.gradle.kts @@ -0,0 +1,44 @@ +plugins { + kotlin("jvm") + id("com.gradleup.shadow") + id("xyz.jpenilla.run-paper") + id("org.jetbrains.dokka") +} + +repositories { + maven("https://repo.papermc.io/repository/maven-public/") { + name = "papermc-repo" + } +} + +dependencies { + // engine モジュールを使用 + api(project(":engine")) + + // Paper API + compileOnly("io.papermc.paper:paper-api:1.21.11-R0.1-SNAPSHOT") +} + +tasks { + shadowJar { + archiveClassifier.set("all") + archiveBaseName.set("LunaticChat") + } + + runServer { + minecraftVersion("1.21") + } + + processResources { + val props = mapOf("version" to project.version) + inputs.properties(props) + filteringCharset = "UTF-8" + filesMatching("paper-plugin.yml") { + expand(props) + } + } + + build { + dependsOn(shadowJar) + } +} diff --git a/src/main/kotlin/dev/m1sk9/lunaticChat/LunaticChat.kt b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/LunaticChat.kt index 573835f..6bcc9b0 100644 --- a/src/main/kotlin/dev/m1sk9/lunaticChat/LunaticChat.kt +++ b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/LunaticChat.kt @@ -1,4 +1,4 @@ -package dev.m1sk9.lunaticChat +package dev.m1sk9.lunaticChat.paper import org.bukkit.plugin.java.JavaPlugin diff --git a/src/main/resources/paper-plugin.yml b/platform-paper/src/main/resources/paper-plugin.yml index e38b6fb..de32eaa 100644 --- a/src/main/resources/paper-plugin.yml +++ b/platform-paper/src/main/resources/paper-plugin.yml @@ -1,6 +1,6 @@ name: LunaticChat version: '0.0.0' -main: dev.m1sk9.lunaticChat.LunaticChat +main: dev.m1sk9.lunaticChat.paper.LunaticChat api-version: '1.21' prefix: LunaticChat load: STARTUP diff --git a/platform-velocity/build.gradle.kts b/platform-velocity/build.gradle.kts new file mode 100644 index 0000000..e259a94 --- /dev/null +++ b/platform-velocity/build.gradle.kts @@ -0,0 +1,31 @@ +plugins { + kotlin("jvm") + id("com.gradleup.shadow") + kotlin("kapt") +} + +repositories { + maven("https://repo.papermc.io/repository/maven-public/") { + name = "papermc-repo" + } +} + +dependencies { + // engine モジュールを使用 + api(project(":engine")) + + // Velocity API (将来追加予定) + // compileOnly("com.velocitypowered:velocity-api:3.4.0") + // kapt("com.velocitypowered:velocity-api:3.4.0") +} + +tasks { + shadowJar { + archiveClassifier.set("all") + archiveBaseName.set("LunaticChat-Velocity") + } + + build { + dependsOn(shadowJar) + } +} diff --git a/settings.gradle.kts b/settings.gradle.kts index eed7c00..df160d6 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1 +1,7 @@ rootProject.name = "LunaticChat" + +include( + "engine", + "platform-paper", + "platform-velocity" +) @@ -2,7 +2,7 @@ set -e -DOCKER_COMPOSE="docker compose -f docker/compose.yml" +DOCKER_COMPOSE="docker compose -f docker/compose.yaml" help() { cat <<EOF @@ -22,7 +22,7 @@ EOF case "${1:-}" in start) - ./gradlew shadowJar + ./gradlew :platform-paper:shadowJar $DOCKER_COMPOSE up ;; restart) |
