aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2016-07-20 20:24:03 +0000
committerGravatar John Cater <jcater@google.com>2016-07-21 20:34:48 +0000
commit8fa303b1ac0a4bffcc535d85c07c86b3c8657d32 (patch)
tree8421f9ee61ffcadf739f76fac4387491ab918a76
parent9c4629dafc3aafc10f952824efd448700ad3363e (diff)
Minor backwards compatibility fixes:
* Account for the dataKey in MergeConflicts (whoops.) * When finding a conflict, always take the last value -- this matches the current merger strategy. -- MOS_MIGRATED_REVID=127980673
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/MergeConflict.java6
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/ParsedAndroidData.java4
2 files changed, 6 insertions, 4 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/MergeConflict.java b/src/tools/android/java/com/google/devtools/build/android/MergeConflict.java
index a45993b497..727df64573 100644
--- a/src/tools/android/java/com/google/devtools/build/android/MergeConflict.java
+++ b/src/tools/android/java/com/google/devtools/build/android/MergeConflict.java
@@ -99,11 +99,13 @@ public class MergeConflict {
return false;
}
MergeConflict that = (MergeConflict) other;
- return Objects.equals(first, that.first) && Objects.equals(second, that.second);
+ return Objects.equals(dataKey, that.dataKey)
+ && Objects.equals(first, that.first)
+ && Objects.equals(second, that.second);
}
@Override
public int hashCode() {
- return Objects.hash(first, second);
+ return Objects.hash(dataKey, first, second);
}
}
diff --git a/src/tools/android/java/com/google/devtools/build/android/ParsedAndroidData.java b/src/tools/android/java/com/google/devtools/build/android/ParsedAndroidData.java
index a055d188ae..47d3d30af5 100644
--- a/src/tools/android/java/com/google/devtools/build/android/ParsedAndroidData.java
+++ b/src/tools/android/java/com/google/devtools/build/android/ParsedAndroidData.java
@@ -185,9 +185,9 @@ public class ParsedAndroidData {
public void consume(K key, V value) {
if (target.containsKey(key)) {
conflicts.add(MergeConflict.between(key, value, target.get(key)));
- } else {
- target.put(key, value);
}
+ // Always record the value, conflict or not, to maintain backwards compatibility.
+ target.put(key, value);
}
}