Skip to content

Commit d6a8b3e

Browse files
committed
Science Commit 5.
1 parent a2f70b6 commit d6a8b3e

1 file changed

Lines changed: 73 additions & 0 deletions

File tree

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
#!/bin/bash
2+
# Brarner.M.Alete™ — Quick Local Deploy (exploded, no WAR)
3+
# Copies webapp directly to Tomcat webapps for immediate serving.
4+
# Usage: sudo bash install/deploy-local.sh [tomcat_home]
5+
set -e
6+
7+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
8+
BMA_ROOT="$(dirname "$SCRIPT_DIR")"
9+
WEBAPP_SRC="$BMA_ROOT/servlets/servlet/src/main/webapp"
10+
TOMCAT_HOME="${1:-${CATALINA_HOME:-/opt/tomcat}}"
11+
CONTEXT="brarner.m.alete"
12+
DEPLOY_DIR="$TOMCAT_HOME/webapps/$CONTEXT"
13+
14+
echo "═══════════════════════════════════════════════════════════════"
15+
echo " Brarner.M.Alete™ — Quick Local Deploy"
16+
echo " Source: $WEBAPP_SRC"
17+
echo " Target: $DEPLOY_DIR"
18+
echo "═══════════════════════════════════════════════════════════════"
19+
20+
if [ ! -d "$WEBAPP_SRC" ]; then
21+
echo "[!] Webapp source not found: $WEBAPP_SRC"
22+
exit 1
23+
fi
24+
25+
if [ ! -d "$TOMCAT_HOME/webapps" ]; then
26+
echo "[!] Tomcat not found at: $TOMCAT_HOME"
27+
echo " Set CATALINA_HOME or pass path: sudo bash install/deploy-local.sh /path/to/tomcat"
28+
exit 1
29+
fi
30+
31+
# Deploy exploded webapp
32+
echo "[*] Deploying exploded webapp..."
33+
rm -rf "$DEPLOY_DIR"
34+
mkdir -p "$DEPLOY_DIR/WEB-INF/classes" "$DEPLOY_DIR/WEB-INF/lib"
35+
cp -r "$WEBAPP_SRC/"* "$DEPLOY_DIR/"
36+
37+
# Copy MySQL connector if available
38+
if ls "$BMA_ROOT/lib/mysql-connector-j-"*.jar &>/dev/null; then
39+
cp "$BMA_ROOT/lib/mysql-connector-j-"*.jar "$DEPLOY_DIR/WEB-INF/lib/"
40+
echo "[*] MySQL connector JAR copied to WEB-INF/lib/"
41+
fi
42+
43+
# Compile servlets if javac available and sources exist
44+
SERVLET_SRC="$BMA_ROOT/servlets/servlet/src/main/java"
45+
if [ -d "$SERVLET_SRC" ] && command -v javac &>/dev/null; then
46+
echo "[*] Compiling servlet classes..."
47+
find "$SERVLET_SRC" -name "*.java" > /tmp/bma-sources.txt
48+
if [ -s /tmp/bma-sources.txt ]; then
49+
CP="$DEPLOY_DIR/WEB-INF/lib/*"
50+
# Add Jakarta Servlet API from lib if present
51+
[ -d "$BMA_ROOT/lib" ] && CP="$BMA_ROOT/lib/*:$CP"
52+
javac -d "$DEPLOY_DIR/WEB-INF/classes" -cp "$CP" @/tmp/bma-sources.txt 2>/dev/null && \
53+
echo "[*] Servlets compiled" || \
54+
echo "[!] Servlet compilation failed (JSP pages still work without servlets)"
55+
rm -f /tmp/bma-sources.txt
56+
fi
57+
fi
58+
59+
# Fix ownership
60+
chown -R tomcat:tomcat "$DEPLOY_DIR" 2>/dev/null || true
61+
62+
echo ""
63+
echo "[✓] Deployed to: $DEPLOY_DIR"
64+
echo ""
65+
echo " JSP: index.jsp, species.jsp, postal.jsp, art.jsp, science.jsp, status.jsp"
66+
echo " XHTML: index.xhtml, species.xhtml, postal.xhtml, art.xhtml, science.xhtml, status.xhtml"
67+
echo " DB: WEB-INF/db.properties"
68+
echo ""
69+
echo " URL: http://localhost:8080/$CONTEXT/"
70+
echo ""
71+
echo " If Tomcat is running, pages are available immediately."
72+
echo " Otherwise: sudo systemctl start tomcat"
73+
echo "═══════════════════════════════════════════════════════════════"

0 commit comments

Comments
 (0)