diff options
author | 2016-03-18 17:33:12 +0000 | |
---|---|---|
committer | 2016-03-21 09:34:21 +0000 | |
commit | bb2f07124c7ebf5cb28c8cd4b57cf6156c1c7b0d (patch) | |
tree | ec63ded235fee12bd21b27b82376bf87fc9f568f /src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java | |
parent | 51a491b89a9cd5f15c9a093a5693bc37e696e6e1 (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.java | 33 |
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( |