Leonel FOFOU
2026-07-28 32450e295200b2bc7896518ff74161ff26772e2d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/usr/bin/env bash
# Build de mgt-manuel-module (mgt-manuel-core -> mgt-manuel-studio).
#
# Usage :
#   ./build.sh                # build incremental (compile + install)
#   ./build.sh clean          # mvn clean install (full rebuild)
#   ./build.sh --online       # autorise le telechargement des dependances
#
# Pre-requis :
#   - SDKMAN installe avec JDK 17 (ex. 17.0.10-tem)
#   - mode offline par defaut (-o) : tout doit etre deja dans ~/.m2
 
set -euo pipefail
 
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
 
# --- JDK 17 via SDKMAN -------------------------------------------------------
if [ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]; then
  set +u
  # shellcheck disable=SC1091
  source "$HOME/.sdkman/bin/sdkman-init.sh"
  if command -v sdk >/dev/null 2>&1; then
    sdk use java 17.0.10-tem >/dev/null || true
  fi
  set -u
fi
 
JAVA_VER="$(java -version 2>&1 | head -1 || echo "java introuvable")"
echo "[build] JDK : $JAVA_VER"
 
# --- Parametrage -------------------------------------------------------------
GOAL="install"
CLEAN=""
MVN_FLAGS=("-o")
 
for arg in "$@"; do
  case "$arg" in
    clean)    CLEAN="clean" ;;
    install)  GOAL="install" ;;
    --online)
      tmp=(); for f in "${MVN_FLAGS[@]}"; do [ "$f" = "-o" ] || tmp+=("$f"); done
      MVN_FLAGS=("${tmp[@]:-}")
      ;;
    -h|--help)
      sed -n '2,11p' "$0"
      exit 0
      ;;
    *)
      echo "[build] argument inconnu : $arg" >&2
      exit 2
      ;;
  esac
done
 
echo "[build] goal  : $CLEAN $GOAL"
echo "[build] flags : ${MVN_FLAGS[*]:-aucun}"
 
mvn ${MVN_FLAGS[@]+"${MVN_FLAGS[@]}"} $CLEAN "$GOAL"
 
echo
echo "[build] OK - mgt-manuel-core et mgt-manuel-studio sont construits."