aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/AndroidDataWriter.java53
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/AndroidDataWritingVisitor.java10
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/xml/ArrayXmlResourceValue.java8
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/xml/AttrXmlResourceValue.java80
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/xml/PluralXmlResourceValue.java15
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/xml/StyleXmlResourceValue.java6
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/xml/StyleableXmlResourceValue.java7
7 files changed, 27 insertions, 152 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidDataWriter.java b/src/tools/android/java/com/google/devtools/build/android/AndroidDataWriter.java
index ab43942abd..4be59ba433 100644
--- a/src/tools/android/java/com/google/devtools/build/android/AndroidDataWriter.java
+++ b/src/tools/android/java/com/google/devtools/build/android/AndroidDataWriter.java
@@ -48,7 +48,6 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
-import java.util.TreeMap;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
@@ -81,40 +80,6 @@ public class AndroidDataWriter implements AndroidDataWritingVisitor {
}
}
- private static final class WriteValuesXmlTask implements Callable<Boolean> {
-
- private final Path valuesPath;
- private final Map<FullyQualifiedName, Iterable<String>> valueFragments;
-
- WriteValuesXmlTask(Path valuesPath, Map<FullyQualifiedName, Iterable<String>> valueFragments) {
- this.valuesPath = valuesPath;
- this.valueFragments = valueFragments;
- }
-
- @Override
- public Boolean call() throws Exception {
- // TODO(corysmith): replace the xml writing with a real xml writing library.
- Files.createDirectories(valuesPath.getParent());
- try (BufferedWriter writer =
- Files.newBufferedWriter(
- valuesPath,
- StandardCharsets.UTF_8,
- StandardOpenOption.CREATE_NEW,
- StandardOpenOption.WRITE)) {
- writer.write(START_RESOURCES);
- for (FullyQualifiedName key :
- Ordering.natural().immutableSortedCopy(valueFragments.keySet())) {
- for (String line : valueFragments.get(key)) {
- writer.write(line);
- writer.write(LINE_END);
- }
- }
- writer.write(END_RESOURCES);
- }
- return Boolean.TRUE;
- }
- }
-
private static final class CopyTask implements Callable<Boolean> {
private final Path sourcePath;
@@ -263,14 +228,6 @@ public class AndroidDataWriter implements AndroidDataWritingVisitor {
*/
@Override
public void flush() throws IOException {
- for (Entry<String, Map<FullyQualifiedName, Iterable<String>>> entry :
- valueFragments.entrySet()) {
- writeTasks.add(
- executorService.submit(
- new WriteValuesXmlTask(
- resourceDirectory().resolve(entry.getKey()), entry.getValue())));
- }
-
for (Entry<String, ResourceValuesDefinitions> entry : valueTags.entrySet()) {
writeTasks.add(
executorService.submit(
@@ -285,16 +242,6 @@ public class AndroidDataWriter implements AndroidDataWritingVisitor {
}
@Override
- public void writeToValuesXml(FullyQualifiedName key, Iterable<String> xmlFragment) {
- String valuesPathString = key.valuesPath();
- if (!valueFragments.containsKey(valuesPathString)) {
- valueFragments.put(
- valuesPathString, new TreeMap<FullyQualifiedName, Iterable<String>>(Ordering.natural()));
- }
- valueFragments.get(valuesPathString).put(key, xmlFragment);
- }
-
- @Override
public ValueResourceDefinitionMetadata define(FullyQualifiedName fqn) {
String valuesPath = fqn.valuesPath();
if (!valueTags.containsKey(valuesPath)) {
diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidDataWritingVisitor.java b/src/tools/android/java/com/google/devtools/build/android/AndroidDataWritingVisitor.java
index c55ee3629e..ff8fabddfb 100644
--- a/src/tools/android/java/com/google/devtools/build/android/AndroidDataWritingVisitor.java
+++ b/src/tools/android/java/com/google/devtools/build/android/AndroidDataWritingVisitor.java
@@ -51,16 +51,6 @@ public interface AndroidDataWritingVisitor extends Flushable {
throws IOException, MergingException;
/**
- * Adds a xml string fragment to the values file.
- *
- * @param key Used to ensure a constant order of the written xml.
- * @param xmlFragment the xml fragment as an Iterable<String> which allows lazy generation.
- */
- // TODO(corysmith): Change this to pass in a xml writer. Safer all around.
- @Deprecated
- void writeToValuesXml(FullyQualifiedName key, Iterable<String> xmlFragment);
-
- /**
* Provides a fluent interface to generate an xml resource for the values directory.
*
* <p>Example usage:
diff --git a/src/tools/android/java/com/google/devtools/build/android/xml/ArrayXmlResourceValue.java b/src/tools/android/java/com/google/devtools/build/android/xml/ArrayXmlResourceValue.java
index ce00d9577b..3819d86998 100644
--- a/src/tools/android/java/com/google/devtools/build/android/xml/ArrayXmlResourceValue.java
+++ b/src/tools/android/java/com/google/devtools/build/android/xml/ArrayXmlResourceValue.java
@@ -127,7 +127,13 @@ public class ArrayXmlResourceValue implements XmlResourceValue {
.addAttributesFrom(attributes.entrySet())
.closeTag();
for (String value : values) {
- definition = definition.startItemTag().closeTag().addCharactersOf(value).endTag();
+ definition =
+ definition
+ .startItemTag()
+ .closeTag()
+ .addCharactersOf(value)
+ .endTag()
+ .addCharactersOf("\n");
}
definition.endTag().save();
}
diff --git a/src/tools/android/java/com/google/devtools/build/android/xml/AttrXmlResourceValue.java b/src/tools/android/java/com/google/devtools/build/android/xml/AttrXmlResourceValue.java
index 636f536183..7984dc1097 100644
--- a/src/tools/android/java/com/google/devtools/build/android/xml/AttrXmlResourceValue.java
+++ b/src/tools/android/java/com/google/devtools/build/android/xml/AttrXmlResourceValue.java
@@ -17,7 +17,6 @@ import static com.google.common.base.Predicates.equalTo;
import static com.google.common.base.Predicates.not;
import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Function;
import com.google.common.base.MoreObjects;
import com.google.common.base.Preconditions;
import com.google.common.collect.FluentIterable;
@@ -297,8 +296,7 @@ public class AttrXmlResourceValue implements XmlResourceValue {
.derivedFrom(source)
.startTag("attr")
.named(key)
- .closeTag()
- .endTag()
+ .closeUnaryTag()
.save();
} else {
ImmutableList<String> formatKeys =
@@ -316,7 +314,8 @@ public class AttrXmlResourceValue implements XmlResourceValue {
.attribute("format")
.setFrom(formatKeys)
.joinedBy("|")
- .closeTag();
+ .closeTag()
+ .addCharactersOf("\n");
for (ResourceXmlAttrValue value : formats.values()) {
definition = value.writeTo(definition);
}
@@ -324,6 +323,7 @@ public class AttrXmlResourceValue implements XmlResourceValue {
}
}
+ @SuppressWarnings("deprecation")
@Override
public int serializeTo(Path source, OutputStream output) throws IOException {
SerializeFormat.DataValue.Builder builder =
@@ -347,7 +347,6 @@ public class AttrXmlResourceValue implements XmlResourceValue {
@CheckReturnValue
interface ResourceXmlAttrValue {
- FluentIterable<String> appendTo(FluentIterable<String> iterable);
ValuesResourceDefinition writeTo(ValuesResourceDefinition writer);
@@ -360,14 +359,6 @@ public class AttrXmlResourceValue implements XmlResourceValue {
@VisibleForTesting
public static class EnumResourceXmlAttrValue implements ResourceXmlAttrValue {
- private static final Function<Entry<String, String>, String> MAP_TO_ENUM =
- new Function<Entry<String, String>, String>() {
- @Nullable
- @Override
- public String apply(Entry<String, String> entry) {
- return String.format("<enum name='%s' value='%s'/>", entry.getKey(), entry.getValue());
- }
- };
private Map<String, String> values;
private EnumResourceXmlAttrValue(Map<String, String> values) {
@@ -409,11 +400,6 @@ public class AttrXmlResourceValue implements XmlResourceValue {
}
@Override
- public FluentIterable<String> appendTo(FluentIterable<String> iterable) {
- return iterable.append(FluentIterable.from(values.entrySet()).transform(MAP_TO_ENUM));
- }
-
- @Override
public SerializeFormat.DataValueXml appendTo(SerializeFormat.DataValueXml.Builder builder) {
return builder.putAllMappedStringValue(values).build();
}
@@ -428,7 +414,8 @@ public class AttrXmlResourceValue implements XmlResourceValue {
.setTo(entry.getKey())
.attribute("value")
.setTo(entry.getValue())
- .closeUnaryTag();
+ .closeUnaryTag()
+ .addCharactersOf("\n");
}
return writer;
}
@@ -480,21 +467,6 @@ public class AttrXmlResourceValue implements XmlResourceValue {
}
@Override
- public FluentIterable<String> appendTo(FluentIterable<String> iterable) {
- return iterable.append(
- FluentIterable.from(values.entrySet())
- .transform(
- new Function<Entry<String, String>, String>() {
- @Nullable
- @Override
- public String apply(Entry<String, String> input) {
- return String.format(
- "<flag name='%s' value='%s'/>", input.getKey(), input.getValue());
- }
- }));
- }
-
- @Override
public SerializeFormat.DataValueXml appendTo(SerializeFormat.DataValueXml.Builder builder) {
return builder.putAllMappedStringValue(values).build();
}
@@ -531,11 +503,6 @@ public class AttrXmlResourceValue implements XmlResourceValue {
}
@Override
- public FluentIterable<String> appendTo(FluentIterable<String> iterable) {
- return iterable;
- }
-
- @Override
public SerializeFormat.DataValueXml appendTo(SerializeFormat.DataValueXml.Builder builder) {
return builder.build();
}
@@ -561,11 +528,6 @@ public class AttrXmlResourceValue implements XmlResourceValue {
}
@Override
- public FluentIterable<String> appendTo(FluentIterable<String> iterable) {
- return iterable;
- }
-
- @Override
public SerializeFormat.DataValueXml appendTo(SerializeFormat.DataValueXml.Builder builder) {
return builder.build();
}
@@ -591,11 +553,6 @@ public class AttrXmlResourceValue implements XmlResourceValue {
}
@Override
- public FluentIterable<String> appendTo(FluentIterable<String> iterable) {
- return iterable;
- }
-
- @Override
public SerializeFormat.DataValueXml appendTo(SerializeFormat.DataValueXml.Builder builder) {
return builder.build();
}
@@ -621,11 +578,6 @@ public class AttrXmlResourceValue implements XmlResourceValue {
}
@Override
- public FluentIterable<String> appendTo(FluentIterable<String> iterable) {
- return iterable;
- }
-
- @Override
public SerializeFormat.DataValueXml appendTo(SerializeFormat.DataValueXml.Builder builder) {
return builder.build();
}
@@ -652,11 +604,6 @@ public class AttrXmlResourceValue implements XmlResourceValue {
}
@Override
- public FluentIterable<String> appendTo(FluentIterable<String> iterable) {
- return iterable;
- }
-
- @Override
public SerializeFormat.DataValueXml appendTo(SerializeFormat.DataValueXml.Builder builder) {
return builder.build();
}
@@ -682,11 +629,6 @@ public class AttrXmlResourceValue implements XmlResourceValue {
}
@Override
- public FluentIterable<String> appendTo(FluentIterable<String> iterable) {
- return iterable;
- }
-
- @Override
public SerializeFormat.DataValueXml appendTo(SerializeFormat.DataValueXml.Builder builder) {
return builder.build();
}
@@ -712,11 +654,6 @@ public class AttrXmlResourceValue implements XmlResourceValue {
}
@Override
- public FluentIterable<String> appendTo(FluentIterable<String> iterable) {
- return iterable;
- }
-
- @Override
public SerializeFormat.DataValueXml appendTo(SerializeFormat.DataValueXml.Builder builder) {
return builder.build();
}
@@ -742,11 +679,6 @@ public class AttrXmlResourceValue implements XmlResourceValue {
}
@Override
- public FluentIterable<String> appendTo(FluentIterable<String> iterable) {
- return iterable;
- }
-
- @Override
public SerializeFormat.DataValueXml appendTo(SerializeFormat.DataValueXml.Builder builder) {
return builder.build();
}
diff --git a/src/tools/android/java/com/google/devtools/build/android/xml/PluralXmlResourceValue.java b/src/tools/android/java/com/google/devtools/build/android/xml/PluralXmlResourceValue.java
index 791e993c15..64cc8e8c64 100644
--- a/src/tools/android/java/com/google/devtools/build/android/xml/PluralXmlResourceValue.java
+++ b/src/tools/android/java/com/google/devtools/build/android/xml/PluralXmlResourceValue.java
@@ -13,7 +13,6 @@
// limitations under the License.
package com.google.devtools.build.android.xml;
-import com.google.common.base.Function;
import com.google.common.base.MoreObjects;
import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.android.AndroidDataWritingVisitor;
@@ -31,7 +30,6 @@ import java.nio.file.Path;
import java.util.Map.Entry;
import java.util.Objects;
-import javax.annotation.Nullable;
import javax.annotation.concurrent.Immutable;
import javax.xml.namespace.QName;
@@ -53,14 +51,7 @@ import javax.xml.namespace.QName;
public class PluralXmlResourceValue implements XmlResourceValue {
private static final QName PLURALS = QName.valueOf("plurals");
- public static final Function<Entry<String, String>, String> ENTRY_TO_PLURAL =
- new Function<Entry<String, String>, String>() {
- @Nullable
- @Override
- public String apply(Entry<String, String> input) {
- return String.format("<item quantity='%s'>%s</item>", input.getKey(), input.getValue());
- }
- };
+
private final ImmutableMap<String, String> values;
private PluralXmlResourceValue(ImmutableMap<String, String> values) {
@@ -84,7 +75,8 @@ public class PluralXmlResourceValue implements XmlResourceValue {
.setTo(plural.getKey())
.closeTag()
.addCharactersOf(plural.getValue())
- .endTag();
+ .endTag()
+ .addCharactersOf("\n");
}
definition.endTag().save();
}
@@ -108,6 +100,7 @@ public class PluralXmlResourceValue implements XmlResourceValue {
return MoreObjects.toStringHelper(getClass()).add("values", values).toString();
}
+ @SuppressWarnings("deprecation")
public static XmlResourceValue from(SerializeFormat.DataValueXml proto) {
return of(ImmutableMap.copyOf(proto.getMappedStringValue()));
}
diff --git a/src/tools/android/java/com/google/devtools/build/android/xml/StyleXmlResourceValue.java b/src/tools/android/java/com/google/devtools/build/android/xml/StyleXmlResourceValue.java
index d0c833201a..c3edb182e4 100644
--- a/src/tools/android/java/com/google/devtools/build/android/xml/StyleXmlResourceValue.java
+++ b/src/tools/android/java/com/google/devtools/build/android/xml/StyleXmlResourceValue.java
@@ -91,7 +91,8 @@ public class StyleXmlResourceValue implements XmlResourceValue {
.optional()
.attribute("parent")
.setTo(parent)
- .closeTag();
+ .closeTag()
+ .addCharactersOf("\n");
for (Entry<String, String> entry : values.entrySet()) {
definition =
definition
@@ -99,7 +100,8 @@ public class StyleXmlResourceValue implements XmlResourceValue {
.named(entry.getKey())
.closeTag()
.addCharactersOf(entry.getValue())
- .endTag();
+ .endTag()
+ .addCharactersOf("\n");
}
definition.endTag().save();
}
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 38d90fd8e3..095ff7a1cb 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
@@ -126,7 +126,12 @@ public class StyleableXmlResourceValue implements XmlResourceValue {
} else {
// Make a reference to the attr.
definition =
- definition.startTag("attr").attribute("name").setTo(entry.getKey()).closeUnaryTag();
+ definition
+ .startTag("attr")
+ .attribute("name")
+ .setTo(entry.getKey())
+ .closeUnaryTag()
+ .addCharactersOf("\n");
}
}
definition.endTag().save();