summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ci.yaml4
-rw-r--r--.github/workflows/dokka.yaml4
-rw-r--r--.github/workflows/release.yaml8
-rw-r--r--.idea/runConfigurations/LunaticChat__dokkaGenerate_.xml2
-rw-r--r--.idea/runConfigurations/LunaticChat__shadowJar_.xml2
-rw-r--r--build.gradle.kts57
-rw-r--r--docker/compose.yaml2
-rw-r--r--engine/build.gradle.kts9
-rw-r--r--gradle.properties3
-rw-r--r--platform-paper/build.gradle.kts44
-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.kts31
-rw-r--r--settings.gradle.kts6
-rwxr-xr-xx4
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"
+)
diff --git a/x b/x
index f398032..3e45a4c 100755
--- a/x
+++ b/x
@@ -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)