aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2016-10-06 08:11:04 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-10-06 10:23:36 +0000
commit722b04322891a6dc76efde3d900731cd51e3c499 (patch)
treec0e983bda7792a044fe92066d3b616519951493f
parentab76af1461c72d9df751db56db67ecc2ec172b0a (diff)
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
-rw-r--r--src/main/java/com/google/devtools/build/lib/BUILD1
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeJarProvider.java13
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoLibrary.java7
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoLibrary.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaRuntimeJarAspectProvider.java46
7 files changed, 3 insertions, 78 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/BUILD b/src/main/java/com/google/devtools/build/lib/BUILD
index f9429f1a70..110b4c1e42 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 @@ java_library(
"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 33cfb4019f..a8caf284eb 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 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
* 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 final class JavaRuntimeJarProvider implements TransitiveInfoProvider {
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 5761dfe619..9d65decc29 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.JavaCompilationArgs;
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 @@ public class JavaLiteProtoAspect extends NativeAspectClass implements Configured
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 26b6192a25..1a3d7c4bcf 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.RuleConfiguredTargetFactory;
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 @@ public class JavaLiteProtoLibrary implements RuleConfiguredTargetFactory {
.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 5045a5b12e..b4bcb8bada 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.packages.Rule;
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 @@ public class JavaProtoAspect extends NativeAspectClass implements ConfiguredAspe
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 cddb929482..d0e3849273 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.RuleConfiguredTargetFactory;
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 @@ public class JavaProtoLibrary implements RuleConfiguredTargetFactory {
.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 9979a8c78e..0000000000
--- 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;
- }
-}