Commit graph

16830 commits

Author SHA1 Message Date
Weilun Du
d61ff0f5e2 Do not copy userdata.img into sdk_addon/system-image.zip
userdata.img becomes 4GB in P and it doesn't work well with patcher in
android studio. We decided to remove userdata.img in system image zip
and generate userdata.img by emulator.
This cl does not impact real devices.

BUG: 79925096

Change-Id: I5406b28291f140e2ebdbcd7c6f684f60ac59b62b
Signed-off-by: Weilun Du <wdu@google.com>
2018-05-29 22:24:29 +00:00
Tao Bao
d4328a80b8 Merge "Expose PLATFORM_SECURITY_PATCH_TIMESTAMP." am: d48f2a1408
am: cec4c5dfc5

Change-Id: Ib40d8c0fa4a289cf2029b477b9a9469550bd5ae7
2018-05-29 14:20:57 -07:00
Tao Bao
d48f2a1408 Merge "Expose PLATFORM_SECURITY_PATCH_TIMESTAMP." 2018-05-29 21:07:18 +00:00
Yifan Hong
f56d5a9d92 Merge "Remove unnecessary branch for BOARD_HAS_EXT4_RESERVED_BLOCKS." am: f346fd4485
am: 63df69d1d5

Change-Id: I37d5fa8a283b214f1a79e329db96c8a7fe9e6195
2018-05-29 13:18:42 -07:00
Yifan Hong
b64f5b5145 Merge "Add ro.boot.logical_partitions" am: 78f3983e98
am: 6d3dbb927e

Change-Id: I9bd5760ffbb5e9dd76ae6376a23057504719046f
2018-05-29 13:07:30 -07:00
Treehugger Robot
f346fd4485 Merge "Remove unnecessary branch for BOARD_HAS_EXT4_RESERVED_BLOCKS." 2018-05-29 20:02:35 +00:00
Tao Bao
717d9d3ae2 Expose PLATFORM_SECURITY_PATCH_TIMESTAMP.
We have use case that uses the timestamp for PLATFORM_SECURITY_PATCH in
device specific Makefile, but need to handle the platform-dependent
`date` command. This CL computes and exposes
PLATFORM_SECURITY_PATCH_TIMESTAMP from the core build system.

Bug: 80311893
Test: Use PLATFORM_SECURITY_PATCH_TIMESTAMP in device-specific folder,
      on both of Linux and macOS. Check the value.
Change-Id: I27a88dcebde7a1c204491f5f5c45c5160398dbb6
2018-05-29 11:45:09 -07:00
Yifan Hong
ebba19759d Add ro.boot.logical_partitions
Test: boot and getprop
Bug: 79885414
Change-Id: I2c1468a7a625deda8887106c3a087204a1ee8353
2018-05-29 11:17:45 -07:00
Yifan Hong
5cf81a3cfa Remove unnecessary branch for BOARD_HAS_EXT4_RESERVED_BLOCKS.
The branch exist for file based OTA, but it is deprecated in O.
Test: m dist

Change-Id: I24275b550f89c2541ef8893fdeffc06f5da01f6e
2018-05-29 11:15:28 -07:00
Sundong Ahn
3d64287af0 Merge "Add support when LOCAL_PRIVATE_PLATFORM_APIS is true." am: 24fff76404
am: 211d44d298

Change-Id: I5f8414b5ba6e66c13daae5f64459a83e4b8e3158
2018-05-27 19:46:33 -07:00
Treehugger Robot
24fff76404 Merge "Add support when LOCAL_PRIVATE_PLATFORM_APIS is true." 2018-05-28 02:23:26 +00:00
Dan Willemsen
c025213c15 Merge "Fix path to flex and bison with SANITIZE_HOST" am: 80ebd01032
am: f82669cc5d

Change-Id: I6f93126962d210e2896592bcd3f4a6f570dfc69f
2018-05-25 18:46:39 -07:00
Dan Willemsen
3de78fdf35 Fix path to flex and bison with SANITIZE_HOST
We don't have sanitized versions of flex and bison currently.

Test: forrest on aosp_x86_64-eng
Change-Id: I536885a715c162e36b69282099784abd16a5300c
2018-05-25 16:13:52 -07:00
Dan Willemsen
5db3299b9c Merge "Use new flex binary" am: 6fe15a380d
am: e3cca7657a

Change-Id: Ie148b4361d3f9b7e0d4b175234c18fdbe34b1949
2018-05-25 16:02:05 -07:00
Treehugger Robot
6fe15a380d Merge "Use new flex binary" 2018-05-25 22:44:35 +00:00
Dan Willemsen
11677ed983 Mark more common variables and paths as readonly
We've had a report of Android.mk files changing one of these paths,
leading to very strange issues. Nobody should be writing to these
variables after they're set.

Bug: 76424357
Test: diff build-aosp_arm.ninja
Change-Id: I66a9740d89feae342af13341ee3a630a20d62b64
2018-05-25 21:45:57 +00:00
Colin Cross
b17a2ca7b7 Merge changes I9b67fd2a,I761f2d06 am: bcc94297e0
am: 60c80c4323

Change-Id: I6bf68590481fbd9ef6137d8c6747e8eb3f98e1a2
2018-05-25 13:46:03 -07:00
Colin Cross
bcc94297e0 Merge changes I9b67fd2a,I761f2d06
* changes:
  Revert "Revert "Use AAPT2 by default""
  Work around incorrect R8 proguard compatibility
2018-05-25 20:30:01 +00:00
Colin Cross
cf5180c198 Work around incorrect R8 proguard compatibility
Proguard treats -dontobfuscate -keepattributes *Annotations* the
same as -dontobufscate by keeping all attributes.  R8, even in
proguard compatibility mode, discards all attributes that don't
match, including EnclosingClass attributes that may be necessary.
Pass -keepattributes * whenever passing -dontobfuscate to make R8
act more like proguard.

This isn't a complete solution, some modules may set
LOCAL_PROGUARD_ENABLED := custom and then manually specify
-dontobfuscate on the command line or in a flags file, in which
case they will see the incorrect behavior of R8.

Bug: 80081393
Test: m checkbuild
Test: examine attributes on com.android.stk.BootCompletedReceiver
      in out/target/common/obj/APPS/Stk_intermediates/classes.dex

Change-Id: I761f2d0617c5295df8fc7adfc4fd00d2aa41961e
2018-05-25 11:34:13 -07:00
Colin Cross
5b89ec4d42 Revert "Revert "Use AAPT2 by default""
This reverts commit 777cf2c450.

Reason for revert: manifest merger is used for libraries forced to aapt2 now

Bug: 79481102
Test: m checkbuild
Change-Id: I9b67fd2a9b3234798b2aac879b5242c2097b3863
2018-05-25 11:34:13 -07:00
Vishwath Mohan
088506c303 Merge "Enable CFI by default but restrict CFI_INCLUDE_PATHS" into pi-dev
am: d002e49501

Change-Id: I32d21f2dbbbaf4bb7f8a6be033d036ab626cba10
2018-05-25 00:24:49 -07:00
TreeHugger Robot
d002e49501 Merge "Enable CFI by default but restrict CFI_INCLUDE_PATHS" into pi-dev 2018-05-25 07:15:45 +00:00
Jiyong Park
fbaf8f7530 Merge "Don't copy system/sbin/adbd to recovery" am: 93ca8d3789
am: b771720b24

Change-Id: I29f78cccc259d6a6d1046578f5576ec12ca5be98
2018-05-24 23:15:31 -07:00
Treehugger Robot
93ca8d3789 Merge "Don't copy system/sbin/adbd to recovery" 2018-05-25 05:58:01 +00:00
Vishwath Mohan
6106a4ead5 Enable CFI by default but restrict CFI_INCLUDE_PATHS
This CL enables CFI on security sensitive components for product
configs that inherit core_64_bit.mk (and core_64_bit_only.mk). Note
that this only requests the build system to do so. Internal build
logic will dictate if this is actually enabled on the build or
not (CFI is currently disabled for ARM32 and MIPS for example).

In addition, this also restricts CFI_INCLUDE_PATHS and
PRODUCT_CFI_INCLUDE_PATHS to Arm64 architectures only. This helps
narrow which targets enable CFI out of the box.

Bug: 66301104
Test: CFI is enabled on aosp_* targets
Change-Id: I52af499dc34cd4b42fbfb1175f6a37aaf17b65dd
2018-05-24 22:14:03 -07:00
Dan Willemsen
6535dd9891 Use new flex binary
Test: treehugger
Change-Id: Iee21114ae863eb50d26ee9562879a97f956274ab
2018-05-24 16:04:58 -07:00
Tao Bao
80731c6764 Merge "Pack additional AVB testkeys into otatools.zip." am: e2d0b0cc43
am: ff01d91499

Change-Id: I69ab7766f939242b8e21dcbe5328df65b1ad3929
2018-05-24 11:23:33 -07:00
Inseob Kim
b494d1286d Merge "Install product shared libraries in /product/lib" am: e56adeffef
am: 53fd2bbb61

Change-Id: Ifdc5c5c3a27be9100309f41b3dca2348f54ad543
2018-05-24 10:45:15 -07:00
Colin Cross
32d7528352 Merge "Add minSdkVersion to default manifests" am: bd842d0b64
am: f3aa016621

Change-Id: I963496e81e5fbbe64d62bb3568ee527801c83bb0
2018-05-24 10:44:35 -07:00
Colin Cross
c45949b4db Merge "Fix missing class in manifest merger" am: 7f706cabac
am: df267c25e9

Change-Id: Iec8c8f60b7dbd59e23b8ef87b646854b2abe47dd
2018-05-24 10:44:00 -07:00
Yifan Hong
03f31c6625 Merge "Add PRODUCT_USE_LOGICAL_PARTITIONS" am: fecdb5db65
am: 725e94ea24

Change-Id: I64fb594c1493e804ec1dff1fe84976b574ff67bb
2018-05-24 10:43:25 -07:00
Colin Cross
42cc0ba39f Merge "Support LOCAL_STATIC_JAVA_AAR_LIBRARIES with aapt2" am: 4a49af1ceb
am: 457a80cc39

Change-Id: I63069acfbcf65549d53d48bfe66366ceeff3c133
2018-05-24 10:42:49 -07:00
Tao Bao
ba822a97cd Pack additional AVB testkeys into otatools.zip.
Bug: 71372646
Test: `m -j otatools-package`; Check $OUT/otatools.zip.
Change-Id: I42ad9047d1c5873b7770dc1f92757cd9e5e047ba
Merged-In: I42ad9047d1c5873b7770dc1f92757cd9e5e047ba
(cherry picked from commit 2d0e5124b0)
2018-05-24 10:07:30 -07:00
Tao Bao
e2d0b0cc43 Merge "Pack additional AVB testkeys into otatools.zip." 2018-05-24 17:04:17 +00:00
Jiyong Park
ce3e34f6ac Don't copy system/sbin/adbd to recovery
adbd for recovery partition is built separately. No need to copy.
Instead, the recovery version adbd.recovery is added to
PRODUCT_PACKAGES.

Bug: 79146551
Test: m -j
Test: adb reboot recovery; adb devices
Change-Id: I7f0ee8b21cbafc0ab5a4eb1f9c8ee70774617013
2018-05-24 18:19:49 +09:00
Treehugger Robot
e56adeffef Merge "Install product shared libraries in /product/lib" 2018-05-24 03:04:48 +00:00
Treehugger Robot
bd842d0b64 Merge "Add minSdkVersion to default manifests" 2018-05-24 01:18:10 +00:00
Treehugger Robot
7f706cabac Merge "Fix missing class in manifest merger" 2018-05-24 01:15:54 +00:00
Mathieu Chartier
c0f8cd6a96 Merge "Allow profiles for vendor modules" into pi-dev
am: b757ed06fc

Change-Id: I7115d69225d6cf3f674cb59d722b3a6e747cabfb
2018-05-23 17:56:15 -07:00
Treehugger Robot
fecdb5db65 Merge "Add PRODUCT_USE_LOGICAL_PARTITIONS" 2018-05-23 23:50:32 +00:00
Colin Cross
d45079a9ff Add minSdkVersion to default manifests
If the default manifest that doesn't set minSdkVersion is passed to
manifest merger along with a library manifest that does, it will fail
with:
.../DefaultManifest.xml Error:
	uses-sdk:minSdkVersion 1 cannot be smaller than version 14 declared in library ...

Translate LOCAL_MIN_SDK_VERSION or LOCAL_SDK_VERSION to minSdkVersion
in DefaultManifest.xml.

Bug: 79481102
Test: m checkbuild
Change-Id: I4d792d48612e6a1111e05a9e4a71bb4d87eae1ad
2018-05-23 16:35:40 -07:00
Colin Cross
0084dc8e2f Fix missing class in manifest merger
If manifest merger sees a manifest with an sdk codename instead
of a number it fails with:
Exception in thread "main" java.lang.NoClassDefFoundError: com/android/sdklib/SdkVersionInfo
	at com.android.manifmerger.XmlDocument.getApiLevelFromAttribute(XmlDocument.java:384)
	at com.android.manifmerger.XmlDocument.addImplicitElements(XmlDocument.java:418)
	at com.android.manifmerger.XmlDocument.merge(XmlDocument.java:161)
	at com.android.manifmerger.ManifestMerger2.merge(ManifestMerger2.java:909)
	at com.android.manifmerger.ManifestMerger2.merge(ManifestMerger2.java:263)
	at com.android.manifmerger.ManifestMerger2.access$600(ManifestMerger2.java:61)
	at com.android.manifmerger.ManifestMerger2$Invoker.merge(ManifestMerger2.java:1530)
	at com.android.manifmerger.Merger.process(Merger.java:153)
	at com.android.manifmerger.Merger.main(Merger.java:42)
Caused by: java.lang.ClassNotFoundException: com.android.sdklib.SdkVersionInfo
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
	... 9 more

Add sdklib to the classpath to fix it.

Test: m java
Bug: 77569197
Change-Id: I54fd9edb36aca32cff507340a76eee5e367529e6
2018-05-23 16:35:40 -07:00
Yifan Hong
ef4cd71ebf Add PRODUCT_USE_LOGICAL_PARTITIONS
Test: Set a device with PRODUCT_USE_LOGICAL_PARTITIONS,
      boot, examine /proc/cmdline
Test: build with USE_LOGICAL_PARTITIONS=true

Fixes: 79885414

Change-Id: I593b457786f3cf1bc50dedbc9b603e5408461bcc
2018-05-23 15:10:17 -07:00
Colin Cross
71c5b95aa6 Support LOCAL_STATIC_JAVA_AAR_LIBRARIES with aapt2
LOCAL_STATIC_JAVA_AAR_LIBRARIES are slightly different from
LOCAL_STATIC_ANDROID_LIBRARIES, due to b/78447299 the
AndroidManifest.xml from ANDROID libraries are ignored.
Temporarily add support for LOCAL_STATIC_JAVA_AAR_LIBRARIES
when using LOCAL_USE_AAPT2 := true, treating them the same
as LOCAL_STATIC_ANDROID_LIBRARIES except that they are
merged by android_manifest.xml

Bug: 78447299
Bug: 79481102
Test: m FORCE_AAPT2=true checkbuild
Change-Id: Ia6210810c1ea6e776be97ae1c9a586b5de844125
2018-05-23 13:39:15 -07:00
Dario Freni
c8b3742f35 Merge "Use manifest-merger 26.1.0 for builds." am: 3b801ca7fb
am: b826fe65fb

Change-Id: Iebb45d1b586b5d9c72f646d7e943100a32a0a6f8
2018-05-23 13:15:36 -07:00
Treehugger Robot
3b801ca7fb Merge "Use manifest-merger 26.1.0 for builds." 2018-05-23 20:03:08 +00:00
Nelson Li
54396a014a Merge "Build System: Validate AndroidTest.xml Configs" am: af076d240a
am: 0cbcb1fd10

Change-Id: Iff4bbbaee9b7e922f4ed8f27e56b22bbc032f80e
2018-05-23 12:49:44 -07:00
Tao Bao
2d0e5124b0 Pack additional AVB testkeys into otatools.zip.
Bug: 71372646
Test: `m -j otatools-package`; Check $OUT/otatools.zip.
Change-Id: I42ad9047d1c5873b7770dc1f92757cd9e5e047ba
2018-05-23 09:23:28 -07:00
Sundong Ahn
2b17041789 Add support when LOCAL_PRIVATE_PLATFORM_APIS is true.
LOCAL_PRIVATE_PLATFORM_APIS := ture means that the apps or packages can
use the private API. So, if LOCAL_PRIVATE_PLATFORM_APIS := true, they
are linked to ".impl" instead of ".stub".

Bug: 77577799
Test: build
Change-Id: I782e52078bb8c4139c3a24862cb381f6a84e53fe
2018-05-23 21:34:18 +09:00
Jiyong Park
68ad8057d7 Merge changes from topic "java_sdk_library"
* changes:
  org.apache.http.legacy.boot is renamed to org.apache.http.legacy.impl
  use the phony module name to install org.apache.http.legacy
2018-05-23 11:35:25 +00:00
TreeHugger Robot
cb04d86495 Merge changes from topic "java_sdk_library" into pi-dev-plus-aosp
* changes:
  org.apache.http.legacy.boot is renamed to org.apache.http.legacy.impl
  use the phony module name to install org.apache.http.legacy
2018-05-23 09:52:16 +00:00
Treehugger Robot
af076d240a Merge "Build System: Validate AndroidTest.xml Configs" 2018-05-23 03:21:51 +00:00
Colin Cross
0cf8e019fd Merge "Revert "Use AAPT2 by default"" am: 4f553c750a
am: 0161ef8f3d

Change-Id: Ib895b935ceaef44a057f508da203668823986ca0
2018-05-22 16:29:50 -07:00
Colin Cross
4f553c750a Merge "Revert "Use AAPT2 by default"" 2018-05-22 23:14:53 +00:00
Jeff Gaston
777cf2c450 Revert "Use AAPT2 by default"
This reverts commit ba7699fb9a.

Reason for revert: Broke boot tests on walleye and taimen

Bug: 80142285
Change-Id: Ida54a0b875147420e6e9c0af41b14af50f6397e3
2018-05-22 23:13:41 +00:00
Tri Vo
b9b2f0860c Merge "Account for multiple BOARD_PLAT_PUBLIC[PRIVATE]_SEPOLICY_DIR dirs" am: 33c3d7c1aa
am: fb1e426c78

Change-Id: I53b950a0e2a8b8a958c379dbd4ca17d509d154b8
2018-05-22 16:06:49 -07:00
Treehugger Robot
33c3d7c1aa Merge "Account for multiple BOARD_PLAT_PUBLIC[PRIVATE]_SEPOLICY_DIR dirs" 2018-05-22 22:50:59 +00:00
Mathieu Chartier
96a8c23a73 Allow profiles for vendor modules
Allows speed-profile compiling vendor modules.

The profile will not correctly get copied during first boot, but this
is should only be a minor issue.

Bug: 78472563
Bug: 71901335
Test: make

Change-Id: I15c6f90b6bbd284ab48fd750267bed5189c9fea4
2018-05-22 13:33:10 -07:00
Colin Cross
b8adc47b4b Merge "Use AAPT2 by default" am: 90b890f9f2
am: d04efa590b

Change-Id: I54e2e9251c0407052b5770120374b3bcf8e0415f
2018-05-22 11:06:14 -07:00
Colin Cross
90b890f9f2 Merge "Use AAPT2 by default" 2018-05-22 17:45:20 +00:00
Tri Vo
494830879c Account for multiple BOARD_PLAT_PUBLIC[PRIVATE]_SEPOLICY_DIR dirs
After https://android-review.googlesource.com/688488
BOARD_PLAT_PUBLIC[PRIVATE]_SEPOLICY_DIR can now specify multiple
directories.

Bug: n/a
Test: build sepolicy

Change-Id: Id850327c29bc626d3d721935edcb2b7afd2fd283
2018-05-22 09:24:10 -07:00
Jiyong Park
565ec59f1f org.apache.http.legacy.boot is renamed to org.apache.http.legacy.impl
The name of the runtime library name for the SDK library
org.apache.http.legacy has changed to org.apache.http.legacy.impl as it
is now built using java_sdk_library construct where *.impl suffix is
automatically added to the runtime lib.

Bug: 77577799
Test: m -j
Merged-In: Ie049d06d78cc403454c2885def88a167975b4204
Change-Id: Ie049d06d78cc403454c2885def88a167975b4204
(cherry picked from commit 7f9a1a49cf)
2018-05-22 20:37:30 +09:00
Jiyong Park
c98eb5b5b8 org.apache.http.legacy.boot is renamed to org.apache.http.legacy.impl
The name of the runtime library name for the SDK library
org.apache.http.legacy has changed to org.apache.http.legacy.impl as it
is now built using java_sdk_library construct where *.impl suffix is
automatically added to the runtime lib.

Bug: 77577799
Test: m -j
Merged-In: Ie049d06d78cc403454c2885def88a167975b4204
Change-Id: Ie049d06d78cc403454c2885def88a167975b4204
(cherry picked from commit 7f9a1a49cf)
2018-05-22 20:13:30 +09:00
Jasmine Cha
a2423094a0 Merge "Add waves to vendor owner whitelist" into pi-dev
am: eeb98ae3df

Change-Id: Ia9ddc90c477170b0afc2e77b7499d3403eb332e1
2018-05-22 00:31:32 -07:00
TreeHugger Robot
eeb98ae3df Merge "Add waves to vendor owner whitelist" into pi-dev 2018-05-22 07:26:54 +00:00
Logan Chien
fcf4d7200a Merge "Build a single GSI for O-MR1-VENDOR and Master-VENDOR" 2018-05-22 04:04:07 +00:00
Colin Cross
ba7699fb9a Use AAPT2 by default
Switch to using AAPT2 by default.  Can be disabled globally with
FORCE_AAPT2=false or per-module with LOCAL_USE_AAPT2 := false.

Bug: 79481102
Test: m checkbuild
Change-Id: I35719f708fa3bcc1d54721e62ac9cc8780f7cbbe
2018-05-22 01:21:55 +00:00
Alan Ma
4292ea6696 Merge "Add a build task for cts_instant" into pi-dev
am: 07d33802b3

Change-Id: Ide0ee7a30700a34823abed77493fba4f55458517
2018-05-21 13:30:41 -07:00
Alan Ma
c2e074c081 Add a build task for cts_instant
Test: With other CLs in the topic, run 'm -j30 cts_instant'

bug: 79750671
Change-Id: Ib0381017300108a22919892070540b9e7f92aaf9
2018-05-18 14:09:03 -07:00
Colin Cross
be91cfdbbc Merge "Move support library dependency munging earlier" am: 7e15b44c23
am: 61377fb72a

Change-Id: I75edb7e891e014068530a227240cc2b2929d9b62
2018-05-17 17:27:08 -07:00
Colin Cross
db67232b77 Merge "Don't recompute location of AndroidManifest.xml" am: 1b02cfd8ab
am: 8deac847c3

Change-Id: I9eb0138e0f62c7b658272aa826674f13b50c5213
2018-05-17 17:26:14 -07:00
Treehugger Robot
7e15b44c23 Merge "Move support library dependency munging earlier" 2018-05-18 00:00:50 +00:00
Treehugger Robot
1b02cfd8ab Merge "Don't recompute location of AndroidManifest.xml" 2018-05-18 00:00:24 +00:00
Colin Cross
7bc6cab12e Move support library dependency munging earlier
The presence of LOCAL_STATIC_ANDROID_LIBRARIES is used early to
decide whether to move resources to overlays, and late to decide
whether to add --auto-add-overlay.  If support_libraries.mk moves
the last LOCAL_STATIC_ANDROID_LIBRARIES value to
LOCAL_STATIC_JAVA_LIBRARIES then the resources will be moved to
overlays but --auto-add-overlay will not be added, causing aapt2
to fail with:
error: resource bool/leanback_outline_clipping_disabled does not override an existing resource.
note: define an <add-resource> tag or use --auto-add-overlay.

Bug: 79481102
Test: m FORCE_AAPT2=true java
Change-Id: Icc67acf23b846bd506a5d397d02ad5775ad0ea1d
2018-05-17 15:09:17 -07:00
Colin Cross
1c3d83b64c Don't recompute location of AndroidManifest.xml
The location of AndroidManifest.xml has already been computed
by android_manifest.mk, don't duplicate the logic.  Fixes an
extra regeneration triggered by $(wildcard $(my_android_manifest))
when LOCAL_FULL_MANIFEST_FILE points to a generated file, which
will not exist on the first run of kati.

Test: m
Change-Id: Ia56693a4dbbc7d78900019b887f766938dc55dab
2018-05-17 15:09:17 -07:00
Colin Cross
8e7d3fb134 Merge "Don't always filter out --auto-add-overlay" am: e3c456423e
am: 4ab479a771

Change-Id: Icc7d1d911904c36684d89c20881002c3c8978175
2018-05-17 12:11:34 -07:00
Colin Cross
e3c456423e Merge "Don't always filter out --auto-add-overlay" 2018-05-17 18:52:53 +00:00
Colin Cross
282065ab15 Don't always filter out --auto-add-overlay
There are some cases where --auto-add-overlay is added for legitimite
reasons, for example in RROs.  Only filter it out from modules that
were using --extra-packages for support library modules.

Test: m FORCE_AAPT2=true java
Change-Id: I165fa577f2204ecbc57e71f946db3f346568ad81
2018-05-17 10:16:04 -07:00
Logan Chien
86b52aec24 Build a single GSI for O-MR1-VENDOR and Master-VENDOR
The objective of this commit is to support these 3 combinations:

1. Master-GSI + Master-VENDOR (w/ BOARD_VNDK_VERSION)
2. Master-GSI + Master-VENDOR (w/o BOARD_VNDK_VERSION for upgrading devices)
3. Master-GSI + O-MR1-VENDOR (w/ BOARD_VNDK_VERSION)

This commit defines a new property `ro.vndk.lite` to indicate the status
of BOARD_VNDK_VERSION run-time enforcement.  Now, all devices should
have `ro.vndk.version` so that `libhidlbase.so`, `libRSCpuRef.so`, and
`libnativeloader.so` can find the versioned VNDK directory.

Bug: 78605339
Test: aosp_sailfish Master-SYSTEM + Master-VENDOR boots
Test: aosp_sailfish Master-GSI    + Master-VENDOR boots
Test: aosp_walleye  Master-SYSTEM + Master-VENDOR boots
Test: aosp_walleye  Master-GSI    + Master-VENDOR boots
Test: aosp_walleye  Master-GSI    + O-MR1-VENDOR boots
Change-Id: Iee9553b3ca9e0798a873e655d87d10cdc23d4b1c
Merged-In: Iee9553b3ca9e0798a873e655d87d10cdc23d4b1c
(cherry picked from commit d73b94c097)
2018-05-17 14:25:15 +08:00
Mathieu Chartier
e5f8747de8 Merge "Move back to using COMMON jars for preopt dependencies" am: 625ad4a0c8
am: 195be3d799

Change-Id: If05aed6ba98eb7aa664645bdf4017c6a89b2b83b
2018-05-16 16:06:16 -07:00
Mathieu Chartier
625ad4a0c8 Merge "Move back to using COMMON jars for preopt dependencies" 2018-05-16 22:59:23 +00:00
Ivan Lozano
89d3bee91b Merge "Don't export UBSan minimal runtime symbols." into pi-dev 2018-05-16 21:37:30 +00:00
Adam Seaton
7a95f884cc Merge "DO NOT MERGE: Updating security string for pi-dev to 2018-06-05" into pi-dev
am: 7bc3e17c05

Change-Id: I40ee666e90f8bac02df5d2679fd76c5a66cc86ff
2018-05-16 14:03:44 -07:00
Adam Seaton
7bc3e17c05 Merge "DO NOT MERGE: Updating security string for pi-dev to 2018-06-05" into pi-dev 2018-05-16 20:54:29 +00:00
TreeHugger Robot
7f309d6e4d Merge changes If012c943,Ica275899 into pi-dev
* changes:
  Fix zipped resources
  Fix incorrect renderscript zip deps
2018-05-16 19:47:33 +00:00
Colin Cross
0829421012 Merge "Pass 0 to llvm-rs-cc for current" am: 4a8b593768
am: 8ae7420c9a

Change-Id: Ib52235e5bb9011c4526531b68ea90f43741ed351
2018-05-16 12:44:15 -07:00
Ivan Lozano
9588875e80 Don't export UBSan minimal runtime symbols.
When linking in the UBSan minimal runtime, don't export the symbols.
This was resulting in an edge case where symbols were sometimes
undefined at runtime on address sanitized builds if static library
dependencies were integer overflow sanitized.

Bug: 78766744
Test: readelf on libraries show either inclusion of the shared library
or no undefined symbols related to the minimal runtime.
Change-Id: I4382cc72baefd7fa96cd83e8349e82f7b083f5aa
Merged-In: I4382cc72baefd7fa96cd83e8349e82f7b083f5aa
(cherry picked from commit e508169caf)
2018-05-16 10:41:48 -07:00
Colin Cross
e2f541bb9f Pass 0 to llvm-rs-cc for current
Apparently empty PRIVATE_RS_TARGET_API is not the same as current,
pass 0 explicitly.

Test: forrest ub-renderscript-test
Change-Id: I8b2001b12161f07c404f78f63a80d82dffa1075f
2018-05-16 09:57:10 -07:00
Mathieu Chartier
c52de423af Move back to using COMMON jars for preopt dependencies
There are too many problems when using the stripped jars. One of them
being that the OatFileAssistant can't open the dex files since the
dex location stored in hte oat file is the system partition one.

Bug: 67345922
Bug: 70934104
Test: make
Change-Id: I3812471330ec1d2e3a435f42a3e975de750004ff
2018-05-16 09:56:58 -07:00
Colin Cross
bdaada855f Fix zipped resources
Fix mismatch between output directory of zipsync and input
directory of aapt2.

Bug: 79481102
Test: m checkbuild
Change-Id: If012c943af0c04cc3f0dd5c4266126412ae0a759
Merged-In: If012c943af0c04cc3f0dd5c4266126412ae0a759
(cherry picked from commit 164a33f194)
2018-05-16 09:00:01 -07:00
Colin Cross
4390b78cc0 Fix incorrect renderscript zip deps
Fix some incorrect dependencies after I12d33e52019aebac6ea33271939228e4690a4173.

Bug: 73885582
Test: m java FORCE_AAPT2=true
Change-Id: Ica2758991603e1605f629d843d19df5e2ef4fae1
Merged-In: Ica2758991603e1605f629d843d19df5e2ef4fae1
(cherry picked from commit 1465806ff2)
2018-05-16 08:58:52 -07:00
Logan Chien
4f03bf9972 Merge "Build a single GSI for O-MR1-VENDOR and Master-VENDOR" into pi-dev
am: aee6e5dd3b

Change-Id: Idbbaac7407175b38882c341b8b4075bd1f2b2152
2018-05-16 02:45:43 -07:00
Logan Chien
aee6e5dd3b Merge "Build a single GSI for O-MR1-VENDOR and Master-VENDOR" into pi-dev 2018-05-16 09:38:57 +00:00
Colin Cross
5fda7459c5 Merge "Fix incorrect renderscript zip deps" am: d350b16d50
am: 3812eba34c

Change-Id: I2e149978fdc223f5c9f3a4e17855816074442a72
2018-05-16 00:24:55 -07:00
Colin Cross
8ec6febb48 Merge "Allow modules to override FORCE_AAPT2=true with LOCAL_USE_AAPT2 := false" am: 00794848df
am: 1ed070a524

Change-Id: I45d346fb9f69f8c3f9dad45406d31a5372933b9f
2018-05-16 00:20:53 -07:00
Treehugger Robot
d350b16d50 Merge "Fix incorrect renderscript zip deps" 2018-05-16 07:13:01 +00:00
Treehugger Robot
00794848df Merge "Allow modules to override FORCE_AAPT2=true with LOCAL_USE_AAPT2 := false" 2018-05-16 07:10:04 +00:00
Fang Deng
901f056e5d Merge "[DO NOT MERGE][Harness Separation] Update cts.mk to point to the new harness repo" into pi-dev
am: 7c2a9d258f

Change-Id: I57cfbd587b71aa14783b0ec140dff7628968f42f
2018-05-15 21:42:01 -07:00
Jiyong Park
025994b3c0 Merge "When building unbundled apps, link to the prebuilt stubs lib" am: 7207e41ddd
am: 86091aab1d

Change-Id: Ic760e8cf22834a026d8ed98c037361533c2bb9e1
2018-05-15 20:45:38 -07:00
Treehugger Robot
7207e41ddd Merge "When building unbundled apps, link to the prebuilt stubs lib" 2018-05-16 02:39:01 +00:00
Nan Zhang
90f94965ab Merge "Remove tasks/apicheck.mk" 2018-05-16 01:40:53 +00:00
Colin Cross
699e28bea1 Merge "Support LOCAL_RENDERSCRIPT_TARGET_API := current" am: 60e9f76bc2
am: 8410b0edcb

Change-Id: I82dc81b15448658b67910cd6a8817e4e3f924f79
2018-05-15 18:29:46 -07:00
Fang Deng
42b9e05754 [DO NOT MERGE][Harness Separation] Update cts.mk to point to the new harness repo
CTS harness code is moved to the new git project.
Update cts.mk to point to the new repo.

Bug: 78461075
Bug: 79201478
Bug: 79695450
Test: make cts -j32 WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY=true
TARGET_PRODUCT=aosp_arm64
Test: cts-tradefed run cts --compatibility:include-filter
CtsGestureTestCases
Test: cts/run_unit_tests.sh
Test: make gts -j32 WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY=true
TARGET_PRODUCT=aosp_arm64

Change-Id: I94c03071ec3db5a52c0fc0185bf69e2e57da9b21
2018-05-15 18:28:24 -07:00
Jiyong Park
45bb10c470 When building unbundled apps, link to the prebuilt stubs lib
There was a bug that when an unbundled app is built without SDK
(LOCAL_SDK_VERSION isn't set), it is linked to the nonexisting stubs
library from java_sdk_library. The built stubs libs are not created for
unbundled builds. For unbundled builds, we need to use the prebuilt
stubs lib.

Bug: 77575606
Test: m -j
Test: make -j dist
ANDROID_BUILDSPEC=vendor/google/build/app_build_spec.mk

Change-Id: I70cced1c872053e151fea157e3a6d218b1fab9dc
2018-05-16 09:55:47 +09:00
Colin Cross
1465806ff2 Fix incorrect renderscript zip deps
Fix some incorrect dependencies after I12d33e52019aebac6ea33271939228e4690a4173.

Bug: 73885582
Test: m java FORCE_AAPT2=true
Change-Id: Ica2758991603e1605f629d843d19df5e2ef4fae1
2018-05-15 16:04:47 -07:00
George Burgess IV
63868edc92 Merge "Disable dtor inlining for clang-tidy" am: e51fcf01bd
am: e19014c924

Change-Id: Id9ab3c326c1ba5ade3398beadd5b1a87139ff7a4
2018-05-15 15:41:20 -07:00
Colin Cross
d443244fbf Allow modules to override FORCE_AAPT2=true with LOCAL_USE_AAPT2 := false
Bug: 79481102
Test: m java FORCE_AAPT2=true
Change-Id: Iece2158dc887a249eb51086b2497b170b5879979
2018-05-15 15:28:22 -07:00
Colin Cross
532ae3bcfb Support LOCAL_RENDERSCRIPT_TARGET_API := current
Renderscript was using LOCAL_RENDERSCRIPT_TARGET_API := 0 to mean
current.  Use current instead, and check for it when comparing
if LOCAL_RENDERSCRIPT_TARGET_API >= 21.

Fixes an issue where LOCAL_RENDERSCRIPT_TARGET_API := 0 was being
treated as < 21, causing the renderscript resources to be passed
to aapt2:
out/target/common/obj/APPS/RSTestBackward_intermediates/flat-res/zip_res.flata.contents/raw/bc32: error: resource file cannot be a directory.

Bug: 79481102
Test: m java FORCE_AAPT2=true
Change-Id: I7726d0463ce1693bc9653b4d869ced181c491036
2018-05-15 15:28:22 -07:00
Treehugger Robot
e51fcf01bd Merge "Disable dtor inlining for clang-tidy" 2018-05-15 22:15:55 +00:00
Nan Zhang
7e4dd1478e Remove tasks/apicheck.mk
1. Remove tasks/apicheck.mk
2. Convert apicheck tool build to Soong.

Bug: b/78034256
Test: m clean && m checkapi

Change-Id: I0ebdd76586ceb7a90e4d9c10714cbd94b38ef869
Merged-In: I0ebdd76586ceb7a90e4d9c10714cbd94b38ef869
2018-05-15 14:16:13 -07:00
Ivan Lozano
6516a40a4e Merge "Don't export UBSan minimal runtime symbols." am: 078d4995b7
am: 910c257a72

Change-Id: I5b45e2d7afd24d7e6fe145d21fadb6840fecc9c1
2018-05-15 13:04:21 -07:00
Ivan Lozano
078d4995b7 Merge "Don't export UBSan minimal runtime symbols." 2018-05-15 19:44:32 +00:00
TreeHugger Robot
df24c51b24 Merge "Remove tasks/apicheck.mk" into pi-dev-plus-aosp 2018-05-15 18:15:08 +00:00
Xin Li
da4bc44a65 Merge "Use correct case for GPL." am: 3e83e84115
am: dcf513c288

Change-Id: Id4e8272d36f0551b251c16a73c787a3575277259
2018-05-15 10:30:45 -07:00
Nan Zhang
02ca404a00 Remove tasks/apicheck.mk
1. Remove tasks/apicheck.mk
2. Convert apicheck tool build to Soong.

Bug: b/78034256
Test: m clean && m checkapi

Change-Id: I0ebdd76586ceb7a90e4d9c10714cbd94b38ef869
2018-05-15 10:13:30 -07:00
Xin Li
9335117d7e Use correct case for GPL.
Test: build
Change-Id: Id8c671b142231a9c4baeac3a7b9e3cd328b3217e
2018-05-15 08:37:16 -07:00
Jiyong Park
6cb36a5d6c Merge "Convert apicheck tool build to Soong." am: 5e2056b906
am: 90525df267

Change-Id: Ia8242a167369f545c24f76911d315cf7e2b30d4c
2018-05-15 00:05:58 -07:00
Jiyong Park
5e2056b906 Merge "Convert apicheck tool build to Soong." 2018-05-15 05:30:41 +00:00
Jiyong Park
1c671fd7dd Convert apicheck tool build to Soong.
Bug: b/78034256
Test: m clean && m checkapi
Change-Id: Iaced7335714138730349bbea8a993705f197ae77
2018-05-15 11:38:44 +09:00
Colin Cross
92e9d334ae Merge "Allow forcing AAPT2 on" am: 2b42ae8076
am: 7795002bcf

Change-Id: Ic2b3c8841f56f7f4315ba261d53fcbc5594535cc
2018-05-14 18:12:03 -07:00
Treehugger Robot
2b42ae8076 Merge "Allow forcing AAPT2 on" 2018-05-15 00:51:27 +00:00
George Burgess IV
432899a25b Disable dtor inlining for clang-tidy
LLVM r328258 turned on a feature called temporary dtor inlining by
default for all of C++ in clang-tidy. This feature appears to be
somewhat over-aggressive when objects are being passed by value. For
example, given:

void foo(std::unique_ptr<int> i);

void bar() {
  auto x = std::make_unique<int>();
  int *i = x.get();
  foo(std::move(x));
  *i = 99;
}

...clang-tidy will complain about `*i = 99;` being a definite
use-after-free. This is incorrect, however: `foo` could stash the
`unique_ptr` it's given in a global, or a class member, or ...

Until upstream fixes this bug, it's probably best to keep this disabled.

Bug: None
Test: Ran the analyzer across Android locally. Nothing broke; number of
complaints dropped significantly.

Change-Id: I742eedf598a72a533285d913d191bfbbf0ce1688
2018-05-14 15:48:38 -07:00
Jasmine Cha
61b2c70815 Add waves to vendor owner whitelist
Bug: 74360112
Test: AOSP build pass
Change-Id: I7dd78f13fec495111d82828229afabe53abba712
2018-05-14 21:50:28 +00:00
Mathieu Chartier
4fab58f0ae Merge "Use $(AAPT) instead of aapt for verifying uses libraries" am: 4537ebb7a1
am: c3bd43bbc8

Change-Id: Iec5545d6adfd927e8f6ae1a9d37faa6e0d981251
2018-05-14 13:08:55 -07:00
Mathieu Chartier
4537ebb7a1 Merge "Use $(AAPT) instead of aapt for verifying uses libraries" 2018-05-14 19:52:47 +00:00
Anton Hansson
b2c2be9eca Merge "Remove two stale variables." am: fa682fb47a
am: fdbce7be8e

Change-Id: Ia685b6c7205f9b6bb7493a4c10970aaafee0fee1
2018-05-14 10:53:58 -07:00
Calin Juravle
b657d5ce62 Merge "Create dist for boot and system jars" into pi-dev
am: 42293db357

Change-Id: I56c5591dd9818bb7fa9338d3e67c7350b1679146
2018-05-14 10:49:31 -07:00
TreeHugger Robot
42293db357 Merge "Create dist for boot and system jars" into pi-dev 2018-05-14 17:37:41 +00:00
Mathieu Chartier
116790dae8 Use $(AAPT) instead of aapt for verifying uses libraries
For SDK builds, $(AAPT) points to a prebuilt and aapt is not
necessarily in the path.

Test: make -j32 <some SDK build> tests
Bug: 70934104
Bug: 67345922
Change-Id: Icfd62a4e3ec284ed59a61714765e5a909a27947d
2018-05-14 10:18:02 -07:00
Anton Hansson
2c37d704b4 Remove two stale variables.
These two variables are unused, and point to non-existing directories,
so delete them.

Test: make
Change-Id: I5f7577c86847146a7eea827ace74cf8022e19f71
2018-05-14 16:23:51 +01:00
Calin Juravle
8955a99f06 Create dist for boot and system jars
We need the jars on boot and system server classpath in order to
symbolize profile information. Having the jars packed in a dist zip will
help a lot with the tools.

Test: m
Bug: 73313191
Change-Id: I5b64268d240055282099e9b86a5e6869e6405968
2018-05-11 16:38:03 -07:00
Mathieu Chartier
594d35bb14 Merge "Fix some issues with LOCAL_USES_LIBRARIES" am: da187dd390
am: 0453825e7e

Change-Id: I715102bd27a0265ba25423337c0fd78e42d2d7cb
2018-05-11 16:15:46 -07:00
Mathieu Chartier
da187dd390 Merge "Fix some issues with LOCAL_USES_LIBRARIES" 2018-05-11 22:51:37 +00:00
Ivan Lozano
e508169caf Don't export UBSan minimal runtime symbols.
When linking in the UBSan minimal runtime, don't export the symbols.
This was resulting in an edge case where symbols were sometimes
undefined at runtime on address sanitized builds if static library
dependencies were integer overflow sanitized.

Bug: 78766744
Test: readelf on libraries show either inclusion of the shared library
or no undefined symbols related to the minimal runtime.
Change-Id: I4382cc72baefd7fa96cd83e8349e82f7b083f5aa
2018-05-11 15:31:25 -07:00
Mathieu Chartier
cda2ef1d84 Fix some issues with LOCAL_USES_LIBRARIES
Properly check the value of PRIVATE_ENFORCE_USES_LIBRARIES instead of
only checking that the variable is non-empty.

Change the logic to use product libraries instead of the common ones.
This is required so that dex2oat can find the oat files when stripping
is enabled.

Bug: 70934104
Bug: 67345922
Test: manual

Change-Id: Iee71c2b26f3c0e136a8971ab913725b2b6e100b8
2018-05-11 13:51:02 -07:00
Christopher Ferris
4d432b5455 Add support for cortex-a55/cortex-a75.
Bug: 78133793

Test: Builds for target.
Change-Id: I98d638017f943083d3832ec2211333c48f07caf2
(cherry picked from commit ce7bf678f2)
2018-05-11 11:23:17 -07:00
Christopher Ferris
05e9f6ce2c Merge "Add support for cortex-a55/cortex-a75." am: b510e7b521
am: 88f9778c34

Change-Id: I484f2313a07d33aad911edf7f714746a8cd327e7
2018-05-11 11:13:07 -07:00
Christopher Ferris
b510e7b521 Merge "Add support for cortex-a55/cortex-a75." 2018-05-11 17:56:12 +00:00
Colin Cross
a3e54cd24d Merge changes Ie3d4536b,If2504b7d,I411844fb am: fc56b59db4
am: d3a1fa618f

Change-Id: Id5b5b7d398f4ee2c2acbca24f169728ae940cc61
2018-05-10 22:36:19 -07:00
Colin Cross
fc56b59db4 Merge changes Ie3d4536b,If2504b7d,I411844fb
* changes:
  Fix a missed rename to my_proguard_sdk_raise
  Allow 0 in math functions
  Add tests for math.mk
2018-05-11 05:22:20 +00:00
Colin Cross
2029903b64 Allow forcing AAPT2 on
Building with FORCE_AAPT2=true will turn on AAPT2 for all modules
unless they set LOCAL_USE_AAPT2 := false.  The build system will
attempt to rewrite common AAPT patterns into AAPT2 patterns,
including removing --extra-packages for support library packages,
removing LOCAL_RESOURCE_DIR point to support library resources,
adding a default empty manifest file if it doesn't exist, and
converting LOCAL_STATIC_JAVA_AAR_LIBRARIES to
LOCAL_STATIC_ANDROID_LIBRARIES.

Bug: 79481102
Test: m checkbuild
Change-Id: I8d9d55fe4d5d5c965c64b0407efe74e0afc35c3a
2018-05-11 02:23:20 +00:00
Colin Cross
c27df2b71b Fix a missed rename to my_proguard_sdk_raise
Patch Iaf5853361767f0ea3e9ad4ec908aadd72d639c79 missed one rename
of my_support_library_sdk_raise to my_proguard_sdk_raise.

Test: m checkbuild
Change-Id: Ie3d4536bd80654a7eb4f209ef6d6a8de502a6cdc
2018-05-11 02:23:07 +00:00
Colin Cross
8b170358ba Allow 0 in math functions
Allow non-negative integers instead of positive integers in math
functions so that LOCAL_RENDERSCRIPT_TARGET_API := 0 can be compared
against 21.

Test: make -f ${ANDROID_BUILD_TOP}/build/make/core/math.mk RUN_MATH_TESTS=true
Test: $(get_build_var CKATI) -f ${ANDROID_BUILD_TOP}/build/make/core/math.mk RUN_MATH_TESTS=true
Change-Id: If2504b7de81f8dd676af749a04c9f3e580f298b6
2018-05-11 02:22:54 +00:00
Colin Cross
5bc27ea9f2 Add tests for math.mk
Turn commented out tests into assertion tests, and add more for
functions that didn't have tests.

Test: make -f ${ANDROID_BUILD_TOP}/build/make/core/math.mk RUN_MATH_TESTS=true
Test: $(get_build_var CKATI) -f ${ANDROID_BUILD_TOP}//build/make/core/math.mk RUN_MATH_TESTS=true
Change-Id: I411844fbf00268f863260b7ee42d1795f05c0d16
2018-05-11 02:21:39 +00:00
Christopher Ferris
47b29ea339 Add support for cortex-a55/cortex-a75.
Bug: 78133793
Bug: 78242072

Test: Builds for target.
Change-Id: I98d638017f943083d3832ec2211333c48f07caf2
Merged-In: I98d638017f943083d3832ec2211333c48f07caf2
(cherry picked from commit ce7bf678f2)
2018-05-11 00:43:19 +00:00
Mathieu Chartier
d6259f8d46 Merge "Add support for preopt with uses-libraries" 2018-05-10 21:17:19 +00:00
Colin Cross
c508fc6982 Merge "Fix zipped resources" am: 46ff7618b0
am: 9c64c59428

Change-Id: Ibd0e76e6596740a7e0300b68e5bc89bb51e11a77
2018-05-10 13:16:04 -07:00
Colin Cross
46ff7618b0 Merge "Fix zipped resources" 2018-05-10 20:04:25 +00:00
Mathieu Chartier
d022b65c98 Add support for preopt with uses-libraries
Required libraries are specified with LOCAL_USES_LIBRARIES
Optional libraries are specified with LOCAL_OPTIONAL_USES_LIBRARIES

The make rule cross references the libraries against what's stored
in the manifest.

Verification is enabled if LOCAL_ENFORCE_USES_LIBRARIES is true. This
defaults to true if either of LOCAL_USES_LIBRARIES or
LOCAL_OPTIONAL_USES_LIBRARIES are specified.

Bug: 70934104
Bug: 67345922
Test: manual

(cherry picked from commit 09f3b97f4b)

Merged-In: Ifca7d1a993620e9d0e42dc497a4a5d7a6c3f4172
Change-Id: I670431f938c31115a7812c1857c31b9f71675632
2018-05-10 11:52:26 -07:00
Mathieu Chartier
00b42e8c6e Merge "Add support for preopt with uses-libraries" into pi-dev
am: 110d18d73c

Change-Id: Ia861e8d9bb2570ccb10c101e81e83eb372ef41f7
2018-05-10 11:47:48 -07:00
Mathieu Chartier
110d18d73c Merge "Add support for preopt with uses-libraries" into pi-dev 2018-05-10 18:37:12 +00:00
Logan Chien
d73b94c097 Build a single GSI for O-MR1-VENDOR and Master-VENDOR
The objective of this commit is to support these 3 combinations:

1. Master-GSI + Master-VENDOR (w/ BOARD_VNDK_VERSION)
2. Master-GSI + Master-VENDOR (w/o BOARD_VNDK_VERSION for upgrading devices)
3. Master-GSI + O-MR1-VENDOR (w/ BOARD_VNDK_VERSION)

This commit defines a new property `ro.vndk.lite` to indicate the status
of BOARD_VNDK_VERSION run-time enforcement.  Now, all devices should
have `ro.vndk.version` so that `libhidlbase.so`, `libRSCpuRef.so`, and
`libnativeloader.so` can find the versioned VNDK directory.

Bug: 78605339
Test: aosp_sailfish Master-SYSTEM + Master-VENDOR boots
Test: aosp_sailfish Master-GSI    + Master-VENDOR boots
Test: aosp_walleye  Master-SYSTEM + Master-VENDOR boots
Test: aosp_walleye  Master-GSI    + Master-VENDOR boots
Test: aosp_walleye  Master-GSI    + O-MR1-VENDOR boots
Change-Id: Iee9553b3ca9e0798a873e655d87d10cdc23d4b1c
2018-05-10 21:17:58 +08:00
Jackal Guo
732ed64fbd Merge "Allow PRODUCT_COPY_FILES to copy raw APKs into system_other" into pi-dev 2018-05-10 03:14:12 +00:00
yangbill
4e90814306 Merge "Build System: Fix rpath error if native executable under testcase folder." am: 5c3646c201
am: 26f5fb8d60

Change-Id: I6a167a932833b60da5ade47511f2d239c591315e
2018-05-09 17:56:28 -07:00
Treehugger Robot
8f5535fd93 Merge "Pass PLATFORM_VERSION to Soong" 2018-05-10 00:54:13 +00:00
Treehugger Robot
5c3646c201 Merge "Build System: Fix rpath error if native executable under testcase folder." 2018-05-10 00:40:27 +00:00
Elliott Hughes
f29014c082 Merge "Revert "Revert "Revert "Set global default to use lld."""" am: 0f8056b254
am: f25dd76703

Change-Id: I8da835d8b13d4e5ec9f93c6b253dbfa997334f12
2018-05-09 17:05:39 -07:00
Colin Cross
164a33f194 Fix zipped resources
Fix mismatch between output directory of zipsync and input
directory of aapt2.

Test: m checkbuild
Change-Id: If012c943af0c04cc3f0dd5c4266126412ae0a759
2018-05-09 23:56:19 +00:00
Mathieu Chartier
09f3b97f4b Add support for preopt with uses-libraries
Required libraries are specified with LOCAL_USES_LIBRARIES
Optional libraries are specified with LOCAL_OPTIONAL_USES_LIBRARIES

The make rule cross references the libraries against what's stored
in the manifest.

Verification is enabled if LOCAL_ENFORCE_USES_LIBRARIES is true. This
defaults to true if either of LOCAL_USES_LIBRARIES or
LOCAL_OPTIONAL_USES_LIBRARIES are specified.

Bug: 70934104
Bug: 67345922
Test: manual

Change-Id: Ifca7d1a993620e9d0e42dc497a4a5d7a6c3f4172
2018-05-09 16:52:10 -07:00
Elliott Hughes
0f8056b254 Merge "Revert "Revert "Revert "Set global default to use lld."""" 2018-05-09 23:46:16 +00:00
Colin Cross
0fdbb4c910 Pass PLATFORM_VERSION to Soong
Soong needs PLATFORM_VERSION to pass as --version-name when building
framework-res.apk.

Bug: 78324052
Test: aapt dump badging $OUT/system/framework/framework-res.apk  | grep -i version
Change-Id: If47839182a1dd7c7a768b1253dd8b575d777ca7e
Merged-In: If47839182a1dd7c7a768b1253dd8b575d777ca7e
(cherry picked from commit 34aba6cf72)
2018-05-09 23:44:18 +00:00
Colin Cross
39599c9ddf Merge "Pass PLATFORM_VERSION to Soong" into pi-dev
am: 96ec5a58ae

Change-Id: I2824263efd0abeed92b8381fe43607b938edd5ce
2018-05-09 14:40:23 -07:00
TreeHugger Robot
96ec5a58ae Merge "Pass PLATFORM_VERSION to Soong" into pi-dev 2018-05-09 21:32:08 +00:00
Elliott Hughes
876a36e8ac Revert "Revert "Revert "Set global default to use lld."""
This reverts commit da8febf39c.

Bug: http://b/73768157
Reason for revert: breaks several bionic/debuggerd/libunwind_stack gtests

Change-Id: I161cf85cf352b80644524fd4bb70ff7c75fbc1d0
2018-05-09 20:33:25 +00:00
Colin Cross
34aba6cf72 Pass PLATFORM_VERSION to Soong
Soong needs PLATFORM_VERSION to pass as --version-name when building
framework-res.apk.

Bug: 78324052
Test: aapt dump badging $OUT/system/framework/framework-res.apk  | grep -i version
Change-Id: If47839182a1dd7c7a768b1253dd8b575d777ca7e
2018-05-09 11:10:15 -07:00
Dan Willemsen
68e1289626 Allow PRODUCT_COPY_FILES to copy raw APKs into system_other
Files in this partition aren't actually installed, so we don't need to
use the BUILD_PREBUILT logic for APKs.

Bug: 66960479
Test: try PRODUCT_COPY_FILES of an apk into system, errors
Test: try PRODUCT_COPY_FILES of an apk into system_other, accepted
Change-Id: Ie721d2b884c6badfbe0e46f55c265b770bed618b
Merged-In: Ie721d2b884c6badfbe0e46f55c265b770bed618b
(cherry picked from commit 7d957c911a)
2018-05-09 06:38:28 +00:00
Tri Vo
dab6055646 Merge "Expose selinux variables to Soong." am: d744f8cc8e
am: 570ea0cc8a

Change-Id: Id9d04262afcd7f48c1e1ba248a703d7fd2c48bff
2018-05-08 19:15:26 -07:00
Tri Vo
d744f8cc8e Merge "Expose selinux variables to Soong." 2018-05-09 01:57:14 +00:00
Chih-hung Hsieh
02bbb59dc8 Merge "Revert "Revert "Set global default to use lld.""" am: 44f320c29e
am: 3b0208b7ba

Change-Id: I33e9cd9621c1a471ebb58e383c4098fca2f80272
2018-05-08 16:13:02 -07:00
Chih-hung Hsieh
44f320c29e Merge "Revert "Revert "Set global default to use lld.""" 2018-05-08 22:57:01 +00:00
Chih-hung Hsieh
da8febf39c Revert "Revert "Set global default to use lld.""
This reverts commit 44988be862.

Three known build failures with lld are fixed by
(1) adding --no-fatal-warnings to link
(2) disable LLD for some PGO build targets
(3) disable LLD for some art oatdump tests, pending c/681542

Change-Id: Icebf6661509bf4f6051f91dc74eaa07dbc7c1d42
2018-05-08 20:13:41 +00:00
android-build-prod (mdb)
5fe128653f Merge "Revert "Set global default to use lld."" am: ec87c9f56e
am: 27976638b5

Change-Id: I847bccebac49cb293fb5fe05d63315528ff95606
2018-05-08 08:54:56 -07:00
android-build-prod (mdb)
ec87c9f56e Merge "Revert "Set global default to use lld."" 2018-05-08 15:33:44 +00:00
Nicolas Geoffray
44988be862 Revert "Set global default to use lld."
Bug: 73768157

Some errors with HOST_PREFER_32_BIT:
HOST_PREFER_32_BIT=true m -j32 test-art-host-gtest

This reverts commit 962424149d.

Change-Id: I788ec3e39d6989d583d3c7d4706299fe5a7841f2
2018-05-08 12:37:34 +00:00
Mathieu Chartier
c6029da0e2 Merge "Specify dirty image objects for profile boot image" am: 85f2ffd5ee
am: 75eb79ca90

Change-Id: Ibade8422e3450091b1fe9c4fbb8abb83d9305d8b
2018-05-07 18:33:30 -07:00
Mathieu Chartier
85f2ffd5ee Merge "Specify dirty image objects for profile boot image" 2018-05-08 01:19:59 +00:00
Nelson Li
479da2f3bb Build System: Validate AndroidTest.xml Configs
make <test> should fail if the test has a poorly configured
atest configuration

BUG: 73082610
Test: cd packages/apps/Bluetooth/tests/unit; mma
      Modify AndroidTest.xml to a not well-formed xml; mma
      Then, it should build fail.
      atest -v BluetoothInstrumentationTests

Change-Id: I774b4eb81a1b9e9ae31de949aea995d2f258e9a1
2018-05-08 00:26:40 +00:00
Chih-hung Hsieh
c9a39c7beb Merge "Set global default to use lld." am: 1defe63536
am: 3df942176b

Change-Id: I212cd5e5843aadbfdcc04cc87f76a4bfe29f5bb0
2018-05-07 15:50:29 -07:00
Chih-hung Hsieh
1defe63536 Merge "Set global default to use lld." 2018-05-07 19:44:53 +00:00
Mathieu Chartier
399a6d8673 Specify dirty image objects for profile boot image
This wasn't being specified previously while it should have been.

Test: make
Change-Id: I671e93d4502b1f47cff31de19f2ea558dde6253b
2018-05-07 11:50:00 -07:00
Chih-Hung Hsieh
962424149d Set global default to use lld.
* Use clang lld by default, unless LOCAL_USE_CLANG_LLD
  or USE_CLANG_LLD is set to false or 0.

Bug: 73768157
Test: make checkbuild and boot
Change-Id: I9b28550a0626c96f6e025b0f20705a2e4a5049d7
2018-05-07 09:27:49 -07:00
yangbill
59c616a263 Build System: Fix rpath error if native executable under testcase folder.
error while loading shared libraries: libc++.so:
cannot open shared object file: No such file or directory

BUG: N/A
Test: make -j16 liblatinime_host_unittests
      out/host/linux-x86/testcases/liblatinime_host_unittests/x86_64/liblatinime_host_unittests

Change-Id: I97738f728c29ab904fc979ff9b08a8d5bd1328cd
2018-05-07 06:29:12 +00:00
Inseob Kim
47c13524aa Install product shared libraries in /product/lib
This is to support /product/lib. Shared libraries with
LOCAL_PRODUCT_MODULE := true or product_specific: true has been
installed in /system/lib. They are now installed in /product/lib.

Bug: 73095206
Test: build succeeded && product libraries are installed under
/product/lib

Change-Id: Ic49a0a3e1e47666c4d15189ab6fded8007ecb498
2018-05-04 15:05:02 +09:00
android-build-team Robot
5739f2b53b Merge "Fix support libraries dependencies based on Soong modules" into pi-dev 2018-05-04 00:55:40 +00:00
android-build-team Robot
1680c0af1d Merge "PLATFORM_PREVIEW_SDK_VERSION should be 0" into pi-dev
am: 9665c10777

Change-Id: I007049bc00bead700734b90ae831fb2b7aa728cc
2018-05-03 17:31:29 -07:00
android-build-team Robot
9665c10777 Merge "PLATFORM_PREVIEW_SDK_VERSION should be 0" into pi-dev 2018-05-04 00:12:35 +00:00
Colin Cross
8560930893 Fix support libraries dependencies based on Soong modules
Use a list of support library java and android libraries exported
from Soong to rewrite dependencies into the appropriate
LOCAL_STATIC_JAVA_LIBRARIES and LOCAL_STATIC_ANDROID_LIBRARIES.

Bug: 78300023
Test: m checkbuild
Change-Id: I4fd1e563272fcef9238a46cda840210529bd706a
Merged-In: I4fd1e563272fcef9238a46cda840210529bd706a
(cherry picked from commit ceadbadc5d)
2018-05-03 16:47:55 -07:00
Alan Viverette
7b7cdb7777 Always statically include Support Libraries, move SDK definitions up a dir
Bug: 73250914
Bug: 74248169
Test: make && make cts
Change-Id: Id7198997ac5cacf76fd8ab155a60026d65e420ec
Merged-In: Id7198997ac5cacf76fd8ab155a60026d65e420ec
(cherry picked from commit 1efaf37cb7)
2018-05-03 16:47:11 -07:00
Alan Viverette
fb8f5baae4 Move Support Library dependencies to their own var with resolution
Bug: 73250914
Test: make checkbuild
Change-Id: Ibdbe2fd140133202b266ca4f233c4d42292fa3df
Merged-In: Ibdbe2fd140133202b266ca4f233c4d42292fa3df
(cherry picked from commit 53f6b2a80b)
2018-05-03 16:47:11 -07:00
Alan Viverette
8ead03bde1 Allow projects to define their own globally-available variables
Bug: 73178261
Test: make checkbuild
Change-Id: I53ee0f1d3ec072e19f4893cca44e16ef672fabfe
Merged-In: I53ee0f1d3ec072e19f4893cca44e16ef672fabfe
(cherry picked from commit fa0184fae9)
2018-05-03 16:47:11 -07:00
Colin Cross
aee6e3b59e Merge "Fix support libraries dependencies based on Soong modules" into pi-dev-plus-aosp 2018-05-03 23:14:23 +00:00
Fang Deng
fb556b019c Merge "[Harness Separation] Move cts-tradefed to a new dir (cts.mk)" into pi-dev
am: 428d477bf1

Change-Id: Ieecd6a0899e706155c506ef2fae05f700cde65b9
2018-05-03 15:53:20 -07:00
Colin Cross
c9c5dc89cd Fix support libraries dependencies based on Soong modules
Use a list of support library java and android libraries exported
from Soong to rewrite dependencies into the appropriate
LOCAL_STATIC_JAVA_LIBRARIES and LOCAL_STATIC_ANDROID_LIBRARIES.

Bug: 78300023
Test: m checkbuild
Change-Id: I4fd1e563272fcef9238a46cda840210529bd706a
Merged-In: I4fd1e563272fcef9238a46cda840210529bd706a
(cherry picked from commit ceadbadc5d)
2018-05-03 15:47:41 -07:00
Fang Deng
428d477bf1 Merge "[Harness Separation] Move cts-tradefed to a new dir (cts.mk)" into pi-dev 2018-05-03 22:39:46 +00:00
Colin Cross
faa2f90c83 Fix support libraries dependencies based on Soong modules
Use a list of support library java and android libraries exported
from Soong to rewrite dependencies into the appropriate
LOCAL_STATIC_JAVA_LIBRARIES and LOCAL_STATIC_ANDROID_LIBRARIES.

Bug: 78300023
Test: m checkbuild
Change-Id: I4fd1e563272fcef9238a46cda840210529bd706a
Merged-In: I4fd1e563272fcef9238a46cda840210529bd706a
(cherry picked from commit ceadbadc5d)
2018-05-03 22:28:17 +00:00
Ian Pedowitz
23898eed9d PLATFORM_PREVIEW_SDK_VERSION should be 0
It is already set to 0 because of REL, but explicitly set it

Bug: 77589980
Test: N/A
Change-Id: I97839c7dc09f8313f767635469f27b2a0d0e5010
2018-05-03 15:27:27 -07:00
Colin Cross
2a5370179a Merge changes from topic "soong_support_lib_pi_dev_prereqs" into pi-dev
* changes:
  Regenerate R.java files from LOCAL_STATIC_ANDROID_LIBRARIES
  Allow Soong to export multiple proguard flags files
  Fix echo when copying package-res.apk
  Allow soong java libraries to include exported resources and proguard flags
2018-05-03 21:47:25 +00:00
Dario Freni
6ae46daaec Use manifest-merger 26.1.0 for builds.
Bug: 71775741
Test: m -j
Change-Id: I6d9c7878e5b1f03b9630290859a6eff04cd55317
2018-05-03 21:14:58 +00:00
Fang Deng
8ebc942152 [Harness Separation] Move cts-tradefed to a new dir (cts.mk)
Move cts-tradefed to a new dir.
Fix cts.mk to point to the new dir.
Bug: 78461075
Bug: 79201478
Test: make cts -j32 WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY=true TARGET_PRODUCT=aosp_arm64
Test: cts-tradefed run cts --compatibility:include-filter CtsGestureTestCases
Test: cts/harness/tools/cts-tradefed/tests/run_tests.sh
Test: make gts -j32 WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY=true TARGET_PRODUCT=aosp_arm64

Change-Id: I8b610bf2f0b84baa7e8a30759f7d53d1b2a5d8f1
2018-05-03 10:53:37 -07:00
Anton Hansson
272035c19c Merge "Move apicheck.mk off SRC_API_DIR." am: a1dc661f71
am: 02cae4c505

Change-Id: I93bcd3521b72eb932d3aeed2a5a5dc4d1a9bc35e
2018-05-03 06:31:48 -07:00
Anton Hansson
a1dc661f71 Merge "Move apicheck.mk off SRC_API_DIR." 2018-05-03 13:18:25 +00:00
Steven Moreland
58ae234226 Merge changes from topic "vintf_fragment" am: de511491b7
am: d8c196a437

Change-Id: I2081116dfb623bf513a6de52af3da590e17897b9
2018-05-02 18:28:55 -07:00
Steven Moreland
548ecf8ff6 rename BUILT_SYSTEM_{COMPATIBILITY_,}MATRIX am: 42a0afc12d
am: fc25533856

Change-Id: I5653c7d776673556b4ecbf81db6fb712d8fe9522
2018-05-02 18:28:34 -07:00
Steven Moreland
fc25533856 rename BUILT_SYSTEM_{COMPATIBILITY_,}MATRIX
am: 42a0afc12d

Change-Id: I5ab812b9c91e1354016a6d3d5295f8aafd94dc3d
2018-05-02 18:24:14 -07:00
Steven Moreland
de511491b7 Merge changes from topic "vintf_fragment"
* changes:
  Add verify_vintf_matrices.
  rename BUILT_SYSTEM_{COMPATIBILITY_,}MATRIX
2018-05-03 01:17:53 +00:00
Mathieu Chartier
b17f384dd7 Merge "Only default LOCAL_DEX_PREOPT_APP_IMAGE if not set" into pi-dev 2018-05-02 23:13:42 +00:00
Steven Moreland
627debe1d7 Add verify_vintf_matrices.
Modules declare 'vintf_fragments' much like
they declare 'rc_file'. These are verified
in mass during a device build.

Test: `m` can cause verify_vintf_matrices to
    pass or fail.
Test: build OTA package and check to make sure it
    contains the correct assembled matrices.
Bug: 66917623

Change-Id: I504985100069456a0ca4d0180387d271bb283d49
2018-05-02 15:34:36 -07:00
Colin Cross
43641b5e1f Regenerate R.java files from LOCAL_STATIC_ANDROID_LIBRARIES
If a static android library lib1 has LOCAL_STATIC_ANDROID_LIBRARIES
lib2, then the R.class files for packages in lib2 will be merged
into the jar for lib1.  If an app has lib1 in its
LOCAL_STATIC_ANDROID_LIBRARIES it will get the R.class files from
lib2 through lib1, instead of regenerating the R.java files with
numbering that matches the resource table of the app.

This was worked around for support libraries by keeping a
fix_dependencies.mk that added transitive static support libraries
to the direct static dependencies of apps.  Instead, propagate
the packages that aapt2 generated R.java files for up as
--extra-packages arguments to the next aapt2 invocation, which
will force aapt2 to regenerate the R.java files for those packages.

Bug: 78300023
Test: m checkbuild
Change-Id: I7375e13241b4c4f2933032409fb7935abe133bfc
Merged-In: I7375e13241b4c4f2933032409fb7935abe133bfc
(cherry picked from commit 43c247e181)
2018-05-02 15:31:03 -07:00
Colin Cross
0fd1234427 Allow Soong to export multiple proguard flags files
Soong uses lists of proguard flags files from dependencies instead
of a single concatenated file.  Allow Soong to pass the list to
make, which will concatenate it.

Move the check inside ifdef LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE
in case Soong exports an Android library with an empty
LOCAL_SOONG_EXPORT_PROGUARD_FLAGS.

Bug: 73724997
Test: m checkbuild
Change-Id: Ia8f229ec5f9fc99a23bd471dfa70c9de7316de94
Merged-In: Ia8f229ec5f9fc99a23bd471dfa70c9de7316de94
(cherry picked from commit 42669e6dc7)
2018-05-02 15:31:03 -07:00
Colin Cross
af7190084d Fix echo when copying package-res.apk
Bug: 73724997
Test: m checkbuild
Change-Id: Iad9f46e01c40d1993e279c6ea6dd9c60932064c8
Merged-In: Iad9f46e01c40d1993e279c6ea6dd9c60932064c8
(cherry picked from commit a90f4b297f)
2018-05-02 15:31:03 -07:00
Colin Cross
3c49164e0b Allow soong java libraries to include exported resources and proguard flags
Bug: 73724997
Test: m checkbuild
Change-Id: Ia02f816084d0eb1c0e0f20e1ecd57aaf3778874c
Merged-In: Ia02f816084d0eb1c0e0f20e1ecd57aaf3778874c
(cherry picked from commit 7874138a8a)
2018-05-02 15:31:03 -07:00
Colin Cross
24fcb2869a Merge "Regenerate R.java files from LOCAL_STATIC_ANDROID_LIBRARIES" am: b0d0ca38cc
am: 45525258b1

Change-Id: Id1ec46833aae7aa339735d51c44a3e0d971f901b
2018-05-02 15:03:14 -07:00
Colin Cross
b0d0ca38cc Merge "Regenerate R.java files from LOCAL_STATIC_ANDROID_LIBRARIES" 2018-05-02 21:51:10 +00:00
android-build-prod (mdb)
66b6a3e77c Merge "Accept TARGET_DEVICE_DIR preserved from previous product load" am: 79babfacaa
am: 570881ef0d

Change-Id: Iaeeceb82312f40eee05fa98284e315e159bf49c4
2018-05-02 14:00:28 -07:00
Mathieu Chartier
f16e8d0d94 Only default LOCAL_DEX_PREOPT_APP_IMAGE if not set
Allows modules to specify LOCAL_DEX_PREOPT_APP_IMAGE := false if they
have a profile.

Bug: 77342775
Test: make
Change-Id: Ied7a8099b199904638dabdb09faf879d3216e73d
2018-05-02 20:21:37 +00:00
Colin Cross
43c247e181 Regenerate R.java files from LOCAL_STATIC_ANDROID_LIBRARIES
If a static android library lib1 has LOCAL_STATIC_ANDROID_LIBRARIES
lib2, then the R.class files for packages in lib2 will be merged
into the jar for lib1.  If an app has lib1 in its
LOCAL_STATIC_ANDROID_LIBRARIES it will get the R.class files from
lib2 through lib1, instead of regenerating the R.java files with
numbering that matches the resource table of the app.

This was worked around for support libraries by keeping a
fix_dependencies.mk that added transitive static support libraries
to the direct static dependencies of apps.  Instead, propagate
the packages that aapt2 generated R.java files for up as
--extra-packages arguments to the next aapt2 invocation, which
will force aapt2 to regenerate the R.java files for those packages.

Bug: 78300023
Test: m checkbuild
Change-Id: I7375e13241b4c4f2933032409fb7935abe133bfc
2018-05-02 13:11:08 -07:00
android-build-prod (mdb)
79babfacaa Merge "Accept TARGET_DEVICE_DIR preserved from previous product load" 2018-05-02 17:35:34 +00:00
android-build-prod (mdb)
fc8e281bc3 Merge "Adding Q entries to version_defaults.mk" 2018-05-02 15:27:50 +00:00
Anton Hansson
d17f99a6b3 Merge "Forbid depending directly on SDK modules." am: efd6084996
am: 20da4aa253

Change-Id: Ied594aa68e605a448c06193071edf4dca2fcaa93
2018-05-02 07:21:21 -07:00
Anton Hansson
9d030609e5 Forbid depending directly on SDK modules.
They should be depended on by specifying LOCAL_SDK_VERSION. Depending
on them directly makes it difficult to rename or modify these targets,
as I've found when working on b/77525052.

This list can be further extended to other libraries that should not
be depended on directly.

Bug: b/77525052
Test: make
Change-Id: I911bcc8a5a90995b3607599388dc6119eb88ea96
2018-05-02 15:02:09 +01:00
Ian Pedowitz
8eb8ec88f5 Adding Q entries to version_defaults.mk
Bug: 77589980
Test: Build
Change-Id: Ic96cfae559143bd0d985663cbe58e09619978c97
Merged-In: Ic83304d326121326f380afca8fdf466ecc0781b0
Merged-In: I1ccbfdeddb2eecb6342253e401bba118c3652f8d
2018-05-02 13:51:24 +00:00
android-build-prod (mdb)
d5ec7a3fd6 Merge "Use AndroidProducts.mk list from Soong's finder" am: 7ae1713dca
am: 48a7199b68

Change-Id: I24ce4ca9645577c41aa917bc33cbd2c6c0a877b0
2018-05-02 01:41:09 -07:00
android-build-prod (mdb)
7ae1713dca Merge "Use AndroidProducts.mk list from Soong's finder" 2018-05-02 08:27:24 +00:00
Dan Willemsen
92afd7d1e7 Accept TARGET_DEVICE_DIR preserved from previous product load
During a build, we load product configuration three different times --
to dump some initial variables, when parsing the CleanSpec.mk files, and
again when we parse the Android.mk files.

The BoardConfig.mk find commands use -path, which isn't supported by the
Kati find optimizer, so we end up spending ~125ms in each of the above
cases (on my machine, internal master -- aosp is closer to 30ms).

Instead, do the search during the initial dumping of variables, and pass
in TARGET_DEVICE_DIR into the later runs, using that to load the
BoardConfig.mk file.

Bug: 78020936
Test: out/build-taimen.ninja is identical
Test: out/soong.log shows that we're not running these finds again
Change-Id: I6f186e1879aa362528b48b8a00be3f7a9f88bfc5
2018-05-02 00:15:41 -07:00
android-build-prod (mdb)
81dd2f9382 Merge "Speed up a slow find command" am: 88727e2422
am: 2ce6bcd1b2

Change-Id: Ia8bfe9710a31fb98491c072edb48cd74b573a693
2018-05-01 23:01:43 -07:00
Dan Willemsen
b9d63519c0 Use AndroidProducts.mk list from Soong's finder
This saves ~300ms from get_build_var on our internal tree (1.3s ->
1.0s). On AOSP, it only saves ~60ms (0.60s -> 0.54s).

It's also ran during lunch, and twice during every build (though the
second time it was run with Kati's find emulator, which significantly
reduces the overhead).

Bug: 78020936
Test: diff out/.module_paths/AndroidProducts.mk.list with existing find
      results
Change-Id: I195b2840854122e41275e24e886ca8c8cda13dac
2018-05-01 22:56:07 -07:00
android-build-prod (mdb)
88727e2422 Merge "Speed up a slow find command" 2018-05-02 05:48:37 +00:00
Dan Willemsen
60c6644932 Speed up a slow find command
find .... -name oem\*.prop

Kati can't emulate this command -- it can't currently handle backslashes
in the middle of an argument, only at the beginning or end. So this
falls back to actually calling find, which can take a few seconds if
you've got a large vendor tree. Just switch all of these over to quoted
arguments instead of escaping the *.

Bug: 78020936
Test: Check out/soong.log for timing info
Test: out/build-taimen.ninja is identical
Change-Id: Ifde75948f677ad95107d9419a462649024f544b8
2018-05-01 21:15:35 -07:00
android-build-prod (mdb)
a6eef2e03e Merge "Allow PRODUCT_COPY_FILES to copy raw APKs into system_other" am: b113a94d09
am: ddb7eb9544

Change-Id: Ic9eefd7c342ab825fdfa3c4b86fa4ed2aaf08599
2018-05-01 20:51:17 -07:00
Dan Willemsen
7d957c911a Allow PRODUCT_COPY_FILES to copy raw APKs into system_other
Files in this partition aren't actually installed, so we don't need to
use the BUILD_PREBUILT logic for APKs.

Bug: 66960479
Test: try PRODUCT_COPY_FILES of an apk into system, errors
Test: try PRODUCT_COPY_FILES of an apk into system_other, accepted
Change-Id: Ie721d2b884c6badfbe0e46f55c265b770bed618b
2018-05-01 19:02:11 -07:00
Steven Moreland
42a0afc12d rename BUILT_SYSTEM_{COMPATIBILITY_,}MATRIX
To be consistent with BUILT_VENDOR_MATRIX.

Bug: 78943004
Test: manual
Change-Id: I2811647798322165182b7c90bb4937d93580833c
2018-05-01 18:37:02 -07:00
Ian Pedowitz
ec7605680a Adding Q entries to version_defaults.mk
Removing PPR1 entries from version_defaults.mk

Bug: 77589980
Test: Build
Change-Id: Ic83304d326121326f380afca8fdf466ecc0781b0
Merged-In: I1ccbfdeddb2eecb6342253e401bba118c3652f8d
2018-05-01 15:19:35 -07:00
David Brazdil
700077506e Merge "DO NOT MERGE: Create filename constant for @removed API signature file" into pi-dev 2018-05-01 12:31:35 +00:00
Ian Pedowitz
2f33436f15 Revert "DO NOT MERGE: P is now REL"
This reverts commit 2325d05510.

Reason for revert: Broke -plus-aosp builds.  Reverting there to fix.

Change-Id: I625092da1df78ac76590ab27b01ed6f506e5e237
2018-05-01 02:46:16 +00:00
Android Build Merger (Role)
f30193edd4 Merge "Merge "DO NOT MERGE: P is now REL" into pi-dev am: 9ab9fe762d" into pi-dev-plus-aosp 2018-05-01 02:01:21 +00:00
android-build-prod (mdb)
e846917ac9 Merge "Allow Soong to export multiple proguard flags files" am: 36bf0df48f
am: 43b310f301

Change-Id: Ice3d36f48b677cfddea265919ca9aed9e42d316d
2018-04-30 18:22:47 -07:00
Ian Pedowitz
6f1bf853cd Merge "DO NOT MERGE: P is now REL" into pi-dev
am: 9ab9fe762d

Change-Id: I89f09feebd92c79df725d2816d4831dd7af75457
2018-04-30 18:21:39 -07:00
android-build-prod (mdb)
f503b22f29 Merge changes from topic "java_sdk_library" am: e8c3dfd945
am: 8303590165

Change-Id: I6ee23bf7c8e8d0a8fb6d0264cb79900071c1ae7d
2018-04-30 18:21:37 -07:00
Ian Pedowitz
9ab9fe762d Merge "DO NOT MERGE: P is now REL" into pi-dev 2018-05-01 01:07:50 +00:00
android-build-prod (mdb)
36bf0df48f Merge "Allow Soong to export multiple proguard flags files" 2018-05-01 01:07:24 +00:00
android-build-prod (mdb)
e8c3dfd945 Merge changes from topic "java_sdk_library"
* changes:
  sdk lib name can be in LOCAL_[STATIC_]JAVA_LIBRARIES
  java_sdk_library supports test as another API scope
  Support LOCAL_SDK_LIBRARIES for "current" builds.
2018-05-01 01:04:56 +00:00
Jiyong Park
cd06fe34e0 sdk lib name can be in LOCAL_[STATIC_]JAVA_LIBRARIES
When an sdk lib name (a module defined with java_sdk_library{...}) is
listed in LOCAL_JAVA_LIBRARIES or LOCAL_STATIC_JAVA_LIBRARIES, the name
is translated to the stubs lib name of the sdk lib.

We have to support this at least until all existing references to sdk
libs are all correctly converted to LOCAL_SDK_LIBRARIES.

Bug: 77575606
Test: m -j
Change-Id: I8cff668afd6b5f265cc7ae6fe6f5fa36b76b8334
2018-05-01 09:32:11 +09:00
Jiyong Park
6023db8844 java_sdk_library supports test as another API scope
When a module built with LOCAL_SDK_VERSION := test_current, then
it is linked against test variant of the sdk stubs library.

Bug: 77575606
Test: m -j
Change-Id: I08ce120d8e4774722a95bfc4e200ad7d123abc70
2018-05-01 09:32:01 +09:00
Colin Cross
42669e6dc7 Allow Soong to export multiple proguard flags files
Soong uses lists of proguard flags files from dependencies instead
of a single concatenated file.  Allow Soong to pass the list to
make, which will concatenate it.

Move the check inside ifdef LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE
in case Soong exports an Android library with an empty
LOCAL_SOONG_EXPORT_PROGUARD_FLAGS.

Bug: 73724997
Test: m checkbuild
Change-Id: Ia8f229ec5f9fc99a23bd471dfa70c9de7316de94
2018-04-30 16:03:57 -07:00
Anton Hansson
8ae30017e9 Support LOCAL_SDK_LIBRARIES for "current" builds.
Resolve these using the naming scheme from sdk_library.go, added
in I4a4ccf6e730e041703c63bb275d8860d0de96887.

Also re-write the LOCAL_SDK_VERSION logic, as it was becoming a
real mess.

Bug: 77575476
Test: With uiautomator in a follow-on CL
Change-Id: I11bd10c02df3d458a4ed6de90114e27fabe8d9e0
2018-04-30 23:06:57 +01:00
Calin Juravle
55a53c333c Merge "Remove profman --skip-apk-verification flag" into pi-dev 2018-04-30 21:36:40 +00:00
Calin Juravle
12f1850261 Merge changes Ieb738670,I2e2f9da1,I13c6b389
* changes:
  Pass --dex-location when processing prebuilt profiles
  Fix speed-profile compilation for prebuilds
  Update profile rules to support binary profiles
2018-04-30 21:13:33 +00:00
Calin Juravle
998608d9e8 Remove profman --skip-apk-verification flag
This happens by default now.

Test: make
Bug: 73313191

(cherry picked from commit 25ef4c018a)

Merged-In: I5cc0efb656e1b44a161420c49250640bc9d702c5
Change-Id: I5cc0efb656e1b44a161420c49250640bc9d702c5
2018-04-30 14:13:07 -07:00
android-build-team Robot
f36ade9690 Merge "Adding VENDOR_SECURITY_PATCH to vendor partition build.prop" into pi-dev
am: d4c88f6512

Change-Id: I35b987b75f6bd7c9d07aea0c35cfb5571bddc717
2018-04-30 13:54:42 -07:00
android-build-team Robot
d4c88f6512 Merge "Adding VENDOR_SECURITY_PATCH to vendor partition build.prop" into pi-dev 2018-04-30 20:42:38 +00:00