ART: Remove jack from tools

Test: art/tools/buildbot.sh --host -j32
Test: manual
Change-Id: I54d37cca8be92ac007f5f83bf47e339fde5b2abc
diff --git a/test/913-heaps/check b/test/913-heaps/check
index c3b47f5..f7f8dab 100644
--- a/test/913-heaps/check
+++ b/test/913-heaps/check
@@ -14,7 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Jack/D8 has a different set of bytecode offsets/method IDs in the expected.txt
+# D8 has a different set of bytecode offsets/method IDs in the expected.txt
 if [[ "$USE_D8" == true ]]; then
   patch -p0 expected.txt < expected_d8.diff
 fi
diff --git a/tools/build/var_list b/tools/build/var_list
index adcb066..bb005cf 100644
--- a/tools/build/var_list
+++ b/tools/build/var_list
@@ -33,5 +33,4 @@
 HOST_PREFER_32_BIT
 HOST_OUT_EXECUTABLES
 ANDROID_JAVA_TOOLCHAIN
-ANDROID_COMPILE_WITH_JACK
 
diff --git a/tools/buildbot-build.sh b/tools/buildbot-build.sh
index 10eb936..8305051 100755
--- a/tools/buildbot-build.sh
+++ b/tools/buildbot-build.sh
@@ -32,8 +32,6 @@
   out_dir=${OUT_DIR}
 fi
 
-using_jack=$(get_build_var ANDROID_COMPILE_WITH_JACK)
-
 java_libraries_dir=${out_dir}/target/common/obj/JAVA_LIBRARIES
 common_targets="vogar core-tests apache-harmony-jdwp-tests-hostdex jsr166-tests mockito-target"
 mode="target"
@@ -62,10 +60,6 @@
   fi
 done
 
-if [[ $using_jack == "true" ]]; then
-  common_targets="$common_targets ${out_dir}/host/linux-x86/bin/jack"
-fi
-
 # Allow to build successfully in master-art.
 extra_args=SOONG_ALLOW_MISSING_DEPENDENCIES=true
 
diff --git a/tools/common/common.py b/tools/common/common.py
index 735bbaa..b728e8d 100755
--- a/tools/common/common.py
+++ b/tools/common/common.py
@@ -116,14 +116,6 @@
   return top
 
 
-def GetJackClassPath():
-  """Returns Jack's classpath."""
-  top = GetEnvVariableOrError('ANDROID_BUILD_TOP')
-  libdir = top + '/out/host/common/obj/JAVA_LIBRARIES'
-  return libdir + '/core-libart-hostdex_intermediates/classes.jack:' \
-       + libdir + '/core-oj-hostdex_intermediates/classes.jack'
-
-
 def _DexArchCachePaths(android_data_path):
   """Returns paths to architecture specific caches.
 
diff --git a/tools/golem/build-target.sh b/tools/golem/build-target.sh
index 4ca2722..921a8cbe 100755
--- a/tools/golem/build-target.sh
+++ b/tools/golem/build-target.sh
@@ -267,8 +267,6 @@
   execute 'source' build/envsetup.sh
   # Build generic targets (as opposed to something specific like aosp_angler-eng).
   execute lunch "$lunch_target"
-  setenv JACK_SERVER false
-  setenv_escape JACK_REPOSITORY "$PWD/prebuilts/sdk/tools/jacks" '$PWD/prebuilts/sdk/tools/jacks'
   # Golem uses master-art repository which is missing a lot of other libraries.
   setenv SOONG_ALLOW_MISSING_DEPENDENCIES true
   # Golem may be missing tools such as javac from its path.
diff --git a/tools/jfuzz/README.md b/tools/jfuzz/README.md
index eb0e71f..f32cf56 100644
--- a/tools/jfuzz/README.md
+++ b/tools/jfuzz/README.md
@@ -37,8 +37,10 @@
 a fixed testing class named Test. So a typical test run looks as follows.
 
     jfuzz > Test.java
-    jack -cp ${JACK_CLASSPATH} --output-dex . Test.java
-    art -classpath classes.dex Test
+    mkdir classes
+    javac -d classes Test.java
+    dx --dex --output=classes.dex classes
+    art -cp classes.dex Test
 
 How to start JFuzz testing
 ==========================
@@ -67,7 +69,7 @@
     --report_script   : path to script called for each divergence
     --jfuzz_arg       : argument for jfuzz
     --true_divergence : don't bisect timeout divergences
-    --dexer=DEXER     : use either dx, d8, or jack to obtain dex files
+    --dexer=DEXER     : use either dx or d8 to obtain dex files
     --debug_info      : include debugging info
 
 How to start JFuzz nightly testing
@@ -97,7 +99,7 @@
     --num_tests   : number of tests to run (10000 by default)
     --num_inputs  : number of JFuzz programs to generate
     --device      : target device serial number (passed to adb -s)
-    --dexer=DEXER : use either dx, d8, or jack to obtain dex files
+    --dexer=DEXER : use either dx or d8 to obtain dex files
     --debug_info  : include debugging info
 
 Background
diff --git a/tools/jfuzz/run_dex_fuzz_test.py b/tools/jfuzz/run_dex_fuzz_test.py
index 47fe072..64bf234 100755
--- a/tools/jfuzz/run_dex_fuzz_test.py
+++ b/tools/jfuzz/run_dex_fuzz_test.py
@@ -28,7 +28,6 @@
 
 from common.common import FatalError
 from common.common import GetEnvVariableOrError
-from common.common import GetJackClassPath
 from common.common import RetCode
 from common.common import RunCommand
 
@@ -106,7 +105,7 @@
     self.RunDexFuzz()
 
   def CompileOnHost(self):
-    """Compiles Test.java into classes.dex using either javac/dx,d8 or jack.
+    """Compiles Test.java into classes.dex using either javac/dx or d8.
 
     Raises:
       FatalError: error when compilation fails
@@ -128,15 +127,6 @@
         os.unlink(cfile)
       os.unlink('jerr.txt')
       os.unlink('dxerr.txt')
-
-    elif self._dexer == 'jack':
-      jack_args = ['-cp', GetJackClassPath(), '--output-dex', '.', 'Test.java']
-      if RunCommand(['jack'] + jack_args, out=None, err='jackerr.txt',
-                    timeout=30) != RetCode.SUCCESS:
-        print('Unexpected error while running Jack')
-        raise FatalError('Unexpected error while running Jack')
-      # Cleanup on success (nothing to see).
-      os.unlink('jackerr.txt')
     else:
       raise FatalError('Unknown dexer: ' + self._dexer)
 
@@ -188,7 +178,7 @@
                       help='number of JFuzz program to generate (default: 10)')
   parser.add_argument('--device', help='target device serial number')
   parser.add_argument('--dexer', default='dx', type=str,
-                      help='defines dexer as dx, d8, or jack (default: dx)')
+                      help='defines dexer as dx or d8 (default: dx)')
   parser.add_argument('--debug_info', default=False, action='store_true',
                       help='include debugging info')
   args = parser.parse_args()
diff --git a/tools/jfuzz/run_jfuzz_test.py b/tools/jfuzz/run_jfuzz_test.py
index 3ff9f45..f8bfd8d 100755
--- a/tools/jfuzz/run_jfuzz_test.py
+++ b/tools/jfuzz/run_jfuzz_test.py
@@ -33,7 +33,6 @@
 from common.common import RetCode
 from common.common import CommandListToCommandString
 from common.common import FatalError
-from common.common import GetJackClassPath
 from common.common import GetEnvVariableOrError
 from common.common import RunCommand
 from common.common import RunCommandForOutput
@@ -127,8 +126,6 @@
     """
     self._dexer = dexer
     self._debug_info = debug_info
-    self._jack_args = ['-cp', GetJackClassPath(), '--output-dex', '.',
-                       'Test.java']
 
   def CompileOnHost(self):
     if self._dexer == 'dx' or self._dexer == 'd8':
@@ -140,9 +137,6 @@
                           out=None, err='dxerr.txt', timeout=30)
       else:
         retc = RetCode.NOTCOMPILED
-    elif self._dexer == 'jack':
-      retc = RunCommand(['jack'] + self._jack_args,
-                        out=None, err='jackerr.txt', timeout=30)
     else:
       raise FatalError('Unknown dexer: ' + self._dexer)
     return retc
@@ -632,7 +626,7 @@
   parser.add_argument('--true_divergence', default=False, action='store_true',
                       help='do not bisect timeout divergences')
   parser.add_argument('--dexer', default='dx', type=str,
-                      help='defines dexer as dx, d8, or jack (default: dx)')
+                      help='defines dexer as dx or d8 (default: dx)')
   parser.add_argument('--debug_info', default=False, action='store_true',
                       help='include debugging info')
   args = parser.parse_args()