aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2016-03-18 17:33:12 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-03-21 09:34:21 +0000
commitbb2f07124c7ebf5cb28c8cd4b57cf6156c1c7b0d (patch)
treeec63ded235fee12bd21b27b82376bf87fc9f568f /src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java
parent51a491b89a9cd5f15c9a093a5693bc37e696e6e1 (diff)
Export cc build information in an aspect for IDE support.
-- MOS_MIGRATED_REVID=117560803
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java33
1 files changed, 31 insertions, 2 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java b/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java
index dca83cb61e..291b6be9e3 100644
--- a/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java
+++ b/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java
@@ -38,6 +38,7 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.ideinfo.androidstudio.AndroidStudioIdeInfo.ArtifactLocation;
import com.google.devtools.build.lib.ideinfo.androidstudio.AndroidStudioIdeInfo.LibraryArtifact;
import com.google.devtools.build.lib.ideinfo.androidstudio.AndroidStudioIdeInfo.RuleIdeInfo;
+import com.google.devtools.build.lib.ideinfo.androidstudio.AndroidStudioIdeInfo.RuleIdeInfo.Kind;
import com.google.devtools.build.lib.skyframe.AspectValue;
import com.google.protobuf.TextFormat;
@@ -52,6 +53,7 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Map.Entry;
import javax.annotation.Nullable;
@@ -112,8 +114,20 @@ abstract class AndroidStudioInfoAspectTestBase extends BuildViewTestCase {
return sb.toString();
}
- protected static Iterable<String> relativePathsForSourcesOf(RuleIdeInfo ruleIdeInfo) {
- return transform(ruleIdeInfo.getJavaRuleIdeInfo().getSourcesList(), ARTIFACT_TO_RELATIVE_PATH);
+ protected static Iterable<String> relativePathsForJavaSourcesOf(RuleIdeInfo ruleIdeInfo) {
+ return relativePathsForSources(ruleIdeInfo.getJavaRuleIdeInfo().getSourcesList());
+ }
+
+ protected static Iterable<String> relativePathsForCSourcesOf(RuleIdeInfo ruleIdeInfo) {
+ return relativePathsForSources(ruleIdeInfo.getCRuleIdeInfo().getSourceList());
+ }
+
+ protected static Iterable<String> relativePathsForExportedCHeadersOf(RuleIdeInfo ruleIdeInfo) {
+ return relativePathsForSources(ruleIdeInfo.getCRuleIdeInfo().getExportedHeaderList());
+ }
+
+ private static Iterable<String> relativePathsForSources(List<ArtifactLocation> sourcesList) {
+ return transform(sourcesList, ARTIFACT_TO_RELATIVE_PATH);
}
protected RuleIdeInfo getRuleInfoAndVerifyLabel(
@@ -124,6 +138,21 @@ abstract class AndroidStudioInfoAspectTestBase extends BuildViewTestCase {
return ruleIdeInfo;
}
+ protected Entry<String, RuleIdeInfo> getCcToolchainRuleAndVerifyThereIsOnlyOne(
+ Map<String, RuleIdeInfo> ruleIdeInfos) {
+ Entry<String, RuleIdeInfo> toolchainInfo = null;
+ for (Entry<String, RuleIdeInfo> entry : ruleIdeInfos.entrySet()) {
+ if (entry.getValue().getKind() == Kind.CC_TOOLCHAIN) {
+ // Make sure we only have 1.
+ assertThat(toolchainInfo).isNull();
+ assertThat(entry.getValue().hasCToolchainIdeInfo()).isTrue();
+ toolchainInfo = entry;
+ }
+ }
+ assertThat(toolchainInfo).isNotNull();
+ return toolchainInfo;
+ }
+
protected void buildTarget(String target) throws Exception {
AnalysisResult analysisResult =
update(