diff options
author | Marian Lobur <loburm@google.com> | 2015-05-12 14:42:01 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2015-05-15 09:35:07 +0000 |
commit | 2099da0a6a810e151e77bff88ed14ee386faee6f (patch) | |
tree | 912bafa3a78974c7ea0bb9b1d8bc329022bee20a /src/main/java/com/google/devtools/build/lib | |
parent | 9e7e627ce2ad2a3305019c95f8f0c8f583648804 (diff) |
We are trying to merge same copies of the aspect, when target is declared in different attributes, to which we have attached aspect.
--
MOS_MIGRATED_REVID=93412457
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java index 731f47985b..04810eef4d 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java @@ -275,6 +275,11 @@ final class ConfiguredTargetFunction implements SkyFunction { for (Dependency dep : deps) { SkyKey depKey = TO_KEYS.apply(dep); + // If the same target was declared in different attributes of rule, we should not process it + // twice. + if (result.containsKey(depKey)) { + continue; + } ConfiguredTarget depConfiguredTarget = configuredTargetMap.get(depKey); for (Class<? extends ConfiguredAspectFactory> depAspect : dep.getAspects()) { if (!aspectMatchesConfiguredTarget(depConfiguredTarget, depAspect)) { |