tidy up and update the resource merging away from deprecated apis
diff --git a/kotlin/internal/jvm/compile.bzl b/kotlin/internal/jvm/compile.bzl
index 7fa6fa3..6c2d7ed 100644
--- a/kotlin/internal/jvm/compile.bzl
+++ b/kotlin/internal/jvm/compile.bzl
@@ -27,24 +27,26 @@
 
 # INTERNAL ACTIONS #####################################################################################################
 def _fold_jars_action(ctx, rule_kind, output_jar, input_jars):
-    args = [
+    """Set up an action to Fold the input jars into a normalized ouput jar."""
+    args = ctx.actions.args()
+    args.add_all([
         "--normalize",
         "--compression",
+    ])
+    args.add_all([
         "--deploy_manifest_lines",
         "Target-Label: %s" % str(ctx.label),
         "Injecting-Rule-Kind: %s" % rule_kind,
-        "--output",
-        output_jar.path,
-    ]
-    for i in input_jars:
-        args += ["--sources", i.path]
+    ])
+    args.add("--output", output_jar)
+    args.add_all(input_jars, before_each = "--sources")
     ctx.action(
-        mnemonic = "KotlinFoldOutput",
+        mnemonic = "KotlinFoldJars",
         inputs = input_jars,
         outputs = [output_jar],
         executable = ctx.executable._singlejar,
-        arguments = args,
-        progress_message = "Merging Kotlin output jar " + output_jar.short_path,
+        arguments = [args],
+        progress_message = "Merging Kotlin output jar %s from %d inputs" % (ctx.label, len(input_jars)),
     )
 
 _CONVENTIONAL_RESOURCE_PATHS = [
@@ -72,7 +74,7 @@
     else:
         return _adjust_resources_path_by_default_prefixes(path)
 
-def _add_resources_cmd(ctx):
+def _resourcejar_args_action(ctx):
     res_cmd = []
     for f in ctx.files.resources:
         c_dir, res_path = _adjust_resources_path(f.short_path, ctx.attr.resource_strip_prefix)
@@ -85,28 +87,27 @@
             c_dir = c_dir,
         )
         res_cmd.extend([line])
-    return "".join(res_cmd)
+    zipper_args_file = ctx.actions.declare_file("%s_resources_zipper_args" % ctx.label.name)
+    ctx.actions.write(zipper_args_file, "".join(res_cmd))
+    return zipper_args_file
 
 def _build_resourcejar_action(ctx):
-    resources = _add_resources_cmd(ctx)
+    """sets up an action to build a resource jar for the target being compiled.
+    Returns:
+        The file resource jar file.
+    """
     resources_jar_output = ctx.actions.declare_file(ctx.label.name + "-resources.jar")
-    zipper_arg_path = ctx.actions.declare_file("%s_resources_zipper_args" % ctx.label.name)
-    ctx.file_action(zipper_arg_path, resources)
-    cmd = """
-rm -f {resources_jar_output}
-{zipper} c {resources_jar_output} @{path}
-""".format(
-        path = zipper_arg_path.path,
-        resources_jar_output = resources_jar_output.path,
-        zipper = ctx.executable._zipper.path,
-    )
+    zipper_args = _resourcejar_args_action(ctx)
     ctx.action(
         mnemonic = "KotlinZipResourceJar",
-        inputs = ctx.files.resources + [ctx.executable._zipper, zipper_arg_path],
+        inputs = ctx.files.resources + [ctx.executable._zipper, zipper_args],
         outputs = [resources_jar_output],
-        command = cmd,
+        command = "{zipper} c {resources_jar_output} @{path}".format(
+            path = zipper_args.path,
+            resources_jar_output = resources_jar_output.path,
+            zipper = ctx.executable._zipper.path,
+        ),
         progress_message = "Creating intermediate resource jar %s" % ctx.label,
-        arguments = [],
     )
     return resources_jar_output