90919978e7ccf7dc25622e9d039a7e87ebe7ba11 |
|
02-Jun-2017 |
Adam Lesinski <adamlesinski@google.com> |
DO NOT MERGE: AAPT2: Allow undefined resources (placeholders) A resource defined like so: <item type="drawable" name="foo" /> should be assigned the value @null. The only exception is for <string> resources, which are given the empty string value (since <string></string> is ambiguous). The decision to use "" is based off the fact that old AAPT used to assign "" to all undefined resources, even non-string ones. Bug: 38425050 Test: make aapt2_tests Change-Id: Ib3e0f6f83d16ddd8b279c9fd44a07a37867b85e9
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
c744ae8aca97edfb2422598ea620e8219449fa9b |
|
18-May-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Implement attribute compat versioning This change defines some hardcoded rules to degrade attributes in newer SDKs to specific older attributes. An attribute with a degrade rule will generate a new XML for the API in which the attribute resulting from the degradation was introduced. Since API 22 (Lollipop MR1), attributes are correctly ignored and do not need to be versioned. In XML files defined for APIs 22+, the original and degraded attributes coexist in the same XML file. One such example is paddingHorizontal, introduced in API 26. paddingHorizontal degrades to paddingLeft and paddingRight, which were both introduced in API 1. Bug: 35763493 Test: make aapt2_tests Change-Id: I4aa8755a9ee2c0cc5afdc55c3d30093fd3a47f3d
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
f34b6f4f2b969b47a3f371eb9549e92ef1680d91 |
|
04-Mar-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Add --package-id flag for feature-split suppport Bug: 35928935 Change-Id: Ia8496505e61cfcfdb8f9f62366d2f36e453db111 Test: make aapt2_tests
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
b5dc4bd49a036e3403ca17e961d2c8e13e038295 |
|
23-Feb-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Few tweaks to get shared-libraries working Test: manual (building shared support library demo) Change-Id: I4730645aa92ba1893baf67ffe35fbd4aac0f8e46
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
ceb9b2f80f853059233cdd29057f39a5960a74ae |
|
16-Feb-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Shared library support Test: make aapt2_tests Change-Id: I98dddf1367e6c0ac425bb20be46e6ff05f4f2f45
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
d5083f6f6b9bc76bbe64052bcec639eee752a321 |
|
17-Jan-2017 |
Adam Lesinski <adamlesinski@google.com> |
Move StringPiece to libandroidfw libandroidfw needs to make use of StringPiece, so move it to libandroidfw and update all code referencing StringPiece in aapt2. Test: make libandroidfw_tests libaapt2_tests Change-Id: I68d7f0fc7c651b048d9d1f5e7971f10ef5349fa1
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
ce5e56e243d262a9b65459c3bd0bb9eaadd40628 |
|
22-Oct-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Rename to match new style Use Google3 naming style to match new projects' and open source google projects' style. Preferred to do this in a massive CL so as to avoid style inconsistencies that plague legacy code bases. This is a relatively NEW code base, may as well keep it up to date. Test: name/style refactor - existing tests pass Change-Id: Ie80ecb78d46ec53efdfca2336bb57d96cbb7fb87
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
cacb28f2d60858106e2819cc7d95a65e8bda890b |
|
19-Oct-2016 |
Adam Lesinski <adamlesinski@google.com> |
Use Google3 style guide with .clang-format Test: style change only, builds ok Change-Id: I885180e24cb2e7b58cfb4967c3bcb40058ce4078
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
36c73a595910e96f3552f938eeb81d46356067a1 |
|
11-Aug-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Expose split support to command line Bug:30445078 Change-Id: If4b8530dba71b9059b8e62c04757da99c1119d22
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
bad90c38881d0ea425348560a6df766e6d41bc4c |
|
02-Aug-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Add missing error statement Change-Id: I955ba6f151d68db02c3dc16d121994fb553dcea8
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
d0f116b619feede0cfdb647157ce5ab4d50a1c46 |
|
09-Jul-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Remove usage of u16string For legacy reasons, we kept around the use of UTF-16 internally in AAPT2. We don't need this and this CL removes all instances of std::u16string and StringPiece16. The only places still needed are when interacting with the ResTable APIs that only operate in UTF16. Change-Id: I492475b84bb9014fa13bf992cff447ee7a5fe588
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
64587af8179affd38ee26543b748f2d63b7f67bb |
|
19-Feb-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Support building, linking, and merging static libraries Android static libraries are like APKs but they contain much more debugging and source information. We need to treat them differently in 3 ways: 1) When building a static library, we skip things like ID assignment and product/config stripping. Source information is emitted as well. 2) When building a static library and linking against another static library, we don't want to merge, we want to simply reference. 3) When building an app that uses static libraries, we want to merge the static library under the same package with or without mangling. Bug:25958912 Change-Id: I425e032857936a3e83173c1edc2a6cdc6020b842
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
e4bb9eb5af5b0899dc0921d5580220b20e15bd5a |
|
13-Feb-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Introduce notion of 'product' to ResourceTable This allows us to preserve the various product definitions during the compile phase, and allows us to select the product in the link phase. This allows compiled files to remain product-independent, so that they do not need to be recompiled when switching targets. Bug:25958912 Change-Id: Iaa7eed25c834b67a39cdc9be43613e8b5ab6cdd7
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
28cacf091ad2b1c2749e77f590e9523e58735252 |
|
23-Nov-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Record source/comments for compound values' children Values like styles or arrays have children which need to have their source and comments preserved. Change-Id: I6fc713ba36627e6d66c7930b4080cc1403bac207
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
a587065721053ad54e34f484868142407d59512d |
|
21-Nov-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Verify min/max attr fields Integers are now checked to see if they fall in the range of min/max for the attribute they are assigned. Change-Id: I42c435b15fd3f0bd23691c83efccce4ad5973276
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
467f171315f9c2037fcd3eb5edcfabc40671bf7b |
|
17-Nov-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Fail compiling when private symbols are referenced Also moved some XML specific stuff into its own directory, and refactored ReferenceLinker a bit. Change-Id: I912247a82023c1bbf72dc191fbdaf62858cbec0c
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
e78fd617ec60139a973a01925fa7adad31febb39 |
|
22-Oct-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Move comments and source into Value Values are closely related to where they were defined, so this information should live inside the Value. This also enables comments to be attached to nested Values. Change-Id: Ic7481b5a5f26d0ef248d638e2e29252f88154581
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
9e10ac70155c993e7053323ad36beaea7bf7d54f |
|
16-Oct-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Process <java-symbols> and private symbol package Need to introduce the idea of multiple levels of visibility to support <java-symbol>. Public, Private, Undefined. Public means it is accessible from outside and requires an ID assigned. Private means that we explicitly want this to be a symbol (show up in R.java), but not visible to other packages. No ID required. Undefined is any normal resource. When --private-symbols is specified in the link phase, these resources will not show up in R.java. Change-Id: Icba89221e08e685dee7683786aa7112baf28c856
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|
1ab598f46c3ff520a67f9d80194847741f3467ab |
|
14-Aug-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Separate out the various steps An early refactor. Some ideas became clearer as development continued. Now the various phases are much clearer and more easily reusable. Also added a ton of tests! Change-Id: Ic8f0a70c8222370352e63533b329c40457c0903e
/frameworks/base/tools/aapt2/link/ReferenceLinker.cpp
|