diff options
author | carmi <carmi@google.com> | 2017-08-28 22:08:18 +0200 |
---|---|---|
committer | Vladimir Moskva <vladmos@google.com> | 2017-08-29 13:32:08 +0200 |
commit | 8c76d5f82d290b46d67189bcc8bd08a441094da1 (patch) | |
tree | 00ac9b560f2679f9761f836eb472b1b7102b2e4b /src/main | |
parent | 59787f15a83b0262ad5c3964db821bfc5c64dbd1 (diff) |
Clean up after rolling out --jplNonStrictDepsLikePl.
RELNOTES: None
PiperOrigin-RevId: 166745722
Diffstat (limited to 'src/main')
3 files changed, 30 insertions, 38 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkCommon.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkCommon.java index da255f787e..2567876b66 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkCommon.java @@ -13,6 +13,8 @@ // limitations under the License. package com.google.devtools.build.lib.rules.java; +import static com.google.devtools.build.lib.rules.java.JavaCompilationArgs.ClasspathType.BOTH; + import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.devtools.build.lib.actions.Artifact; @@ -26,7 +28,6 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.Order; import com.google.devtools.build.lib.packages.Provider; -import com.google.devtools.build.lib.rules.java.proto.StrictDepsUtils; import com.google.devtools.build.lib.skylarkinterface.Param; import com.google.devtools.build.lib.skylarkinterface.ParamType; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; @@ -421,16 +422,18 @@ public class JavaSkylarkCommon { return JavaInfo.merge(providers); } + // TODO(b/65113771): Remove this method because it's incorrect. @SkylarkCallable( - name = "make_non_strict", - doc = "Returns a new Java provider whose direct-jars part is the union of both the direct and" - + " indirect jars of the given Java provider.", - // There's only one mandatory positional, the Java provider. - mandatoryPositionals = 1 + name = "make_non_strict", + doc = + "Returns a new Java provider whose direct-jars part is the union of both the direct and" + + " indirect jars of the given Java provider.", + // There's only one mandatory positional, the Java provider. + mandatoryPositionals = 1 ) public static JavaInfo makeNonStrict(JavaInfo javaInfo) { JavaCompilationArgsProvider directCompilationArgs = - StrictDepsUtils.makeNonStrict(javaInfo.getProvider(JavaCompilationArgsProvider.class)); + makeNonStrict(javaInfo.getProvider(JavaCompilationArgsProvider.class)); return JavaInfo.Builder.copyOf(javaInfo) // Overwrites the old provider. @@ -438,6 +441,22 @@ public class JavaSkylarkCommon { .build(); } + /** + * Returns a new JavaCompilationArgsProvider whose direct-jars part is the union of both the + * direct and indirect jars of 'provider'. + */ + private static JavaCompilationArgsProvider makeNonStrict(JavaCompilationArgsProvider provider) { + JavaCompilationArgs.Builder directCompilationArgs = JavaCompilationArgs.builder(); + directCompilationArgs + .addTransitiveArgs(provider.getJavaCompilationArgs(), BOTH) + .addTransitiveArgs(provider.getRecursiveJavaCompilationArgs(), BOTH); + return JavaCompilationArgsProvider.create( + directCompilationArgs.build(), + provider.getRecursiveJavaCompilationArgs(), + provider.getCompileTimeJavaDependencyArtifacts(), + provider.getRunTimeJavaDependencyArtifacts()); + } + private static StrictDepsMode getStrictDepsMode(String strictDepsMode) { switch (strictDepsMode) { case "OFF": diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/StrictDepsUtils.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/StrictDepsUtils.java index fdacd71355..73230385ee 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/StrictDepsUtils.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/StrictDepsUtils.java @@ -23,7 +23,6 @@ import com.google.devtools.build.lib.analysis.WrappingProvider; 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.proto.ProtoConfiguration; public class StrictDepsUtils { @@ -42,10 +41,7 @@ public class StrictDepsUtils { javaProtoLibraryAspectProviders, JavaCompilationArgsProvider.class)); if (StrictDepsUtils.isStrictDepsJavaProtoLibrary(ruleContext)) { return strictCompProvider; - } else if (ruleContext - .getConfiguration() - .getFragment(ProtoConfiguration.class) - .jplNonStrictDepsLikePl()) { + } else { JavaCompilationArgs.Builder nonStrictDirectJars = JavaCompilationArgs.builder(); for (JavaProtoLibraryAspectProvider p : javaProtoLibraryAspectProviders) { nonStrictDirectJars.addTransitiveArgs(p.getNonStrictCompArgs(), BOTH); @@ -55,8 +51,6 @@ public class StrictDepsUtils { strictCompProvider.getRecursiveJavaCompilationArgs(), strictCompProvider.getCompileTimeJavaDependencyArtifacts(), strictCompProvider.getRunTimeJavaDependencyArtifacts()); - } else { - return StrictDepsUtils.makeNonStrict(strictCompProvider); } } @@ -94,20 +88,4 @@ public class StrictDepsUtils { } return (boolean) ruleContext.getRule().getAttributeContainer().getAttr("strict_deps"); } - - /** - * Returns a new JavaCompilationArgsProvider whose direct-jars part is the union of both the - * direct and indirect jars of 'provider'. - */ - public static JavaCompilationArgsProvider makeNonStrict(JavaCompilationArgsProvider provider) { - JavaCompilationArgs.Builder directCompilationArgs = JavaCompilationArgs.builder(); - directCompilationArgs - .addTransitiveArgs(provider.getJavaCompilationArgs(), BOTH) - .addTransitiveArgs(provider.getRecursiveJavaCompilationArgs(), BOTH); - return JavaCompilationArgsProvider.create( - directCompilationArgs.build(), - provider.getRecursiveJavaCompilationArgs(), - provider.getCompileTimeJavaDependencyArtifacts(), - provider.getRunTimeJavaDependencyArtifacts()); - } } diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoConfiguration.java index 36c1e965d9..9b7637d0ae 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoConfiguration.java @@ -167,16 +167,15 @@ public class ProtoConfiguration extends Fragment { ) public boolean correctRollupTransitiveProtoRuntimes; + // TODO(b/62710272): Remove once there's no 'jplNonStrictDepsLikePl' in the global blazerc. @Option( name = "jplNonStrictDepsLikePl", - defaultValue = "false", + defaultValue = "true", category = "rollout", documentationCategory = OptionDocumentationCategory.UNDOCUMENTED, effectTags = {OptionEffectTag.AFFECTS_OUTPUTS, OptionEffectTag.LOADING_AND_ANALYSIS}, metadataTags = {OptionMetadataTag.INCOMPATIBLE_CHANGE}, - help = - "Roll-out flag for changing behavior of non-strict java_xxx_proto_library. " - + "See commit description for details. DO NOT USE." + help = "ignored" ) public boolean jplNonStrictDepsLikePl; @@ -193,7 +192,6 @@ public class ProtoConfiguration extends Fragment { host.strictProtoDeps = strictProtoDeps; host.ccProtoLibraryHeaderSuffixes = ccProtoLibraryHeaderSuffixes; host.ccProtoLibrarySourceSuffixes = ccProtoLibrarySourceSuffixes; - host.jplNonStrictDepsLikePl = jplNonStrictDepsLikePl; return host; } } @@ -272,7 +270,4 @@ public class ProtoConfiguration extends Fragment { return ccProtoLibrarySourceSuffixes; } - public boolean jplNonStrictDepsLikePl() { - return options.jplNonStrictDepsLikePl; - } } |