From 10ecf91e21e6522f0b483df729fb4af37f30c0f6 Mon Sep 17 00:00:00 2001 From: Googler Date: Tue, 17 May 2016 17:20:05 +0000 Subject: Remove unnecessary aspect CC bloat. * Do not include cc info for non-C rules * Omit exported headers (unused on the IDE side) This CL reduces aspect output size (and memory footprint) by ~50MB for an example real-life project. -- MOS_MIGRATED_REVID=122537339 --- .../build/lib/ideinfo/AndroidStudioInfoAspectTest.java | 16 ++++++++++++++-- .../lib/ideinfo/AndroidStudioInfoAspectTestBase.java | 4 ---- .../google/devtools/build/lib/ideinfo/intellij_info.bzl | 8 -------- 3 files changed, 14 insertions(+), 14 deletions(-) (limited to 'src/test') diff --git a/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java b/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java index 42a1e8bd29..f9a1b49e83 100644 --- a/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java +++ b/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java @@ -1038,8 +1038,6 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase assertThat(relativePathsForCSourcesOf(ruleIdeInfo)) .containsExactly("com/google/example/simple/simple.cc"); - assertThat(relativePathsForExportedCHeadersOf(ruleIdeInfo)) - .containsExactly("com/google/example/simple/simple.h"); assertThat(ruleIdeInfo.hasCRuleIdeInfo()).isTrue(); assertThat(ruleIdeInfo.hasJavaRuleIdeInfo()).isFalse(); @@ -1508,6 +1506,20 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase assertThat(toolchainInfo.hasCToolchainIdeInfo()).isTrue(); } + @Test + public void testJavaLibraryDoesNotHaveCInfo() throws Exception { + scratch.file( + "com/google/example/BUILD", + "java_library(", + " name = 'simple',", + " srcs = ['simple/Simple.java']", + ")"); + Map ruleIdeInfos = buildRuleIdeInfo("//com/google/example:simple"); + RuleIdeInfo ruleIdeInfo = getRuleInfoAndVerifyLabel( + "//com/google/example:simple", ruleIdeInfos); + assertThat(ruleIdeInfo.hasCRuleIdeInfo()).isFalse(); + } + /** * Returns true if we are testing the native aspect, not the Skylark one. * Eventually Skylark aspect will be equivalent to a native one, and this method 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 291b6be9e3..dfff8a8da6 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 @@ -122,10 +122,6 @@ abstract class AndroidStudioInfoAspectTestBase extends BuildViewTestCase { return relativePathsForSources(ruleIdeInfo.getCRuleIdeInfo().getSourceList()); } - protected static Iterable relativePathsForExportedCHeadersOf(RuleIdeInfo ruleIdeInfo) { - return relativePathsForSources(ruleIdeInfo.getCRuleIdeInfo().getExportedHeaderList()); - } - private static Iterable relativePathsForSources(List sourcesList) { return transform(sourcesList, ARTIFACT_TO_RELATIVE_PATH); } diff --git a/src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl b/src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl index 6d6eab6409..9648cba3e9 100644 --- a/src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl +++ b/src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl @@ -164,13 +164,6 @@ def c_rule_ide_info(target, ctx): sources = getSourcesFromRule(ctx) - if hasattr(ctx.rule.attr, "hdrs"): - exported_headers = [artifact_location(file) - for hdr in ctx.rule.attr.hdrs - for file in hdr.files] - else: - exported_headers = [] - rule_includes = [] if hasattr(ctx.rule.attr, "includes"): rule_includes = ctx.rule.attr.includes @@ -187,7 +180,6 @@ def c_rule_ide_info(target, ctx): return (struct_omit_none( source = sources, - exported_header = exported_headers, rule_include = rule_includes, rule_define = rule_defines, rule_copt = rule_copts, -- cgit v1.2.3