diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/BUILD b/src/main/java/com/google/devtools/build/lib/rules/java/BUILD index 2bcfa81672c374..a974808a3c40e4 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/BUILD +++ b/src/main/java/com/google/devtools/build/lib/rules/java/BUILD @@ -150,7 +150,6 @@ java_library( "JavaSourceInfoProvider.java", "JavaSourceJarsProvider.java", "JavaStarlarkCommon.java", - "JavaStrictCompilationArgsProvider.java", "JavaTargetAttributes.java", "JavaToolchainProvider.java", "JavaToolchainTool.java", 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 a19fb6ede9505b..8e993d0c881e42 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 @@ -231,12 +231,6 @@ public static String javaLibraryPath(Collection sharedLibraries, Strin */ public JavaCompilationArgsProvider collectJavaCompilationArgs( boolean isNeverLink, boolean srcLessDepsExport) { - return collectJavaCompilationArgs( - isNeverLink, srcLessDepsExport, /* javaProtoLibraryStrictDeps= */ false); - } - - public JavaCompilationArgsProvider collectJavaCompilationArgs( - boolean isNeverLink, boolean srcLessDepsExport, boolean javaProtoLibraryStrictDeps) { return collectJavaCompilationArgs( /* isNeverLink= */ isNeverLink, /* srcLessDepsExport= */ srcLessDepsExport, diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationArgsProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationArgsProvider.java index 58fb1c710d68a9..3f3e90df03f3b4 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationArgsProvider.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationArgsProvider.java @@ -124,11 +124,6 @@ public static JavaCompilationArgsProvider legacyFromTargets( for (TransitiveInfoCollection info : infos) { JavaCompilationArgsProvider provider = null; - JavaStrictCompilationArgsProvider strictCompilationArgsProvider = - JavaInfo.getProvider(JavaStrictCompilationArgsProvider.class, info); - if (strictCompilationArgsProvider != null) { - provider = strictCompilationArgsProvider.getJavaCompilationArgsProvider(); - } if (provider == null) { provider = JavaInfo.getProvider(JavaCompilationArgsProvider.class, info); } diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java index e76507e9651d09..391053c518a92e 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java @@ -75,7 +75,6 @@ private static T nullIfNone(Object object, Class type) { JavaGenJarsProvider.class, JavaExportsProvider.class, JavaCompilationInfoProvider.class, - JavaStrictCompilationArgsProvider.class, JavaSourceInfoProvider.class); private final TransitiveInfoProviderMap providers; @@ -118,8 +117,6 @@ public TransitiveInfoProviderMap getProviders() { public static JavaInfo merge(List providers) { List javaCompilationArgsProviders = JavaInfo.fetchProvidersFromList(providers, JavaCompilationArgsProvider.class); - List javaStrictCompilationArgsProviders = - JavaInfo.fetchProvidersFromList(providers, JavaStrictCompilationArgsProvider.class); List javaSourceJarsProviders = JavaInfo.fetchProvidersFromList(providers, JavaSourceJarsProvider.class); List javaPluginInfoProviders = @@ -142,9 +139,6 @@ public static JavaInfo merge(List providers) { .addProvider( JavaCompilationArgsProvider.class, JavaCompilationArgsProvider.merge(javaCompilationArgsProviders)) - .addProvider( - JavaStrictCompilationArgsProvider.class, - JavaStrictCompilationArgsProvider.merge(javaStrictCompilationArgsProviders)) .addProvider( JavaSourceJarsProvider.class, JavaSourceJarsProvider.merge(javaSourceJarsProviders)) .addProvider( @@ -561,16 +555,6 @@ public

Builder addProvider( } public JavaInfo build() { - // TODO(twerth): Clean up after we remove java_proto_library.strict_deps. - // Instead of teaching every (potential Starlark) caller to also create the provider for - // strict deps we wrap the non strict provider instead. - if (!providerMap.contains(JavaStrictCompilationArgsProvider.class) - && providerMap.contains(JavaCompilationArgsProvider.class)) { - JavaStrictCompilationArgsProvider javaStrictCompilationArgsProvider = - new JavaStrictCompilationArgsProvider( - providerMap.getProvider(JavaCompilationArgsProvider.class)); - addProvider(JavaStrictCompilationArgsProvider.class, javaStrictCompilationArgsProvider); - } return new JavaInfo( providerMap.build(), runtimeJars, diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java index 24a9f2bf5d2225..5d177356cb44b8 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java @@ -143,12 +143,7 @@ final ConfiguredTarget init( javaArtifacts, attributes, neverLink, helper.getBootclasspathOrDefault())); JavaCompilationArgsProvider javaCompilationArgs = - common.collectJavaCompilationArgs( - neverLink, /* srcLessDepsExport= */ false, /* javaProtoLibraryStrictDeps= */ false); - JavaStrictCompilationArgsProvider strictJavaCompilationArgs = - new JavaStrictCompilationArgsProvider( - common.collectJavaCompilationArgs( - neverLink, /* srcLessDepsExport= */ false, /* javaProtoLibraryStrictDeps= */ true)); + common.collectJavaCompilationArgs(neverLink, /* srcLessDepsExport= */ false); NestedSet transitiveJavaNativeLibraries = common.collectTransitiveJavaNativeLibraries(); @@ -185,7 +180,6 @@ final ConfiguredTarget init( JavaInfo javaInfo = javaInfoBuilder .addProvider(JavaCompilationArgsProvider.class, compilationArgsProvider) - .addProvider(JavaStrictCompilationArgsProvider.class, strictJavaCompilationArgs) .addProvider(JavaSourceJarsProvider.class, sourceJarsProvider) .addProvider(JavaRuleOutputJarsProvider.class, ruleOutputJarsProvider) // TODO(bazel-team): this should only happen for java_plugin diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaStrictCompilationArgsProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaStrictCompilationArgsProvider.java deleted file mode 100644 index ddf858a8d8407c..00000000000000 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaStrictCompilationArgsProvider.java +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2018 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; - -import com.google.devtools.build.lib.analysis.TransitiveInfoProvider; -import java.util.Collection; -import java.util.stream.Collectors; - -/** - * This class just wraps a JavaCompilationArgsProvider. - * - *

It is used to enforce strict_deps from a downstream java_library to an upstream - * java_proto_library. - * - *

TODO(twerth): Remove this class once we finished migration. - */ -public class JavaStrictCompilationArgsProvider implements TransitiveInfoProvider { - private final JavaCompilationArgsProvider javaCompilationArgsProvider; - - public JavaStrictCompilationArgsProvider( - JavaCompilationArgsProvider javaCompilationArgsProvider) { - this.javaCompilationArgsProvider = javaCompilationArgsProvider; - } - - public JavaCompilationArgsProvider getJavaCompilationArgsProvider() { - return javaCompilationArgsProvider; - } - - public static JavaStrictCompilationArgsProvider merge( - Collection providers) { - Collection javaCompilationArgsProviders = - providers.stream() - .map(JavaStrictCompilationArgsProvider::getJavaCompilationArgsProvider) - .collect(Collectors.toList()); - return new JavaStrictCompilationArgsProvider( - JavaCompilationArgsProvider.merge(javaCompilationArgsProviders)); - } -} 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 fea64bf0b5b3cc..1ff48731f19469 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 @@ -37,7 +37,6 @@ import com.google.devtools.build.lib.rules.java.JavaInfo; import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider; import com.google.devtools.build.lib.rules.java.JavaSourceJarsProvider; -import com.google.devtools.build.lib.rules.java.JavaStrictCompilationArgsProvider; import com.google.devtools.build.lib.rules.java.ProguardLibrary; import com.google.devtools.build.lib.rules.java.ProguardSpecProvider; @@ -59,7 +58,10 @@ public ConfiguredTarget create(final RuleContext ruleContext) ruleContext.getPrerequisites("deps", JavaProtoLibraryAspectProvider.class); JavaCompilationArgsProvider dependencyArgsProviders = - constructJcapFromAspectDeps(ruleContext, javaProtoLibraryAspectProviders); + constructJcapFromAspectDeps( + ruleContext, + javaProtoLibraryAspectProviders, + ruleContext.getFragment(JavaConfiguration.class).isJlplStrictDepsEnforced()); // We assume that the runtime jars will not have conflicting artifacts // with the same root relative path @@ -83,14 +85,6 @@ public ConfiguredTarget create(final RuleContext ruleContext) JavaInfo.Builder javaInfoBuilder = JavaInfo.Builder.create() .addProvider(JavaCompilationArgsProvider.class, dependencyArgsProviders); - if (ruleContext.getFragment(JavaConfiguration.class).isJlplStrictDepsEnforced()) { - JavaStrictCompilationArgsProvider strictDependencyArgsProviders = - new JavaStrictCompilationArgsProvider( - constructJcapFromAspectDeps( - ruleContext, javaProtoLibraryAspectProviders, /* alwaysStrict= */ true)); - javaInfoBuilder.addProvider( - JavaStrictCompilationArgsProvider.class, strictDependencyArgsProviders); - } JavaInfo javaInfo = javaInfoBuilder .addProvider(JavaSourceJarsProvider.class, sourceJarsProvider) 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 3414e232726f46..81edc70de20dd8 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 @@ -34,7 +34,6 @@ import com.google.devtools.build.lib.rules.java.JavaInfo; import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider; import com.google.devtools.build.lib.rules.java.JavaSourceJarsProvider; -import com.google.devtools.build.lib.rules.java.JavaStrictCompilationArgsProvider; /** Implementation of the java_proto_library rule. */ public class JavaProtoLibrary implements RuleConfiguredTargetFactory { @@ -54,11 +53,8 @@ public ConfiguredTarget create(final RuleContext ruleContext) ruleContext.getPrerequisites("deps", JavaProtoLibraryAspectProvider.class); JavaCompilationArgsProvider dependencyArgsProviders = - constructJcapFromAspectDeps(ruleContext, javaProtoLibraryAspectProviders); - JavaStrictCompilationArgsProvider strictDependencyArgsProviders = - new JavaStrictCompilationArgsProvider( - constructJcapFromAspectDeps( - ruleContext, javaProtoLibraryAspectProviders, /* alwaysStrict= */ true)); + constructJcapFromAspectDeps( + ruleContext, javaProtoLibraryAspectProviders, /* alwaysStrict= */ true); // We assume that the runtime jars will not have conflicting artifacts // with the same root relative path @@ -82,7 +78,6 @@ public ConfiguredTarget create(final RuleContext ruleContext) JavaInfo javaInfo = JavaInfo.Builder.create() .addProvider(JavaCompilationArgsProvider.class, dependencyArgsProviders) - .addProvider(JavaStrictCompilationArgsProvider.class, strictDependencyArgsProviders) .addProvider(JavaSourceJarsProvider.class, sourceJarsProvider) .addProvider(JavaRuleOutputJarsProvider.class, JavaRuleOutputJarsProvider.EMPTY) .build();