diff options
author | cushon <cushon@google.com> | 2018-04-24 00:59:04 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-04-24 01:00:10 -0700 |
commit | e6febea501c0763b18e31fd2094aab928faf53e5 (patch) | |
tree | 77d970e32d344e104c19f16b79c1f7811ce34a86 | |
parent | 44ae7946052f3a6c4c1042e6b97854fe4c13e626 (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
23 files changed, 165 insertions, 339 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)); } diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AarImportTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AarImportTest.java index 7c150b1d72..4e5f05e1d7 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/android/AarImportTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/android/AarImportTest.java @@ -388,10 +388,11 @@ public class AarImportTest extends BuildViewTestCase { JavaCompilationArgsProvider provider = JavaInfo .getProvider(JavaCompilationArgsProvider.class, aarImportTarget); assertThat(provider).isNotNull(); - assertThat(artifactsToStrings(provider.getJavaCompilationArgs().getRuntimeJars())) + assertThat(artifactsToStrings(provider.getRuntimeJars())) .containsExactly( "bin a/_aar/bar/classes_and_libs_merged.jar", "bin a/_aar/foo/classes_and_libs_merged.jar", + "bin a/_aar/baz/classes_and_libs_merged.jar", "src java/baz.jar"); } diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java index 3fa82b319a..e066afcd2e 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java @@ -373,9 +373,9 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase { useConfiguration("--strict_java_deps=ERROR"); ConfiguredTarget a = getConfiguredTarget("//java/peach:a"); - Iterable<String> compileTimeJars = ActionsTestUtil.baseArtifactNames( - JavaInfo.getProvider(JavaCompilationArgsProvider.class, a) - .getJavaCompilationArgs().getCompileTimeJars()); + Iterable<String> compileTimeJars = + ActionsTestUtil.baseArtifactNames( + JavaInfo.getProvider(JavaCompilationArgsProvider.class, a).getDirectCompileTimeJars()); assertThat(compileTimeJars).contains("libb-hjar.jar"); assertThat(compileTimeJars).doesNotContain("libc-hjar.jar"); assertNoEvents(); @@ -990,23 +990,25 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase { JavaCompilationArgsProvider argsProvider = JavaInfo.getProvider(JavaCompilationArgsProvider.class, foo); - assertThat(argsProvider.getJavaCompilationArgs().getCompileTimeJars()) - .contains(ActionsTestUtil.getFirstArtifactEndingWith( - actionsTestUtil().artifactClosureOf(neverLinkFilesToBuild), - "lib_neverlink_resources.jar")); - assertThat(argsProvider.getJavaCompilationArgs().getCompileTimeJars()) - .contains(ActionsTestUtil.getFirstArtifactEndingWith( - actionsTestUtil().artifactClosureOf(libFilesToBuild), - "lib_resources.jar")); + assertThat(argsProvider.getDirectCompileTimeJars()) + .contains( + ActionsTestUtil.getFirstArtifactEndingWith( + actionsTestUtil().artifactClosureOf(neverLinkFilesToBuild), + "lib_neverlink_resources.jar")); + assertThat(argsProvider.getDirectCompileTimeJars()) + .contains( + ActionsTestUtil.getFirstArtifactEndingWith( + actionsTestUtil().artifactClosureOf(libFilesToBuild), "lib_resources.jar")); - assertThat(argsProvider.getJavaCompilationArgs().getRuntimeJars()) - .doesNotContain(ActionsTestUtil.getFirstArtifactEndingWith( - actionsTestUtil().artifactClosureOf(neverLinkFilesToBuild), - "lib_neverlink_resources.jar")); - assertThat(argsProvider.getJavaCompilationArgs().getRuntimeJars()) - .contains(ActionsTestUtil.getFirstArtifactEndingWith( - actionsTestUtil().artifactClosureOf(libFilesToBuild), - "lib_resources.jar")); + assertThat(argsProvider.getRuntimeJars()) + .doesNotContain( + ActionsTestUtil.getFirstArtifactEndingWith( + actionsTestUtil().artifactClosureOf(neverLinkFilesToBuild), + "lib_neverlink_resources.jar")); + assertThat(argsProvider.getRuntimeJars()) + .contains( + ActionsTestUtil.getFirstArtifactEndingWith( + actionsTestUtil().artifactClosureOf(libFilesToBuild), "lib_resources.jar")); } @Test @@ -1698,16 +1700,12 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase { assertThat(bClasspath).isEmpty(); assertThat(cClasspath) .containsAllIn( - JavaInfo - .getProvider(JavaCompilationArgsProvider.class, aTarget) - .getJavaCompilationArgs() - .getCompileTimeJars()); + JavaInfo.getProvider(JavaCompilationArgsProvider.class, aTarget) + .getDirectCompileTimeJars()); assertThat(cClasspath) .containsAllIn( - JavaInfo - .getProvider(JavaCompilationArgsProvider.class, bTarget) - .getJavaCompilationArgs() - .getCompileTimeJars()); + JavaInfo.getProvider(JavaCompilationArgsProvider.class, bTarget) + .getDirectCompileTimeJars()); assertNoEvents(); } diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/JavaInfoSkylarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/JavaInfoSkylarkApiTest.java index cee3396af3..4619b7a5ea 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/java/JavaInfoSkylarkApiTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/java/JavaInfoSkylarkApiTest.java @@ -52,32 +52,13 @@ public class JavaInfoSkylarkApiTest extends BuildViewTestCase { JavaCompilationArgsProvider javaCompilationArgsProvider = fetchJavaInfo().getProvider(JavaCompilationArgsProvider.class); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getRuntimeJars())) - .containsExactly("foo/my_skylark_rule_lib.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getFullCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getDirectCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getCompileTimeJars())) - .containsExactly("foo/my_skylark_rule_lib.jar"); - - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getRuntimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getFullCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider - .getRecursiveJavaCompilationArgs() - .getFullCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getRuntimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getTransitiveCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar"); } @@ -101,32 +82,14 @@ public class JavaInfoSkylarkApiTest extends BuildViewTestCase { JavaCompilationArgsProvider javaCompilationArgsProvider = fetchJavaInfo().getProvider(JavaCompilationArgsProvider.class); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getRuntimeJars())) - .containsExactly("foo/my_skylark_rule_lib.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getFullCompileTimeJars())) - .containsExactly("foo/my_skylark_rule_lib.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getDirectCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib-ijar.jar"); - - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getRuntimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getFullCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider - .getRecursiveJavaCompilationArgs() - .getFullCompileTimeJars())) + + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getRuntimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getTransitiveCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib-ijar.jar"); } @@ -181,32 +144,13 @@ public class JavaInfoSkylarkApiTest extends BuildViewTestCase { JavaCompilationArgsProvider javaCompilationArgsProvider = fetchJavaInfo().getProvider(JavaCompilationArgsProvider.class); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getRuntimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getDirectCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getFullCompileTimeJars())) - .containsExactly("foo/my_skylark_rule_lib.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getFullCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar"); - - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getRuntimeJars())) - .containsExactly("foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_direct.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider - .getRecursiveJavaCompilationArgs() - .getFullCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getRuntimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_direct.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getTransitiveCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_direct-hjar.jar"); } @@ -227,32 +171,13 @@ public class JavaInfoSkylarkApiTest extends BuildViewTestCase { JavaCompilationArgsProvider javaCompilationArgsProvider = fetchJavaInfo().getProvider(JavaCompilationArgsProvider.class); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getRuntimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getDirectCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getFullCompileTimeJars())) - .containsExactly("foo/my_skylark_rule_lib.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getFullCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar"); - - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getRuntimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getRuntimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_direct.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider - .getRecursiveJavaCompilationArgs() - .getFullCompileTimeJars())) - .containsExactly("foo/my_skylark_rule_lib.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getTransitiveCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar"); } @@ -276,32 +201,12 @@ public class JavaInfoSkylarkApiTest extends BuildViewTestCase { JavaCompilationArgsProvider javaCompilationArgsProvider = fetchJavaInfo().getProvider(JavaCompilationArgsProvider.class); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getRuntimeJars())) - .isEmpty(); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getFullCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getDirectCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getFullCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar"); - - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getRuntimeJars())) - .isEmpty(); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider - .getRecursiveJavaCompilationArgs() - .getFullCompileTimeJars())) - .containsExactly("foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_direct.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getRuntimeJars())).isEmpty(); + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getTransitiveCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_direct-hjar.jar"); } @@ -545,32 +450,13 @@ public class JavaInfoSkylarkApiTest extends BuildViewTestCase { JavaCompilationArgsProvider javaCompilationArgsProvider = javaInfo.getProvider(JavaCompilationArgsProvider.class); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getRuntimeJars())) - .containsExactly("foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_exports.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getFullCompileTimeJars())) - .containsExactly("foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_exports.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getDirectCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_exports-hjar.jar"); - - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getRuntimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getFullCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_exports.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider - .getRecursiveJavaCompilationArgs() - .getFullCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getRuntimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_exports.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getTransitiveCompileTimeJars())) .containsExactly("foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_exports-hjar.jar"); } @@ -607,45 +493,24 @@ public class JavaInfoSkylarkApiTest extends BuildViewTestCase { JavaCompilationArgsProvider javaCompilationArgsProvider = javaInfo.getProvider(JavaCompilationArgsProvider.class); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getRuntimeJars())) - .containsExactly( - "foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_a.jar", "foo/libmy_java_lib_b.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getFullCompileTimeJars())) - .containsExactly( - "foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_a.jar", "foo/libmy_java_lib_b.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getDirectCompileTimeJars())) .containsExactly( "foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_a-hjar.jar", "foo/libmy_java_lib_b-hjar.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getRuntimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getFullCompileTimeJars())) .containsExactly( - "foo/my_skylark_rule_lib.jar", - "foo/libmy_java_lib_a.jar", - "foo/libmy_java_lib_b.jar", - "foo/libmy_java_lib_c.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider - .getRecursiveJavaCompilationArgs() - .getFullCompileTimeJars())) + "foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_a.jar", "foo/libmy_java_lib_b.jar"); + + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getRuntimeJars())) .containsExactly( "foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_a.jar", "foo/libmy_java_lib_b.jar", "foo/libmy_java_lib_c.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getCompileTimeJars())) + + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getTransitiveCompileTimeJars())) .containsExactly( "foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_a-hjar.jar", @@ -699,47 +564,25 @@ public class JavaInfoSkylarkApiTest extends BuildViewTestCase { JavaCompilationArgsProvider javaCompilationArgsProvider = javaInfo.getProvider(JavaCompilationArgsProvider.class); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getRuntimeJars())) - .containsExactly( - "foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_a.jar", "foo/libmy_java_lib_b.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getFullCompileTimeJars())) - .containsExactly( - "foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_a.jar", "foo/libmy_java_lib_b.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getJavaCompilationArgs().getCompileTimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getDirectCompileTimeJars())) .containsExactly( "foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_a-hjar.jar", "foo/libmy_java_lib_b-hjar.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getRuntimeJars())) + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getFullCompileTimeJars())) .containsExactly( - "foo/my_skylark_rule_lib.jar", - "foo/libmy_java_lib_a.jar", - "foo/libmy_java_lib_b.jar", - "foo/libmy_java_lib_c.jar", - "foo/libmy_java_lib_d.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider - .getRecursiveJavaCompilationArgs() - .getFullCompileTimeJars())) + "foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_a.jar", "foo/libmy_java_lib_b.jar"); + + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getRuntimeJars())) .containsExactly( "foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_a.jar", "foo/libmy_java_lib_b.jar", "foo/libmy_java_lib_c.jar", "foo/libmy_java_lib_d.jar"); - assertThat( - prettyArtifactNames( - javaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getCompileTimeJars())) + + assertThat(prettyArtifactNames(javaCompilationArgsProvider.getTransitiveCompileTimeJars())) .containsExactly( "foo/my_skylark_rule_lib.jar", "foo/libmy_java_lib_a-hjar.jar", diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java index 21eeaba08c..78514f2be3 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java @@ -760,12 +760,10 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { // Extract out information from native rule JavaCompilationArgsProvider jlJavaCompilationArgsProvider = JavaInfo.getProvider(JavaCompilationArgsProvider.class, javaLibraryTarget); - NestedSet<Artifact> jlCompileJars = - jlJavaCompilationArgsProvider.getJavaCompilationArgs().getCompileTimeJars(); - NestedSet<Artifact> jlTransitiveRuntimeJars = - jlJavaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getRuntimeJars(); + NestedSet<Artifact> jlCompileJars = jlJavaCompilationArgsProvider.getDirectCompileTimeJars(); + NestedSet<Artifact> jlTransitiveRuntimeJars = jlJavaCompilationArgsProvider.getRuntimeJars(); NestedSet<Artifact> jlTransitiveCompileTimeJars = - jlJavaCompilationArgsProvider.getRecursiveJavaCompilationArgs().getCompileTimeJars(); + jlJavaCompilationArgsProvider.getTransitiveCompileTimeJars(); // Using reference equality since should be precisely identical assertThat(myCompileJars == jlCompileJars).isTrue(); @@ -925,18 +923,13 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { JavaCompilationArgsProvider provider = JavaInfo.getProvider(JavaCompilationArgsProvider.class, target); assertThat(provider).isNotNull(); - List<String> compileTimeJars = - prettyArtifactNames(provider.getJavaCompilationArgs().getCompileTimeJars()); + List<String> compileTimeJars = prettyArtifactNames(provider.getDirectCompileTimeJars()); assertThat(compileTimeJars).containsExactly("foo/liba.jar"); - List<String> runtimeJars = - prettyArtifactNames(provider.getJavaCompilationArgs().getRuntimeJars()); - assertThat(runtimeJars).containsExactly("foo/libb.jar"); List<String> transitiveCompileTimeJars = - prettyArtifactNames(provider.getRecursiveJavaCompilationArgs().getCompileTimeJars()); + prettyArtifactNames(provider.getTransitiveCompileTimeJars()); assertThat(transitiveCompileTimeJars).containsExactly("foo/libc.jar"); - List<String> transitiveRuntimeJars = - prettyArtifactNames(provider.getRecursiveJavaCompilationArgs().getRuntimeJars()); + List<String> transitiveRuntimeJars = prettyArtifactNames(provider.getRuntimeJars()); assertThat(transitiveRuntimeJars).containsExactly("foo/libd.jar"); JavaSourceJarsProvider sourcesProvider = @@ -979,12 +972,10 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { JavaCompilationArgsProvider provider = JavaInfo.getProvider(JavaCompilationArgsProvider.class, target); assertThat(provider).isNotNull(); - List<String> compileTimeJars = - prettyArtifactNames(provider.getJavaCompilationArgs().getCompileTimeJars()); + List<String> compileTimeJars = prettyArtifactNames(provider.getDirectCompileTimeJars()); assertThat(compileTimeJars).containsExactly("foo/liba.jar", "foo/libjava_dep-hjar.jar"); - List<String> runtimeJars = - prettyArtifactNames(provider.getJavaCompilationArgs().getRuntimeJars()); + List<String> runtimeJars = prettyArtifactNames(provider.getRuntimeJars()); assertThat(runtimeJars).containsExactly("foo/libb.jar", "foo/libjava_dep.jar"); } @@ -1018,12 +1009,10 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { ConfiguredTarget target = getConfiguredTarget("//foo:java_lib"); JavaCompilationArgsProvider provider = JavaInfo.getProvider(JavaCompilationArgsProvider.class, target); - List<String> compileTimeJars = - prettyArtifactNames(provider.getRecursiveJavaCompilationArgs().getCompileTimeJars()); + List<String> compileTimeJars = prettyArtifactNames(provider.getTransitiveCompileTimeJars()); assertThat(compileTimeJars).containsExactly("foo/libjava_lib-hjar.jar", "foo/liba.jar"); - List<String> runtimeJars = - prettyArtifactNames(provider.getRecursiveJavaCompilationArgs().getRuntimeJars()); + List<String> runtimeJars = prettyArtifactNames(provider.getRuntimeJars()); assertThat(runtimeJars).containsExactly("foo/libjava_lib.jar", "foo/libb.jar"); } @@ -1081,8 +1070,8 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { JavaInfo jlTopJavaInfo = topJavaLibraryTarget.get(JavaInfo.PROVIDER); javaCompilationArgsHaveTheSameParent( - jlJavaInfo.getProvider(JavaCompilationArgsProvider.class).getJavaCompilationArgs(), - jlTopJavaInfo.getProvider(JavaCompilationArgsProvider.class).getJavaCompilationArgs()); + jlJavaInfo.getProvider(JavaCompilationArgsProvider.class), + jlTopJavaInfo.getProvider(JavaCompilationArgsProvider.class)); } @Test @@ -1112,9 +1101,7 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { ConfiguredTarget jlExports = getConfiguredTarget("//foo:lib_exports"); JavaCompilationArgsProvider jlExportsProvider = JavaInfo.getProvider(JavaCompilationArgsProvider.class, jlExports); - assertThat( - prettyArtifactNames( - jlExportsProvider.getRecursiveJavaCompilationArgs().getRuntimeJars())) + assertThat(prettyArtifactNames(jlExportsProvider.getRuntimeJars())) .containsAllOf( "foo/libjl_bottom_for_deps.jar", "foo/libjl_bottom_for_runtime_deps.jar", @@ -1124,8 +1111,7 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { ConfiguredTarget jlTop = getConfiguredTarget("//foo:lib_interm"); JavaCompilationArgsProvider jlTopProvider = JavaInfo.getProvider(JavaCompilationArgsProvider.class, jlTop); - assertThat( - prettyArtifactNames(jlTopProvider.getRecursiveJavaCompilationArgs().getRuntimeJars())) + assertThat(prettyArtifactNames(jlTopProvider.getRuntimeJars())) .contains("foo/libjl_bottom_for_exports.jar"); } @@ -1178,9 +1164,7 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { ConfiguredTarget importTarget = getConfiguredTarget("//foo:import"); JavaCompilationArgsProvider compilationProvider = JavaInfo.getProvider(JavaCompilationArgsProvider.class, importTarget); - assertThat( - prettyArtifactNames( - compilationProvider.getRecursiveJavaCompilationArgs().getRuntimeJars())) + assertThat(prettyArtifactNames(compilationProvider.getRuntimeJars())) .containsAllOf("foo/libjl_bottom_for_deps.jar", "foo/libjl_bottom_for_runtime_deps.jar"); } @@ -1480,8 +1464,8 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { JavaCompilationArgsProvider javaCompilationArgsProvider = JavaInfo.getProvider(JavaCompilationArgsProvider.class, myRuleTarget); List<String> directJars = - prettyArtifactNames(javaCompilationArgsProvider.getJavaCompilationArgs().getRuntimeJars()); - assertThat(directJars).containsExactly("foo/liba.jar"); + prettyArtifactNames(javaCompilationArgsProvider.getDirectCompileTimeJars()); + assertThat(directJars).containsExactly("foo/liba-hjar.jar"); } @Test @@ -1512,8 +1496,7 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { ConfiguredTarget myRuleTarget = getConfiguredTarget("//foo:custom"); JavaCompilationArgsProvider javaCompilationArgsProvider = JavaInfo.getProvider(JavaCompilationArgsProvider.class, myRuleTarget); - List<String> directJars = - prettyArtifactNames(javaCompilationArgsProvider.getJavaCompilationArgs().getRuntimeJars()); + List<String> directJars = prettyArtifactNames(javaCompilationArgsProvider.getRuntimeJars()); assertThat(directJars).containsExactly("foo/liba.jar", "foo/libb.jar"); } @@ -1620,9 +1603,9 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { } private static boolean javaCompilationArgsHaveTheSameParent( - JavaCompilationArgs args, JavaCompilationArgs otherArgs) { + JavaCompilationArgsProvider args, JavaCompilationArgsProvider otherArgs) { if (!nestedSetsOfArtifactHaveTheSameParent( - args.getCompileTimeJars(), otherArgs.getCompileTimeJars())) { + args.getTransitiveCompileTimeJars(), otherArgs.getTransitiveCompileTimeJars())) { return false; } if (!nestedSetsOfArtifactHaveTheSameParent( diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/proto/SkylarkJavaLiteProtoLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/proto/SkylarkJavaLiteProtoLibraryTest.java index f4fc8b47d8..df9e786da6 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/java/proto/SkylarkJavaLiteProtoLibraryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/java/proto/SkylarkJavaLiteProtoLibraryTest.java @@ -32,7 +32,6 @@ import com.google.devtools.build.lib.analysis.ExtraActionArtifactsProvider; import com.google.devtools.build.lib.analysis.TransitiveInfoProvider; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; import com.google.devtools.build.lib.collect.nestedset.NestedSet; -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.JavaCompileAction; import com.google.devtools.build.lib.rules.java.JavaInfo; @@ -223,7 +222,7 @@ public class SkylarkJavaLiteProtoLibraryTest extends BuildViewTestCase { JavaCompilationArgsProvider compilationArgsProvider = getProvider(JavaCompilationArgsProvider.class, target); assertThat(compilationArgsProvider).isNotNull(); - assertThat(compilationArgsProvider.getJavaCompilationArgs()).isNotNull(); + assertThat(compilationArgsProvider.getDirectCompileTimeJars()).isNotNull(); JavaSourceJarsProvider sourceJarsProvider = getProvider(JavaSourceJarsProvider.class, target); assertThat(sourceJarsProvider).isNotNull(); assertThat(sourceJarsProvider.getSourceJars()).isNotNull(); @@ -257,7 +256,6 @@ public class SkylarkJavaLiteProtoLibraryTest extends BuildViewTestCase { List<String> directJars = prettyArtifactNames( getProvider(JavaCompilationArgsProvider.class, litepb2) - .getJavaCompilationArgs() .getRuntimeJars()); assertThat(directJars) .containsExactly("cross/libbravo-lite.jar", "protobuf/libjavalite_runtime.jar"); @@ -303,8 +301,8 @@ public class SkylarkJavaLiteProtoLibraryTest extends BuildViewTestCase { "java_lite_proto_library(name = 'lite_pb2', deps = [':proto_lib'])", "proto_library(name = 'proto_lib',", " srcs = ['input1.proto', 'input2.proto'])"); - JavaCompilationArgs compilationArgs = - getProvider(JavaCompilationArgsProvider.class, rule).getJavaCompilationArgs(); + JavaCompilationArgsProvider compilationArgs = + getProvider(JavaCompilationArgsProvider.class, rule); assertThat(compilationArgs.getInstrumentationMetadata()).isEmpty(); JavaSourceJarsProvider sourceJarsProvider = getProvider(JavaSourceJarsProvider.class, rule); @@ -452,8 +450,7 @@ public class SkylarkJavaLiteProtoLibraryTest extends BuildViewTestCase { getProvider(JavaCompilationArgsProvider.class, getConfiguredTarget("//x:foo_lite_pb2")); Iterable<String> directJars = - prettyArtifactNames( - compilationArgsProvider.getJavaCompilationArgs().getCompileTimeJars()); + prettyArtifactNames(compilationArgsProvider.getDirectCompileTimeJars()); assertThat(directJars).containsExactly("x/libfoo-lite-hjar.jar"); @@ -469,8 +466,7 @@ public class SkylarkJavaLiteProtoLibraryTest extends BuildViewTestCase { getProvider(JavaCompilationArgsProvider.class, getConfiguredTarget("//x:bar_lite_pb2")); Iterable<String> directJars = - prettyArtifactNames( - compilationArgsProvider.getJavaCompilationArgs().getCompileTimeJars()); + prettyArtifactNames(compilationArgsProvider.getDirectCompileTimeJars()); assertThat(directJars).containsExactly("x/libbar-lite-hjar.jar"); @@ -512,7 +508,7 @@ public class SkylarkJavaLiteProtoLibraryTest extends BuildViewTestCase { JavaCompilationArgsProvider.class, getConfiguredTarget("//x:foo_java_proto_lite")); Iterable<String> directJars = - prettyArtifactNames(compilationArgsProvider.getJavaCompilationArgs().getCompileTimeJars()); + prettyArtifactNames(compilationArgsProvider.getDirectCompileTimeJars()); assertThat(directJars).containsExactly("x/libbar_proto-lite-hjar.jar"); } |