Files
djb-damo-manager/scripts/build-internal.sh
T
Rinjae c86c980b43 내부망 빌드 스크립트 추가: Gradle 없이 JDK만으로 빌드 지원
- build-internal.sh 및 build-internal.bat 생성
- 내부망 빌드 가이드 문서(BUILD-INTERNAL.md) 추가
2026-07-24 15:57:35 +09:00

41 lines
1.4 KiB
Bash

#!/bin/sh
# damo-manager 내부망 빌드 스크립트 — JDK 만 필요 (Gradle 불필요)
# 사용법: sh build-internal.sh
# 산출물: build-internal/damo-manager.jar
set -e
cd "$(dirname "$0")"
OUT=build-internal
VERSION=$(cat VERSION 2>/dev/null || echo 1.0.0)
rm -rf "$OUT"
mkdir -p "$OUT/stub-classes" "$OUT/main-classes"
# JDK 9+ 면 --release 8 로 Java 8 타깃 고정, JDK 8 이면 옵션 없이 컴파일
RELEASE_OPT=
if javac --release 8 -version >/dev/null 2>&1; then
RELEASE_OPT="--release 8"
fi
# 1. stub 컴파일 (scpdb 가짜 시그니처 — 컴파일 통과 전용, jar 에 포함되지 않음)
find src/stub/java -name '*.java' > "$OUT/stub-sources.txt"
javac $RELEASE_OPT -encoding UTF-8 -d "$OUT/stub-classes" @"$OUT/stub-sources.txt"
# 2. main 컴파일 (stub 을 classpath 로 사용 — Gradle 의 compileOnly 와 동일)
find src/main/java -name '*.java' > "$OUT/main-sources.txt"
javac $RELEASE_OPT -encoding UTF-8 -cp "$OUT/stub-classes" -d "$OUT/main-classes" @"$OUT/main-sources.txt"
# 3. jar 패키징 (main 클래스만 포함)
cat > "$OUT/MANIFEST.MF" <<EOF
Manifest-Version: 1.0
Implementation-Title: damo-manager
Implementation-Version: $VERSION
Built-By: damo-manager internal build
Main-Class: com.eactive.ext.djb.DamoCli
EOF
jar cfm "$OUT/damo-manager.jar" "$OUT/MANIFEST.MF" -C "$OUT/main-classes" .
echo ""
echo "빌드 완료: $OUT/damo-manager.jar"