Admin/lib/Tools/build_setup
changeset 74039 8c213672f6f3
parent 74031 09821ca262d3
child 75308 6ed34e2e04dd
equal deleted inserted replaced
74038:b4f57bfe82e7 74039:8c213672f6f3
     1 #!/usr/bin/env bash
     1 #!/usr/bin/env bash
     2 #
     2 #
     3 # Author: Makarius
     3 # Author: Makarius
     4 #
     4 #
     5 # DESCRIPTION: build component for Isabelle/Java setup tool
     5 # DESCRIPTION: build component for Isabelle/Java setup tool
     6 
       
     7 ## sources
       
     8 
       
     9 declare -a SOURCES=(
       
    10   "Build.java"
       
    11   "Environment.java"
       
    12   "Exn.java"
       
    13   "Library.java"
       
    14   "Setup.java"
       
    15 )
       
    16 
       
    17 
     6 
    18 ## usage
     7 ## usage
    19 
     8 
    20 PRG=$(basename "$0")
     9 PRG=$(basename "$0")
    21 
    10 
    56 
    45 
    57 ISABELLE_SETUP_JAR="\$COMPONENT/lib/isabelle_setup.jar"
    46 ISABELLE_SETUP_JAR="\$COMPONENT/lib/isabelle_setup.jar"
    58 classpath "\$ISABELLE_SETUP_JAR"
    47 classpath "\$ISABELLE_SETUP_JAR"
    59 EOF
    48 EOF
    60 
    49 
    61 BUILD_PROPS="$COMPONENT_DIR/etc/build.props"
       
    62 echo >> "$BUILD_PROPS" "no_module = lib/isabelle_setup.jar"
       
    63 
       
    64 
    50 
    65 # build jar
    51 # build jar
    66 
    52 
    67 SOURCE_DIR="$COMPONENT_DIR/src"
       
    68 TARGET_DIR="$COMPONENT_DIR/lib"
    53 TARGET_DIR="$COMPONENT_DIR/lib"
    69 mkdir -p "$SOURCE_DIR" "$TARGET_DIR/isabelle/setup"
    54 mkdir -p "$TARGET_DIR/isabelle/setup"
    70 
    55 
    71 declare -a ARGS=("-Xlint:unchecked")
    56 declare -a ARGS=("-Xlint:unchecked")
    72 echo -n >> "$BUILD_PROPS" "sources ="
       
    73 
    57 
    74 for SRC in "${SOURCES[@]}"
    58 SOURCES="$(perl -e 'while (<>) { if (m/(\S+\.java)/)  { print "$1 "; } }' "$ISABELLE_HOME/src/Tools/Setup/etc/build.props")"
       
    59 for SRC in $SOURCES
    75 do
    60 do
    76   ARGS["${#ARGS[@]}"]="$(platform_path "$ISABELLE_HOME/src/Tools/Setup/src/$SRC")"
    61   ARGS["${#ARGS[@]}"]="$(platform_path "$ISABELLE_HOME/src/Tools/Setup/$SRC")"
    77   cp "$ISABELLE_HOME/src/Tools/Setup/src/$SRC" "$SOURCE_DIR"
       
    78   echo >> "$BUILD_PROPS" " \\"
       
    79   echo -n >> "$BUILD_PROPS" "  src/$SRC"
       
    80 done
    62 done
    81 
       
    82 echo >> "$BUILD_PROPS"
       
    83 
    63 
    84 isabelle_jdk javac $ISABELLE_JAVAC_OPTIONS -d "$TARGET_DIR" \
    64 isabelle_jdk javac $ISABELLE_JAVAC_OPTIONS -d "$TARGET_DIR" \
    85   -classpath "$(platform_path "$ISABELLE_CLASSPATH")" "${ARGS[@]}" || \
    65   -classpath "$(platform_path "$ISABELLE_CLASSPATH")" "${ARGS[@]}" || \
    86   fail "Failed to compile sources"
    66   fail "Failed to compile sources"
    87 
    67