Automatically generated start_list.txt

Change-Id: Ia0d3c7f8673c584ef0d0911f98d0faefde48583d
diff --git a/aos/BUILD b/aos/BUILD
index 4b7fe3a..e2c5e87 100644
--- a/aos/BUILD
+++ b/aos/BUILD
@@ -3,9 +3,15 @@
   visibility = ['//visibility:public'],
   srcs = [
     '//aos/linux_code:core',
-    '//aos/linux_code/logging:binary_log_writer',
     '//aos/linux_code/logging:log_streamer',
     '//aos/linux_code/logging:log_displayer',
     '//aos/linux_code/starter',
   ],
 )
+filegroup(
+  name = 'prime_start_binaries',
+  visibility = ['//visibility:public'],
+  srcs = [
+    '//aos/linux_code/logging:binary_log_writer',
+  ],
+)
diff --git a/aos/prime/downloader/downloader.bzl b/aos/prime/downloader/downloader.bzl
index e960f27..dd21011 100644
--- a/aos/prime/downloader/downloader.bzl
+++ b/aos/prime/downloader/downloader.bzl
@@ -1,4 +1,5 @@
 def _aos_downloader_impl(ctx):
+  all_files = ctx.files.srcs + ctx.files.start_srcs
   ctx.file_action(
     output = ctx.outputs.executable,
     executable = True,
@@ -6,14 +7,19 @@
       '#!/bin/bash',
       'cd "${BASH_SOURCE[@]}.runfiles"',
       'exec %s %s -- %s "$@"' % (ctx.executable._downloader.short_path,
-                                 ' '.join([src.short_path for src in ctx.files.srcs]),
+                                 ' '.join([src.short_path for src in all_files]),
                                  ctx.attr.default_target),
     ]),
   )
 
+  ctx.file_action(
+    output = ctx.outputs._startlist,
+    content = '\n'.join([f.basename for f in ctx.files.start_srcs]) + '\n',
+  )
+
   return struct(
     runfiles = ctx.runfiles(
-      files = ctx.files.srcs + ctx.files._downloader,
+      files = all_files + ctx.files._downloader + [ctx.outputs._startlist],
       collect_data = True,
       collect_default = True,
     ),
@@ -37,6 +43,10 @@
       cfg = HOST_CFG,
       default = Label('//aos/prime/downloader'),
     ),
+    'start_srcs': attr.label_list(
+      mandatory = True,
+      allow_files = True,
+    ),
     'srcs': attr.label_list(
       mandatory = True,
       allow_files = True,
@@ -46,4 +56,7 @@
     ),
   },
   executable = True,
+  outputs = {
+    '_startlist': '%{name}.start_list.dir/start_list.txt',
+  },
 )