From e6febea501c0763b18e31fd2094aab928faf53e5 Mon Sep 17 00:00:00 2001 From: cushon Date: Tue, 24 Apr 2018 00:59:04 -0700 Subject: 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 --- .../lib/bazel/rules/java/BazelJavaSemantics.java | 1 - .../rules/android/AndroidBinaryMobileInstall.java | 2 +- .../build/lib/rules/android/AndroidCommon.java | 2 +- .../lib/rules/android/AndroidLocalTestBase.java | 1 - .../build/lib/rules/android/DexArchiveAspect.java | 6 +-- .../devtools/build/lib/rules/java/JavaCommon.java | 9 ++-- .../rules/java/JavaCompilationArgsProvider.java | 51 +++++++++++++++++++--- .../devtools/build/lib/rules/java/JavaInfo.java | 29 ++---------- .../build/lib/rules/java/JavaInfoBuildHelper.java | 2 +- .../build/lib/rules/java/JavaLibraryHelper.java | 9 ++-- .../lib/rules/java/JavaSkylarkApiProvider.java | 4 +- .../build/lib/rules/java/proto/ActionReuser.java | 2 +- .../lib/rules/java/proto/JavaLiteProtoAspect.java | 5 +-- .../lib/rules/java/proto/JavaLiteProtoLibrary.java | 3 +- .../lib/rules/java/proto/JavaProtoAspect.java | 5 +-- .../lib/rules/java/proto/JavaProtoLibrary.java | 3 +- .../lib/rules/java/proto/StrictDepsUtils.java | 4 +- .../build/lib/rules/objc/J2ObjcAspect.java | 3 +- 18 files changed, 73 insertions(+), 68 deletions(-) (limited to 'src/main/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 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 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 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 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 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,21 +54,58 @@ 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}. * - *

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 getDirectCompileTimeJars() { + return getJavaCompilationArgs().getCompileTimeJars(); + } + + /** + * Returns non-recursively collected, non-interface compile-time jars. + * + *

If you're reading this, you probably want {@link #getTransitiveCompileTimeJars}. + */ + public NestedSet getFullCompileTimeJars() { + return getJavaCompilationArgs().getFullCompileTimeJars(); + } + + /** + * Returns recursively collected compile-time jars. This is the compile-time classpath passed to + * the compiler. + */ + public NestedSet getTransitiveCompileTimeJars() { + return getRecursiveJavaCompilationArgs().getCompileTimeJars(); + } + + /** Returns recursively collected runtime jars. */ + public NestedSet getRuntimeJars() { + return getRecursiveJavaCompilationArgs().getRuntimeJars(); + } + + /** Returns recursively collected instrumentation metadata. */ + public NestedSet getInstrumentationMetadata() { + return getRecursiveJavaCompilationArgs().getInstrumentationMetadata(); + } + /** * Returns non-recursively collected Java dependency artifacts for * computing a restricted classpath when building this target (called when 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 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 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 getTransitiveDeps() { return getProviderAsNestedSet( JavaCompilationArgsProvider.class, - JavaCompilationArgsProvider::getRecursiveJavaCompilationArgs, - JavaCompilationArgs::getCompileTimeJars); + JavaCompilationArgsProvider::getTransitiveCompileTimeJars); } @SkylarkCallable( @@ -599,9 +595,7 @@ public final class JavaInfo extends NativeInfo { ) public NestedSet 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

- NestedSet getProviderAsNestedSet( - Class

providerClass, - Function firstMapper, - Function> 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 directJars = argsProvider.getJavaCompilationArgs().getCompileTimeJars(); + NestedSet 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 deps, - JavaCompilationArgs directJars, + JavaCompilationArgsProvider directJars, ImmutableList 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 compileTimeJars = - compArgsProvider.getRecursiveJavaCompilationArgs().getCompileTimeJars(); + NestedSet compileTimeJars = compArgsProvider.getTransitiveCompileTimeJars(); if (!compileTimeJars.isEmpty()) { argBuilder.addExecPaths("-classpath", VectorArg.join(":").each(compileTimeJars)); } -- cgit v1.2.3