AAPT2: XML configuration file parser.
The XML file is parsed with the aapt::xml::XmlDom parser and actions are
used for the elements we are interested in. This means that there are
cases where a user could add aditional tags/elements to the document
that are technically invalid (acording to the schema) but are ignored by
the parser. This allows us to be more lenient which probably isn't a bad
thing.
Documents have the namespace stripped before processing as the
XmlActionExecutor ignores any elements with a namespace. The namespace
is validated before being removed.
The test cases are all based off the previous example XML file.
Test: Unit tests
Change-Id: I86d7e0dc6347ace3eaa60c1842d59f3cd0d4f749
diff --git a/tools/aapt2/Android.bp b/tools/aapt2/Android.bp
index b2f1f62..064d864 100644
--- a/tools/aapt2/Android.bp
+++ b/tools/aapt2/Android.bp
@@ -84,6 +84,7 @@
"compile/PseudolocaleGenerator.cpp",
"compile/Pseudolocalizer.cpp",
"compile/XmlIdCollector.cpp",
+ "configuration/ConfigurationParser.cpp",
"filter/ConfigFilter.cpp",
"flatten/Archive.cpp",
"flatten/TableFlattener.cpp",
@@ -160,7 +161,10 @@
cc_test_host {
name: "aapt2_tests",
srcs: ["**/*_test.cpp"],
- static_libs: ["libaapt2", "libgmock"],
+ static_libs: [
+ "libaapt2",
+ "libgmock",
+ ],
defaults: ["aapt_defaults"],
}