more robust concurrent builds;
authorwenzelm
Thu, 23 Jun 2011 20:30:48 +0200
changeset 43536 6eec653d5599
parent 43535 d6791dc3534d
child 43537 80803078552e
more robust concurrent builds;
lib/scripts/java_ext_dirs
--- a/lib/scripts/java_ext_dirs	Thu Jun 23 10:08:35 2011 -0700
+++ b/lib/scripts/java_ext_dirs	Thu Jun 23 20:30:48 2011 +0200
@@ -24,10 +24,14 @@
   mkdir -p "$TARGET_DIR" || fail "Bad directory: \"$TARGET_DIR\""
   pushd "$TARGET_DIR" >/dev/null
 
-  rm -rf classes && mkdir classes
-  javac -d classes -source 1.5 "$(jvmpath "$SOURCE")" || fail "Failed to compile sources"
-  jar cf "$(jvmpath "$TARGET")" -C classes . || fail "Failed to produce $TARGET"
-  rm -rf classes
+  BUILD="build$$"
+  TMP_JAR="java_ext_dirs$$.jar"
+
+  rm -rf "$BUILD" && mkdir "$BUILD"
+  javac -d "$BUILD" -source 1.5 "$(jvmpath "$SOURCE")" || fail "Failed to compile sources"
+  jar cf "$TMP_JAR" -C "$BUILD" . || fail "Failed to produce $TMP_JAR"
+  mv "$TMP_JAR" "$TARGET"
+  rm -rf "$BUILD"
 
   popd >/dev/null
 fi