Infrastructure for test based benchmarks.

Bug: 210397080
Change-Id: I6938fc23a7578f100de0003656df3104646e66d9
diff --git a/tools/golem_build.py b/tools/golem_build.py
index 24a1906..c691293 100755
--- a/tools/golem_build.py
+++ b/tools/golem_build.py
@@ -5,15 +5,33 @@
 
 # Utility script to make it easier to update what golem builds.
 
-import gradle
 import sys
 
+import gradle
+import retrace_benchmark
+import run_benchmark
+import run_on_app_dump
+
 GRADLE_ARGS = ['--no-daemon', '-Pno_internal']
-BUILD_TARGETS = ['R8', 'D8', 'R8Lib', 'buildExampleJars',
-                 'downloadAndroidCts', 'downloadDx']
+
+LEGACY_BUILD_TARGETS = [
+  'R8',
+  'D8',
+  'buildExampleJars',
+  'downloadAndroidCts',
+  'downloadDx']
+
+def lower(items):
+  return [ item.lower() for item in items ]
 
 def Main():
-  gradle.RunGradle(GRADLE_ARGS + BUILD_TARGETS)
+  targets = set()
+  targets.update(lower(LEGACY_BUILD_TARGETS))
+  targets.update(lower(retrace_benchmark.GOLEM_BUILD_TARGETS))
+  targets.update(lower(run_benchmark.GOLEM_BUILD_TARGETS))
+  targets.update(lower(run_on_app_dump.GOLEM_BUILD_TARGETS))
+  cmd = GRADLE_ARGS + [target for target in targets]
+  gradle.RunGradle(cmd)
 
 if __name__ == '__main__':
   sys.exit(Main())