Commit Graph

5572 Commits

Author SHA1 Message Date
Dan Willemsen
c28d591b36 Merge changes I93cf24d4,I32e438ef
am: 30798ad13a

Change-Id: I0b178c8523d0c5829d731f6ed05cfa3fe89ad9b4
2017-09-10 01:44:06 +00:00
Treehugger Robot
30798ad13a Merge changes I93cf24d4,I32e438ef
* changes:
  Convert host tools to Android.bp
  Rename aapt_defaults to aapt2_defaults
2017-09-10 01:29:21 +00:00
Dan Willemsen
24041fe213 Merge "Convert incident_report and incident-section-gen to Android.bp"
am: d928842ab6

Change-Id: I0e0ff3d75ce5f9dc302052c1da057db8d5d35cd7
2017-09-09 22:11:38 +00:00
Dan Willemsen
c201a6bb7d Merge changes Ia3bcece1,Icd26dc1e
am: ec462238f6

Change-Id: Ied36c517ed7fa80dc85b07b1532821dc93628d40
2017-09-09 19:28:33 +00:00
Dan Willemsen
760d57a888 Convert incident_report and incident-section-gen to Android.bp
See build/soong/README.md for more information.

Test: m incident_report incident-section-gen
Test: mmma frameworks/base
Change-Id: If1a930b40196139d29e63f6558bc4a75faca1967
Merged-In: If1a930b40196139d29e63f6558bc4a75faca1967
2017-09-09 19:24:33 +00:00
Dan Willemsen
d3eac266b0 Convert host tools to Android.bp
See build/soong/README.md for more information.

Test: m libinstrumentation interrupter accessorychat accessorytest bit obbtool pbkdf2gen libsplit-select_tests split-select protoc-gen-javastream validatekeymaps libaapt_tests aapt
Test: mmma frameworks/base
Test: out/host/linux-x86/nativetest64/libaapt_tests/libaapt_tests
Test: out/host/linux-x86/nativetest64/libsplit-select_tests/libsplit-select_tests
Change-Id: I93cf24d4b232353a52d53be8ed85781b8f4a3877
2017-09-09 06:18:48 +00:00
Dan Willemsen
1cb5ab2dc1 Rename aapt_defaults to aapt2_defaults
So that tools/aapt/Android.bp can have aapt_defaults.

Test: m aapt2
Change-Id: I32e438efb3516d73b347e67297aa09bee91520b1
Merged-In: I32e438efb3516d73b347e67297aa09bee91520b1
2017-09-09 06:17:24 +00:00
Dan Willemsen
7544b9cbb9 Rename aapt_defaults to aapt2_defaults
So that tools/aapt/Android.bp can have aapt_defaults.

Test: m aapt2
Change-Id: I32e438efb3516d73b347e67297aa09bee91520b1
2017-09-08 23:11:49 -07:00
Dan Willemsen
896f01879b Don't compile libaapt with the build number
Only do that for the aapt binary itself. This will allow libaapt to be
converted to Soong.

Also remove a few lines that weren't doing anything: aaptCppflags was
never set, LOCAL_C_INCLUDES := $(LOCAL_PATH) is implied.

Test: m aapt
Test: aapt version
Change-Id: Ia3bcece14921417e1bfd3406630961c013bd497c
2017-09-08 22:58:56 -07:00
Dan Willemsen
85aee73e98 aapt: Always use our libz
Instead of using the system libz (-lz), include our copy as a static
library. This is safer in case the system version isn't compatible.

Also removes references to -ldl -lrt -lpthread, which are now implied.

Test: m -j
Test: out/host/linux-x86/nativetest64/libaapt_tests/libaapt_tests
Test: out/host/linux-x86/nativetest64/aapt2_tests/aapt2_tests
Test: out/host/linux-x86/nativetest64/libsplit-select_tests/libsplit-select_tests
Change-Id: Icd26dc1e0d011e5b5f158e562640533c5ac34e33
2017-09-08 22:44:19 -07:00
Mårten Kongstad
96e763fe71 Merge changes I7218f17a,I96b7340a
am: 111c955d1d

Change-Id: I64cb964b751561e87115976866646b1db3858e14
2017-08-31 21:44:25 +00:00
Mårten Kongstad
c903d2e7cd AAPT2: Allow <overlay> in AndroidManifest.xml
Test: libaapt2_tests
Test: manual (build an overlay package)
Change-Id: I96b7340a53a7d4f1ca022065674fbf5bdaa273f2
2017-08-31 14:50:10 +02:00
Colin Cross
f1c99fb47f Merge "Use guava 21.0"
am: edb2e0c722

Change-Id: Icf8873b268677a631659a7ee0f7816495f6acd38
2017-08-29 00:03:24 +00:00
Colin Cross
3b0ea225ab Use guava 21.0
guava 20.0 is being removed.

Test: m -j checkbuild
Change-Id: I48ac4f641da3567985339c061dad5d60829aeee0
2017-08-25 11:27:46 -07:00
Steven Moreland
8e22616fb8 Merge "Revert "aapt2_jni: use proper nativehelper headers"" into stage-aosp-master am: e59c1b1b50
am: bc6d35e698

Change-Id: Ida9cc1c9c2a64920ce094f2305e2e7bc1abaec1b
2017-08-11 22:17:51 +00:00
Steven Moreland
5c65590564 Merge "aapt2_jni: use proper nativehelper headers" into stage-aosp-master am: e17aa09136
am: 1c7ae6507e

Change-Id: I31224c1a0bef8074c4d569137b3134d28039ee58
2017-08-11 22:06:57 +00:00
Steven Moreland
e59c1b1b50 Merge "Revert "aapt2_jni: use proper nativehelper headers"" into stage-aosp-master 2017-08-11 21:41:00 +00:00
Steven Moreland
fe028b0d0f Revert "aapt2_jni: use proper nativehelper headers"
This reverts commit 8eebd694e5.

Reason for revert: TH skipped PS run

Change-Id: Iab0e71d985819880146476ba3648e8b94201a839
2017-08-11 21:38:39 +00:00
TreeHugger Robot
e17aa09136 Merge "aapt2_jni: use proper nativehelper headers" into stage-aosp-master 2017-08-11 21:35:31 +00:00
Steven Moreland
8eebd694e5 aapt2_jni: use proper nativehelper headers
libnativehelper exports headers under nativehelper. These were
available before incorrectly as global headers in order to give
access to jni.h.

Test: modules using aapt2_jni find headers
Bug: 63762847
Change-Id: Id51354d533bfef66ecd71f5d89599b8adc688c1f
2017-08-11 11:01:23 -07:00
Adam Lesinski
dc901a6318 Merge "AAPT2: Disable locale domination for deduping" into oc-dr1-dev
am: 242c22c900

Change-Id: I8fa65b89f1f10fe8920aa45d14c7b917b6bc74d8
2017-08-07 17:43:05 +00:00
Adam Lesinski
907399187e AAPT2: Disable locale domination for deduping
Locale deduping isn't straightforward, as parenting rules
change between platform versions and the selection
preference of a specific locale variant over the default
configuration lead to incorrect results at runtime.

Bug: 62409213
Test: make aapt2_tests
Change-Id: Iec8f1cfba7ae43c847d163529891fdc15f3db826
2017-08-04 17:23:14 -07:00
Colin Cross
3a40330f3f Merge "Move inserted method after end of try block" am: b080b22a17 am: a413870ef5
am: 4a3caf1719

Change-Id: Ib6c4527df0f575217bad0c7e1f2a6b50f203beb7
2017-08-04 16:18:57 +00:00
Colin Cross
a413870ef5 Merge "Move inserted method after end of try block"
am: b080b22a17

Change-Id: Ie23cd33f1910de23bb651fb27fcca71507269bdf
2017-08-04 16:06:02 +00:00
Colin Cross
cebc382d5f Move inserted method after end of try block
Methods inserted at the end of a synchronized {} block also need to
be outside of the implicit try{} block.  Make sure the next
instruction is the virtual end label for the try block, and put
the inserted method after the label.

Bug: 64301866
Test: locked_region_code_injection test
Test: m -j checkbuild
Change-Id: I6626aa45580b4df692e02fc6127a2947a6075e2e
2017-08-03 20:55:37 -07:00
Adam Lesinski
74468583b3 Merge "AAPT2: Fix processing of quotes in XML" into oc-dr1-dev
am: 16cfd497f5

Change-Id: Ibe24c4b8750d02774456d6c2d638655ece4c7ffd
2017-07-27 20:04:15 +00:00
Adam Lesinski
c895688488 AAPT2: Fix processing of quotes in XML
When processing attributes in XML, quotes can't be used to mark a
section as whitespace preserving, so the assumption should be that the
entire string is whitespace preserving, which makes quote characters
literals.

Bug: 62840718
Bug: 62840406
Test: make aapt2_tests
Change-Id: I4afff02148b5b8e78833abf1f323c2f5325d6155
2017-07-26 20:41:34 +00:00
Seigo Nonaka
ba12631bba Merge "Stop loading other package's font by default." into oc-dev
am: 824d75e0e1

Change-Id: I5518dbd8b5d8a4548ea00bbfca0e3aee87880ee7
2017-06-23 04:23:44 +00:00
Seigo Nonaka
80f6a985c3 Stop loading other package's font by default.
Since CONTEXT_RESTRICTED is not a default flag of createPackageContext,
we can't rely on it for preventing unexpected font injections.
To protect developers and existing apps from a risk of font injection,
stop loading font from other package's resouce unless the developer
explicitly set CONTEXT_IGNORE_SECURITY.

This CL contains Iac2a6fb3d82ef23d5ca6ee33f4aaa9ed28455271 by manual
merging to handle repository split.

Bug: 62813533
Bug: 62879353
Test: Manually done
Merged-In: I4442ddc48dadb5c968b444be86038b602074d301
Change-Id: I4442ddc48dadb5c968b444be86038b602074d301
2017-06-22 19:07:17 -07:00
Alan Leung
94e68505c4 Merge "Merge "ASM Priority Boost Tool" am: 8ff8dd16cc am: 8ac18ceb8a" into oc-dev-plus-aosp
am: 643275b838

Change-Id: Idb669d7b381f8291fb44dcc5a4d1824d118319d9
2017-06-22 22:50:42 +00:00
Alan Leung
578e39fe04 Merge "ASM Priority Boost Tool" am: 8ff8dd16cc
am: 8ac18ceb8a

Change-Id: I68f86f307368de6870a7d649118d1a0f8c744a88
2017-06-22 22:34:29 +00:00
Alan Leung
ed36ba52bf ASM Priority Boost Tool
This tool is a replacement for the Jack plugin that allows injection
of static method calls before lock enter and exit.

A common use case would be to boost a thread's priority as soon as
it acquires a heavily contented lock and resetting the priority upon
release.

This tool is meant to be optionally invoked from /build/core/ rules
during the build process.

Test: JUnit Tests / resulting image on a bullhead.

Change-Id: If400414a0bf50f03768a1de2ebee42086a9d701f
Merged-In: If400414a0bf50f03768a1de2ebee42086a9d701f
(cherry picked from commit 93db63059a)
2017-06-22 14:00:04 -07:00
Adam Lesinski
b9f0548341 AAPT2: Do not interpret %n as a format specifier in string resources
%n is a special value marking a platform independent newline and is
not to be considered a format argument.

Bug: 37132275
Test: make aapt2_tests
Change-Id: I806521e44afe20004344dee9f18ecee6cc7086ea
2017-06-06 20:02:38 +00:00
Adam Lesinski
7a917a27ef AAPT2: Allow <layout> in <activity> tag in AndroidManifest.xml
Bug: 62189611
Test: make AaptTestAppOne
Change-Id: Ic090e4a002b24f2289f47dfba7439638e5848062
2017-06-06 18:14:48 +00:00
Adam Lesinski
54376bbd4b Merge "DO NOT MERGE: AAPT2: Allow undefined resources (placeholders)" into oc-dev
am: 2f84c4715d

Change-Id: I266b8648e9aa292befa02c4e7dc0ce54f0b26e21
2017-06-05 17:54:37 +00:00
Adam Lesinski
90919978e7 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
2017-06-02 16:51:59 -07:00
Adam Lesinski
bab4ef56d7 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
2017-06-02 16:48:38 -07:00
Adam Lesinski
127f10037b Merge "AAPT2: Allow any value type for <item> without format attr" into oc-dev am: 1ac325e4d5
am: 3c860ed41d

Change-Id: I44719ae4d742b518f59c9c9bbc226ec9773ce365
2017-06-02 03:04:42 +00:00
Adam Lesinski
3c860ed41d Merge "AAPT2: Allow any value type for <item> without format attr" into oc-dev
am: 1ac325e4d5

Change-Id: I1b1180f2b33a077b2c46a8466c58d83ed618576e
2017-06-02 02:35:07 +00:00
Adam Lesinski
e597d68d33 AAPT2: Allow any value type for <item> without format attr
TO bring AAPT2 behavior in-line with AAPT, <item> has a default
format of "any", and only becomes restricted with an explicit format
attribute.

Bug: 62260121
Test: make aapt2_tests
Change-Id: Ife416f520e6c2710bb30e3ba3f2d4463794bfa06
2017-06-01 17:16:44 -07:00
TreeHugger Robot
95cad98ad5 Merge "AAPT2: XML configuration file parser." 2017-06-01 07:20:59 +00:00
Shane Farmer
74cdea34cd 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
2017-05-31 16:18:31 -07:00
Shane Farmer
7eded65454 AAPT2: XML schema and an example configuraiton
The current iteration of the schema allows for both Split and Optimize
commands running off the same file. A split command is multiple optimize
command, and an optimize is a split with only a single artifact. To
combine the two, a single file with one or more artifacts can be passed
to either command. If multiple artifiacts are used for an optimize
command, the required artifact can be specified on the command line. A
configuration with only a single artifact can be used with either
command to get the same result.

Change-Id: Ie48eda6e2f9f8bf25d75ef7bcc3b3401a2d3e8eb
Bugs: 37847908
Test: xmllint --noout --schema aapt2.xsd example/config.xml
2017-05-31 16:05:07 -07:00
Adam Lesinski
7a5b406805 Merge "AAPT2: Update --no-version-vector list" into oc-dev am: f296105e22
am: ad227a8086

Change-Id: Ie60160136d6bbca607ce98cd675ffed984b2debc
2017-05-31 21:26:17 +00:00
Adam Lesinski
eac0410e5d Merge "AAPT2: Allow merging of Style attributes from overlays" into oc-dev am: f42c86660d
am: b5cdbdfcf8

Change-Id: Ifabd2f220f96f9dc4942c2cc65b24da6f2d90b13
2017-05-31 21:23:46 +00:00
Adam Lesinski
ad227a8086 Merge "AAPT2: Update --no-version-vector list" into oc-dev
am: f296105e22

Change-Id: I0cde63dfd73b50debdc56f549f7adb1318f05309
2017-05-31 21:15:32 +00:00
Adam Lesinski
b5cdbdfcf8 Merge "AAPT2: Allow merging of Style attributes from overlays" into oc-dev
am: f42c86660d

Change-Id: I4a52a16fff3d544d8d7d63d8a482ba7e2111d01a
2017-05-31 21:12:58 +00:00
TreeHugger Robot
f296105e22 Merge "AAPT2: Update --no-version-vector list" into oc-dev 2017-05-31 20:49:02 +00:00
Adam Lesinski
f42c86660d Merge "AAPT2: Allow merging of Style attributes from overlays" into oc-dev 2017-05-31 20:48:06 +00:00
Winson Chung
b3419d76a6 Merge changes from topic 'hw_bitmap' into oc-dev
am: 4e73123c52

Change-Id: Ic202387c7fddcf6cc87024812c112e5ce3a4ab7b
2017-05-31 18:56:50 +00:00