aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2016-05-09 19:22:27 +0000
committerGravatar Klaus Aehlig <aehlig@google.com>2016-05-10 07:57:21 +0000
commit5a2dd7a2099cfa5a50b07d2b407e478043727472 (patch)
tree3e4cd3341cb359151ed32132c9443a62cd80e49e /src
parentb64150de45415f3871e1de0a2c182636567b9225 (diff)
Renaming nonOverwriting to combining resources.
-- MOS_MIGRATED_REVID=121863653
Diffstat (limited to 'src')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/AndroidDataMerger.java2
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/AndroidDataSerializer.java2
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/DataResourceXml.java14
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/KeyValueConsumers.java10
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/ParsedAndroidData.java61
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/XmlResourceValues.java4
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/xml/StyleableXmlResourceValue.java4
7 files changed, 50 insertions, 47 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidDataMerger.java b/src/tools/android/java/com/google/devtools/build/android/AndroidDataMerger.java
index 3b39205ad8..c9a11bbe36 100644
--- a/src/tools/android/java/com/google/devtools/build/android/AndroidDataMerger.java
+++ b/src/tools/android/java/com/google/devtools/build/android/AndroidDataMerger.java
@@ -340,7 +340,7 @@ public class AndroidDataMerger {
ParsedAndroidData.of(
ImmutableSet.<MergeConflict>of(),
ImmutableMap.copyOf(overwritableDeps),
- direct.mergeNonOverwritable(transitive),
+ direct.mergeCombining(transitive),
ImmutableMap.copyOf(assets)));
} catch (IOException e) {
throw new MergingException(e);
diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidDataSerializer.java b/src/tools/android/java/com/google/devtools/build/android/AndroidDataSerializer.java
index 056909e295..89120c3f24 100644
--- a/src/tools/android/java/com/google/devtools/build/android/AndroidDataSerializer.java
+++ b/src/tools/android/java/com/google/devtools/build/android/AndroidDataSerializer.java
@@ -149,7 +149,7 @@ public class AndroidDataSerializer {
resourceName,
FullyQualifiedName.isOverwritable(resourceName)
? consumers.overwritingConsumer
- : consumers.nonOverwritingConsumer);
+ : consumers.combiningConsumer);
} else {
keys.put(RelativeAssetPath.fromProto(protoKey, currentFileSystem), consumers.assetConsumer);
}
diff --git a/src/tools/android/java/com/google/devtools/build/android/DataResourceXml.java b/src/tools/android/java/com/google/devtools/build/android/DataResourceXml.java
index 86223b2519..a29c589743 100644
--- a/src/tools/android/java/com/google/devtools/build/android/DataResourceXml.java
+++ b/src/tools/android/java/com/google/devtools/build/android/DataResourceXml.java
@@ -56,7 +56,7 @@ import javax.xml.stream.events.StartElement;
public class DataResourceXml implements DataResource {
/**
- * Parses xml resources from a Path to the provided overwritable and nonOverwritable collections.
+ * Parses xml resources from a Path to the provided overwritable and combining collections.
*
* This method is a bit tricky in the service of performance -- creating several collections and
* merging them was more expensive than writing to mutable collections directly.
@@ -65,7 +65,7 @@ public class DataResourceXml implements DataResource {
* @param path The path to the xml resource to be parsed.
* @param fqnFactory Used to create {@link FullyQualifiedName}s from the resource names.
* @param overwritingConsumer A consumer for overwritable {@link DataResourceXml}s.
- * @param nonOverwritingConsumer A consumer for nonoverwritable {@link DataResourceXml}s.
+ * @param combiningConsumer A consumer for combining {@link DataResourceXml}s.
* @throws XMLStreamException Thrown with the resource format is invalid.
* @throws FactoryConfigurationError Thrown with the {@link XMLInputFactory} is misconfigured.
* @throws IOException Thrown when there is an error reading a file.
@@ -75,7 +75,7 @@ public class DataResourceXml implements DataResource {
Path path,
Factory fqnFactory,
KeyValueConsumer<DataKey, DataResource> overwritingConsumer,
- KeyValueConsumer<DataKey, DataResource> nonOverwritingConsumer)
+ KeyValueConsumer<DataKey, DataResource> combiningConsumer)
throws XMLStreamException, FactoryConfigurationError, IOException {
XMLEventReader eventReader =
xmlInputFactory.createXMLEventReader(Files.newBufferedReader(path, StandardCharsets.UTF_8));
@@ -94,14 +94,14 @@ public class DataResourceXml implements DataResource {
path + " contains an unrecognized resource type:" + start, start.getLocation());
}
if (resourceType == DECLARE_STYLEABLE) {
- // Styleables are special, as they produce multiple overwrite and non-overwrite values,
+ // Styleables are special, as they produce multiple overwrite and combining values,
// so we let the value handle the assignments.
XmlResourceValues.parseDeclareStyleable(
- fqnFactory, path, overwritingConsumer, nonOverwritingConsumer, eventReader, start);
+ fqnFactory, path, overwritingConsumer, combiningConsumer, eventReader, start);
} else {
- // Of simple resources, only IDs are nonOverwriting.
+ // Of simple resources, only IDs are combining.
KeyValueConsumer<DataKey, DataResource> consumer =
- resourceType == ID ? nonOverwritingConsumer : overwritingConsumer;
+ resourceType == ID ? combiningConsumer : overwritingConsumer;
FullyQualifiedName key =
fqnFactory.create(resourceType, XmlResourceValues.getElementName(start));
consumer.consume(
diff --git a/src/tools/android/java/com/google/devtools/build/android/KeyValueConsumers.java b/src/tools/android/java/com/google/devtools/build/android/KeyValueConsumers.java
index 86789b27b4..63b0a3a036 100644
--- a/src/tools/android/java/com/google/devtools/build/android/KeyValueConsumers.java
+++ b/src/tools/android/java/com/google/devtools/build/android/KeyValueConsumers.java
@@ -23,21 +23,21 @@ import com.google.devtools.build.android.ParsedAndroidData.KeyValueConsumer;
class KeyValueConsumers {
static KeyValueConsumers of(
KeyValueConsumer<DataKey, DataResource> overwritingConsumer,
- KeyValueConsumer<DataKey, DataResource> nonOverwritingConsumer,
+ KeyValueConsumer<DataKey, DataResource> combiningConsumer,
KeyValueConsumer<DataKey, DataAsset> assetConsumer) {
- return new KeyValueConsumers(overwritingConsumer, nonOverwritingConsumer, assetConsumer);
+ return new KeyValueConsumers(overwritingConsumer, combiningConsumer, assetConsumer);
}
final KeyValueConsumer<DataKey, DataResource> overwritingConsumer;
- final KeyValueConsumer<DataKey, DataResource> nonOverwritingConsumer;
+ final KeyValueConsumer<DataKey, DataResource> combiningConsumer;
final KeyValueConsumer<DataKey, DataAsset> assetConsumer;
private KeyValueConsumers(
KeyValueConsumer<DataKey, DataResource> overwritingConsumer,
- KeyValueConsumer<DataKey, DataResource> nonOverwritingConsumer,
+ KeyValueConsumer<DataKey, DataResource> combiningConsumer,
KeyValueConsumer<DataKey, DataAsset> assetConsumer) {
this.overwritingConsumer = overwritingConsumer;
- this.nonOverwritingConsumer = nonOverwritingConsumer;
+ this.combiningConsumer = combiningConsumer;
this.assetConsumer = assetConsumer;
}
}
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 06290876af..6730545908 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
@@ -18,6 +18,7 @@ import com.google.common.base.MoreObjects;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
+import com.google.devtools.build.android.xml.StyleableXmlResourceValue;
import com.android.ide.common.res2.MergingException;
@@ -54,28 +55,28 @@ public class ParsedAndroidData {
static class Builder {
private final Map<DataKey, DataResource> overwritingResources;
- private final Map<DataKey, DataResource> nonOverwritingResources;
+ private final Map<DataKey, DataResource> combiningResources;
private final Map<DataKey, DataAsset> assets;
private final Set<MergeConflict> conflicts;
private final List<Exception> errors = new ArrayList<>();
public Builder(
Map<DataKey, DataResource> overwritingResources,
- Map<DataKey, DataResource> nonOverwritingResources,
+ Map<DataKey, DataResource> combiningResources,
Map<DataKey, DataAsset> assets,
Set<MergeConflict> conflicts) {
this.overwritingResources = overwritingResources;
- this.nonOverwritingResources = nonOverwritingResources;
+ this.combiningResources = combiningResources;
this.assets = assets;
this.conflicts = conflicts;
}
static Builder newBuilder() {
final Map<DataKey, DataResource> overwritingResources = new LinkedHashMap<>();
- final Map<DataKey, DataResource> nonOverwritingResources = new LinkedHashMap<>();
+ final Map<DataKey, DataResource> combiningResources = new LinkedHashMap<>();
final Map<DataKey, DataAsset> assets = new LinkedHashMap<>();
final Set<MergeConflict> conflicts = new LinkedHashSet<>();
- return new Builder(overwritingResources, nonOverwritingResources, assets, conflicts);
+ return new Builder(overwritingResources, combiningResources, assets, conflicts);
}
private void checkForErrors() throws MergingException {
@@ -93,14 +94,14 @@ public class ParsedAndroidData {
return ParsedAndroidData.of(
ImmutableSet.copyOf(conflicts),
ImmutableMap.copyOf(overwritingResources),
- ImmutableMap.copyOf(nonOverwritingResources),
+ ImmutableMap.copyOf(combiningResources),
ImmutableMap.copyOf(assets));
}
ResourceFileVisitor resourceVisitor() {
return new ResourceFileVisitor(
new OverwritableConsumer<>(overwritingResources, conflicts),
- new CombiningConsumer(nonOverwritingResources),
+ new CombiningConsumer(combiningResources),
errors);
}
@@ -112,7 +113,7 @@ public class ParsedAndroidData {
public KeyValueConsumers consumers() {
return KeyValueConsumers.of(
new OverwritableConsumer<>(overwritingResources, conflicts),
- new CombiningConsumer(nonOverwritingResources),
+ new CombiningConsumer(combiningResources),
new OverwritableConsumer<>(assets, conflicts));
}
}
@@ -223,7 +224,7 @@ public class ParsedAndroidData {
*/
private static class ResourceFileVisitor extends SimpleFileVisitor<Path> {
private final KeyValueConsumer<DataKey, DataResource> overwritingConsumer;
- private final KeyValueConsumer<DataKey, DataResource> nonOverwritingConsumer;
+ private final KeyValueConsumer<DataKey, DataResource> combiningResources;
private final List<Exception> errors;
private boolean inValuesSubtree;
private FullyQualifiedName.Factory fqnFactory;
@@ -231,10 +232,10 @@ public class ParsedAndroidData {
ResourceFileVisitor(
KeyValueConsumer<DataKey, DataResource> overwritingConsumer,
- KeyValueConsumer<DataKey, DataResource> nonOverwritingConsumer,
+ KeyValueConsumer<DataKey, DataResource> combiningResources,
List<Exception> errors) {
this.overwritingConsumer = overwritingConsumer;
- this.nonOverwritingConsumer = nonOverwritingConsumer;
+ this.combiningResources = combiningResources;
this.errors = errors;
}
@@ -270,7 +271,7 @@ public class ParsedAndroidData {
if (!Files.isDirectory(path) && !path.getFileName().toString().startsWith(".")) {
if (inValuesSubtree) {
DataResourceXml.parse(
- xmlInputFactory, path, fqnFactory, overwritingConsumer, nonOverwritingConsumer);
+ xmlInputFactory, path, fqnFactory, overwritingConsumer, combiningResources);
} else {
String rawFqn = deriveRawFullyQualifiedName(path);
FullyQualifiedName key = fqnFactory.parse(rawFqn);
@@ -284,13 +285,13 @@ public class ParsedAndroidData {
}
}
- /** Creates ParsedAndroidData of conflicts, assets overwriting and nonOverwriting resources. */
+ /** Creates ParsedAndroidData of conflicts, assets overwriting and combining resources. */
public static ParsedAndroidData of(
ImmutableSet<MergeConflict> conflicts,
ImmutableMap<DataKey, DataResource> overwritingResources,
- ImmutableMap<DataKey, DataResource> nonOverwritingResources,
+ ImmutableMap<DataKey, DataResource> combiningResources,
ImmutableMap<DataKey, DataAsset> assets) {
- return new ParsedAndroidData(conflicts, overwritingResources, nonOverwritingResources, assets);
+ return new ParsedAndroidData(conflicts, overwritingResources, combiningResources, assets);
}
/**
@@ -334,17 +335,17 @@ public class ParsedAndroidData {
private final ImmutableSet<MergeConflict> conflicts;
private final ImmutableMap<DataKey, DataResource> overwritingResources;
- private final ImmutableMap<DataKey, DataResource> nonOverwritingResources;
+ private final ImmutableMap<DataKey, DataResource> combiningResources;
private final ImmutableMap<DataKey, DataAsset> assets;
private ParsedAndroidData(
ImmutableSet<MergeConflict> conflicts,
ImmutableMap<DataKey, DataResource> overwritingResources,
- ImmutableMap<DataKey, DataResource> nonOverwritingResources,
+ ImmutableMap<DataKey, DataResource> combiningResources,
ImmutableMap<DataKey, DataAsset> assets) {
this.conflicts = conflicts;
this.overwritingResources = overwritingResources;
- this.nonOverwritingResources = nonOverwritingResources;
+ this.combiningResources = combiningResources;
this.assets = assets;
}
@@ -352,7 +353,7 @@ public class ParsedAndroidData {
public String toString() {
return MoreObjects.toStringHelper(this)
.add("overwritingResources", overwritingResources)
- .add("nonOverwritingResources", nonOverwritingResources)
+ .add("combiningResources", combiningResources)
.add("assets", assets)
.toString();
}
@@ -367,14 +368,14 @@ public class ParsedAndroidData {
}
ParsedAndroidData that = (ParsedAndroidData) other;
return Objects.equals(overwritingResources, that.overwritingResources)
- && Objects.equals(nonOverwritingResources, that.nonOverwritingResources)
+ && Objects.equals(combiningResources, that.combiningResources)
&& Objects.equals(conflicts, that.conflicts)
&& Objects.equals(assets, that.assets);
}
@Override
public int hashCode() {
- return Objects.hash(conflicts, overwritingResources, nonOverwritingResources, assets);
+ return Objects.hash(conflicts, overwritingResources, combiningResources, assets);
}
/**
@@ -393,18 +394,20 @@ public class ParsedAndroidData {
}
/**
- * Returns a list of resources that would not overwrite other values when defined.
+ * Returns a list of resources are combined with other values that have the same key.
*
* <p>
* Example:
*
- * A id resource (id.Foo) could be redefined at id.Foo with no adverse effects.
+ * A id resource (id.Foo) combined id.Foo with no adverse effects, whereas two stylable.Bar
+ * resources would be combined, resulting in a Styleable containing a union of the attributes.
+ * See {@link StyleableXmlResourceValue} for more information.
*
- * @return A map of key -&gt; non-overwriting resources.
+ * @return A map of key -&gt; combing resources.
*/
@VisibleForTesting
- Map<DataKey, DataResource> getNonOverwritingResources() {
- return nonOverwritingResources;
+ Map<DataKey, DataResource> getCombiningResources() {
+ return combiningResources;
}
/**
@@ -432,7 +435,7 @@ public class ParsedAndroidData {
}
Iterable<Entry<DataKey, DataResource>> iterateDataResourceEntries() {
- return Iterables.concat(overwritingResources.entrySet(), nonOverwritingResources.entrySet());
+ return Iterables.concat(overwritingResources.entrySet(), combiningResources.entrySet());
}
boolean containsAsset(DataKey name) {
@@ -451,12 +454,12 @@ public class ParsedAndroidData {
return MergeConflict.between(key, assets.get(key), value);
}
- ImmutableMap<DataKey, DataResource> mergeNonOverwritable(ParsedAndroidData other) {
+ ImmutableMap<DataKey, DataResource> mergeCombining(ParsedAndroidData other) {
Map<DataKey, DataResource> merged = new HashMap<>();
CombiningConsumer consumer = new CombiningConsumer(merged);
for (Entry<DataKey, DataResource> entry :
Iterables.concat(
- nonOverwritingResources.entrySet(), other.nonOverwritingResources.entrySet())) {
+ combiningResources.entrySet(), other.combiningResources.entrySet())) {
consumer.consume(entry.getKey(), entry.getValue());
}
return ImmutableMap.copyOf(merged);
diff --git a/src/tools/android/java/com/google/devtools/build/android/XmlResourceValues.java b/src/tools/android/java/com/google/devtools/build/android/XmlResourceValues.java
index 978a4d0a69..3a0eefc3c9 100644
--- a/src/tools/android/java/com/google/devtools/build/android/XmlResourceValues.java
+++ b/src/tools/android/java/com/google/devtools/build/android/XmlResourceValues.java
@@ -111,7 +111,7 @@ public class XmlResourceValues {
FullyQualifiedName.Factory fqnFactory,
Path path,
KeyValueConsumer<DataKey, DataResource> overwritingConsumer,
- KeyValueConsumer<DataKey, DataResource> nonOverwritingConsumer,
+ KeyValueConsumer<DataKey, DataResource> combiningConsumer,
XMLEventReader eventReader,
StartElement start)
throws XMLStreamException {
@@ -134,7 +134,7 @@ public class XmlResourceValues {
}
}
}
- nonOverwritingConsumer.consume(
+ combiningConsumer.consume(
fqnFactory.create(ResourceType.STYLEABLE, getElementName(start)),
DataResourceXml.of(path, StyleableXmlResourceValue.of(members)));
}
diff --git a/src/tools/android/java/com/google/devtools/build/android/xml/StyleableXmlResourceValue.java b/src/tools/android/java/com/google/devtools/build/android/xml/StyleableXmlResourceValue.java
index 47da07fc26..62fcf4b629 100644
--- a/src/tools/android/java/com/google/devtools/build/android/xml/StyleableXmlResourceValue.java
+++ b/src/tools/android/java/com/google/devtools/build/android/xml/StyleableXmlResourceValue.java
@@ -140,8 +140,8 @@ public class StyleableXmlResourceValue implements XmlResourceValue {
* {@link FullyQualifiedName} results in a single Styleable containing a union of all the
* attribute references.
*
- * @param value Another {@link StyleableXmlResourceValue} with the same {@link FullyQualifiedName}
- * .
+ * @param value Another {@link StyleableXmlResourceValue} with the same
+ * {@link FullyQualifiedName}.
* @return {@link StyleableXmlResourceValue} containing a sorted union of the attribute
* references.
* @throws IllegalArgumentException if value is not an {@link StyleableXmlResourceValue}.