diff --git a/labgrid/test/rule.bzl b/labgrid/test/rule.bzl index 46f97f6508ed7128a9a2b2254f03a4343fe034b4..962668146757fbc9154712561ada2f3e52afed87 100644 --- a/labgrid/test/rule.bzl +++ b/labgrid/test/rule.bzl @@ -69,7 +69,18 @@ def implementation(ctx): is_executable = True, ) - files = depset([executable, arguments]) + src_runfiles = ctx.runfiles([ctx.executable.src]) + src_runfiles.merge(ctx.attr._run.default_runfiles) + src_runfiles.merge(ctx.attr.src.default_runfiles) + target_runfiles = ctx.actions.declare_file("{}_target.runfiles".format(ctx.label.name)) + runfiles_args = ctx.actions.args() + for rfile in src_runfiles.files.to_list(): + runfiles_args.add(rfile) + + # runfiles_args.add_all(src_runfiles.files.to_list()) + ctx.actions.write(output = target_runfiles, content = runfiles_args, is_executable = False) + + files = depset([executable, arguments, target_runfiles]) root_symlinks = {"extra.args": arguments} runfiles = ctx.runfiles([ctx.executable.src], root_symlinks = root_symlinks) runfiles = runfiles.merge(ctx.attr._executor.default_runfiles)