Commit Graph

15373 Commits

Author SHA1 Message Date
Treehugger Robot 082837365d Merge "Add BOARD_EXT4_SHARE_DUP_BLOCKS to share duplicated blocks on ext4" 2018-01-24 04:10:42 +00:00
Jiyong Park 42bb3a2ddf Merge "Don't use old VNDK and SystemSDK versions for new devices" am: 3fcaecec8a
am: b50e47cbc4

Change-Id: Ieb49f4a2363d2b38b2cb512e97ed828e22790e2a
2018-01-24 02:37:21 +00:00
Treehugger Robot 3fcaecec8a Merge "Don't use old VNDK and SystemSDK versions for new devices" 2018-01-24 02:25:38 +00:00
Jiyong Park 95f9313445 Don't use old VNDK and SystemSDK versions for new devices
We need to prevent vendors from using old VNDK and SystemSDK versions
for newly launched device. Otherwise, deprecating old versions of the
APIs would be really difficult.

Specifically, it is enforced that

PRODUCT_SHIPPING_API_LEVEL <= BOARD_VNDK_VERSION

PRODUCT_SHIPPING_API_LEVEL <= min(BOARD_SYSTEMSDK_VERSIONS)

Bug: 72126206
Test: manually setting BOARD_VNDK_VERSION to 24 in
device/google/wahoo/BoardConfig.mk and choosecom to walleye
Test: m -j shows an error on BOARD_VNDK_VERSION
Test: BOARD_SYSTEMSDK_VERSION="25 26" m -j shows an error on
BOARD_SYSTEMSDK_VERSION

Change-Id: I17646487a9c77a6a5110749e22ba47f0f75920cf
2018-01-24 09:59:09 +09:00
Jiyong Park 2c975edc0e Merge "Add PLATFORM_SYSTEMSDK_VERSIONS and BOARD_SYSTEMSDK_VERSIONS" am: ae891fb19e
am: 4de1dc97c0

Change-Id: Ie3104726801d314058c059691e2fef77da07e9e7
2018-01-23 18:47:21 +00:00
Treehugger Robot ae891fb19e Merge "Add PLATFORM_SYSTEMSDK_VERSIONS and BOARD_SYSTEMSDK_VERSIONS" 2018-01-23 03:35:19 +00:00
Jin Qian fde9f7906b Add BOARD_EXT4_SHARE_DUP_BLOCKS to share duplicated blocks on ext4
This option applies to system.img and vendor.img.

Bug: 64109868
Change-Id: Ib4c7384049dca08e57441ef71cc81c2fba4462dd
2018-01-22 17:21:11 -08:00
Nicolas Geoffray d1cca1967c Merge "Don't strip for eng builds." am: 12c68db516
am: abfb75d66f

Change-Id: Ie8dae5e16e66f6478813e116cf8c4fe99130b1bb
2018-01-22 20:08:58 +00:00
Treehugger Robot 12c68db516 Merge "Don't strip for eng builds." 2018-01-22 19:51:12 +00:00
Nicolas Geoffray ed6ee7b64d Don't strip for eng builds.
bug: 72150787
Test: m
Change-Id: Ifdd403dfecb440e32c4d0c00a7543820b2098359
2018-01-22 15:07:37 +00:00
Nicolas Geoffray aa9a2e4af9 Merge "Tighter control of stripping in dex_preopt_odex_install." am: ec1fdc8813
am: ef29a15ac4

Change-Id: I5cf557499126024d31df39435adac32675b19012
2018-01-22 13:47:03 +00:00
Nicolas Geoffray ec1fdc8813 Merge "Tighter control of stripping in dex_preopt_odex_install." 2018-01-22 13:37:56 +00:00
Tobias Thierer 33130f97e3 Merge "Experimental feature: LOCAL_PATCH_MODULE option in .mk files." am: 4bb18a8a2e
am: 38d784f152

Change-Id: I8f52e67380ee8c32993d9122ab17c9683a7bbb5b
2018-01-22 11:43:26 +00:00
Tobias Thierer 4bb18a8a2e Merge "Experimental feature: LOCAL_PATCH_MODULE option in .mk files." 2018-01-22 11:34:18 +00:00
David Brazdil d0c9593802 Merge "Add new API file names" am: 33bb091971
am: 6410668278

Change-Id: Ib505b504f508332be5b7913b490b64348ebf5066
2018-01-20 11:29:28 +00:00
David Brazdil 33bb091971 Merge "Add new API file names" 2018-01-20 10:06:22 +00:00
Ivan Lozano a29ee1591c Merge "Revert "Overflow sanitization in frameworks/ and system/."" am: a663b8fb1c
am: f67c4bbcd8

Change-Id: Ib09cff9930ffa6e86e1117e36e5355ff2192f20c
2018-01-20 04:02:58 +00:00
Treehugger Robot a663b8fb1c Merge "Revert "Overflow sanitization in frameworks/ and system/."" 2018-01-20 03:54:23 +00:00
Ivan Lozano c5ef21febf Revert "Overflow sanitization in frameworks/ and system/."
This reverts commit c2d7db1c7d.

Change-Id: I3bab6a359bcec605a8120bf106bf121090eb63fe
2018-01-20 01:44:11 +00:00
Alex Klyubin f7cb74004c Merge "Reland: Add boot.art.rel files to system image" am: 00844ccf77
am: dd9dc9b749

Change-Id: I5d7a2d0a2504c5fb1db94ad0f40ecd2b97aa78ff
2018-01-20 01:13:33 +00:00
Alex Klyubin a1b5dfe151 Reland: Add boot.art.rel files to system image
This file is used to verify that all differences between /system
boot*.art and /data/dalvik-cache boot*.art only consist of relocation
changes. The goal is to mitigate /data/dalvik-cache boot*.art files
being a persistence vector.

Test: Build and ensure boot.art.rel files are on the image.
Bug: 66697305
Change-Id: I68c445da46b2d3099ee347a04af4fbb84da85b0d
2018-01-19 14:34:32 -08:00
Ivan Lozano 1e24f4f428 Merge "Overflow sanitization in frameworks/ and system/." am: ee960154e5
am: 526c25448f

Change-Id: I2c6c2af14d3e8bdd64558d6dc8d6c8c9d3820488
2018-01-19 16:05:07 +00:00
Ivan Lozano ee960154e5 Merge "Overflow sanitization in frameworks/ and system/." 2018-01-19 15:55:38 +00:00
Ian Pedowitz a6b57439a2 Merge "Revert "Add boot.art.rel files to system image"" am: d3a6ff9bdb
am: 4594b772f6

Change-Id: I052b76cf95b594856c61f70eebca79c57527a7d2
2018-01-19 14:42:23 +00:00
Treehugger Robot d3a6ff9bdb Merge "Revert "Add boot.art.rel files to system image"" 2018-01-19 14:35:01 +00:00
Ian Pedowitz 74076b7556 Revert "Add boot.art.rel files to system image"
This reverts commit d616e0e820.

Reason for revert: b/72207339 - user builds are failing with this change

Bug: 72207339
Bug: 66697305
Change-Id: Ia309d04d837851ae11518f05aca468ecca895e6f
Test: Before the revert, taimen-user does not build.  After the revert taimen-user builds
2018-01-19 12:43:38 +00:00
Jiyong Park 641b6cc6b0 Add PLATFORM_SYSTEMSDK_VERSIONS and BOARD_SYSTEMSDK_VERSIONS
PLATFORM_SYSTEMSDK_VERSIONS is the list of System SDK versions that the
platform is supporting. Contrary to the public SDK where platform
essentially supports all previous SDK versions, platform support only a
few recent System SDK versions, since some of old System APIs are
gradually deprecated, removed from the following SDKs and then finally
deleted from the platform. This will be part of the framework manifest.

The list can be specified by setting PLATFORM_SYSTEMSDK_MIN_VERSION. If
it is set to an old version number, then System SDKs from the version
to the current version (PLATFORM_SDK_VERSION) are considered to be
supported by the platform. If PLATFORM_SYSTEMSDK_MIN_VERSION is not set,
only the latest System SDK version is supported.

Next, BOARD_SYSTEMSDK_VERSIONS is the list of System SDK versions that
the device is using. This is put to the device compatibility matrix
device is using. The device and the platform is considered as compatible
only BOARD_SYSTEMSDK_VERSIONS in the device compatibility matrix are
in the PLATFORM_SYSTEMSDK_VERSIONS in the framework manifest.

When BOARD_SYSTEMSDK_VERSIONS is set, a Java app or library in vendor or
odm partitions which didn't specify LOCAL_SDK_VERSION  is forced to use
System SDK. Also, the build system does the additional integrity check
to ensure that LOCAL_SDK_VERSION is within BOARD_SYSTEMSDK_VERSIONS or
PLATFORM_SYSTEMSDK_VERSIONS (if BOARD_SYSTEMSDK_VERSIONS isn't set).

Bug: 69088799
Test: m -j
Test: BOARD_SYSTEMSDK_VERSIONS=P m -j
Change-Id: If4d59f6030e4cc402e015701d0caf94aeec37263
2018-01-19 15:42:05 +09:00
Alex Klyubin 767a626bc5 Merge "Add boot.art.rel files to system image" am: eb38b51733
am: 8833703869

Change-Id: Iaca5ce4d5f6c063928d29870e50bbf45e412611b
2018-01-19 05:23:53 +00:00
Treehugger Robot eb38b51733 Merge "Add boot.art.rel files to system image" 2018-01-19 05:14:36 +00:00
Jaekyun Seok b82c709942 Merge "Enforce PRODUCT_COMPATIBLE_PROPERTY for products shipping with Android P" am: 8b4b0cc5a1
am: 3b4329ab47

Change-Id: I1f4969866235eb28e555f5092f8c7b3b753e7025
2018-01-19 04:55:26 +00:00
Nicolas Geoffray 3972a47e9f Tighter control of stripping in dex_preopt_odex_install.
- Move logic to uncompress dexs in an APK in dex_preopt_odex_install.mk
  and definitions.mk.
- Explicitly mark nostripping cases where dexpreopt will not embed the dex
  file in the APK.

bug: 63920015
Test: m
Test: verify priv-apps dexs are uncompressed and unstripped
Test: Verify a non priv-app APK with uncompressed dex doesn't get stripped.

Change-Id: I624a03e3d965cebc0cae43fd6f7a6260178e6b8a
2018-01-18 22:42:46 +00:00
Jaekyun Seok 0538ff796f Enforce PRODUCT_COMPATIBLE_PROPERTY for products shipping with Android P
PRODUCT_COMPATIBLE_PROPERTY will be set as true for products shipping
with Android P, and ro.actionable_compatible_property.enabled will be set
as a system default property accordingly.
But if PRODUCT_ACTIONABLE_COMPATIBLE_PROPERTY_DISABLE is set,
ro.actionable_compatible_property.enabled will be false.

Bug: 38146102
Test: tested on walleye with PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE=true
Merged-In: Ifc1279a360b140c4d94edd32db7de3c6c7317297
Change-Id: Ifc1279a360b140c4d94edd32db7de3c6c7317297
(cherry picked from commit 2528cd26c0)
2018-01-18 21:11:53 +09:00
Alex Klyubin d616e0e820 Add boot.art.rel files to system image
This file is used to verify that all differences between /system
boot*.art and /data/dalvik-cache boot*.art only consist of relocation
changes. The goal is to mitigate /data/dalvik-cache boot*.art files
being a persistence vector.

Test: Build and ensure boot.art.rel files are on the image.
Bug: 66697305
Change-Id: I41486dd541e429f2f2b4c4a521009ee5e81e50b9
2018-01-17 15:20:06 -08:00
Mathieu Chartier a4f424f652 Merge changes Iba0c3893,Icf3039ef am: dc9f2de809
am: 0f6b16580c

Change-Id: I10f05d01d73f049cd6e6fa2955817cfd44091836
2018-01-17 21:38:30 +00:00
Mathieu Chartier 8fd29b3653 Don't default my_use_profile_for_boot_image to true for PDK builds
This causes an unsatisfiable dependency on frameworks/base.

Bug: 67663308
Test: make

(cherry-picked from commit 83bae866e6)

Change-Id: Iba0c3893b49386591f84eb893abf0b577b9716a0
Merged-In: I06e45e8ca66ab6547bf1df25119dda80d44e50f6
2018-01-16 20:02:27 -08:00
Mathieu Chartier ce94494b93 Enable profile based boot image by default
Use profile based boot image instead of the compiled classes version.

Results using profile from ag/2815407
Storage savings:
Boot art+vdex+oat size: 78305556->61539326 (-17MB)

New system server profile has more methods (1.5MB -> 4MB oat) since it
has more coverage from use cases.

Ram savings (sample averages for CUJ test):
Average PSS of 3 runs (~100 samples total):
.Boot_vdex: 9359K -> 9902K
.oat_mmap: 21857K -> 13372K
.Heap: 29779K -> 29483K
.Boot_art: 15736K -> 18096K
.LinearAlloc: 9112K -> 8965K
Total PSS: 85846K -> 79819K (-6MB)

Average pages read from flash (512MB device) for CUJ tests (3 samples):
1508MB -> 1183MB

Bug: 37966211
Test: make and flash

(cherry-picked from commit bf9023ae7a)

Change-Id: Icf3039ef871b68d806ef7b7c8ad2220c3a37ce90
Merged-In: Id8f9b08490a50e2ccf39e8acc00b0c4e8ec782b0
2018-01-16 20:02:18 -08:00
Ivan Lozano c2d7db1c7d Overflow sanitization in frameworks/ and system/.
Enables signed and unsigned integer overflow sanitization on-by-default
for modules in frameworks/ and system/ by using the integer_overflow
sanitization setting. This applies sanitization to dynamically linked
binaries and shared libraries, and comes with a default set of regex for
functions to exclude from sanitization.
(see build/soong/cc/config/integer_overflow_blacklist.txt)

Prepare to enable minimal runtime diagnostics for integer overflow
sanitization on userdebug and eng builds.

Adds an additional Make and product variable pair to apply integer
overflow sanitization by default to additional code paths.

Bug: 30969751
Bug: 63927620

Test: Included paths are being sanitized.

Test: CTS test suite run on Pixel, runtime errors resolved.
Test: Performance impact in benchmarks acceptable.
Test: Boot-up successful on current Google devices.
Test: Teamfooded in diagnostics mode on Pixel for a month.

Test: Phone calls, camera photos + videos, bluetooth pairing.
Test: Wifi, work profiles, streaming videos, app installation.
Test: Split-screen, airplane mode, battery saver.
Test: Toggling accessibility settings.

Change-Id: Icc7a558c86f8655267afb4ca01b316773325c91a
2018-01-16 10:17:02 -08:00
David Brazdil 97b22ce9a8 Add new API file names
Doclava now generates new API signature files. Add their filenames
to config.mk.

Bug: 64382372
Test: make
Change-Id: I6aed1b2e0575ddb8c89cea5fa7709023eb6f30a3
2018-01-16 15:02:28 +00:00
Elisa Pascual Trevino e8aa8ed91f [DO NOT MERGE] Update security string to 2018-03-05 for oc-dev Bug:71860241 am: 44861dc6dd am: d57400b494
am: eaba92c92c

Change-Id: I599dba59b95f4684df8ce15fbff375a1f5771dca
2018-01-12 20:36:38 +00:00
Elisa Pascual Trevino eaba92c92c [DO NOT MERGE] Update security string to 2018-03-05 for oc-dev Bug:71860241 am: 44861dc6dd
am: d57400b494

Change-Id: If650f336cf65ecc97eca7a2095dd77052dfd8fc2
2018-01-12 20:31:04 +00:00
Elisa Pascual Trevino d57400b494 [DO NOT MERGE] Update security string to 2018-03-05 for oc-dev Bug:71860241
am: 44861dc6dd

Change-Id: If466dfd2c187d532256400c542a2365255db8e3f
2018-01-12 20:25:27 +00:00
Stephen Hines c8efc4d5f8 Merge "Remove unnecessary USE_CLANG_PLATFORM_BUILD." am: 504bd79e86
am: dfc0111700

Change-Id: I1788117c1661002794f853f06c7d5cfd253f5389
2018-01-12 18:39:38 +00:00
Stephen Hines 504bd79e86 Merge "Remove unnecessary USE_CLANG_PLATFORM_BUILD." 2018-01-12 18:19:45 +00:00
Elisa Pascual Trevino 44861dc6dd [DO NOT MERGE] Update security string to 2018-03-05 for oc-dev
Bug:71860241
2018-01-12 17:38:16 +00:00
Elisa Pascual Trevino 650dcd0d5c Merge "[DO NOT MERGE] Update security string to 2018-03-01 for oc-dev Bug:71860241" into oc-dev am: 48539e0ff6 am: 560b80b913
am: b02a234540

Change-Id: If18833bc3c3ca86530c713fbea32f1834566a9ac
2018-01-12 01:55:22 +00:00
Elisa Pascual Trevino b02a234540 Merge "[DO NOT MERGE] Update security string to 2018-03-01 for oc-dev Bug:71860241" into oc-dev am: 48539e0ff6
am: 560b80b913

Change-Id: I3e98e6c0e4c054460a9972cb2caf1149e0713282
2018-01-12 01:49:46 +00:00
Elisa Pascual Trevino 560b80b913 Merge "[DO NOT MERGE] Update security string to 2018-03-01 for oc-dev Bug:71860241" into oc-dev
am: 48539e0ff6

Change-Id: I4ee78230426155da8d620bfed6df81b5073e9de5
2018-01-12 01:44:15 +00:00
Dan Albert c615ff3f02 Merge "Disable availability macros in libc++ on Darwin." am: ba4641931b
am: 38435d2f70

Change-Id: I08b0f641e7a416a162abec6fed7df1cb7d7c228a
2018-01-12 00:07:17 +00:00
Dan Shi d89ae3b0b9 Merge "Add a flag to disable auto-generating test configs." am: 6704727b69
am: d100261cfb

Change-Id: I59be570dacb290ee691de09cbaa89f3dd2c50203
2018-01-11 23:49:43 +00:00
Treehugger Robot ba4641931b Merge "Disable availability macros in libc++ on Darwin." 2018-01-11 23:44:22 +00:00
Dan Shi 6704727b69 Merge "Add a flag to disable auto-generating test configs." 2018-01-11 22:59:39 +00:00
Elisa Pascual Trevino 275847767a [DO NOT MERGE] Update security string to 2018-03-01 for oc-dev
Bug:71860241
2018-01-11 22:51:26 +00:00
Stephen Hines 178cf8e4d4 Remove unnecessary USE_CLANG_PLATFORM_BUILD.
This build variable is unnecessary now that GCC is completely
unsupported for Android platform builds.

Bug: http://b/64032869
Test: Builds
Change-Id: I9d44ebd7129cb2bdfbb26d37922db19c6fb9efc9
2018-01-11 14:29:23 -08:00
Dan Albert 9262b6fead Disable availability macros in libc++ on Darwin.
libc++'s headers are annotated with availability macros that indicate
which version of Mac OS was the first to ship with a libc++ feature
available in its *system's* libc++.dylib. We do not use the system's
library, but rather ship our own. As such, these availability
attributes are meaningless for us but cause build breaks when we try
to use code that would not be available in the system's dylib.

Test: removed the darwin check and checked showcommands on linux
Bug: None
Change-Id: I5f69f337baa29fcdf84b5e2fe46bf4f85904d1cd
2018-01-11 13:24:32 -08:00
Yifan Hong 1017eaa38c Merge "framework_cm.xml: move to hardware/interfaces" am: 1e7ab9db8f
am: 32faacadf0

Change-Id: I7f3e2ea415982411c17b7cb87295b6fe70df6365
2018-01-11 19:23:57 +00:00
Dan Shi 2035abfb8d Add a flag to disable auto-generating test configs.
Bug: 71714007
Test: m -j <module for *ts suite>
m -j NotificationStressTests
confirm NotificationStressTests.config generated

Change-Id: I372a227a07633ab8d335a8435baf5dd6081bb27e
2018-01-11 11:22:52 -08:00
Yifan Hong 1e7ab9db8f Merge "framework_cm.xml: move to hardware/interfaces" 2018-01-11 19:14:24 +00:00
Stephen Hines b93c68d7a0 Merge "Switch back to llvm-ar." am: 38228f2156
am: 822bc8fedb

Change-Id: I980bb3416da0c4b46fd59e28e6b3bd98cd568285
2018-01-11 07:51:44 +00:00
Treehugger Robot 38228f2156 Merge "Switch back to llvm-ar." 2018-01-11 07:36:07 +00:00
Tobias Thierer f795dcb767 Experimental feature: LOCAL_PATCH_MODULE option in .mk files.
Specifying this option causes the make target's sources
and classpath dependencies to be patched into the specified
module via --patch-module (if the build toolchain implements
the module system, ie. when targeting 1.9). This allows tests
to compile that have classes in packages under test.

Currently, only java.base is on the module path (everything
else is on the classpath), and only when using -target 1.9
(ie. EXPERIMENTAL_USE_OPENJDK9=true).

Bug: 71699916
Test: Treehugger
Test: Checked that I was able to compile some ojluni & icu
      test sources that had classes in (libcore) packages
      under test.

Change-Id: I044fb9d904754ed281f574ab3dd52235cf0d7fec
2018-01-11 01:13:13 +00:00
Yifan Hong 919dcf1b6e framework_cm.xml: move to hardware/interfaces
Test: m dist
Bug: 69636193

Change-Id: Ic15a445d700552cb0973d6919ed5843bdecba363
2018-01-10 16:32:04 -08:00
Stephen Hines d612b8329a Switch back to llvm-ar.
This properly sets -format=gnu for all non-Darwin targets, because
llvm-ar is cross-platform (but defaults to the host environment).

Bug: http://b/71618641
Test: m checkbuild
Change-Id: Ib5d1c112a4ac792a11d1a0721ae6b0a5f9a42727
2018-01-10 15:55:52 -08:00
Dan Willemsen b84122d1f3 Merge "Switch to build-tools bison" am: 08dc8498fe
am: 739a3f9ee1

Change-Id: I9cf3186cdecab10fd3dfba237c093b8ef1463fa1
2018-01-10 22:45:44 +00:00
Dan Willemsen 08dc8498fe Merge "Switch to build-tools bison" 2018-01-10 21:49:28 +00:00
Dan Albert 4334adeca2 Merge "Remove support for stlport." am: 9eba210e23
am: c9c0a83c21

Change-Id: Ib4d71334c1b532e4e24a17670aed9e64bafd8d9c
2018-01-10 00:31:15 +00:00
Treehugger Robot 9eba210e23 Merge "Remove support for stlport." 2018-01-10 00:12:48 +00:00
Simran Basi 59f7bfe4c3 Merge "base_rules.mk: Don't use is_native for MULTILIB modules." am: 8d3fde909e
am: cd81373d91

Change-Id: I962fee1551a3a3e6d8ecc265525c27308397ea7f
2018-01-09 05:32:30 +00:00
Dan Willemsen 179982709b Merge "Remove armv5te" am: 139f458ced
am: 1211033f98

Change-Id: I831c073913e0ba75882130fd6d81e1c786e3af75
2018-01-09 05:09:26 +00:00
Dan Albert 03ac235e79 Merge "Fix allowed STL types for system libraries." am: 48e41b74f9
am: f125a492e7

Change-Id: Ifc6a50e9f209cf15d001438889b9129275d771e9
2018-01-09 05:07:06 +00:00
Treehugger Robot 8d3fde909e Merge "base_rules.mk: Don't use is_native for MULTILIB modules." 2018-01-09 05:05:30 +00:00
Treehugger Robot 139f458ced Merge "Remove armv5te" 2018-01-09 03:18:34 +00:00
Dan Willemsen ecae349e19 Switch to build-tools bison
Test: m
Test: mma external/dtc
Change-Id: Ia8e837f77238cb07e23de24f98c77aba9ff0f8dd
2018-01-08 17:38:33 -08:00
Dan Willemsen dd3a27394f Remove armv5te
This architecture only existed for unbundled use, but even the NDK is
removing support in their r17 release, so just remove support for it.

Test: build/soong/build_test.bash -only-config
Test: check buildserver configs, I don't see anything still using armv5
Change-Id: Ic183b510c9ada94438bd4cc2b9362fa438a29ced
2018-01-08 15:26:16 -08:00
Simran Basi 7160b06db9 base_rules.mk: Don't use is_native for MULTILIB modules.
Currently we determine if a test artifact has multiple build
outputs by checking if it is NATIVE_TEST, NATIVE_BENCHMARK, or
LOCAL_MULTILIB and declare the module is_native.

This is technically not true therefore let's use a different
variable to determine if we need multiple architecture directories.

Bug: 71554249
Test: make sl4a -j ; Results in an autogenerated empty configuration file.
Change-Id: I17c8f3ef7e1cd502b57e25c71688f12a35a9787d
2018-01-08 13:03:07 -08:00
Dan Albert 1759e2d2f1 Fix allowed STL types for system libraries.
Static libraries using the system STL have type
native:ndk:system:none, not native:ndk:system:shared, since no
actually linking takes place. These are still allowed to be linked to
platform modules.

Test: make checkbuild
Bug: None
Change-Id: Ib999bb0f422ec3938daa740fca5681e153d6525a
2018-01-08 12:42:20 -08:00
Yi Kong d36f66fc17 Merge "Revert "Switch to llvm-ar"" am: 259b2741bb
am: 87f90c1151

Change-Id: Ic7b843bbf519b90f91144e9c306e926da6840ef1
2018-01-08 20:42:17 +00:00
Yi Kong 259b2741bb Merge "Revert "Switch to llvm-ar"" 2018-01-08 19:51:19 +00:00
Yi Kong 4f2e033447 Revert "Switch to llvm-ar"
This reverts commit 5128702ed3.

Bug: 71694982
Reason for revert: Broke Mac build

Change-Id: I1044eccf943bae3c99e7527bd13989c70743b3d4
2018-01-08 18:09:54 +00:00
Yi Kong 9ffc233d47 Merge "Switch to llvm-ar" am: 9e700abdfa
am: 39118a9904

Change-Id: Idc06be3efa88d26994cc81aa6c9b43af56d37baf
2018-01-05 23:21:07 +00:00
Dan Albert ae86c094e8 Merge "Remove support for gnustl." am: 51fb7ac7b3
am: b5a2a2396a

Change-Id: I86000cfd1b459fcd551184b928c9b1ac5c73aa4a
2018-01-05 23:19:59 +00:00
Dan Albert c1b8713a4d Merge "Also restrict NDK linking by static/shared STL." am: 0b4bf51e49
am: 0c1295691a

Change-Id: I73594ca8c7c6e50707fecd21768c3027ac9d8281
2018-01-05 23:19:04 +00:00
Yi Kong 9e700abdfa Merge "Switch to llvm-ar" 2018-01-05 22:54:53 +00:00
Dan Albert 19fbd1ce39 Remove support for stlport.
Test: make checkbuild
Bug: None
Change-Id: Iaaaecbe2608fe7a880236f3bbad0fcfcf62b5096
2018-01-05 11:49:43 -08:00
Dan Albert 94f95cf504 Remove support for gnustl.
Test: make checkbuild
Bug: None
Change-Id: Iaddd40b32f84395a76efaaa74be38770085617d5
2018-01-05 11:49:43 -08:00
Dan Albert 4297c39e75 Also restrict NDK linking by static/shared STL.
Test: make checkbuild
Bug: None
Change-Id: I0eb29ec483c069d1c12f444fd2e94cc6eb320f93
2018-01-05 11:49:43 -08:00
Stephen Hines 5128702ed3 Switch to llvm-ar
llvm-ar is required for platform LTO build.

With GNU ar, we used crsPD flags, however 'P' flag is not supported by
llvm-ar. Since none of the platform archive files are built using third
party AR, the 'P' flag should not matter to us. However we've been
relying on one side-effect of 'P', where  'ar foo.a some/path/to/obj.o'
when foo.a already has a file named 'obj.o' will be an append operation,
regardless whether the existing one is the same (ar has no way of
telling the difference). We workaround this by always appending ('q'
flag) for llvm-ar. This may result in larger intermediate archive files
(more duplication) but will not affect the final build result.

Bug: 71618641
Test: m checkbuild
Change-Id: Id96a244cfe49cecfba08cc868dd18934ecb4ff23
2018-01-04 23:50:17 -08:00
Colin Cross 23ab1f1580 Merge changes I9fda7fe3,I0a34b2b4,Ie64a283d am: 96029a1276
am: e3d02af57d

Change-Id: Iefd8871754f8aae4ca8de2468d2a3774e7ed76c0
2018-01-05 06:29:55 +00:00
Colin Cross 96029a1276 Merge changes I9fda7fe3,I0a34b2b4,Ie64a283d
* changes:
  Clear resource_export_package outside conditionals
  Fix adbs after move from build/tools to build/make/tools
  Use proguard.jacoco.flags for EMMA_INSTRUMENT_STATIC
2018-01-05 06:22:35 +00:00
Jae Shin 1e9b97e595 Merge changes Ida449978,I8c6953f1 am: 8b759c08ca
am: 6d5a2d54ff

Change-Id: Ic7606d7572e7143324a210d56ce641f038d6b815
2018-01-05 01:31:12 +00:00
Jae Shin 8b759c08ca Merge changes Ida449978,I8c6953f1
* changes:
  Apply snapshot variant to vndk package module name
  Additionally package TARGET_2ND_ARCH variants
2018-01-05 01:16:06 +00:00
Justin Yun 22b52db8eb Merge "BOARD_VNDK_RUNTIME_DISABLE must not be "true" for VNDK snapshot" am: fd3f4570fa
am: 4c4976b2d2

Change-Id: Ibedfef2ce641588e883e7bb1bc81929cc2ba2c5a
2018-01-05 00:55:32 +00:00
Justin Yun 4dff0c6974 BOARD_VNDK_RUNTIME_DISABLE must not be "true" for VNDK snapshot
When generating VNDK snapshot, BOARD_VNDK_RUNTIME_DISABLE must not be
'true' to have correct ld.config.txt file.

Bug: 71349776
Test: lunch aosp_arm64_ab-user; make -j vndk dist
Change-Id: I20b14addb2f4a191134a1a9943e328566ca48424
2018-01-05 09:40:47 +09:00
Dan Albert dd65db6483 Merge "Restrict NDK link type to matching STLs." am: 167fcc5cc0
am: e3f8cac48a

Change-Id: I0a86af3d1a9cbf1ea49e0658f23a8017aa9bce36
2018-01-04 23:57:22 +00:00
Colin Cross ab61f213e0 Clear resource_export_package outside conditionals
$(resource_export_package) is used by package_internal.mk outside
ifeq ($(need_compile_res),true), but only cleared inside the
conditional.  This causes unnecessary dependencies to be added
to an old value of $(resource_export_package).  In rare cases,
the dependency can be on itself, causing a dependency loop.

Bug: 71571462
Test: m checkbuild
Change-Id: I9fda7fe3bf9d208ad4ba2f8cdb184034bf43f044
2018-01-04 14:32:14 -08:00
Dan Albert 975e303ad2 Restrict NDK link type to matching STLs.
Test: make native
Bug: None
Change-Id: Ie9d9107fe0eeb425843ae2db197e1c60d14a59ca
2018-01-04 12:51:34 -08:00
Jae Shin bd0483aa1c Merge "Apply change in prebuilt names for config files" am: b0f4677748
am: 67eabefbdb

Change-Id: I9027a54b8e36386c26ec5a088524a91d2e6a989b
2018-01-04 20:26:37 +00:00
Treehugger Robot b0f4677748 Merge "Apply change in prebuilt names for config files" 2018-01-04 20:16:36 +00:00
Chih-hung Hsieh b9723e711f Merge "Call clang-tidy with -fno-caret-diagnostics by default." am: bd69b7daa7
am: fd6ce3e672

Change-Id: I05de621349dc6a7935e3c7a5a6eb34919358872f
2018-01-04 19:17:18 +00:00
Chih-hung Hsieh bd69b7daa7 Merge "Call clang-tidy with -fno-caret-diagnostics by default." 2018-01-04 19:07:15 +00:00
Dan Willemsen f6cb311464 Merge "Mark ANDROID_BUILD_TOP as obsolete" am: ce5e4e251e
am: bab4d88cb1

Change-Id: Ic313b6f29a1d162c84f6560d2e41f80411ca2f2d
2018-01-04 13:46:11 +00:00
Treehugger Robot ce5e4e251e Merge "Mark ANDROID_BUILD_TOP as obsolete" 2018-01-04 13:35:34 +00:00
Tobias Thierer d7b2ec09d9 Merge "Build with OpenJDK 9 -target 1.8 by default (attempt 4)." am: 1644e2f1b7
am: a902b41648

Change-Id: I5f6e9fdde1d6d2d5f042d3301910cb5e0ddfe180
2018-01-04 11:28:56 +00:00
Tobias Thierer 1644e2f1b7 Merge "Build with OpenJDK 9 -target 1.8 by default (attempt 4)." 2018-01-04 11:18:11 +00:00
Tobias Thierer 294111393e Build with OpenJDK 9 -target 1.8 by default (attempt 4).
This is cherry-picked from attempt 3, which was reverted
due to http://b/70862583.

Before this CL topic, the build toolchain for .java source files
used OpenJDK 8, targeting 1.8 (v52 class files) by default.

This CL topic switches the default to OpenJDK 9, but still
targeting 1.8 (v52 class files) by default. If USE_ERROR_PRONE
is set to true, then the default remains OpenJDK 8.

Code in the Android platform should generally be unaffected,
but if host tools that are now compiled and run using
OpenJDK 9 are causing problems for your team, then let me
know.

To manually switch back to the old behavior for now (continue
using OpenJDK 8), run this command in your shell:
export EXPERIMENTAL_USE_OPENJDK9=false

Bug: 69449021
Test: Treehugger
Test: art/test/testrunner/run_build_test_target.py -j40 art-interpreter
Test: dalvik/dx/tests/run-all-tests

(cherry picked from commit ab1e54d5f1)

Change-Id: I119be15bd95747722114b970400b740fa47bf9e0
Merged-in: Ic42a518c90515b497e5cecec444ded373e403a4b
2018-01-04 11:08:14 +00:00
Chih-Hung Hsieh 4d31b9da8c Call clang-tidy with -fno-caret-diagnostics by default.
* clang -fno-caret-diagnostics
  suppresses warning source lines, carets, and
  the stats line of "n warnings generated"
* clang-tidy -extra-arg-before=-fno-caret-diagnotics
  only suppresses the "n warnings generated" line.
* Pass this flag and -quiet to clang-tidy when
  WITH_TIDY is not 1 or true.
* Remove redundant quotation marks around -extra-arg-before.

Bug: 69051430
Test: normal build and build with WITH_TIDY=1

Change-Id: I9021ee315edc977c15dda6ab246a00182f31fad1
2018-01-04 01:31:37 -08:00
Jae Shin 240d97a249 Apply snapshot variant to vndk package module name
VNDK snapshot phony package, vndk_v$VER, is redefined to
separate phony packages per VNDK snapshot build variant,
vndk_v$VER_$VARIANT, where $VARIANT is defined as the primary
$TARGET_ARCH of the build target.

Accordingly, top level Android.bp file under prebuilts/vndk/v$VER
is redefined as separate Android.bp files for each snapshot
variant at prebuilts/vndk/v$VER/$VARIANT/Android.bp.

Test: m -j PRODUCT_EXTRA_VNDK_VERSIONS=27 (after installing
snapshot to prebuilts/vndk/v27)
Bug: 71370248

Change-Id: Ida449978090fe8a4f16376c991d34fa0945be596
2018-01-04 10:23:19 +09:00
Jae Shin 893fca6e46 Additionally package TARGET_2ND_ARCH variants
Redefine VNDK snapshot top level dir with $(TARGET_PRODUCT) and
additionally package TARGET_2ND_ARCH build variants of libs since
they are needed by 32bit processes running on a 64bit device.

Test: m -j vndk dist
Bug: 71370248
Change-Id: I8c6953f1b52b61caf413559bab56b294479b6d86
2018-01-04 10:23:10 +09:00
Jae Shin 77c07dd6d0 Apply change in prebuilt names for config files
The suffix for VNDK config files ld.config.txt,
llndk.libraries.txt, and vndksp.libraries.txt has been changed to
*.$(PLATFORM_VNDK_VERSION).txt.

Refactor the paths-of-intermediates function such that instead of
parsing filenames from list of modules within the function,
provide the function a list of preprocessed
module_name:file_name pairs.

Bug: 70918357
Test: m -j vndk dist
Change-Id: I2d69b7822cef4c709e15a53f99c7ab2efb22406c
2018-01-04 10:07:30 +09:00
Colin Cross 08cf35feb9 Merge changes from topic "soong_r8" am: 8798bb70da
am: c9f5afb07e

Change-Id: I63a8dc3bac882d80a5ff0ea531b7a32c10e0793c
2018-01-04 00:20:40 +00:00
Dan Willemsen 07699636b0 Mark ANDROID_BUILD_TOP as obsolete
All users have been removed.

Test: check the build_test logs from aosp/master -> goog/master
Change-Id: I99e5630d7c13882c7667b0499c4f55633fa4535a
2018-01-03 15:15:38 -08:00
Colin Cross b9f8265d08 Merge "Remove LOCAL_PROGUARD_ENABLED := nosystem" am: 2c2cb33830
am: d61a376ec4

Change-Id: I3f0c780471bc63ee8bc45db6c508522b7e679f65
2018-01-03 22:32:25 +00:00
Colin Cross 5e0986cb51 Add R8 support to Soong.
Move R8_COMPAT_PROGUARD definition to Soong.
Copy the proguard_dictionary file so that the find
command that builds proguard_dict.zip can find it.

Test: m checkbuild
Change-Id: I28b2fce26ccb6225be0bd71802a43fe63df85daa
2018-01-03 14:21:35 -08:00
Colin Cross dc4a6b8513 Use proguard.jacoco.flags for EMMA_INSTRUMENT_STATIC
Add proguard.jacoco.flags whenever EMMA_INSTRUMENT_STATIC is set
so that com.vladium.emma.rt.RT is not stripped.

Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_STATIC=true
Change-Id: Ie64a283d95e8bbf426cd39675d70a3a58768ebc7
2018-01-03 14:21:35 -08:00
Colin Cross 20e06d25ac Fix dependency on Soong jacoco report classes
The dependency on the Soong jacoco report classes was mistakenly
using $(common_javalib.jar) which was never set, so was using
the value from the last module.  Use $(LOCAL_BUILT_MODULE)
instead.

Test: m checkbuild
Change-Id: If502d67f9e5e0c107de44e96cbf232406c027e44
2018-01-03 14:21:35 -08:00
Colin Cross 2c2cb33830 Merge "Remove LOCAL_PROGUARD_ENABLED := nosystem" 2018-01-03 22:20:41 +00:00
Colin Cross 2fec0b5d97 Merge "Move jacoco before desugar" am: f9a1e6a72a
am: c06ecd9a99

Change-Id: If465e2dcac6fa905210ae2905b453b903581418d
2018-01-03 21:01:38 +00:00
Colin Cross f9a1e6a72a Merge "Move jacoco before desugar" 2018-01-03 20:50:50 +00:00
Colin Cross b305326ae4 Merge "Update jacoco command line flags for latest version" am: 03cdfcc631
am: 3b45c545ea

Change-Id: I499e5e84d2a3b043d2103a36d5ff8fb428be898c
2018-01-03 20:11:57 +00:00
Colin Cross 03cdfcc631 Merge "Update jacoco command line flags for latest version" 2018-01-03 19:45:55 +00:00
Colin Cross e616f34431 Remove LOCAL_PROGUARD_ENABLED := nosystem
None of the system options are controversial, and there are no
longer any users of nosystem, so remove it.

Test: m checkbuild
Change-Id: Id1b946d83688d266ca2942c02c97e8b404c3755b
2018-01-02 13:18:04 -08:00
Dan Shi 2e0978d48b Merge "Force test config to be updated when auto_gen_test_config.py is changed" am: a52691b12a
am: a05d8cd880

Change-Id: Ifd6b8d972549ff4e97c031705d09cdc49d55f742
2018-01-02 06:39:16 +00:00
Treehugger Robot a52691b12a Merge "Force test config to be updated when auto_gen_test_config.py is changed" 2018-01-02 06:27:35 +00:00
Dan Shi 2b334f5c92 Force test config to be updated when auto_gen_test_config.py is changed
Bug: 70981774,69929803
Test: Modify tools/auto_gen_test_config.py, confirm the test config file
is updated.

Change-Id: I55bd07c8bdc6e26f9c8ad6df733d2c5da09d0ceb
2018-01-01 20:26:27 -08:00
Colin Cross 96873482b0 Move jacoco before desugar
R8 will replace desugar+proguard+dx, which will mean jacoco has to
run before desugar.  In preparation, move jacoco before desugar now.

Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true WITH_DEXPREOPT=false tests
Change-Id: I0627a79ba2f0b26a113d5d8bcc5cb1fda08295a1
2017-12-28 09:39:15 -08:00
Colin Cross c819a3008a Merge changes I84a59a8c,Id7a92fb2 am: 9c2b798143
am: b2b378e007

Change-Id: I3e4dacf27fcde94e51d2320d4ba8479c313dcedb
2017-12-28 17:32:06 +00:00
Colin Cross e4936e1c2d Remove obsolete proguard options
LOCAL_PROGUARD_ENABLED := shrinktests is never set.
proguard_tests.flags is entirely comments.
proguard.emma.flags only references emma classes, but we use
jacoco now.

Test: m checkbuild
Change-Id: I84a59a8c1b66f75d7ccbaa7da8e937430b4490c8
2017-12-28 17:22:30 +00:00
Dan Willemsen 1d64623105 Export proguard flags from static android libraries and aar prebuilts
Test: m Contacts, classes-proguard.jar has same contents
Test: rm -rf out; tapas Contacts; m
Change-Id: Id7a92fb2c44913bccbfcbeae127355b4de588e4d
Merged-In: Id7a92fb2c44913bccbfcbeae127355b4de588e4d
(cherry picked from commit 1417c177ac)
2017-12-28 17:22:19 +00:00
Dan Willemsen 5a30746f01 Merge "Switch some deprecated variables to obsolete" am: 5b82359f85
am: 48a7133006

Change-Id: I85466810f07061ab927b06dd41d54d8e9c9b2bfe
2017-12-28 04:39:16 +00:00
Dan Willemsen 74afb1d993 Switch some deprecated variables to obsolete
These are no longer used.

Test: check build_test logs for "has been deprecated"
Change-Id: Icb13891863d0b9b6a00e18d0f8f88e6306a24f8c
2017-12-27 16:59:38 -08:00
Bo Hu d49a41350a Merge "emulator: add check_emu_boot.mk, again" am: 59e41c11d5
am: d7c9a7384a

Change-Id: Id9b9e9d5421b6f5ba5717bd7c1a13ba8f3e4ac1d
2017-12-27 22:29:40 +00:00
Bo Hu 59e41c11d5 Merge "emulator: add check_emu_boot.mk, again" 2017-12-27 22:22:10 +00:00
Sen Jiang c5ed82950b Merge "Remove zlib_fingerprint support." am: 53a3f70efe
am: 2dfaacdd93

Change-Id: I20d08538fd4642987bdca0aed226c393aa7579ce
2017-12-27 20:57:29 +00:00
Treehugger Robot 53a3f70efe Merge "Remove zlib_fingerprint support." 2017-12-27 20:49:24 +00:00
Jae Shin 2dc0a3860e Merge "Add check to ensure PLATFORM_VNDK_VERSION is set" am: 13349ed3c2
am: a085258968

Change-Id: I7d541c300ef228ad045e168a0354ed690686c086
2017-12-26 01:57:46 +00:00
Treehugger Robot 13349ed3c2 Merge "Add check to ensure PLATFORM_VNDK_VERSION is set" 2017-12-26 01:51:20 +00:00
Steven Moreland aac4256fd2 Merge "Allow devices to extend the system manifest." am: 15820578b2
am: 152a886de3

Change-Id: Id9c2f1be2b56c17fb8417a452b42bb98b4aa7b24
2017-12-23 01:25:37 +00:00
Treehugger Robot 15820578b2 Merge "Allow devices to extend the system manifest." 2017-12-23 01:17:24 +00:00
Steven Moreland b14b530f82 Allow devices to extend the system manifest.
Introduces DEVICE_FRAMEWORK_MANIFEST_FILE, a list
of files which are added to system/manifest.xml.
This is required for devices to properly display
what hals they implement and also therefore for
them to pass vts_treble_vintf_test since it
now tests manifests based on hal origin.

Notice, this is named singularly to match
DEVICE_MANIFEST_FILE which is also a list of files.
They may be better both named "FILES", but for
consistency and legacy reasons, they can be thought
of as "everything that composes the X manifest
file".

Fixes: 70042049
Test: add system manifest extension which needs it
  and it no longer fails vts_treble_vintf_test for
  hals being served from the wrong partitions.

Change-Id: I1f59d5c3cadb7a7d4576b73196ca7b41103a49c5
2017-12-22 14:02:11 -08:00
bohu 93ac3b81eb emulator: add check_emu_boot.mk, again
"make check_emu_boot" will boot up emulator
and check whether it boots up or timed out.
On boot success, it will emit a file
BOOT_SUCCESS.txt in dist_dir;
On timed out, it will emit a file
BOOT_FAIL.txt in dist_dir

original cl breaks some build, and this
fixes it by incorporating the following cl

https://android-review.googlesource.com/c/platform/build/+/576282

Test: choosecombo 1 aosp_arm64_ab userdebug
      m -j checkbuild tests

Test: make check_emu_boot
Change-Id: I09cba4f8fde672f9ea685dee1c0c108f2c457e2a
2017-12-22 17:51:38 +00:00
Tobias Thierer f0a1f751bd Merge "Revert "emulator: add check_emu_boot.mk"" am: 1d87b803f7
am: e63e713ce3

Change-Id: Id4c00917065f1492720f16ef522c5b97437eb9e6
2017-12-22 15:17:11 +00:00
Treehugger Robot 1d87b803f7 Merge "Revert "emulator: add check_emu_boot.mk"" 2017-12-22 15:10:16 +00:00
Tobias Thierer e01a5759b7 Revert "emulator: add check_emu_boot.mk"
This reverts commit bba0ef24c2.

Reason for revert: Broke aosp_arm64_ab-userdebug build on internal master.

Change-Id: I04ca552174bc2731cb69ee8485d50f4c190c0d27
2017-12-22 13:31:41 +00:00
Colin Cross eb196fe873 Merge "Remove --no-locals -> --release translation" am: d84332eed6
am: 9f8b5703b3

Change-Id: I867e4199d452d865f2f797bd67b2c71de75ae0e5
2017-12-22 02:03:24 +00:00
Treehugger Robot d84332eed6 Merge "Remove --no-locals -> --release translation" 2017-12-22 01:53:24 +00:00
Jae Shin 0b1792e29b Add check to ensure PLATFORM_VNDK_VERSION is set
Bug: 70918357
Test: m -j vndk dist
Change-Id: Ia4ae94db9feccb7c40edfe90c14eb552b69ef655
2017-12-22 10:46:51 +09:00
bohu f6ba825c0f Merge "emulator: add check_emu_boot.mk" am: 9b04b2984c
am: 0b4a1edeae

Change-Id: Ice2df5213ec17a66d4e5f07a8c04d021f5dea10a
2017-12-22 01:45:54 +00:00
Treehugger Robot 9b04b2984c Merge "emulator: add check_emu_boot.mk" 2017-12-22 01:34:41 +00:00
Dan Shi 26201a4d44 Merge "Auto generate test config files" am: 3c28ff7bff
am: 4ccd1a5a00

Change-Id: Ibc089081ab2925f8e3453eddf8c64d81d3b49596
2017-12-21 22:25:40 +00:00
Colin Cross f8b06a4e61 Update jacoco command line flags for latest version
jacoco_cli wants --quiet and --dest instead of -quiet and -dest.

Bug: 69669951
Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true WITH_DEXPREOPT=false tests
Change-Id: I126a702fbb1538ba5f99a7abf70c1f025160db21
2017-12-21 14:09:51 -08:00
Dan Shi 3c28ff7bff Merge "Auto generate test config files" 2017-12-21 21:53:12 +00:00
Colin Cross db2cc74d5c Merge changes I63eace8f,I103cbe58 am: 5ded399588
am: 0714643816

Change-Id: I38143faf090bf4b1d3c222438a45c66686811723
2017-12-21 21:02:39 +00:00
Colin Cross aca57b6c89 Remove --no-locals -> --release translation
--no-locals is never used any more, remove the translation.

Bug: 70886092
Test: m checkbuild
Change-Id: I5b0a512601b417c5a10001feed1fd9b8de8cb983
2017-12-21 13:00:51 -08:00
Treehugger Robot 5ded399588 Merge changes I63eace8f,I103cbe58
* changes:
  Remove obsolete leaf names
  Remove obsolete dx --no-locals when coverage is enabled
2017-12-21 20:49:03 +00:00
Tobias Thierer 153246ec83 Merge "Pass OpenJDK 8's bootclasspath for host tools targeting <= 1.8." am: 1801a25d7c
am: 1d979598f5

Change-Id: I4941142863c98fa60ea4dd2a80e52ebc8718bb8a
2017-12-21 18:00:09 +00:00
Jiyong Park 5f6f672fbf Merge "TARGET_COPY_OUT_[ODM|OEM] are exported to soong" am: 2993eec041
am: d68d78c83e

Change-Id: Iacf6804059b66c0b0e01258f52b426541968c18f
2017-12-21 17:58:30 +00:00
Alan Leung af233a4dcf Merge "Add zip2zip as dependency of dexing step." am: f0971be1b6
am: 7269770b28

Change-Id: I651565a00739e8b102fc005ee41328297f724273
2017-12-21 17:57:40 +00:00
Tobias Thierer 1801a25d7c Merge "Pass OpenJDK 8's bootclasspath for host tools targeting <= 1.8." 2017-12-21 11:46:20 +00:00
Treehugger Robot 2993eec041 Merge "TARGET_COPY_OUT_[ODM|OEM] are exported to soong" 2017-12-21 09:02:20 +00:00
Alan Leung f0971be1b6 Merge "Add zip2zip as dependency of dexing step." 2017-12-21 08:00:06 +00:00
bohu bba0ef24c2 emulator: add check_emu_boot.mk
"make check_emu_boot" will boot up emulator
and check whether it boots up or timed out.
On boot success, it will emit a file
BOOT_SUCCESS.txt in dist_dir;
On timed out, it will emit a file
BOOT_FAIL.txt in dist_dir.

Change-Id: I152228806175c116a5adceb8429b66cf829edd22
2017-12-20 21:24:02 -08:00
Alan Leung 5eb88c0112 Add zip2zip as dependency of dexing step.
Bug: 69329508
Test: m checkbuild
Change-Id: I85f4508b6b1fee357d296bda6f0b6ba02cba70b7
2017-12-20 20:03:58 -08:00
Jiyong Park 9848be3581 TARGET_COPY_OUT_[ODM|OEM] are exported to soong
The two make vars are exported to soong as OdmPath and OemPath.

Bug: 68187740
Test: out/soong/soong.variables has OdmPath and OemPath each of which
points to 'odm' and 'oem'.
Change-Id: Ia283e4eb4aacc61b5b3c46e9001ea924566ea898
2017-12-21 12:13:13 +09:00
Jae Shin 87661c862a Merge "Package NOTICE files and record LOCAL_PATHs" am: 7f0e221942
am: 83c829d9b1

Change-Id: Ib2068d22125992c229a9e5ed8c2954dd32deef19
2017-12-21 03:02:12 +00:00
Justin Yun a388e5c058 Merge "Set BOARD_VNDK_VERSION=current as a default value" am: 8950c2bb82
am: d2b7e0c9e5

Change-Id: I033018101516f78ddbd621353e8a477489324a05
2017-12-21 03:00:16 +00:00
Justin Yun fa9d3b129a Merge "Use PLATFORM_VERSION_CODENAME for VNDK version" am: 5281020692
am: bbbd85a172

Change-Id: Ic1708ba5468e3628314e9e33a11657ba9f7ee87b
2017-12-21 02:59:24 +00:00
Tobias Thierer 7e99d45ec2 Pass OpenJDK 8's bootclasspath for host tools targeting <= 1.8.
Host (as opposed to hostdex) tools compile and run against OpenJDK's
core libraries. Before this CL, the core libraries of the default
toolchain were always used, even when targeting an earlier language
version.

This meant that code that uses APIs from a later version of OpenJDK
than corresponded to LOCAL_JAVA_LANGUAGE_VERSION would compile, but
would fail to run under that earlier version of OpenJDK. It also
meant that calls to existing APIs might be reinterpreted; for
example, the return type of java.nio.ByteBuffer.clear() changed from
Buffer in OpenJDK 8 to ByteBuffer in OpenJDK 9. At compile time, this
was noted via the warning:
  bootstrap class path not set in conjunction with -source 1.8

After this CL, when targeting a language version <= 1.8 (which is
always the case when building with OpenJDK 8), some of OpenJDK 8's
core library/tools jars are now passed on the bootclasspath. The
decision to include the bootclasspath argument when building with
OpenJDK 8 was somewhat arbitrary, but has the advantage that we
discover any issues before we switch to OpenJDK 9.

Even when compiling with OpenJDK 9, use of OpenJDK 9 APIs will now
fail at compile time rather than at runtime; calls to existing APIs
will now be interpreted in OpenJDK 8 rather than 9 fashion. For
example, this means that dx and host-side CTS tests built with
OpenJDK 9 javac -target 1.8 will be runnable under OpenJDK 8.

Bug: 70521453
Bug: 70862583
Test: Checked that the bootclasspath argument was passed
      in the javac invocation targeting 1.8 during:
      make showcommands compatibility-common-util-hostsidelib
Test: make checkbuild

Change-Id: I9b6081edfdd2c3e9a450ae8a39c4e32c3d2cda92
2017-12-21 01:38:44 +00:00
Colin Cross a6e878219c Remove obsolete leaf names
classes-no-debug-var.jar is incorrect, jars in coverage builds
do have debug information.  Remove full_classes_compiled_jar_leaf
and hardcode classes-full-debug.jar.

After the previous patch, all dex files have debug information,
so remove the no-local and with-local directories and replace
them with dex/.

Remove the unnecessary jarjar_leaf.

Bug: 70886092
Test: m checkbuild
Change-Id: I63eace8f8cda5ad8bc0cbd11eefda73dd063ed76
2017-12-20 17:33:01 -08:00
Colin Cross ff812829b6 Remove obsolete dx --no-locals when coverage is enabled
We use jacoco for coverage now instead of emma, so the workaround
is no longer necessary.

Bug: 70886092
Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true WITH_DEXPREOPT=false
Change-Id: I103cbe58590689640a0b1520d22b3d3b7cd2208d
2017-12-20 17:03:52 -08:00
Treehugger Robot 7f0e221942 Merge "Package NOTICE files and record LOCAL_PATHs" 2017-12-21 00:38:25 +00:00
Justin Yun 571737e8fc Set BOARD_VNDK_VERSION=current as a default value
For Android P or later launching devices, set BOARD_VNDK_VERSION to
"current" as a default value if the value is not defined yet.
"PRODUCT_USE_VNDK_OVERRIDE=false" can disable this feature.

Bug: 70480159
Bug: 62019611
Test: Unset BOARD_VNDK_VERSION
      Set PRODUCT_SHIPPING_API_LEVEL "28"
      - Check if BOARD_VNDK_VERSION is set to "current"
      Set PRODUCT_USE_VNDK_OVERRIDE to "false"
      - Check if BOARD_VNDK_VERSION is not defined

Change-Id: I8d37579e8c4ca1788705cbc8a42e8812e2b93a22
2017-12-21 08:15:19 +09:00
Justin Yun 729856a5f2 Use PLATFORM_VERSION_CODENAME for VNDK version
Before Android version is released, we may use
PLATFORM_VERSION_CODENAME for PLATFORM_VNDK_VERSION to add version
suffix to VNDK directories.

Bug: 70584135
Test: Test youtube and RS apps
Change-Id: Ie788544740a5257232abc2c9acbce64749d15602
2017-12-21 08:13:32 +09:00
Dan Shi efb892d858 Auto generate test config files
This change allows one to run atest <module name>. The TradeFed test
config file will be automatically created in testcases directory based
on the settings.

Bug: 69929803, 69932044
Test: m -j NotificationStressTests libminijail_test
add following lines in notificationtests/Android.mk,
before "include $(BUILD_PACKAGE)"
LOCAL_COMPATIBILITY_SUITE := general-test

Change-Id: Ib5e9cd152d957b5d5beb6ed23a899a021a7e06d6
2017-12-20 15:05:17 -08:00
Sen Jiang 43935639fb Remove zlib_fingerprint support.
Test: m dist
Change-Id: I580993e5089b3eb73af0ee931dd222ebfd3a8593
2017-12-20 13:14:14 -08:00
Steven Moreland 2b28684175 Merge "Remove sepolicy_split from Soong." am: a53865d108
am: 34ec026b5d

Change-Id: Ic5aa6d96e7d373607535eedd637b0af03cb946a0
2017-12-20 19:24:16 +00:00
Treehugger Robot a53865d108 Merge "Remove sepolicy_split from Soong." 2017-12-20 19:10:32 +00:00
Alan Leung 5d27234c6f Merge "Prep D8 default instead of CompatDX in build/core" am: 326cd6637f
am: 72b4e6605d

Change-Id: I79af6c36f046dd3a270180f261b56a2a6d54da43
2017-12-20 02:10:08 +00:00
Alan Leung 326cd6637f Merge "Prep D8 default instead of CompatDX in build/core" 2017-12-20 02:00:45 +00:00
Alan Leung 4356ee61df Merge "Revert "Enable R8 by default (third attempt)"" am: 5260c8bdbc
am: 2a687a2073

Change-Id: Ic4d069d69cc142e49b52123f494c61c79600ccdc
2017-12-19 23:53:10 +00:00
Alan Leung 5260c8bdbc Merge "Revert "Enable R8 by default (third attempt)"" 2017-12-19 23:46:13 +00:00
Alan Leung c2cd517418 Revert "Enable R8 by default (third attempt)"
Bug: 70858752

This reverts commit 658e4e4e3a.

Reason for revert: breaks com.android.systemui.util.leak.LeakDetectorTest#trackInstance_doesNotLeakTrackedObject

which breaks presubmit

Change-Id: I6759cbef6dd5149ddb57836cd080829a5394473d
2017-12-19 23:45:15 +00:00
Steven Moreland df055ca4ef Merge "Revert "Keep PRODUCT_FULL_TREBLE to true even when some requirements are not met"" am: eba55d2515
am: 4b5c056216

Change-Id: Id1ba76beec7bbe93dbd2841fc6b8df4b26d92ac8
2017-12-19 20:41:41 +00:00
Steven Moreland 9634b1a0f3 Remove sepolicy_split from Soong.
No longer needed.

Bug: 62019611
Test: manual
Change-Id: I14a96d2f9dab24e446bccd79d2f0f13763f7a2e9
2017-12-19 12:35:26 -08:00
Treehugger Robot eba55d2515 Merge "Revert "Keep PRODUCT_FULL_TREBLE to true even when some requirements are not met"" 2017-12-19 20:32:34 +00:00
Søren Gjesse fd36ce9639 Merge "Enable R8 by default (third attempt)" am: 6f516aef40
am: 54c54f5eb5

Change-Id: I80a46db72c9714fcc9889d093055d2ad0a805ff8
2017-12-19 18:22:25 +00:00
Alan Leung c8ef37dfd8 Prep D8 default instead of CompatDX in build/core
Also use zip2zip to extract classes into another jar
to avoid hitting parameter limit in the shell invocations.

Bug: 69329508
Test: m checkbuild tests

Change-Id: Ic047aa699519b6b3fd100cb5395de945f96e4d0b
2017-12-18 23:54:33 -08:00
Søren Gjesse 6f516aef40 Merge "Enable R8 by default (third attempt)" 2017-12-19 07:12:05 +00:00
Tao Bao 3652c0ba76 Merge "Remove the support for BOARD_HAS_EXT4_RESERVED_BLOCKS." am: d30b75190d
am: 4d45f51596

Change-Id: Id6da54fe3f1cd4ebba63de849a065ffcd53b261e
2017-12-18 22:27:57 +00:00
Treehugger Robot d30b75190d Merge "Remove the support for BOARD_HAS_EXT4_RESERVED_BLOCKS." 2017-12-18 22:17:46 +00:00
Baligh Uddin 10882a317c Merge "Add generate_verity_key (+dependencies) to otatools package." am: c4f76d670a
am: d60a86c3ca

Change-Id: I410319047ff19c0978e94a5a04e6a02083fccb24
2017-12-18 20:47:35 +00:00
Søren Gjesse 658e4e4e3a Enable R8 by default (third attempt)
Test: m -j PRODUCT-aosp_x86-userdebug
Test: Check that some .vdex files built have R8 generated code
Change-Id: I5ab4ed75493404c1b330827fe0005510f5613a68
2017-12-18 20:16:28 +01:00
Baligh Uddin c8bef14c9f Add generate_verity_key (+dependencies) to otatools package. 2017-12-18 10:40:57 -08:00
Steven Moreland 9874ee6c54 Merge changes from topic "kati-obsolete-full-treble" am: 2b1f0d1810
am: a710d44086

Change-Id: I39b94bef18b12f0e55bc1d0eaabde2ba85f00146
2017-12-18 17:57:42 +00:00
Treehugger Robot 2b1f0d1810 Merge changes from topic "kati-obsolete-full-treble"
* changes:
  .KATI_obsolete PRODUCT_FULL_TREBLE.
  PRODUCT_NOTICE_SPLIT from PRODUCT_FULL_TREBLE
2017-12-18 17:46:25 +00:00
Steven Moreland 5dcea5de76 .KATI_obsolete PRODUCT_FULL_TREBLE.
It has been broken up into subflags, and usage has been cleaned up.

Bug: 69865032
Test: can't use PRODUCT_FULL_TREBLE
Change-Id: Ia38366a30132f129d09c6f4a985402c202bace62
2017-12-18 17:45:55 +00:00
Steven Moreland 27aaecaf1e Revert "Keep PRODUCT_FULL_TREBLE to true even when some requirements are not met"
This reverts commit 55e17a753e.

Reason for revert: Soong recognizes requirements.
Bug: 62019611
Test: still PRODUCT_FULL_TREBLE true on 2017 pixel

Change-Id: Id2b2186af5c9aa08e8f10ec2894f0f8d69f15d60
2017-12-18 17:44:16 +00:00
Jae Shin 410a1af4f9 Package NOTICE files and record LOCAL_PATHs
Copy the NOTICE files for VNDK shared libs from
$(TARGET_OUT_NOTICE_FILES).
Create module_paths.txt to record the LOCAL_PATH for VNDK shared
libs. The LOCAL_PATH values are needed to read the SHA value
of a library's git project from manifest.xml.

Test: m -j vndk dist
Bug: 70603439
Change-Id: I9574abb48a472cb69440f3e9213ffdd0c1cac266
2017-12-18 12:33:08 +09:00
Dan Albert 892e4d3ec9 Merge "Depend on the more specific ndk timestamp." am: 6663c8476a
am: f6c5be1e8e

Change-Id: I3186e73b7779979081cb6d2a81d34079d2d65218
2017-12-16 03:22:34 +00:00
Treehugger Robot 6663c8476a Merge "Depend on the more specific ndk timestamp." 2017-12-16 03:14:43 +00:00
Chih-Hung Hsieh 322f7fd374 Merge "Call clang-tidy with -quiet unless WITH_TIDY is set." am: 305d2abb27
am: c1ddbf65be

Change-Id: I3bd0584158e60f67f7dcab5b9f6e02b54428811a
2017-12-16 01:59:20 +00:00
Treehugger Robot 305d2abb27 Merge "Call clang-tidy with -quiet unless WITH_TIDY is set." 2017-12-16 01:53:44 +00:00