Remove JavaRuntimeJarAspectProvider and the creation of JavaRuntimeJarProvider from proto aspects.

JavaRuntimeJarProvider is only meaningful for targets that have neverlink=1 set and this attribute does not exist for protobuf rules.

--
MOS_MIGRATED_REVID=135331297
diff --git a/src/main/java/com/google/devtools/build/lib/BUILD b/src/main/java/com/google/devtools/build/lib/BUILD
index f9429f1..110b4c1 100644
--- a/src/main/java/com/google/devtools/build/lib/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/BUILD
@@ -765,7 +765,6 @@
         "rules/java/proto/JavaProtoAspect.java",
         "rules/java/proto/JavaProtoLibrary.java",
         "rules/java/proto/JavaProtoLibraryTransitiveFilesToBuildProvider.java",
-        "rules/java/proto/JavaRuntimeJarAspectProvider.java",
         "rules/java/proto/JavaSourceJarsAspectProvider.java",
         "rules/java/proto/StrictDepsUtils.java",
     ],
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeJarProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeJarProvider.java
index 33cfb40..a8caf28 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeJarProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeJarProvider.java
@@ -26,7 +26,9 @@
  * it does not contain transitive runtime jars, only those produced by the configured target itself.
  *
  * <p>The reason why this class exists is that neverlink libraries do not contain the compiled jar
- * in {@link com.google.devtools.build.lib.rules.java.JavaCompilationArgs#getRuntimeJars()}.
+ * in {@link com.google.devtools.build.lib.rules.java.JavaCompilationArgs#getRuntimeJars()} and
+ * those are sometimes needed, for example, for Proguarding (the compile time classpath is not
+ * enough because that contains only ijars)
  */
 @Immutable
 public final class JavaRuntimeJarProvider implements TransitiveInfoProvider {
@@ -39,13 +41,4 @@
   public ImmutableList<Artifact> getRuntimeJars() {
     return runtimeJars;
   }
-
-  public static JavaRuntimeJarProvider merge(Iterable<JavaRuntimeJarProvider> deps) {
-    ImmutableList.Builder<Artifact> runtimeJars = ImmutableList.builder();
-    for (JavaRuntimeJarProvider wrapper : deps) {
-      runtimeJars.addAll(wrapper.getRuntimeJars());
-    }
-    return new JavaRuntimeJarProvider(runtimeJars.build());
-  }
-
 }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java
index 5761dfe..9d65dec 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java
@@ -51,7 +51,6 @@
 import com.google.devtools.build.lib.rules.java.JavaCompilationArgsProvider;
 import com.google.devtools.build.lib.rules.java.JavaConfiguration;
 import com.google.devtools.build.lib.rules.java.JavaLibraryHelper;
-import com.google.devtools.build.lib.rules.java.JavaRuntimeJarProvider;
 import com.google.devtools.build.lib.rules.java.JavaSemantics;
 import com.google.devtools.build.lib.rules.java.JavaSourceJarsProvider;
 import com.google.devtools.build.lib.rules.java.JavaToolchainProvider;
@@ -191,8 +190,6 @@
         transitiveOutputJars.add(outputJar);
 
         result.add(
-            new JavaRuntimeJarAspectProvider(
-                new JavaRuntimeJarProvider(ImmutableList.of(outputJar))),
             new JavaSourceJarsAspectProvider(
                 JavaSourceJarsProvider.create(
                     NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER), javaSourceJars)));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoLibrary.java
index 26b6192..1a3d7c4 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoLibrary.java
@@ -34,7 +34,6 @@
 import com.google.devtools.build.lib.rules.java.JavaCompilationArgsProvider;
 import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider;
 import com.google.devtools.build.lib.rules.java.JavaRunfilesProvider;
-import com.google.devtools.build.lib.rules.java.JavaRuntimeJarProvider;
 import com.google.devtools.build.lib.rules.java.JavaSkylarkApiProvider;
 import com.google.devtools.build.lib.rules.java.JavaSourceJarsProvider;
 import com.google.devtools.build.lib.rules.java.ProguardLibrary;
@@ -80,12 +79,6 @@
         .addProvider(RunfilesProvider.class, RunfilesProvider.withData(Runfiles.EMPTY, runfiles))
         .addOutputGroup(
             OutputGroupProvider.DEFAULT, NestedSetBuilder.<Artifact>emptySet(STABLE_ORDER))
-        .add(
-            JavaRuntimeJarProvider.class,
-            JavaRuntimeJarProvider.merge(
-                transform(
-                    getDeps(ruleContext, JavaRuntimeJarAspectProvider.class),
-                    JavaRuntimeJarAspectProvider.GET_PROVIDER)))
         .add(JavaCompilationArgsProvider.class, dependencyArgsProviders)
         .add(JavaSourceJarsProvider.class, sourceJarsProvider)
         .add(JavaRunfilesProvider.class, new JavaRunfilesProvider(runfiles))
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java
index 5045a5b..b4bcb8b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java
@@ -51,7 +51,6 @@
 import com.google.devtools.build.lib.rules.java.JavaCompilationArgsProvider;
 import com.google.devtools.build.lib.rules.java.JavaConfiguration;
 import com.google.devtools.build.lib.rules.java.JavaLibraryHelper;
-import com.google.devtools.build.lib.rules.java.JavaRuntimeJarProvider;
 import com.google.devtools.build.lib.rules.java.JavaSemantics;
 import com.google.devtools.build.lib.rules.java.JavaSourceJarsProvider;
 import com.google.devtools.build.lib.rules.java.JavaToolchainProvider;
@@ -227,8 +226,6 @@
         transitiveOutputJars.add(outputJar);
 
         result.add(
-            new JavaRuntimeJarAspectProvider(
-                new JavaRuntimeJarProvider(ImmutableList.of(outputJar))),
             new JavaSourceJarsAspectProvider(
                 JavaSourceJarsProvider.create(
                     NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER), javaSourceJars)));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoLibrary.java
index cddb929..d0e3849 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoLibrary.java
@@ -32,7 +32,6 @@
 import com.google.devtools.build.lib.rules.java.JavaCompilationArgsProvider;
 import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider;
 import com.google.devtools.build.lib.rules.java.JavaRunfilesProvider;
-import com.google.devtools.build.lib.rules.java.JavaRuntimeJarProvider;
 import com.google.devtools.build.lib.rules.java.JavaSkylarkApiProvider;
 import com.google.devtools.build.lib.rules.java.JavaSourceJarsProvider;
 
@@ -82,13 +81,6 @@
         .addProvider(RunfilesProvider.class, RunfilesProvider.withData(Runfiles.EMPTY, runfiles))
         .addOutputGroup(
             OutputGroupProvider.DEFAULT, NestedSetBuilder.<Artifact>emptySet(STABLE_ORDER))
-        .add(
-            JavaRuntimeJarProvider.class,
-            JavaRuntimeJarProvider.merge(
-                Iterables.<JavaRuntimeJarAspectProvider, JavaRuntimeJarProvider>transform(
-                    this.<JavaRuntimeJarAspectProvider>getDeps(
-                        ruleContext, JavaRuntimeJarAspectProvider.class),
-                    JavaRuntimeJarAspectProvider.GET_PROVIDER)))
         .add(JavaCompilationArgsProvider.class, dependencyArgsProviders)
         .add(JavaSourceJarsProvider.class, sourceJarsProvider)
         .add(JavaRunfilesProvider.class, new JavaRunfilesProvider(runfiles))
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaRuntimeJarAspectProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaRuntimeJarAspectProvider.java
deleted file mode 100644
index 9979a8c..0000000
--- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaRuntimeJarAspectProvider.java
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2016 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//    http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.google.devtools.build.lib.rules.java.proto;
-
-import com.google.common.base.Function;
-import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
-import com.google.devtools.build.lib.rules.java.JavaRuntimeJarProvider;
-
-import javax.annotation.Nullable;
-
-/**
- * A wrapper around {@link JavaRuntimeJarProvider}.
- */
-public class JavaRuntimeJarAspectProvider implements TransitiveInfoProvider {
-  /**
-   * A long way to say (wrapper) -> wrapper.provider.
-   */
-  public static final Function<
-          ? super JavaRuntimeJarAspectProvider, ? extends JavaRuntimeJarProvider>
-      GET_PROVIDER =
-          new Function<JavaRuntimeJarAspectProvider, JavaRuntimeJarProvider>() {
-            @Nullable
-            @Override
-            public JavaRuntimeJarProvider apply(@Nullable JavaRuntimeJarAspectProvider wrapper) {
-              return wrapper == null ? null : wrapper.provider;
-            }
-          };
-
-  public final JavaRuntimeJarProvider provider;
-
-  public JavaRuntimeJarAspectProvider(JavaRuntimeJarProvider provider) {
-    this.provider = provider;
-  }
-}