lib/Tools/build
changeset 59892 2a616319c171
parent 59891 9ce697050455
child 60106 e0d1d9203275
equal deleted inserted replaced
59891:9ce697050455 59892:2a616319c171
    38   echo "    -l           list session source files"
    38   echo "    -l           list session source files"
    39   echo "    -n           no build -- test dependencies only"
    39   echo "    -n           no build -- test dependencies only"
    40   echo "    -o OPTION    override Isabelle system OPTION (via NAME=VAL or NAME)"
    40   echo "    -o OPTION    override Isabelle system OPTION (via NAME=VAL or NAME)"
    41   echo "    -s           system build mode: produce output in ISABELLE_HOME"
    41   echo "    -s           system build mode: produce output in ISABELLE_HOME"
    42   echo "    -v           verbose"
    42   echo "    -v           verbose"
       
    43   echo "    -x SESSION   exclude SESSION and all its descendants"
    43   echo
    44   echo
    44   echo "  Build and manage Isabelle sessions, depending on implicit"
    45   echo "  Build and manage Isabelle sessions, depending on implicit"
    45   show_settings "  "
    46   show_settings "  "
    46   echo
    47   echo
    47   exit 1
    48   exit 1
    73 LIST_FILES=false
    74 LIST_FILES=false
    74 NO_BUILD=false
    75 NO_BUILD=false
    75 eval "declare -a BUILD_OPTIONS=($ISABELLE_BUILD_OPTIONS)"
    76 eval "declare -a BUILD_OPTIONS=($ISABELLE_BUILD_OPTIONS)"
    76 SYSTEM_MODE=false
    77 SYSTEM_MODE=false
    77 VERBOSE=false
    78 VERBOSE=false
       
    79 declare -a EXCLUDE_SESSIONS=()
    78 
    80 
    79 while getopts "D:Rabcd:g:j:k:lno:sv" OPT
    81 while getopts "D:Rabcd:g:j:k:lno:svx:" OPT
    80 do
    82 do
    81   case "$OPT" in
    83   case "$OPT" in
    82     D)
    84     D)
    83       SELECT_DIRS["${#SELECT_DIRS[@]}"]="$OPTARG"
    85       SELECT_DIRS["${#SELECT_DIRS[@]}"]="$OPTARG"
    84       ;;
    86       ;;
   120       SYSTEM_MODE="true"
   122       SYSTEM_MODE="true"
   121       ;;
   123       ;;
   122     v)
   124     v)
   123       VERBOSE="true"
   125       VERBOSE="true"
   124       ;;
   126       ;;
       
   127     x)
       
   128       EXCLUDE_SESSIONS["${#EXCLUDE_SESSIONS[@]}"]="$OPTARG"
       
   129       ;;
   125     \?)
   130     \?)
   126       usage
   131       usage
   127       ;;
   132       ;;
   128   esac
   133   esac
   129 done
   134 done
   149 "$ISABELLE_TOOL" java "${JAVA_ARGS[@]}" isabelle.Build \
   154 "$ISABELLE_TOOL" java "${JAVA_ARGS[@]}" isabelle.Build \
   150   "$REQUIREMENTS" "$ALL_SESSIONS" "$BUILD_HEAP" "$CLEAN_BUILD" "$MAX_JOBS" \
   155   "$REQUIREMENTS" "$ALL_SESSIONS" "$BUILD_HEAP" "$CLEAN_BUILD" "$MAX_JOBS" \
   151   "$LIST_FILES" "$NO_BUILD" "$SYSTEM_MODE" "$VERBOSE" \
   156   "$LIST_FILES" "$NO_BUILD" "$SYSTEM_MODE" "$VERBOSE" \
   152   "${INCLUDE_DIRS[@]}" $'\n' "${SELECT_DIRS[@]}" $'\n' \
   157   "${INCLUDE_DIRS[@]}" $'\n' "${SELECT_DIRS[@]}" $'\n' \
   153   "${SESSION_GROUPS[@]}" $'\n' "${CHECK_KEYWORDS[@]}" $'\n' \
   158   "${SESSION_GROUPS[@]}" $'\n' "${CHECK_KEYWORDS[@]}" $'\n' \
   154   "${BUILD_OPTIONS[@]}" $'\n' "$@"
   159   "${BUILD_OPTIONS[@]}" $'\n' "${EXCLUDE_SESSIONS[@]}" $'\n' "$@"
   155 RC="$?"
   160 RC="$?"
   156 
   161 
   157 if [ "$NO_BUILD" = false -a "$VERBOSE" = true ]; then
   162 if [ "$NO_BUILD" = false -a "$VERBOSE" = true ]; then
   158   echo -n "Finished at "; date
   163   echo -n "Finished at "; date
   159 fi
   164 fi