diff options
author | shahan <shahan@google.com> | 2018-08-10 10:02:19 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-08-10 10:04:43 -0700 |
commit | 20cf8a6b4ed9d06433ce2a57b91df96d849c546e (patch) | |
tree | 4aaf4e6dd76d84f4c2c1f3f6393e32bbcbdbde00 /src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java | |
parent | 44e267980fffd6b0aaee49831fc83441e2000082 (diff) |
Adds a flag --experimental_includes_attribute_subpackage_traversal to toggle wildcarding on the presence of an includes attribute.
PiperOrigin-RevId: 208225306
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java index ffcd3fece7..56eaee9fa1 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java @@ -591,10 +591,14 @@ public final class CcCommon { .getPathUnderExecRoot(); result.add(rulePackage); - // Add in any 'includes' attribute values as relative path fragments - if (ruleContext.getRule().isAttributeValueExplicitlySpecified("includes")) { - PathFragment packageFragment = ruleContext.getLabel().getPackageIdentifier() - .getPathUnderExecRoot(); + if (ruleContext + .getConfiguration() + .getOptions() + .get(CppOptions.class) + .experimentalIncludesAttributeSubpackageTraversal + && ruleContext.getRule().isAttributeValueExplicitlySpecified("includes")) { + PathFragment packageFragment = + ruleContext.getLabel().getPackageIdentifier().getPathUnderExecRoot(); // For now, anything with an 'includes' needs a blanket declaration result.add(packageFragment.getRelative("**")); } |