aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar dslomov <dslomov@google.com>2017-07-06 12:06:31 -0400
committerGravatar John Cater <jcater@google.com>2017-07-07 07:07:17 -0400
commit3a2025da4da746cf6b067abb5093db5de6c2ecf7 (patch)
tree2762f64874398003908314e9aef9b1ec64ae306c /src/main/java/com/google/devtools/build
parent819e91ccd5ace635c33e0d14e50a6f485919c23a (diff)
Remove JavaIdeInfoProvider.
RELNOTES: None. PiperOrigin-RevId: 161086496
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidSemantics.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java1
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java1
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidSemantics.java13
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaRuleOutputJarsProvider.java32
6 files changed, 27 insertions, 39 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidSemantics.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidSemantics.java
index 31eedc4da4..dda684a015 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidSemantics.java
@@ -16,7 +16,6 @@ package com.google.devtools.build.lib.bazel.rules.android;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
-import com.google.devtools.build.lib.analysis.RuleConfiguredTargetBuilder;
import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.analysis.actions.SpawnAction;
import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException;
@@ -26,7 +25,6 @@ import com.google.devtools.build.lib.rules.android.AndroidIdeInfoProvider;
import com.google.devtools.build.lib.rules.android.AndroidSemantics;
import com.google.devtools.build.lib.rules.android.ApplicationManifest;
import com.google.devtools.build.lib.rules.android.ResourceApk;
-import com.google.devtools.build.lib.rules.java.JavaCommon;
import com.google.devtools.build.lib.rules.java.JavaCompilationArtifacts;
import com.google.devtools.build.lib.rules.java.JavaSemantics;
import com.google.devtools.build.lib.rules.java.JavaTargetAttributes.Builder;
@@ -47,13 +45,6 @@ public class BazelAndroidSemantics implements AndroidSemantics {
AndroidIdeInfoProvider.Builder ideInfoProviderBuilder) {}
@Override
- public void addTransitiveInfoProviders(
- RuleConfiguredTargetBuilder builder,
- RuleContext ruleContext,
- JavaCommon javaCommon,
- AndroidCommon androidCommon) {}
-
- @Override
public ApplicationManifest getManifestForRule(RuleContext ruleContext) throws RuleErrorException {
ApplicationManifest result = ApplicationManifest.fromRule(ruleContext);
if (!result.getManifest().getExecPath().getBaseName().equals("AndroidManifest.xml")) {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java
index 438748c5ec..71a7c79a11 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java
@@ -779,7 +779,6 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory {
zipAlignedApk,
apksUnderTest,
nativeLibs);
- androidSemantics.addTransitiveInfoProviders(builder, ruleContext, javaCommon, androidCommon);
if (proguardOutput.getMapping() != null) {
builder.add(
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java
index 1252f292d5..98fcb45946 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java
@@ -200,7 +200,6 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory {
null,
ImmutableList.<Artifact>of(),
NativeLibs.EMPTY);
- androidSemantics.addTransitiveInfoProviders(builder, ruleContext, javaCommon, androidCommon);
NestedSetBuilder<Artifact> transitiveResourcesJars = collectTransitiveResourceJars(ruleContext);
if (androidCommon.getResourceClassJar() != null) {
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 ad05fa7508..b562eac1ea 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
@@ -289,8 +289,6 @@ public abstract class AndroidLocalTestBase implements RuleConfiguredTargetFactor
generatedExtensionRegistryProvider);
}
- addExtraProviders(builder, javaCommon, classJar, srcJar, genClassJar, genSourceJar);
-
JavaRuleOutputJarsProvider ruleOutputJarsProvider = javaRuleOutputJarsProviderBuilder.build();
javaCommon.addTransitiveInfoProviders(builder, filesToBuild, classJar);
@@ -333,14 +331,6 @@ public abstract class AndroidLocalTestBase implements RuleConfiguredTargetFactor
protected abstract JavaSemantics createJavaSemantics();
- protected abstract void addExtraProviders(
- RuleConfiguredTargetBuilder builder,
- JavaCommon javaCommon,
- Artifact classJar,
- Artifact srcJar,
- Artifact genClassJar,
- Artifact genSourceJar);
-
protected abstract ImmutableList<String> getJvmFlags(RuleContext ruleContext, String testClass);
protected abstract String getMainClass(
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSemantics.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSemantics.java
index b791b69f01..76fd3e087c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSemantics.java
@@ -16,11 +16,9 @@ package com.google.devtools.build.lib.rules.android;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.OutputGroupProvider;
-import com.google.devtools.build.lib.analysis.RuleConfiguredTargetBuilder;
import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.analysis.actions.SpawnAction;
import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException;
-import com.google.devtools.build.lib.rules.java.JavaCommon;
import com.google.devtools.build.lib.rules.java.JavaCompilationArtifacts;
import com.google.devtools.build.lib.rules.java.JavaSemantics;
import com.google.devtools.build.lib.rules.java.JavaTargetAttributes;
@@ -41,17 +39,6 @@ public interface AndroidSemantics {
OutputGroupProvider.HIDDEN_OUTPUT_GROUP_PREFIX + "idl_jars";
/**
- * Adds transitive info providers for {@code android_binary} and {@code android_library} rules.
- * @throws InterruptedException
- */
- void addTransitiveInfoProviders(
- RuleConfiguredTargetBuilder builder,
- RuleContext ruleContext,
- JavaCommon javaCommon,
- AndroidCommon androidCommon)
- throws InterruptedException;
-
- /**
* Add additional resources to IDE info for {@code android_binary} and {@code android_library}
*
* @param ruleContext rule context for target rule
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuleOutputJarsProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuleOutputJarsProvider.java
index 7c3c11e871..5483d9ae6c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuleOutputJarsProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuleOutputJarsProvider.java
@@ -24,6 +24,7 @@ import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
import com.google.devtools.build.lib.syntax.SkylarkList;
import com.google.devtools.build.lib.util.Preconditions;
+import java.util.stream.Collectors;
import javax.annotation.Nullable;
/** Provides information about jar files produced by a Java rule. */
@@ -96,14 +97,18 @@ public final class JavaRuleOutputJarsProvider implements TransitiveInfoProvider
@Nullable
@SkylarkCallable(
- name = "source_jars",
- doc = "A list of sources archive files.",
- allowReturnNones = true,
- structField = true
+ name = "source_jars",
+ doc = "A list of sources archive files.",
+ allowReturnNones = true,
+ structField = true
)
- public SkylarkList<Artifact> getSrcJars() {
+ public SkylarkList<Artifact> getSrcJarsSkylark() {
return SkylarkList.createImmutable(srcJars);
}
+
+ public Iterable<Artifact> getSrcJars() {
+ return srcJars;
+ }
}
final ImmutableList<OutputJar> outputJars;
@@ -120,6 +125,23 @@ public final class JavaRuleOutputJarsProvider implements TransitiveInfoProvider
return outputJars;
}
+ /**
+ * Collects all class output jars from {@link #outputJars}
+ */
+ public Iterable<Artifact> getAllClassOutputJars() {
+ return outputJars.stream().map(OutputJar::getClassJar).collect(Collectors.toList());
+ }
+
+ /**
+ * Collects all source output jars from {@link #outputJars}
+ */
+ public Iterable<Artifact> getAllSrcOutputJars() {
+ return outputJars
+ .stream()
+ .map(OutputJar::getSrcJars)
+ .reduce(ImmutableList.of(), Iterables::concat);
+ }
+
@Nullable
@SkylarkCallable(
name = "jdeps",