f42c86660d15c50ff7431b89342e590bcc1bed37 |
|
31-May-2017 |
Adam Lesinski <adamlesinski@google.com> |
Merge "AAPT2: Allow merging of Style attributes from overlays" into oc-dev
|
5924d8c9ab7bd8614e8bd99864903ce9d50f3bf7 |
|
31-May-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Allow merging of Style attributes from overlays Previously style overlays would completely override an existing style. To be compatible with AAPT, styles now merge with the overlay, allowing the overlay's attributes and parent to take precedence. Bug: 38355988 Test: make aapt2_tests Change-Id: Id25c7240050a43e6a4a177c6e3d51e048d0cceb5
/frameworks/base/tools/aapt2/link/TableMerger.cpp
|
4488f1c74a0f7df09f2b201f7caa228d729e8389 |
|
27-May-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Fix <add-resource> tag for overlays Bug: 38355988 Test: make aapt2_tests Change-Id: Iea8887f55f8ceb2c15bd963405fd132916173c0c
/frameworks/base/tools/aapt2/link/TableMerger.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/TableMerger.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/TableMerger.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/TableMerger.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/TableMerger.cpp
|
085f4957477481038e0bfe141b62c7333a99fbe0 |
|
30-Aug-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Revert warning when merging packages A compiled ResourceTable may contain multiple packages. When referencing a framework attribute, for instance, the compile phase has no idea if that attribute is a USE or a DECLARATION, like so: <declare-styleable name="Foo"> <item name="android:id" /> </declare-styleable> If this file is compiled with the package 'android', then this is a declaration. If it is compiled with the package 'com.foo', this is a reference that must resolve at link time. Since this is common, warning that the package 'android' is being ignored during the merge phase is incorrect behaviour. The warning was antroduced in ag/1363992 Change-Id: I09254d79ac379439face177eb724df882d1d0ce1
/frameworks/base/tools/aapt2/link/TableMerger.cpp
|
5c3464c75fc517c0306a4ffd39c59671ccfde544 |
|
25-Aug-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Fix merging of styleables the right way Styleables should only be merged when processing overlays. This moves the styleable merging code out of ResourceTable and into TableMerger. Change-Id: I3aae05cf4dd875cd25ac2ac744b61194409b2fee
/frameworks/base/tools/aapt2/link/TableMerger.cpp
|
c34027ec3d0e1d845c3469ed07044e8e622d9cda |
|
12-Aug-2016 |
Alexandria Cornwall <acornwall@google.com> |
Merge "AAPT2: Fix resource type id symbol merging"
|
9b8528fee4eed35b8e887ded0851d08eb2b10db6 |
|
10-Aug-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix clang-tidy warnings in aapt and aapt2. * Add explicit keyword to conversion constructors. * Add NOLINT(implicit) comments for implicit conversion constructors. Bug: 28341362 * Use const reference type for read-only parameters. Bug: 30407689 * Use const reference type to avoid unnecessary copy. Bug: 30413862 Test: build with WITH_TIDY=1 Change-Id: Id6d21961f313a1ad92b15a37fdaa5be9e8ab48e1
/frameworks/base/tools/aapt2/link/TableMerger.cpp
|
6a1f8dbd51fcf169dcd237a0b369b5767719f6a4 |
|
11-Aug-2016 |
Alexandria Cornwall <acornwall@google.com> |
AAPT2: Fix resource type id symbol merging By the looks of things, AAPT2 should be able to merge public type and entry symbols iff their types and resource IDs match. Change-Id: Ie99071418aa89aad56de5e5b96e98b96d0d15d7a
/frameworks/base/tools/aapt2/link/TableMerger.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/TableMerger.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/TableMerger.cpp
|
355f285ffd000f6cfe76680eb22d010546d124bb |
|
14-Feb-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Implement density stripping and initial Split support When a preferred density is supplied, the closest matching densities will be selected, the rest stripped from the APK. Split support will be enabled in a later CL. Command line support is still needed, but the foundation is ready. Bug:25958912 Change-Id: I56d599806b4ec4ffa24e17aad48d47130ca05c08
/frameworks/base/tools/aapt2/link/TableMerger.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/TableMerger.cpp
|
6a008170cb18666e04c42856f992fc7a0afa1e1f |
|
03-Feb-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Support -c configuration filtering Change-Id: I1e5855ca73440bdc30c21bcbc1dfdd31a9842363
/frameworks/base/tools/aapt2/link/TableMerger.cpp
|
a6fe345be955368a13aea76aefb4db821aad11df |
|
10-Dec-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Fix overlay support Supports the <add-resource> tag and mimics old AAPT behavior of not allowing new resources defined unless <add-resource> was used or --auto-add-overlay was specified. Change-Id: I9b461137357617ade37fd7045b418b8e6450b9c4
/frameworks/base/tools/aapt2/link/TableMerger.cpp
|
fb48d292d9eb78a73f9473d90911ecb81da5fffd |
|
08-Nov-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Add support for overlays when merging resources Change-Id: Iea9e41123cf89e3cfba7eb6bea89def56dee8093
/frameworks/base/tools/aapt2/link/TableMerger.cpp
|
83f2255f69729e0e97539e96e5e6161843e85823 |
|
07-Nov-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Disambiguate merging of resources Merging local app resources is slightly different than merging resources from a static library. Local app resources may not have a package name set, but we do take interest in the ID set for the package (should be 0x0 or match the ID of the app we're building). Static library resources have an explicit package name defined for them, so we only merge resources from that package. Change-Id: I95e559ae94cc1df6972e77a347b1b37a93674c4d
/frameworks/base/tools/aapt2/link/TableMerger.cpp
|
b274e35abfbbd09e0fce983a215c11522c56cce2 |
|
07-Nov-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Fix inclusion of comments in R.java javadoc Comments weren't being copied when merged from the various resource tables. Also refactored the JavaClassGenerator to omit a class if no entries exist for it. Change-Id: I6eaa89b7b3715bc05403635a2baf0d1db3efd142
/frameworks/base/tools/aapt2/link/TableMerger.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/TableMerger.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/TableMerger.cpp
|
9ba47d813075fcb05c5e1532c137c93b394631cb |
|
13-Oct-2015 |
Adam Lesinski <adamlesinski@google.com> |
Filter products during compile phase Unfortunately there is no good way to deal with products in the link phase. Products are like preprocessor defines in that they are processed early and change the composition of the compiled unit. Change-Id: I6d5e15ef60d29df8e83e059ba857c09333993779
/frameworks/base/tools/aapt2/link/TableMerger.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/TableMerger.cpp
|