src/Pure/build-jars
changeset 64370 865b39487b5d
parent 64369 6a9816764b37
child 64375 74a2af7c5145
equal deleted inserted replaced
64369:6a9816764b37 64370:865b39487b5d
   164   echo
   164   echo
   165   echo "Usage: isabelle $PRG [OPTIONS]"
   165   echo "Usage: isabelle $PRG [OPTIONS]"
   166   echo
   166   echo
   167   echo "  Options are:"
   167   echo "  Options are:"
   168   echo "    -f           fresh build"
   168   echo "    -f           fresh build"
   169   echo "    -t           test separate compilation of PIDE"
       
   170   echo
   169   echo
   171   exit 1
   170   exit 1
   172 }
   171 }
   173 
   172 
   174 function fail()
   173 function fail()
   183 ## process command line
   182 ## process command line
   184 
   183 
   185 # options
   184 # options
   186 
   185 
   187 FRESH=""
   186 FRESH=""
   188 TEST_PIDE=""
   187 
   189 
   188 while getopts "f" OPT
   190 while getopts "ft" OPT
       
   191 do
   189 do
   192   case "$OPT" in
   190   case "$OPT" in
   193     f)
   191     f)
   194       FRESH=true
   192       FRESH=true
   195       ;;
       
   196     t)
       
   197       TEST_PIDE=true
       
   198       ;;
   193       ;;
   199     \?)
   194     \?)
   200       usage
   195       usage
   201       ;;
   196       ;;
   202   esac
   197   esac
   212 
   207 
   213 ## build
   208 ## build
   214 
   209 
   215 TARGET_DIR="$ISABELLE_HOME/lib/classes"
   210 TARGET_DIR="$ISABELLE_HOME/lib/classes"
   216 TARGET="$TARGET_DIR/Pure.jar"
   211 TARGET="$TARGET_DIR/Pure.jar"
   217 
       
   218 declare -a PIDE_SOURCES=()
       
   219 declare -a PURE_SOURCES=()
       
   220 
       
   221 for DEP in "${SOURCES[@]}"
       
   222 do
       
   223   if grep "Module:.*PIDE" "$DEP" >/dev/null
       
   224   then
       
   225     PIDE_SOURCES["${#PIDE_SOURCES[@]}"]="$DEP"
       
   226   else
       
   227     PURE_SOURCES["${#PURE_SOURCES[@]}"]="$DEP"
       
   228   fi
       
   229 done
       
   230 
   212 
   231 declare -a UPDATED=()
   213 declare -a UPDATED=()
   232 
   214 
   233 if [ -n "$FRESH" ]; then
   215 if [ -n "$FRESH" ]; then
   234   OUTDATED=true
   216   OUTDATED=true
   267   (
   249   (
   268     classpath "$JAVA_HOME/lib/jfxrt.jar"
   250     classpath "$JAVA_HOME/lib/jfxrt.jar"
   269     classpath classes
   251     classpath classes
   270     export CLASSPATH="$(platform_path "$ISABELLE_CLASSPATH")"
   252     export CLASSPATH="$(platform_path "$ISABELLE_CLASSPATH")"
   271 
   253 
   272     if [ "$TEST_PIDE" = true ]; then
   254     isabelle_scala scalac $SCALAC_OPTIONS "${SOURCES[@]}" || \
   273       isabelle_scala scalac $SCALAC_OPTIONS "${PIDE_SOURCES[@]}" || \
   255       fail "Failed to compile sources"
   274         fail "Failed to compile PIDE sources"
       
   275       isabelle_scala scalac $SCALAC_OPTIONS "${PURE_SOURCES[@]}" || \
       
   276         fail "Failed to compile Pure sources"
       
   277     else
       
   278       isabelle_scala scalac $SCALAC_OPTIONS "${PIDE_SOURCES[@]}" "${PURE_SOURCES[@]}" || \
       
   279         fail "Failed to compile sources"
       
   280     fi
       
   281   ) || exit "$?"
   256   ) || exit "$?"
   282 
   257 
   283   mkdir -p "$TARGET_DIR" || fail "Failed to create directory $TARGET_DIR"
   258   mkdir -p "$TARGET_DIR" || fail "Failed to create directory $TARGET_DIR"
   284 
   259 
   285   pushd classes >/dev/null
   260   pushd classes >/dev/null