aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar elenairina <elenairina@google.com>2018-07-30 08:23:59 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-07-30 08:25:19 -0700
commit38899f708923d6a7e1edd011af2ba70f505bb4c9 (patch)
tree3be05ddba540cd397b490f94ff329c4c0c0d31de
parent008e5f8d80dcf2c1eb8c152684d222c95a402d19 (diff)
Return Java providers only once
through JavaInfo, instead of returning them also through ConfiguredTarget. Since these providers can not be found in ConfiguredTarget anymore they have to be retrieved from JavaInfo instead. RELNOTES: None. PiperOrigin-RevId: 206585413
-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.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java2
-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/JavaLibrary.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java17
8 files changed, 19 insertions, 19 deletions
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 43054246af..b8cbcda8d2 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
@@ -694,7 +694,7 @@ public class AndroidCommon {
javaCommon.addTransitiveInfoProviders(
builder, javaInfoBuilder, filesToBuild, classJar, ANDROID_COLLECTION_SPEC);
- javaCommon.addGenJarsProvider(builder, javaInfoBuilder, genClassJar, genSourceJar);
+ javaCommon.addGenJarsProvider(javaInfoBuilder, genClassJar, genSourceJar);
DataBinding.maybeAddProvider(builder, ruleContext);
JavaInfo javaInfo =
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 1bbb51ec8f..d84c653ed5 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
@@ -365,7 +365,7 @@ public abstract class AndroidLocalTestBase implements RuleConfiguredTargetFactor
JavaInfo.Builder javaInfoBuilder = JavaInfo.Builder.create();
javaCommon.addTransitiveInfoProviders(builder, javaInfoBuilder, filesToBuild, classJar);
- javaCommon.addGenJarsProvider(builder, javaInfoBuilder, genClassJar, genSourceJar);
+ javaCommon.addGenJarsProvider(javaInfoBuilder, genClassJar, genSourceJar);
// Just confirming that there are no aliases being used here.
AndroidFeatureFlagSetProvider.getAndValidateFlagMapFromRuleContext(ruleContext);
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 c954a9fa9e..d5214126b2 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
@@ -341,7 +341,7 @@ public final class DexArchiveAspect extends NativeAspectClass implements Configu
private static ImmutableList<Artifact> getBootclasspath(
ConfiguredTarget base, RuleContext ruleContext) {
JavaCompilationInfoProvider compilationInfo =
- base.getProvider(JavaCompilationInfoProvider.class);
+ JavaInfo.getProvider(JavaCompilationInfoProvider.class, base);
if (compilationInfo == null || compilationInfo.getBootClasspath().isEmpty()) {
return ImmutableList.of(
ruleContext
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java
index dbb50801d7..2a5cd4bd08 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java
@@ -438,7 +438,7 @@ public class JavaBinary implements RuleConfiguredTargetFactory {
JavaInfo.Builder javaInfoBuilder = JavaInfo.Builder.create();
common.addTransitiveInfoProviders(builder, javaInfoBuilder, filesToBuild, classJar);
- common.addGenJarsProvider(builder, javaInfoBuilder, genClassJar, genSourceJar);
+ common.addGenJarsProvider(javaInfoBuilder, genClassJar, genSourceJar);
JavaInfo javaInfo = javaInfoBuilder
.addProvider(JavaSourceJarsProvider.class, sourceJarsProvider)
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 7da5b33810..6c39ae6316 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
@@ -400,7 +400,7 @@ public class JavaCommon {
builder.addAll(Iterables.transform(currentRuleExports, TransitiveInfoCollection::getLabel));
for (TransitiveInfoCollection dep : currentRuleExports) {
- JavaExportsProvider exportsProvider = dep.getProvider(JavaExportsProvider.class);
+ JavaExportsProvider exportsProvider = JavaInfo.getProvider(JavaExportsProvider.class, dep);
if (exportsProvider != null) {
builder.addTransitive(exportsProvider.getTransitiveExports());
@@ -687,9 +687,7 @@ public class JavaCommon {
.add(
InstrumentedFilesProvider.class,
getInstrumentationFilesProvider(ruleContext, filesToBuild, instrumentationSpec))
- .add(JavaExportsProvider.class, exportsProvider)
- .addOutputGroup(OutputGroupInfo.FILES_TO_COMPILE, getFilesToCompile(classJar))
- .add(JavaCompilationInfoProvider.class, compilationInfoProvider);
+ .addOutputGroup(OutputGroupInfo.FILES_TO_COMPILE, getFilesToCompile(classJar));
javaInfoBuilder.addProvider(JavaExportsProvider.class, exportsProvider);
javaInfoBuilder.addProvider(JavaCompilationInfoProvider.class, compilationInfoProvider);
@@ -708,7 +706,6 @@ public class JavaCommon {
}
public void addGenJarsProvider(
- RuleConfiguredTargetBuilder builder,
JavaInfo.Builder javaInfoBuilder,
@Nullable Artifact genClassJar,
@Nullable Artifact genSourceJar) {
@@ -720,8 +717,6 @@ public class JavaCommon {
activePlugins,
getDependencies(JavaGenJarsProvider.class));
- builder.addProvider(JavaGenJarsProvider.class, genJarsProvider);
-
javaInfoBuilder.addProvider(JavaGenJarsProvider.class, genJarsProvider);
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java
index b9f7360557..815f2bfb0a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java
@@ -184,7 +184,7 @@ public class JavaLibrary implements RuleConfiguredTargetFactory {
JavaInfo.Builder javaInfoBuilder = JavaInfo.Builder.create();
common.addTransitiveInfoProviders(builder, javaInfoBuilder, filesToBuild, classJar);
- common.addGenJarsProvider(builder, javaInfoBuilder, genClassJar, genSourceJar);
+ common.addGenJarsProvider(javaInfoBuilder, genClassJar, genSourceJar);
NestedSet<Artifact> proguardSpecs = new ProguardLibrary(ruleContext).collectProguardSpecs();
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 f0b5a15081..39cfb190aa 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
@@ -307,7 +307,7 @@ public class J2ObjcAspect extends NativeAspectClass implements ConfiguredAspectF
JavaCompilationArgsProvider compilationArgsProvider =
JavaInfo.getProvider(JavaCompilationArgsProvider.class, base);
JavaSourceInfoProvider sourceInfoProvider = base.getProvider(JavaSourceInfoProvider.class);
- JavaGenJarsProvider genJarProvider = base.getProvider(JavaGenJarsProvider.class);
+ JavaGenJarsProvider genJarProvider = JavaInfo.getProvider(JavaGenJarsProvider.class, base);
ImmutableSet.Builder<Artifact> javaSourceFilesBuilder = ImmutableSet.builder();
ImmutableSet.Builder<Artifact> javaSourceJarsBuilder = ImmutableSet.builder();
if (sourceInfoProvider != null) {
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 bb9d76d744..5b803e0761 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
@@ -477,8 +477,9 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase {
" srcs = ['dummy4.java'])");
ConfiguredTarget target = getConfiguredTarget("//java/com/google/exports:dummy");
- List<Label> exports = ImmutableList.copyOf(
- target.getProvider(JavaExportsProvider.class).getTransitiveExports());
+ List<Label> exports =
+ ImmutableList.copyOf(
+ JavaInfo.getProvider(JavaExportsProvider.class, target).getTransitiveExports());
assertThat(exports)
.containsExactly(
Label.parseAbsolute("//java/com/google/exports:dummy2", ImmutableMap.of()),
@@ -1750,11 +1751,13 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase {
Iterable<String> c1Jars =
ActionsTestUtil.baseArtifactNames(
- c1Target.getProvider(JavaCompilationInfoProvider.class).getCompilationClasspath());
+ JavaInfo.getProvider(JavaCompilationInfoProvider.class, c1Target)
+ .getCompilationClasspath());
Iterable<String> c2Jars =
ActionsTestUtil.baseArtifactNames(
- c2Target.getProvider(JavaCompilationInfoProvider.class).getCompilationClasspath());
+ JavaInfo.getProvider(JavaCompilationInfoProvider.class, c2Target)
+ .getCompilationClasspath());
assertThat(c1Jars).containsExactly("liba-hjar.jar");
assertThat(c2Jars).containsExactly("liba-hjar.jar");
@@ -1774,10 +1777,12 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase {
ImmutableList<Artifact> bClasspath =
ImmutableList.copyOf(
- bTarget.getProvider(JavaCompilationInfoProvider.class).getCompilationClasspath());
+ JavaInfo.getProvider(JavaCompilationInfoProvider.class, bTarget)
+ .getCompilationClasspath());
ImmutableList<Artifact> cClasspath =
ImmutableList.copyOf(
- cTarget.getProvider(JavaCompilationInfoProvider.class).getCompilationClasspath());
+ JavaInfo.getProvider(JavaCompilationInfoProvider.class, cTarget)
+ .getCompilationClasspath());
assertThat(bClasspath).isEmpty();
assertThat(cClasspath)