aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar cushon <cushon@google.com>2018-04-24 00:59:04 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-24 01:00:10 -0700
commite6febea501c0763b18e31fd2094aab928faf53e5 (patch)
tree77d970e32d344e104c19f16b79c1f7811ce34a86 /src/main/java
parent44ae7946052f3a6c4c1042e6b97854fe4c13e626 (diff)
Add getters to JavaCompilationArgsProvider
for direct, transitive, and full compile-time jars; runtime jars; and instrumentation metadata. These are trivial wrappers around the corresponding getters on the recursive and non-recursive JavaCompilationArgs objects. This is a no-op refactoring in preparation for flatting JavaCompilationArgs into JavaCompilationArgsProvider. PiperOrigin-RevId: 194047064
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java1
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryMobileInstall.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java1
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationArgsProvider.java51
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java29
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiProvider.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/proto/ActionReuser.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoLibrary.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoLibrary.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/proto/StrictDepsUtils.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java3
18 files changed, 73 insertions, 68 deletions
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 13879ef534..4efc58365b 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
@@ -514,7 +514,6 @@ public class BazelJavaSemantics implements JavaSemantics {
// dep.getProvider(JavaCompilationArgsProvider.class).getRecursiveJavaCompilationArgs(),
// so we reuse the logic within JavaCompilationArgs to handle both scenarios.
return JavaCompilationArgsProvider.legacyFromTargets(ImmutableList.copyOf(deps))
- .getRecursiveJavaCompilationArgs()
.getRuntimeJars();
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryMobileInstall.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryMobileInstall.java
index 7c40011c0a..3d6ac89a1e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryMobileInstall.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryMobileInstall.java
@@ -364,7 +364,7 @@ public final class AndroidBinaryMobileInstall {
JavaTargetAttributes attributes =
new JavaTargetAttributes.Builder(javaSemantics)
- .addRuntimeClassPathEntries(provider.getJavaCompilationArgs().getRuntimeJars())
+ .addRuntimeClassPathEntries(provider.getRuntimeJars())
.build();
Function<Artifact, Artifact> desugaredJars = Functions.identity();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java
index 6abbb30262..db2e05efe9 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java
@@ -182,7 +182,7 @@ public class AndroidCommon {
builder.addAll(runtimeJars);
for (JavaCompilationArgsProvider provider :
JavaInfo.getProvidersFromListOfTargets(JavaCompilationArgsProvider.class, deps)) {
- builder.addTransitive(provider.getRecursiveJavaCompilationArgs().getRuntimeJars());
+ builder.addTransitive(provider.getRuntimeJars());
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java
index 3ae6f66beb..76d5ff660e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java
@@ -512,7 +512,6 @@ public abstract class AndroidLocalTestBase implements RuleConfiguredTargetFactor
// dep.getProvider(JavaCompilationArgsProvider.class).getRecursiveJavaCompilationArgs(),
// so we reuse the logic within JavaCompilationArgs to handle both scenarios.
return JavaCompilationArgsProvider.legacyFromTargets(ImmutableList.of(deps))
- .getRecursiveJavaCompilationArgs()
.getRuntimeJars();
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java b/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java
index 8af72b21a7..8091451db7 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java
@@ -248,9 +248,7 @@ public final class DexArchiveAspect extends NativeAspectClass implements Configu
if (javaInfo != null) {
// These are all transitive hjars of dependencies and hjar of the jar itself
NestedSet<Artifact> compileTimeClasspath =
- getJavaCompilationArgsProvider(base, ruleContext)
- .getRecursiveJavaCompilationArgs()
- .getCompileTimeJars();
+ getJavaCompilationArgsProvider(base, ruleContext).getTransitiveCompileTimeJars();
// For android_* targets we need to honor their bootclasspath (nicer in general to do so)
ImmutableList<Artifact> bootclasspath = getBootclasspath(base, ruleContext);
@@ -276,7 +274,7 @@ public final class DexArchiveAspect extends NativeAspectClass implements Configu
WrappingProvider.Helper.getWrappedProvider(
base, JavaProtoLibraryAspectProvider.class, JavaCompilationArgsProvider.class);
if (javaCompilationArgsProvider != null) {
- return javaCompilationArgsProvider.getJavaCompilationArgs().getRuntimeJars();
+ return javaCompilationArgsProvider.getRuntimeJars();
}
}
} else {
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 14e3bbb08f..0ec151e264 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
@@ -774,11 +774,10 @@ public class JavaCommon {
private void processRuntimeDeps(JavaTargetAttributes.Builder attributes) {
List<TransitiveInfoCollection> runtimeDepInfo = getRuntimeDeps(ruleContext);
checkRuntimeDeps(ruleContext, runtimeDepInfo);
- JavaCompilationArgs args =
- JavaCompilationArgsProvider.legacyFromTargets(runtimeDepInfo)
- .getRecursiveJavaCompilationArgs();
- attributes.addRuntimeClassPathEntries(args.getRuntimeJars());
- attributes.addInstrumentationMetadataEntries(args.getInstrumentationMetadata());
+ JavaCompilationArgsProvider provider =
+ JavaCompilationArgsProvider.legacyFromTargets(runtimeDepInfo);
+ attributes.addRuntimeClassPathEntries(provider.getRuntimeJars());
+ attributes.addInstrumentationMetadataEntries(provider.getInstrumentationMetadata());
}
/**
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 7ca70e2095..390bf340c7 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
@@ -54,22 +54,59 @@ public abstract class JavaCompilationArgsProvider implements TransitiveInfoProvi
}
/**
- * Returns non-recursively collected Java compilation information for
- * building this target (called when strict_java_deps = 1).
+ * Non-recursively collected Java compilation information, used when Strict Java Deps is enabled
+ * to implement {@link #getDirectCompileTimeJars}.
*
- * <p>Note that some of the parameters are still collected from the complete
- * transitive closure. The non-recursive collection applies mainly to
- * compile-time jars.
+ * @deprecated use {@link #getDirectCompileTimeJars} instead.
*/
+ @Deprecated
public abstract JavaCompilationArgs getJavaCompilationArgs();
/**
- * Returns recursively collected Java compilation information for building
- * this target (called when strict_java_deps = 0).
+ * Returns recursively collected Java compilation information.
+ *
+ * @deprecated use one of: {@link #getTransitiveCompileTimeJars}, {@link #getRuntimeJars}, {@link
+ * #getInstrumentationMetadata} instead.
*/
+ @Deprecated
public abstract JavaCompilationArgs getRecursiveJavaCompilationArgs();
/**
+ * Returns non-recursively collected compile-time jars. This is the set of jars that compilations
+ * are permitted to reference with Strict Java Deps enabled.
+ */
+ public NestedSet<Artifact> getDirectCompileTimeJars() {
+ return getJavaCompilationArgs().getCompileTimeJars();
+ }
+
+ /**
+ * Returns non-recursively collected, non-interface compile-time jars.
+ *
+ * <p>If you're reading this, you probably want {@link #getTransitiveCompileTimeJars}.
+ */
+ public NestedSet<Artifact> getFullCompileTimeJars() {
+ return getJavaCompilationArgs().getFullCompileTimeJars();
+ }
+
+ /**
+ * Returns recursively collected compile-time jars. This is the compile-time classpath passed to
+ * the compiler.
+ */
+ public NestedSet<Artifact> getTransitiveCompileTimeJars() {
+ return getRecursiveJavaCompilationArgs().getCompileTimeJars();
+ }
+
+ /** Returns recursively collected runtime jars. */
+ public NestedSet<Artifact> getRuntimeJars() {
+ return getRecursiveJavaCompilationArgs().getRuntimeJars();
+ }
+
+ /** Returns recursively collected instrumentation metadata. */
+ public NestedSet<Artifact> getInstrumentationMetadata() {
+ return getRecursiveJavaCompilationArgs().getInstrumentationMetadata();
+ }
+
+ /**
* Returns non-recursively collected Java dependency artifacts for
* computing a restricted classpath when building this target (called when
* strict_java_deps = 1).
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 24ea6be658..610cdf9349 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
@@ -506,8 +506,7 @@ public final class JavaInfo extends NativeInfo {
NestedSet<Artifact> compileTimeJars =
getProviderAsNestedSet(
JavaCompilationArgsProvider.class,
- JavaCompilationArgsProvider::getJavaCompilationArgs,
- JavaCompilationArgs::getCompileTimeJars);
+ JavaCompilationArgsProvider::getDirectCompileTimeJars);
return SkylarkNestedSet.of(Artifact.class, compileTimeJars);
}
@@ -524,9 +523,7 @@ public final class JavaInfo extends NativeInfo {
public SkylarkNestedSet getFullCompileTimeJars() {
NestedSet<Artifact> fullCompileTimeJars =
getProviderAsNestedSet(
- JavaCompilationArgsProvider.class,
- JavaCompilationArgsProvider::getJavaCompilationArgs,
- JavaCompilationArgs::getFullCompileTimeJars);
+ JavaCompilationArgsProvider.class, JavaCompilationArgsProvider::getFullCompileTimeJars);
return SkylarkNestedSet.of(Artifact.class, fullCompileTimeJars);
}
@@ -588,8 +585,7 @@ public final class JavaInfo extends NativeInfo {
public NestedSet<Artifact> getTransitiveDeps() {
return getProviderAsNestedSet(
JavaCompilationArgsProvider.class,
- JavaCompilationArgsProvider::getRecursiveJavaCompilationArgs,
- JavaCompilationArgs::getCompileTimeJars);
+ JavaCompilationArgsProvider::getTransitiveCompileTimeJars);
}
@SkylarkCallable(
@@ -599,9 +595,7 @@ public final class JavaInfo extends NativeInfo {
)
public NestedSet<Artifact> getTransitiveRuntimeDeps() {
return getProviderAsNestedSet(
- JavaCompilationArgsProvider.class,
- JavaCompilationArgsProvider::getRecursiveJavaCompilationArgs,
- JavaCompilationArgs::getRuntimeJars);
+ JavaCompilationArgsProvider.class, JavaCompilationArgsProvider::getRuntimeJars);
}
@SkylarkCallable(
@@ -651,21 +645,6 @@ public final class JavaInfo extends NativeInfo {
return mapper.apply(provider);
}
- /**
- * The same as {@link JavaInfo#getProviderAsNestedSet(Class, Function)}, but uses
- * sequence of two mappers.
- *
- * @see JavaInfo#getProviderAsNestedSet(Class, Function)
- */
- private <P extends TransitiveInfoProvider, S extends SkylarkValue, V>
- NestedSet<S> getProviderAsNestedSet(
- Class<P> providerClass,
- Function<P, V> firstMapper,
- Function<V, NestedSet<S>> secondMapper) {
- return getProviderAsNestedSet(providerClass, firstMapper.andThen(secondMapper));
- }
-
-
@Override
public boolean equals(Object otherObject) {
if (this == otherObject) {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
index dd8298d9fd..7a6beba7cd 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
@@ -440,7 +440,7 @@ final class JavaInfoBuildHelper {
Runfiles runfiles =
new Runfiles.Builder(skylarkRuleContext.getWorkspaceName())
.addTransitiveArtifactsWrappedInStableOrder(
- javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getRuntimeJars())
+ javaCompilationArgsProvider.getRuntimeJars())
.build();
JavaPluginInfoProvider transitivePluginsProvider =
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java
index 97c655b171..3044cb3489 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java
@@ -341,16 +341,15 @@ public final class JavaLibraryHelper {
JavaCompilationArgsProvider argsProvider = JavaCompilationArgsProvider.merge(deps);
if (isStrict()) {
- NestedSet<Artifact> directJars = argsProvider.getJavaCompilationArgs().getCompileTimeJars();
+ NestedSet<Artifact> directJars = argsProvider.getDirectCompileTimeJars();
if (directJars != null) {
attributes.addDirectJars(directJars);
}
}
- JavaCompilationArgs recursiveArgs = argsProvider.getRecursiveJavaCompilationArgs();
- attributes.addCompileTimeClassPathEntries(recursiveArgs.getCompileTimeJars());
- attributes.addRuntimeClassPathEntries(recursiveArgs.getRuntimeJars());
- attributes.addInstrumentationMetadataEntries(recursiveArgs.getInstrumentationMetadata());
+ attributes.addCompileTimeClassPathEntries(argsProvider.getTransitiveCompileTimeJars());
+ attributes.addRuntimeClassPathEntries(argsProvider.getRuntimeJars());
+ attributes.addInstrumentationMetadataEntries(argsProvider.getInstrumentationMetadata());
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiProvider.java
index 70d2edf85d..fe3e5d0fb0 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiProvider.java
@@ -102,7 +102,7 @@ public final class JavaSkylarkApiProvider extends SkylarkApiProvider {
if (compilationArgsProvider == null) {
return NestedSetBuilder.emptySet(Order.STABLE_ORDER);
}
- return compilationArgsProvider.getRecursiveJavaCompilationArgs().getCompileTimeJars();
+ return compilationArgsProvider.getTransitiveCompileTimeJars();
}
@SkylarkCallable(
@@ -116,7 +116,7 @@ public final class JavaSkylarkApiProvider extends SkylarkApiProvider {
if (compilationArgsProvider == null) {
return NestedSetBuilder.emptySet(Order.STABLE_ORDER);
}
- return compilationArgsProvider.getRecursiveJavaCompilationArgs().getRuntimeJars();
+ return compilationArgsProvider.getRuntimeJars();
}
@SkylarkCallable(
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
index 49cd3c8f98..8f4479eecb 100644
--- 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
@@ -103,7 +103,7 @@ public class ActionReuser {
transitiveOutputJars.build(),
createNonStrictCompilationArgsProvider(
javaProtoLibraryAspectProviders,
- JavaCompilationArgs.builder().merge(directJars).build(),
+ compilationArgsProvider,
javaApi.getProtoRuntimeImmutable())));
return true;
}
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 8a4056bd06..31f7d9e84a 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
@@ -198,8 +198,7 @@ public class JavaLiteProtoAspect extends NativeAspectClass implements Configured
transitiveOutputJars.add(outputJar);
Artifact compileTimeJar =
- getOnlyElement(
- generatedCompilationArgsProvider.getJavaCompilationArgs().getCompileTimeJars());
+ getOnlyElement(generatedCompilationArgsProvider.getDirectCompileTimeJars());
// TODO(carmi): Expose to native rules
JavaRuleOutputJarsProvider ruleOutputJarsProvider =
JavaRuleOutputJarsProvider.builder()
@@ -232,7 +231,7 @@ public class JavaLiteProtoAspect extends NativeAspectClass implements Configured
transitiveOutputJars.build(),
createNonStrictCompilationArgsProvider(
javaProtoLibraryAspectProviders,
- generatedCompilationArgsProvider.getJavaCompilationArgs(),
+ generatedCompilationArgsProvider,
aspectCommon.getProtoRuntimeDeps())));
}
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 89a3d573ca..0608a1d52f 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
@@ -62,8 +62,7 @@ public class JavaLiteProtoLibrary implements RuleConfiguredTargetFactory {
// with the same root relative path
Runfiles runfiles =
new Runfiles.Builder(ruleContext.getWorkspaceName())
- .addTransitiveArtifactsWrappedInStableOrder(
- dependencyArgsProviders.getRecursiveJavaCompilationArgs().getRuntimeJars())
+ .addTransitiveArtifactsWrappedInStableOrder(dependencyArgsProviders.getRuntimeJars())
.build();
JavaSourceJarsProvider sourceJarsProvider =
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 81845ba13f..4a4eab01e0 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
@@ -211,8 +211,7 @@ public class JavaProtoAspect extends NativeAspectClass implements ConfiguredAspe
transitiveOutputJars.add(outputJar);
Artifact compileTimeJar =
- getOnlyElement(
- generatedCompilationArgsProvider.getJavaCompilationArgs().getCompileTimeJars());
+ getOnlyElement(generatedCompilationArgsProvider.getDirectCompileTimeJars());
// TODO(carmi): Expose to native rules
JavaRuleOutputJarsProvider ruleOutputJarsProvider =
JavaRuleOutputJarsProvider.builder()
@@ -244,7 +243,7 @@ public class JavaProtoAspect extends NativeAspectClass implements ConfiguredAspe
transitiveOutputJars.build(),
createNonStrictCompilationArgsProvider(
javaProtoLibraryAspectProviders,
- generatedCompilationArgsProvider.getJavaCompilationArgs(),
+ generatedCompilationArgsProvider,
aspectCommon.getProtoRuntimeDeps())));
}
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 be7e19a975..6296aca835 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
@@ -57,8 +57,7 @@ public class JavaProtoLibrary implements RuleConfiguredTargetFactory {
// with the same root relative path
Runfiles runfiles =
new Runfiles.Builder(ruleContext.getWorkspaceName())
- .addTransitiveArtifactsWrappedInStableOrder(
- dependencyArgsProviders.getRecursiveJavaCompilationArgs().getRuntimeJars())
+ .addTransitiveArtifactsWrappedInStableOrder(dependencyArgsProviders.getRuntimeJars())
.build();
JavaSourceJarsProvider sourceJarsProvider =
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 28f8219bea..85adb698af 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
@@ -61,13 +61,13 @@ public class StrictDepsUtils {
*/
public static JavaCompilationArgs createNonStrictCompilationArgsProvider(
Iterable<JavaProtoLibraryAspectProvider> deps,
- JavaCompilationArgs directJars,
+ JavaCompilationArgsProvider directJars,
ImmutableList<TransitiveInfoCollection> protoRuntimes) {
JavaCompilationArgs.Builder result = JavaCompilationArgs.builder();
for (JavaProtoLibraryAspectProvider p : deps) {
result.addTransitiveArgs(p.getNonStrictCompArgs(), BOTH);
}
- result.addTransitiveArgs(directJars, BOTH);
+ result.addTransitiveCompilationArgs(directJars, /* recursive= */ false, BOTH);
for (TransitiveInfoCollection t : protoRuntimes) {
JavaCompilationArgsProvider p = JavaInfo.getProvider(JavaCompilationArgsProvider.class, t);
if (p != null) {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
index 6ff76b83da..f9095a8d0e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
@@ -528,8 +528,7 @@ public class J2ObjcAspect extends NativeAspectClass implements ConfiguredAspectF
argBuilder.add("-d").addPath(j2ObjcSource.getObjcFilePath());
- NestedSet<Artifact> compileTimeJars =
- compArgsProvider.getRecursiveJavaCompilationArgs().getCompileTimeJars();
+ NestedSet<Artifact> compileTimeJars = compArgsProvider.getTransitiveCompileTimeJars();
if (!compileTimeJars.isEmpty()) {
argBuilder.addExecPaths("-classpath", VectorArg.join(":").each(compileTimeJars));
}