diff options
author | Lukacs Berki <lberki@google.com> | 2016-10-06 08:11:04 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2016-10-06 10:23:36 +0000 |
commit | 722b04322891a6dc76efde3d900731cd51e3c499 (patch) | |
tree | c0e983bda7792a044fe92066d3b616519951493f /src/main/java/com/google/devtools | |
parent | ab76af1461c72d9df751db56db67ecc2ec172b0a (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
Diffstat (limited to 'src/main/java/com/google/devtools')
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; - } -} |