Test conf
This commit is contained in:
39
Project-01/uap25-pro01-tram/build.sh
Normal file
39
Project-01/uap25-pro01-tram/build.sh
Normal file
@@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
OUT=jar
|
||||
MAIN_CLASS=de.unitrier.st.uap.w25.tram.Main
|
||||
JAR_NAME=tram.jar
|
||||
LIB=lib
|
||||
TMP=$OUT/tmp
|
||||
|
||||
# Clean and prepare
|
||||
rm -rf "$OUT"
|
||||
mkdir -p "$TMP"
|
||||
|
||||
# 1. Compile sources
|
||||
if [ -d "$LIB" ]; then
|
||||
javac -d "$TMP" -cp "$LIB/*" $(find src -name "*.java")
|
||||
else
|
||||
javac -d "$TMP" $(find src -name "*.java")
|
||||
fi
|
||||
|
||||
# 2. Unpack dependency jars
|
||||
if [ -d "$LIB" ]; then
|
||||
for jar in "$LIB"/*.jar; do
|
||||
[ -f "$jar" ] && jar xf "$jar" -C "$TMP"
|
||||
done
|
||||
fi
|
||||
|
||||
# 3. Create manifest
|
||||
echo "Main-Class: $MAIN_CLASS" > "$TMP/MANIFEST.MF"
|
||||
|
||||
# 4. Package into single jar
|
||||
jar cfm "$OUT/$JAR_NAME" "$TMP/MANIFEST.MF" -C "$TMP" .
|
||||
|
||||
# 5. Clean temporary files
|
||||
rm -rf "$TMP"
|
||||
|
||||
echo "Built: $OUT/$JAR_NAME"
|
||||
echo "Run with:"
|
||||
echo " java -jar $OUT/$JAR_NAME"
|
||||
Reference in New Issue
Block a user