Add tachiyomi to run_on_app for running memory tests

Bug: 148654451
Change-Id: I58d49149a9917ca7a5c143eae059d62863795693
diff --git a/.gitignore b/.gitignore
index 2b1d423..5885615 100644
--- a/.gitignore
+++ b/.gitignore
@@ -143,6 +143,8 @@
 third_party/rhino-android-1.1.1.tar.gz
 third_party/sample_libraries
 third_party/sample_libraries.tar.gz
+third_party/tachiyomi
+third_party/tachiyomi.tar.gz
 third_party/youtube/*
 third_party/youtube-developer/20200415
 third_party/youtube-developer/20200415.tar.gz
diff --git a/build.gradle b/build.gradle
index 1d83c12..12d14c9 100644
--- a/build.gradle
+++ b/build.gradle
@@ -333,7 +333,8 @@
                 "proguard/proguard5.2.1",
                 "proguard/proguard6.0.1",
                 "r8",
-                "r8mappings"
+                "r8mappings",
+                "tachiyomi"
         ],
         // All dex-vms have a fixed OS of Linux, as they are only supported on Linux, and will be run in a Docker
         // container on other platforms where supported.
diff --git a/third_party/tachiyomi.tar.gz.sha1 b/third_party/tachiyomi.tar.gz.sha1
new file mode 100644
index 0000000..cf45571
--- /dev/null
+++ b/third_party/tachiyomi.tar.gz.sha1
@@ -0,0 +1 @@
+8ef393ca5ac25fb182071a274bf8f266753824b8
\ No newline at end of file
diff --git a/tools/run_on_app.py b/tools/run_on_app.py
index 1687797..ad9f63f 100755
--- a/tools/run_on_app.py
+++ b/tools/run_on_app.py
@@ -22,9 +22,11 @@
 import chrome_data
 import r8_data
 import iosched_data
+import tachiyomi_data
 
 TYPES = ['dex', 'deploy', 'proguarded']
-APPS = ['gmscore', 'nest', 'youtube', 'gmail', 'chrome', 'r8', 'iosched']
+APPS = [
+  'gmscore', 'nest', 'youtube', 'gmail', 'chrome', 'r8', 'iosched', 'tachiyomi']
 COMPILERS = ['d8', 'r8']
 COMPILER_BUILDS = ['full', 'lib']
 
@@ -207,6 +209,7 @@
       'gmail': gmail_data,
       'r8': r8_data,
       'iosched': iosched_data,
+      'tachiyomi': tachiyomi_data
   }
   # Check to ensure that we add all variants here.
   assert len(APPS) == len(data_providers)
@@ -388,6 +391,9 @@
   elif options.app == 'iosched':
     version = options.version or '2019'
     data = iosched_data
+  elif options.app == 'tachiyomi':
+    version = options.version or 'b15d2fe16864645055af6a745a62cc5566629798'
+    data = tachiyomi_data
   else:
     raise Exception("You need to specify '--app={}'".format('|'.join(APPS)))
   return version, data
@@ -480,7 +486,8 @@
                              or options.app == 'chrome'
                              or options.app == 'nest'
                              or options.app == 'r8'
-                             or options.app == 'iosched'):
+                             or options.app == 'iosched'
+                             or options.app == 'tachiyomi'):
     inputs = values['inputs']
 
   args.extend(['--output', outdir])
diff --git a/tools/tachiyomi_data.py b/tools/tachiyomi_data.py
new file mode 100644
index 0000000..5518cea
--- /dev/null
+++ b/tools/tachiyomi_data.py
@@ -0,0 +1,18 @@
+# Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file
+# for details. All rights reserved. Use of this source code is governed by a
+# BSD-style license that can be found in the LICENSE file.
+
+import os
+import utils
+
+BASE = os.path.join(utils.THIRD_PARTY, 'tachiyomi')
+
+VERSIONS = {
+  'b15d2fe16864645055af6a745a62cc5566629798': {
+    'deploy' : {
+        'inputs': [os.path.join(BASE, 'program.jar')],
+        'pgconf': [os.path.join(BASE, 'proguard.config')],
+        'libraries': [os.path.join(BASE, 'library.jar')],
+    },
+  },
+}