c86c980b43
- build-internal.sh 및 build-internal.bat 생성 - 내부망 빌드 가이드 문서(BUILD-INTERNAL.md) 추가
41 lines
1.4 KiB
Bash
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"
|