diff options
author | 2018-05-18 06:14:26 -0700 | |
---|---|---|
committer | 2018-05-18 06:15:39 -0700 | |
commit | 7a71ce816bc8a67a63c2d147ac953ac451ebd23b (patch) | |
tree | 38861d747932cedab176b6bfffe885d35184b2e7 /src/main | |
parent | fd0b85e5699852fa653a029520de0f62788e8328 (diff) |
Delete Java support from proto_library.
RELNOTES: None
PiperOrigin-RevId: 197136304
Diffstat (limited to 'src/main')
6 files changed, 0 insertions, 138 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/BUILD b/src/main/java/com/google/devtools/build/lib/BUILD index b5c5bf8e3d..432a4d2ac4 100644 --- a/src/main/java/com/google/devtools/build/lib/BUILD +++ b/src/main/java/com/google/devtools/build/lib/BUILD @@ -910,7 +910,6 @@ java_library( "rules/java/ProguardSpecProvider.java", "rules/java/ProtoJavaApiInfoAspectProvider.java", "rules/java/ProtoJavaApiInfoProvider.java", - "rules/java/proto/ActionReuser.java", "rules/java/proto/JavaLiteProtoAspect.java", "rules/java/proto/JavaLiteProtoLibrary.java", "rules/java/proto/JavaProtoAspect.java", diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java index c055a19f43..bd2fc28538 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java @@ -73,7 +73,6 @@ import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.PathFragment; import java.io.File; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import javax.annotation.Nullable; @@ -119,10 +118,6 @@ public class BazelJavaSemantics implements JavaSemantics { public void checkForProtoLibraryAndJavaProtoLibraryOnSameProto( RuleContext ruleContext, JavaCommon javaCommon) {} - @Override - public void checkProtoDeps( - RuleContext ruleContext, Collection<? extends TransitiveInfoCollection> deps) {} - private static final String JUNIT4_RUNNER = "org.junit.runner.JUnitCore"; @Nullable diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java index 26ba4441ea..c8fe6e25dd 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java @@ -626,8 +626,6 @@ public class JavaCommon { javaTargetAttributes.addSourceArtifacts(extraSrcs); processRuntimeDeps(javaTargetAttributes); - semantics.checkProtoDeps(ruleContext, targetsTreatedAsDeps(ClasspathType.BOTH)); - if (disallowDepsWithoutSrcs(ruleContext.getRule().getRuleClass()) && ruleContext.attributes().get("srcs", BuildType.LABEL_LIST).isEmpty() && ruleContext.getRule().isAttributeValueExplicitlySpecified("deps")) { diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java index 0696a20283..4325442caf 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java @@ -46,7 +46,6 @@ import com.google.devtools.build.lib.syntax.Type; import com.google.devtools.build.lib.util.FileType; import com.google.devtools.build.lib.vfs.PathFragment; import java.io.File; -import java.util.Collection; import java.util.List; import java.util.stream.Collectors; import javax.annotation.Nullable; @@ -255,8 +254,6 @@ public interface JavaSemantics { void checkForProtoLibraryAndJavaProtoLibraryOnSameProto( RuleContext ruleContext, JavaCommon javaCommon); - void checkProtoDeps(RuleContext ruleContext, Collection<? extends TransitiveInfoCollection> deps); - /** * Returns the main class of a Java binary. */ diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/ActionReuser.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/ActionReuser.java deleted file mode 100644 index 8f4479eecb..0000000000 --- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/ActionReuser.java +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2017 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 static com.google.common.base.Preconditions.checkNotNull; -import static com.google.common.collect.Iterables.getOnlyElement; -import static com.google.common.collect.Iterables.isEmpty; -import static com.google.devtools.build.lib.analysis.configuredtargets.RuleConfiguredTarget.Mode.TARGET; -import static com.google.devtools.build.lib.rules.java.JavaCompilationArgs.ClasspathType.BOTH; -import static com.google.devtools.build.lib.rules.java.proto.JplCcLinkParams.createCcLinkParamsStore; -import static com.google.devtools.build.lib.rules.java.proto.StrictDepsUtils.createNonStrictCompilationArgsProvider; - -import com.google.common.collect.ImmutableList; -import com.google.devtools.build.lib.actions.Artifact; -import com.google.devtools.build.lib.analysis.ConfiguredAspect; -import com.google.devtools.build.lib.analysis.ConfiguredTarget; -import com.google.devtools.build.lib.analysis.RuleContext; -import com.google.devtools.build.lib.analysis.TransitiveInfoProviderMap; -import com.google.devtools.build.lib.analysis.TransitiveInfoProviderMapBuilder; -import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; -import com.google.devtools.build.lib.collect.nestedset.Order; -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.JavaCompilationArtifacts; -import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider; -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.ProtoJavaApiInfoProvider; - -public class ActionReuser { - - /** - * If the underlying proto_library rule already registers the compile actions we need, just reuse - * them. This will preserve memory. - * - * <p>TODO(b/36191931): Delete when it's time. - */ - public static boolean reuseExistingActions( - ConfiguredTarget base, RuleContext ruleContext, ConfiguredAspect.Builder aspect) { - ProtoJavaApiInfoProvider javaApi = base.getProvider(ProtoJavaApiInfoProvider.class); - if (javaApi == null) { - return false; - } - - JavaCompilationArtifacts directJars = javaApi.getJavaCompilationArtifactsImmutable(); - if (isEmpty(directJars.getCompileTimeJars()) || javaApi.sourceJarImmutable() == null) { - return false; - } - - JavaCompilationArgs.Builder transitiveJars = - JavaCompilationArgs.builder() - .addTransitiveArgs(javaApi.getTransitiveJavaCompilationArgsImmutable(), BOTH) - .addTransitiveArgs(javaApi.getTransitiveProtoRuntimeImmutable(), BOTH) - .merge(directJars); - - Artifact outputJar = getOnlyElement(directJars.getRuntimeJars()); - Artifact compileTimeJar = getOnlyElement(directJars.getCompileTimeJars()); - Artifact sourceJar = checkNotNull(javaApi.sourceJarImmutable()); - - JavaCompilationArgsProvider compilationArgsProvider = - JavaCompilationArgsProvider.create( - JavaCompilationArgs.builder().merge(directJars).build(), - transitiveJars.build(), - NestedSetBuilder.create( - Order.STABLE_ORDER, directJars.getCompileTimeDependencyArtifact())); - - TransitiveInfoProviderMapBuilder javaProvidersBuilder = - new TransitiveInfoProviderMapBuilder() - .add(createOutputJarProvider(outputJar, compileTimeJar, sourceJar)) - .add(createSrcJarProvider(sourceJar)) - .add(compilationArgsProvider) - .add(createCcLinkParamsStore(ruleContext, javaApi.getProtoRuntimeImmutable())); - - Iterable<JavaProtoLibraryAspectProvider> javaProtoLibraryAspectProviders = - ruleContext.getPrerequisites("deps", TARGET, JavaProtoLibraryAspectProvider.class); - - NestedSetBuilder<Artifact> transitiveOutputJars = NestedSetBuilder.stableOrder(); - for (JavaProtoLibraryAspectProvider provider : javaProtoLibraryAspectProviders) { - transitiveOutputJars.addTransitive(provider.getJars()); - } - transitiveOutputJars.add(outputJar); - - TransitiveInfoProviderMap javaProviders = javaProvidersBuilder.build(); - aspect - .addSkylarkTransitiveInfo( - JavaSkylarkApiProvider.PROTO_NAME.getLegacyId(), - JavaSkylarkApiProvider.fromProviderMap(javaProviders)) - .addProviders( - new JavaProtoLibraryAspectProvider( - javaProviders, - transitiveOutputJars.build(), - createNonStrictCompilationArgsProvider( - javaProtoLibraryAspectProviders, - compilationArgsProvider, - javaApi.getProtoRuntimeImmutable()))); - return true; - } - - private static JavaRuleOutputJarsProvider createOutputJarProvider( - Artifact outputJar, Artifact compileTimeJar, Artifact sourceJar) { - return JavaRuleOutputJarsProvider.builder() - .addOutputJar(outputJar, compileTimeJar, ImmutableList.of(sourceJar)) - .build(); - } - - private static JavaSourceJarsProvider createSrcJarProvider(Artifact sourceJar) { - return JavaSourceJarsProvider.create( - NestedSetBuilder.emptySet(Order.STABLE_ORDER), - NestedSetBuilder.<Artifact>stableOrder().add(sourceJar).build()); - } -} 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 4a4eab01e0..0e59ce8367 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 @@ -106,10 +106,6 @@ public class JavaProtoAspect extends NativeAspectClass implements ConfiguredAspe JavaProtoAspectCommon aspectCommon = JavaProtoAspectCommon.getSpeedInstance(ruleContext, javaSemantics, rpcSupport); Impl impl = new Impl(ruleContext, supportData, aspectCommon, rpcSupport); - if (impl.shouldGenerateCode() - && ActionReuser.reuseExistingActions(ctadBase.getConfiguredTarget(), ruleContext, aspect)) { - return aspect.build(); - } impl.addProviders(aspect); return aspect.build(); } |