Files
tiennm99 b7ff184387 refactor: convert server from Maven to Gradle
Replace server/pom.xml with Gradle 9.2.1 (Kotlin DSL) + Shadow plugin
for fat jar packaging.

New files:
- server/build.gradle.kts   (Kotlin DSL script)
- server/settings.gradle.kts
- server/gradle/wrapper/    (committed wrapper, pinned to 9.2.1)
- server/gradlew, gradlew.bat

Deleted:
- server/pom.xml

Gradle config:
- plugins: java, com.gradleup.shadow 8.3.5
- toolchain: JavaLanguageVersion.of(25) (auto-provisions if missing)
- deps: netty-all 4.1.115.Final, protobuf-java 3.25.5, gson 2.11.0,
  junit-bom 5.11.3 + junit-jupiter (test)
- compiler: -parameters, UTF-8
- test: useJUnitPlatform()
- shadowJar: main class com.miti99.caro.server.SimpleServer,
  mergeServiceFiles(), append META-INF/io.netty.versions.properties
- default assembly depends on shadowJar

Output path migration:
- server/target/caro-server-0.0.1-beta.jar moves under Gradle output conventions.

Infrastructure:
- server/Dockerfile: eclipse-temurin:25-jdk + committed wrapper
  (no Maven image); runtime stage unchanged. COPY order optimized.
- .github/workflows/build.yml: setup-java temurin 25 +
  gradle/actions/setup-gradle, run gradlew with -p server.
- .gitignore: add .gradle/, whitelist wrapper jar after *.jar rule.

Docs + README fully updated to Gradle commands across:
README.md, codebase-summary.md, code-standards.md, deployment-guide.md,
project-overview.md, system-architecture.md.

Validation: gradlew clean assemble check passes all 37 tests on Java 25.
2026-04-10 20:50:53 +07:00
..