Import Jack server 1.3-a6

Script version: 213200 0d2d05990ed99c8ceb0196ad918b01ba6bcfda24

Bug: 25382302
Change-Id: I4f92618dbf8625e85a0372af6d6b8cf93df521d1
diff --git a/tools/jack b/tools/jack
index 57cf0a5..5e6e8a8 100755
--- a/tools/jack
+++ b/tools/jack
@@ -14,7 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-# Version: 1.3-a5
+# Version: 1.3-a6
 #
 set -o nounset
 umask 077
@@ -55,6 +55,35 @@
   source "$CLIENT_SETTING"
 fi
 
+
+abort () { exit 255; }
+
+JACK_SERVER=${JACK_SERVER:=true}
+JACK_MAIN_COMMAND=${JACK_MAIN_COMMAND:="java -Djava.io.tmpdir=$TMPDIR -Dfile.encoding=UTF-8 -XX:+TieredCompilation"}
+JACK_REPOSITORY=${JACK_REPOSITORY:=}
+
+
+#
+# If not in server mode, exec jack
+#
+if [ "$JACK_SERVER" != "true" ]; then
+  if [ -z "$JACK_REPOSITORY" ]; then
+    echo "Running Jack without Jack server requires definition of JACK_REPOSITORY" >&2
+    abort
+  fi
+  JACK_JAR=$JACK_REPOSITORY/jack-$JACK_VERSION.jar
+  if [ ! -r "$JACK_JAR" ]; then
+    echo "Jack jar \"$JACK_JAR\" is not readable" >&2
+    abort
+  fi
+
+
+  exec $JACK_MAIN_COMMAND -jar $JACK_JAR "$@"
+  echo "Cannot succeed to launch Jack without Jack server" >&2
+  abort
+fi
+
+
 #
 # Prepare compilation
 #
@@ -69,8 +98,6 @@
 set -o errexit
 mkdir "$JACK_DIR"
 
-abort () { exit 255; }
-
 #
 # Launch the compilation
 #