Restingbull/compiler plugin rework (#393)

* Add resources to android example
Rework compiler plugins:
*  require ids
* indicate which phase the plugin executes: stub and compile
* include plugin dependencies
* allow compiler plugins to be exported via the exported_compiler_plugins
* allow "bash" substitutions for plugin arguments of working directories (anvil demonstrates)
* Update bazel toolchains to 3.7
diff --git a/third_party/BUILD b/third_party/BUILD
index f19a4b2..a210e85 100644
--- a/third_party/BUILD
+++ b/third_party/BUILD
@@ -18,7 +18,10 @@
 load("//kotlin/internal/utils:packager.bzl", "release_archive")
 load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
 
-exports_files(["empty.jar"])
+exports_files([
+    "empty.jar",
+    "empty.jdeps",
+])
 
 java_plugin(
     name = "autovalue_plugin",
@@ -54,13 +57,6 @@
     ],
 )
 
-java_binary(
-    name = "jarjar_runner",
-    main_class = "org.pantsbuild.jarjar.Main",
-    visibility = ["//visibility:public"],
-    runtime_deps = ["@kotlin_rules_maven//:org_pantsbuild_jarjar"],
-)
-
 # TODO(bazelbuild/rules_kotlin/issues/273): Remove android_sdk import.
 java_import(
     name = "android_sdk",
@@ -70,13 +66,20 @@
 )
 
 bzl_library(
-    name = "java_tools_bzl",
-    srcs = ["@bazel_tools//tools:bzl_srcs"],
+    name = "bzl",
+    srcs = [
+        "jarjar.bzl",
+        "@bazel_tools//tools:bzl_srcs",
+    ],
 )
 
 release_archive(
     name = "pkg",
-    srcs = ["empty.jar"],
+    srcs = [
+        "empty.jar",
+        "empty.jdeps",
+        "jarjar.bzl",
+    ],
     src_map = {
         "BUILD.release.bazel": "BUILD.bazel",
     },