Revert^2 "ART: Add list and tree modes to apex checker"

This reverts commit 482ee5384f163bd02090ddcf6b274ac377fe1beb.

Reason for revert: No longer a build component

Change-Id: I960704268e1ded1bcb1ee4b1429bb2badab1af48
Test: manual
diff --git a/build/apex/art_apex_test.py b/build/apex/art_apex_test.py
index 5ac2f72..6ea1fcc 100755
--- a/build/apex/art_apex_test.py
+++ b/build/apex/art_apex_test.py
@@ -260,10 +260,66 @@
     # Check that the mounted image contains additional required debug libraries.
     self.check_library('libadbconnectiond.so')
 
+def print_list(provider):
+    def print_list_impl(provider, path):
+      map = provider.read_dir(path)
+      if map is None:
+        return
+      map = dict(map)
+      if '.' in map:
+        del map['.']
+      if '..' in map:
+        del map['..']
+      for (_, val) in sorted(map.items()):
+        new_path = os.path.join(path, val.name)
+        print(new_path)
+        if val.is_dir:
+          print_list_impl(provider, new_path)
+    print_list_impl(provider, '.')
+
+def print_tree(provider, title):
+    def get_vertical(has_next_list):
+      str = ''
+      for v in has_next_list:
+        str += '%s   ' % ('│' if v else ' ')
+      return str
+    def get_last_vertical(last):
+      return '└── ' if last else '├── ';
+    def print_tree_impl(provider, path, has_next_list):
+      map = provider.read_dir(path)
+      if map is None:
+        return
+      map = dict(map)
+      if '.' in map:
+        del map['.']
+      if '..' in map:
+        del map['..']
+      key_list = list(sorted(map.keys()))
+      for i in range(0, len(key_list)):
+        val = map[key_list[i]]
+        prev = get_vertical(has_next_list)
+        last = get_last_vertical(i == len(key_list) - 1)
+        print('%s%s%s' % (prev, last, val.name))
+        if val.is_dir:
+          has_next_list.append(i < len(key_list) - 1)
+          print_tree_impl(provider, os.path.join(path, val.name), has_next_list)
+          has_next_list.pop()
+    print('%s' % (title))
+    print_tree_impl(provider, '.', [])
+
 # Note: do not sys.exit early, for __del__ cleanup.
 def artApexTestMain(args):
-  if not args.host and not args.target and not args.debug:
-    logging.error("None of --host, --target nor --debug set")
+  if not args.host and not args.target and not args.debug and not args.tree and not args.list:
+    logging.error("None of --host, --target, --debug, --tree nor --list set")
+    return 1
+  if args.tree and (args.host or args.debug):
+    logging.error("Both of --tree and --host|--debug set")
+    return 1
+  if args.list and (args.host or args.debug):
+    logging.error("Both of --list and --host|--debug set")
+    return 1
+  if args.list and args.tree:
+    logging.error("Both of --list and --tree set")
     return 1
   if args.host and (args.target or args.debug):
     logging.error("Both of --host and --target|--debug set")
@@ -283,6 +339,13 @@
     logging.error('Failed to create provider')
     return 1
 
+  if args.tree:
+    print_tree(apex_provider, args.apex)
+    return 0
+  if args.list:
+    print_list(apex_provider)
+    return 0
+
   checkers = []
   if args.host:
     logging.error('host checking not yet supported')
@@ -317,6 +380,8 @@
   args = parser.parse_args(['dummy'])  # For consistency.
   args.debugfs = '%s/bin/debugfs' % (host_out)
   args.tmpdir = '.'
+  args.tree = False
+  args.list = False
   failed = False
 
   if not os.path.exists(args.debugfs):
@@ -357,6 +422,9 @@
   parser.add_argument('--target', help='Check as target apex', action='store_true')
   parser.add_argument('--debug', help='Check as debug apex', action='store_true')
 
+  parser.add_argument('--list', help='List all files', action='store_true')
+  parser.add_argument('--tree', help='Print directory tree', action='store_true')
+
   parser.add_argument('--tmpdir', help='Directory for temp files')
   parser.add_argument('--debugfs', help='Path to debugfs')