Skip to content

Commit e20b7c4

Browse files
committed
Science Commit 5.
1 parent 2d4fa85 commit e20b7c4

7 files changed

Lines changed: 155 additions & 19 deletions

File tree

modules/black/presidential/Brarner.M.Alete/install/deploy-local.sh

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,21 @@ if [ ! -d "$TOMCAT_HOME/webapps" ]; then
3838
exit 1
3939
fi
4040

41-
# Deploy exploded webapp
41+
# Deploy exploded webapp (rsync for speed — only copies changed files)
4242
echo "[*] Deploying exploded webapp..."
43-
rm -rf "$DEPLOY_DIR"
4443
mkdir -p "$DEPLOY_DIR/WEB-INF/classes" "$DEPLOY_DIR/WEB-INF/lib"
45-
cp -r "$WEBAPP_SRC/"* "$DEPLOY_DIR/"
44+
TOTAL_FILES=$(find "$WEBAPP_SRC" -type f 2>/dev/null | wc -l)
45+
echo " Source: $TOTAL_FILES files ($(du -sh "$WEBAPP_SRC" | cut -f1))"
46+
if command -v rsync &>/dev/null; then
47+
rsync -a --delete --info=progress2 --exclude='db.properties' "$WEBAPP_SRC/" "$DEPLOY_DIR/"
48+
echo " [✓] rsync complete"
49+
else
50+
rm -rf "$DEPLOY_DIR"
51+
mkdir -p "$DEPLOY_DIR/WEB-INF/classes" "$DEPLOY_DIR/WEB-INF/lib"
52+
echo -n " Copying... "
53+
cp -r "$WEBAPP_SRC/"* "$DEPLOY_DIR/"
54+
echo ""
55+
fi
4656

4757
# Copy JARs from jars/ directory (preferred) or lib/
4858
if ls "$BMA_ROOT/jars/"*.jar &>/dev/null; then
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
31095
1+
31695

scripts/bash/bitcoin/install-crypto-binaries.sh

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,10 @@ install_bitcoin() {
3939
echo "-- : [crypto] Installing Bitcoin Core v${VER} to ${DIR}"
4040

4141
cd /tmp
42-
curl -sfLO "$URL" || { echo "SKIP v${VER} (download failed)"; return; }
43-
curl -sfLO "$CHECKSUM_URL" || true
42+
echo -n " Downloading ${TARBALL}... "
43+
curl -# -fL "$URL" -o "$TARBALL" 2>&1 || { echo "SKIP v${VER} (download failed)"; return; }
44+
echo "$(du -h "$TARBALL" | cut -f1)"
45+
curl -sfL "$CHECKSUM_URL" -o SHA256SUMS 2>/dev/null || true
4446

4547
# Verify if checksum available
4648
if [ -f SHA256SUMS ]; then
@@ -66,8 +68,12 @@ install_dash() {
6668
echo "-- : [crypto] Installing Dash Core v${DASH_VERSION}"
6769

6870
cd /tmp
69-
curl -sfLO "$DASH_URL" || { echo "FAIL: Dash download"; return; }
71+
echo -n " Downloading Dash Core v${DASH_VERSION}... "
72+
curl -# -fL "$DASH_URL" -o "dashcore-${DASH_VERSION}-x86_64-linux-gnu.tar.gz" 2>&1 || { echo "FAIL: Dash download"; return; }
73+
echo "$(du -h "dashcore-${DASH_VERSION}-x86_64-linux-gnu.tar.gz" | cut -f1)"
74+
echo -n " Extracting... "
7075
tar -xzf "dashcore-${DASH_VERSION}-x86_64-linux-gnu.tar.gz"
76+
echo ""
7177
cp dashcore-${DASH_VERSION}/bin/dashd "$DIR/"
7278
cp dashcore-${DASH_VERSION}/bin/dash-cli "$DIR/"
7379
chmod +x "$DIR/dashd" "$DIR/dash-cli"
@@ -83,8 +89,12 @@ install_litecoin() {
8389
echo "-- : [crypto] Installing Litecoin Core v${LITECOIN_VERSION}"
8490

8591
cd /tmp
86-
curl -sfLO "$LITECOIN_URL" || { echo "FAIL: Litecoin download"; return; }
92+
echo -n " Downloading Litecoin Core v${LITECOIN_VERSION}... "
93+
curl -# -fL "$LITECOIN_URL" -o "litecoin-${LITECOIN_VERSION}-x86_64-linux-gnu.tar.gz" 2>&1 || { echo "FAIL: Litecoin download"; return; }
94+
echo "$(du -h "litecoin-${LITECOIN_VERSION}-x86_64-linux-gnu.tar.gz" | cut -f1)"
95+
echo -n " Extracting... "
8796
tar -xzf "litecoin-${LITECOIN_VERSION}-x86_64-linux-gnu.tar.gz"
97+
echo ""
8898
cp litecoin-${LITECOIN_VERSION}/bin/litecoind "$DIR/"
8999
cp litecoin-${LITECOIN_VERSION}/bin/litecoin-cli "$DIR/"
90100
chmod +x "$DIR/litecoind" "$DIR/litecoin-cli"
@@ -100,8 +110,12 @@ install_starcoin() {
100110
echo "-- : [crypto] Installing Starcoin v${STARCOIN_VERSION}"
101111

102112
cd /tmp
103-
curl -sfLO "$STARCOIN_URL" || { echo "FAIL: Starcoin download"; return; }
113+
echo -n " Downloading Starcoin v${STARCOIN_VERSION}... "
114+
curl -# -fL "$STARCOIN_URL" -o "starcoin-ubuntu-v${STARCOIN_VERSION}.zip" 2>&1 || { echo "FAIL: Starcoin download"; return; }
115+
echo "$(du -h "starcoin-ubuntu-v${STARCOIN_VERSION}.zip" | cut -f1)"
116+
echo -n " Extracting... "
104117
unzip -qo "starcoin-ubuntu-v${STARCOIN_VERSION}.zip" -d starcoin-extract || true
118+
echo ""
105119
cp starcoin-extract/starcoin "$DIR/" 2>/dev/null || cp starcoin-extract/*/starcoin "$DIR/" 2>/dev/null || true
106120
chmod +x "$DIR/starcoin" 2>/dev/null
107121
sudo ln -sf "$DIR/starcoin" /usr/local/bin/starcoin 2>/dev/null

scripts/bash/strernary/download-djl.sh

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,21 +32,35 @@ JARS=(
3232
)
3333

3434
echo "[Strernary] Downloading DJL ${DJL_VERSION} jars to ${TARGET_DIR}..."
35+
echo " Total: ${#JARS[@]} jars"
36+
echo ""
37+
38+
DOWNLOADED=0
39+
SKIPPED=0
40+
FAILED=0
3541

3642
for JAR_PATH in "${JARS[@]}"; do
3743
FILENAME=$(basename "$JAR_PATH")
44+
CURRENT=$(( DOWNLOADED + SKIPPED + FAILED + 1 ))
3845
if [ -f "${TARGET_DIR}/${FILENAME}" ]; then
39-
echo " [SKIP] ${FILENAME} already exists."
46+
printf " [%2d/%d] [SKIP] %s (exists)\n" "$CURRENT" "${#JARS[@]}" "$FILENAME"
47+
SKIPPED=$((SKIPPED + 1))
4048
else
41-
echo " [GET] ${FILENAME}..."
42-
wget -q -O "${TARGET_DIR}/${FILENAME}" "${MAVEN_BASE}/${JAR_PATH}" || {
43-
echo " [WARN] Failed to download ${FILENAME}. Continuing..."
49+
printf " [%2d/%d] [GET] %s... " "$CURRENT" "${#JARS[@]}" "$FILENAME"
50+
if curl -# -fL "${MAVEN_BASE}/${JAR_PATH}" -o "${TARGET_DIR}/${FILENAME}" 2>&1; then
51+
SIZE=$(du -h "${TARGET_DIR}/${FILENAME}" 2>/dev/null | cut -f1)
52+
echo "✓ ($SIZE)"
53+
DOWNLOADED=$((DOWNLOADED + 1))
54+
else
55+
echo ""
4456
rm -f "${TARGET_DIR}/${FILENAME}"
45-
}
57+
FAILED=$((FAILED + 1))
58+
fi
4659
fi
4760
done
4861

49-
echo "[Strernary] DJL download complete."
62+
echo ""
63+
echo "[Strernary] DJL download complete: $DOWNLOADED new, $SKIPPED cached, $FAILED failed"
5064
echo "[Strernary] Native PyTorch libs will auto-download on first inference run."
5165

5266
# Add all jars to CLASSPATH environment variable

scripts/deploy-functions.sh

Lines changed: 97 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,102 @@
1010
# nwe_compile_servlets — Compile servlet Java classes against Tomcat API
1111
# nwe_validate_webapp — Check web.xml, JSP files, and lib presence
1212
# nwe_deploy_module — All-in-one: validate → deploy → JDBC → compile → validate
13+
# nwe_progress — Display a progress bar for long operations
14+
15+
# ═══════════════════════════════════════════════════════════════════════════════
16+
# nwe_progress — Display a progress bar during a copy/rsync operation
17+
# Args: $1 = source dir, $2 = dest dir, $3 = operation label
18+
# Uses rsync with --progress if available, else cp with file counting
19+
# ═══════════════════════════════════════════════════════════════════════════════
20+
nwe_progress_copy() {
21+
local SRC="$1" DEST="$2" LABEL="${3:-Copying}"
22+
23+
# Count total files for progress
24+
local TOTAL_FILES
25+
TOTAL_FILES=$(find "$SRC" -type f 2>/dev/null | wc -l)
26+
27+
if [ "$TOTAL_FILES" -eq 0 ]; then
28+
echo " [$LABEL] (empty source)"
29+
return 0
30+
fi
31+
32+
if command -v rsync &>/dev/null; then
33+
# rsync with progress indicator
34+
echo -n " [$LABEL] $TOTAL_FILES files... "
35+
rsync -a --delete --exclude='db.properties' "$SRC/" "$DEST/" 2>/dev/null
36+
echo ""
37+
else
38+
# cp with a simple progress counter
39+
rm -rf "$DEST"
40+
mkdir -p "$DEST"
41+
42+
local COUNT=0
43+
local LAST_PCT=-1
44+
45+
# Use cp -r but show progress by counting copied files
46+
cp -r "$SRC/"* "$DEST/" &
47+
local CP_PID=$!
48+
49+
# Show a spinner while cp runs
50+
local SPINNER=('' '' '' '' '' '' '' '' '' '')
51+
local SPIN_IDX=0
52+
echo -n " [$LABEL] $TOTAL_FILES files "
53+
while kill -0 "$CP_PID" 2>/dev/null; do
54+
echo -ne "\r [$LABEL] $TOTAL_FILES files ${SPINNER[$SPIN_IDX]} "
55+
SPIN_IDX=$(( (SPIN_IDX + 1) % ${#SPINNER[@]} ))
56+
sleep 0.2
57+
done
58+
wait "$CP_PID"
59+
echo -e "\r [$LABEL] $TOTAL_FILES files ✓ "
60+
fi
61+
return 0
62+
}
63+
64+
# ═══════════════════════════════════════════════════════════════════════════════
65+
# nwe_progress_bar — Print a progress bar inline
66+
# Args: $1 = current, $2 = total, $3 = label (optional)
67+
# ═══════════════════════════════════════════════════════════════════════════════
68+
nwe_progress_bar() {
69+
local CURRENT="$1" TOTAL="$2" LABEL="${3:-Progress}"
70+
local WIDTH=30
71+
local PCT=$((CURRENT * 100 / TOTAL))
72+
local FILLED=$((CURRENT * WIDTH / TOTAL))
73+
local EMPTY=$((WIDTH - FILLED))
74+
printf "\r [%s] [%s%s] %3d%% (%d/%d)" "$LABEL" \
75+
"$(printf '█%.0s' $(seq 1 $FILLED 2>/dev/null) 2>/dev/null)" \
76+
"$(printf '░%.0s' $(seq 1 $EMPTY 2>/dev/null) 2>/dev/null)" \
77+
"$PCT" "$CURRENT" "$TOTAL"
78+
}
79+
80+
# ═══════════════════════════════════════════════════════════════════════════════
81+
# nwe_download_with_progress — Download a file with a progress bar
82+
# Args: $1 = URL, $2 = output file, $3 = label (optional)
83+
# ═══════════════════════════════════════════════════════════════════════════════
84+
nwe_download_with_progress() {
85+
local URL="$1" OUTPUT="$2" LABEL="${3:-Downloading}"
86+
87+
echo -n " [$LABEL] $(basename "$OUTPUT")... "
88+
89+
if command -v curl &>/dev/null; then
90+
curl -# -fL "$URL" -o "$OUTPUT" 2>&1 | tr '\r' '\n' | tail -1
91+
if [ ${PIPESTATUS[0]} -eq 0 ]; then
92+
local SIZE
93+
SIZE=$(du -h "$OUTPUT" 2>/dev/null | cut -f1)
94+
echo "✓ ($SIZE)"
95+
return 0
96+
else
97+
echo "✗ (download failed)"
98+
return 1
99+
fi
100+
elif command -v wget &>/dev/null; then
101+
wget --progress=bar:force "$URL" -O "$OUTPUT" 2>&1 | tail -1
102+
[ -f "$OUTPUT" ] && echo "" || echo ""
103+
return ${PIPESTATUS[0]}
104+
else
105+
echo "✗ (no curl or wget)"
106+
return 1
107+
fi
108+
}
13109

14110
# ═══════════════════════════════════════════════════════════════════════════════
15111
# nwe_validate_tomcat — Check Tomcat installation
@@ -44,9 +140,8 @@ nwe_deploy_webapp() {
44140
echo "[!] Webapp source not found: $SRC"
45141
return 1
46142
fi
47-
rm -rf "$DEST"
48143
mkdir -p "$DEST/WEB-INF/lib" "$DEST/WEB-INF/classes"
49-
cp -r "$SRC/"* "$DEST/"
144+
nwe_progress_copy "$SRC" "$DEST" "Deploy"
50145
echo "[✓] Webapp deployed to $DEST"
51146
return 0
52147
}

scripts/web/deploy-all.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,11 @@ echo ""
3333
ENABLED=$(grep -B5 '<install>true</install>' "$CONFIG" | grep -oP '(?<=<deploy-script>)[^<]+')
3434

3535
PASS=0; FAIL=0
36+
TOTAL_MODULES=$(echo "$ENABLED" | wc -w)
37+
CURRENT_MODULE=0
3638

3739
for SCRIPT in $ENABLED; do
40+
CURRENT_MODULE=$((CURRENT_MODULE + 1))
3841
FULL_PATH="$PROJECT_ROOT/$SCRIPT"
3942

4043
# Run setup-db if it exists alongside deploy script
@@ -45,7 +48,7 @@ for SCRIPT in $ENABLED; do
4548

4649
if [ -f "$FULL_PATH" ]; then
4750
echo ""
48-
echo "[*] Deploying: $SCRIPT"
51+
echo "[*] [$CURRENT_MODULE/$TOTAL_MODULES] Deploying: $SCRIPT"
4952
DEPLOY_OUT=$(timeout 60 bash "$FULL_PATH" 2>&1)
5053
EXIT_CODE=$?
5154
echo "$DEPLOY_OUT" | tail -3

scripts/web/post-clone.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ echo "[OK] MySQL password configured for user=${NWE_DB_USER:-root}"
8080
TOMCAT_HOME="/home/mearvk/tomcat"
8181
if [ ! -f "$TOMCAT_HOME/bin/catalina.sh" ]; then
8282
echo "[*] Installing Tomcat 11..."
83-
cd /tmp && curl -sfLO "https://archive.apache.org/dist/tomcat/tomcat-11/v11.0.2/bin/apache-tomcat-11.0.2.tar.gz"
83+
cd /tmp && curl -# -fL "https://archive.apache.org/dist/tomcat/tomcat-11/v11.0.2/bin/apache-tomcat-11.0.2.tar.gz" -o apache-tomcat-11.0.2.tar.gz
8484

8585
# SECURITY: Verify download integrity before extracting.
8686
# Tomcat archives have been targeted by supply-chain attacks in the past.

0 commit comments

Comments
 (0)