Commit graph

57135 commits

Author SHA1 Message Date
Justin Yun
2bfe0a1a25 Restore "Linktype check for native:product"
Similar to native:vendor, native:product can use VNDK libs but not
vndk_private.
It is activated when PRODUCT_PRODUCT_VNDK_VERSION is set.

This restores the reverted commit
4e7e76fe5a (aosp/1197274).
The problem of the original CL was assuming no modules have both
LOCAL_PRODUCT_MODULE and LOCAL_USE_VNDK in the old implementations.
But many vendor modules in the targets without setting
PRODUCT_PRODUCT_VNDK_VERSION in old branches had both flags that
caused link failures.
To make it no-op without PRODUCT_PRODUCT_VNDK_VERSION, I defined
LOCAL_USE_VNDK_PRODUCT that is set to true if
PRODUCT_PRODUCT_VNDK_VERSION is defined and LOCAL_PRODUCT_MODULE is
true.

Bug: 146620523
Test: build with PRODUCT_PRODUCT_VNDK_VERSION := current
Change-Id: I344c7dc1c47f08706c101e486ff07c3f10aff8ac
2020-01-22 00:16:25 +00:00
Yifan Hong
4de0c0906d Merge "Remove BUILT_VENDOR_MANIFEST variable." 2020-01-21 21:33:18 +00:00
Peter Collingbourne
b1d7545e1b Merge "Update make build system for dynamic unwinder." 2020-01-21 21:28:44 +00:00
Justin Yun
d7466880dc Merge "Revert "Linktype check for native:product"" 2020-01-20 07:42:33 +00:00
Justin Yun
dd5401713c Revert "Linktype check for native:product"
This reverts commit 4e7e76fe5a.

Reason for revert: build breaks (bid: 6147225) and postsubmit test fails.
There are some modules that have both "product_specific: true" and "vendor_available: true", which tags the module as "native:product" unintentionally.
We need to clean up these cases first and revisit this CL.

Bug: 146620523
Bug: 147987741
Change-Id: Ib07543235d72a135b6b732aaa909c147d2df832b
2020-01-20 07:39:41 +00:00
Treehugger Robot
3cff56942a Merge "libprotobuf-cpp-full is removed from VNDK." 2020-01-20 07:32:36 +00:00
Treehugger Robot
2e7a67bde7 Merge "Linktype check for native:product" 2020-01-20 01:23:00 +00:00
Justin Yun
4e7e76fe5a Linktype check for native:product
Similar to native:vendor, native:product can use VNDK libs but not
vndk_private.
It is activated when PRODUCT_PRODUCT_VNDK_VERSION is set.

Bug: 146620523
Test: build with PRODUCT_PRODUCT_VNDK_VERSION := current
Change-Id: Icfd94dfc30e77581991799d9e2f408f57da22cea
2020-01-19 23:46:47 +00:00
Vic Yang
7c42c3f55e Merge "Don't check VNDK variants when asan is used" 2020-01-18 04:45:49 +00:00
Vic Yang
90c3aca9bf Don't check VNDK variants when asan is used
Bug: 147911208
Test: Build with SANITIZE_TARGET=address
Change-Id: I161da92d2ed5c59ccf404cf93e04734cc85c2df9
2020-01-17 15:30:44 -08:00
Treehugger Robot
5023711e9d Merge "Always check VNDK variant identicalness" 2020-01-17 18:45:41 +00:00
Yifan Hong
0188eb5d25 Merge changes from topic "build_time_vintf"
* changes:
  Reland "Improve BUILT_ASSEMBLED_*_MANIFEST checks"
  Reland "Add check-vintf-all target."
2020-01-17 18:37:37 +00:00
Treehugger Robot
48b67473c6 Merge "Track addition of internal classes derived from OpenJDK 9+181." 2020-01-17 16:41:48 +00:00
Tobias Thierer
c6cb1c3815 Track addition of internal classes derived from OpenJDK 9+181.
Bug: 147483640
Test: Treehugger

Change-Id: Ib934f0fe4e2aeadcc83bbae3c2efaf45a38081d4
2020-01-17 14:40:22 +00:00
Treehugger Robot
345dad3c36 Merge "Allow codename.fingerprint format for minSdkVersion" 2020-01-17 07:43:31 +00:00
Hsin-Yi Chen
4367e6cc51 Merge "Compare existing ABI dump list with LSDUMP_PATHS" 2020-01-17 02:09:39 +00:00
Treehugger Robot
951ae30d56 Merge "Add strict module check to package-modules.mk" 2020-01-17 00:03:07 +00:00
Wei Wang
add214cdee Merge "Add stable aidl power HAL" 2020-01-16 22:35:42 +00:00
Baligh Uddin
7ce531de8e Allow codename.fingerprint format for minSdkVersion
Use codename.fingerprint format for minSdkVersion if it is unset
in the manifest and
UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true.

BUG: 130541924
2020-01-16 10:04:55 -08:00
Jiyong Park
8da1b9add3 libprotobuf-cpp-full is removed from VNDK.
It is demoted to vendor_avaialble library. Therefore it will be
installed to /vendor/lib[64] instead of /system/lib[64]/vndk.

Bug: 147780271
Test: m
Change-Id: I9db6147d6e6005177660e56e3ee42475c103d198
2020-01-17 00:55:52 +09:00
Dan Willemsen
09c11073ac Add strict module check to package-modules.mk
The test lists keep getting out of date. Add a per-caller option so that
once they're clean on all builds we can stop them from regressing.

Test: add my_modules_strict := {true,false,,foo} to user
Change-Id: I3e09a8cbe5a07bbbff042b26cea7041c331dde96
2020-01-15 20:54:13 -08:00
Yifan Hong
2e4f20f540 Merge "device_(manifest|matrix).xml -> vendor_*" 2020-01-16 04:09:08 +00:00
Hsin-Yi Chen
62de555119 Compare existing ABI dump list with LSDUMP_PATHS
This commit fixes the check for redundant files in prebuilts/abi-dumps.
Some ABI dump file names are different from the module names. The list
of existing files should be compared with LSDUMP_PATHS which are the
files generated by soong.

This commit also adds the check for the files in
prebuilts/abi-dumps/platform.

Bug: 147409497
Test: make
Change-Id: If304afb116e9b5d3cb7ceaf74822d5a19ebe1a35
2020-01-16 10:46:30 +08:00
Treehugger Robot
4026911ba1 Merge "Add Identity Credential 1.0" 2020-01-15 23:19:03 +00:00
Treehugger Robot
474de20a36 Merge "Document the m4 prebuilts" 2020-01-15 19:38:22 +00:00
Treehugger Robot
b55ea658ba Merge "Do not remove RRO resources" 2020-01-15 13:18:03 +00:00
Vic Yang
4873e65c8d Always check VNDK variant identicalness
Previously, we only check VNDK core and vendor variants are identical
when a VNDK library is not declared to have different variants AND the
target has TARGET_VNDK_USE_CORE_VARIANT set.  Therefore, it is fairly
easily to break a TARGET_VNDK_USE_CORE_VARIANT target as it needs to be
tested explicitly.

This change uses the new LOCAL_CHECK_SAME_VNDK_VARIANTS and expands the
check to run regardless of TARGET_VNDK_USE_CORE_VARIANT.  Also adds
support for VNDK-in-product.

Bug: 145157349
Test: Build success for targets with and without
      TARGET_VNDK_USE_CORE_VARIANT.
Test: With the corresponding change in build/make, remove libbinder
      from build/soong/cc/config/vndk.go and check build fails even
      when TARGET_VNDK_USE_CORE_VARIANT is not set.

Change-Id: Iec708b971072e6580f77a03e243b30b89b3b054d
2020-01-14 20:05:49 -08:00
Chih-hung Hsieh
c339abd467 Merge "Call a writer to dump html; new warning patterns." 2020-01-15 02:23:25 +00:00
Ryan Mitchell
15e6042b29 Do not remove RRO resources
Resource configs should not be deduped when building RROs since it
would be impossible to override some resource configs with the same
value as the default config. Also, aapt2 removes resources that do not
have default configurations. If an overlay attempts to overlay a
non-default configuration without overlaying the default, the resource
will be removed and the value will not be overlaid at all.

Bug: 146227008
Test: m-j
Change-Id: I1465b599cbf7f464d1b5b75a87e7dafa2cf734b0
2020-01-14 17:00:13 -08:00
Dan Willemsen
2bfffb9f48 Document the m4 prebuilts
Test: view in gitiles
Change-Id: I2defdb433313fb6744b09685d289e16d094cffdc
2020-01-14 15:08:41 -08:00
Yifan Hong
975474a5b8 Remove BUILT_VENDOR_MANIFEST variable.
This was used by BUILT_SYSTEM_MATRIX and BUILT_ASSEMBLED_VENDOR_MANIFEST, but they
are deleted now.

Test: builds
Change-Id: Ie7e242dce9c6511b90fcf06ae4b6926b230b9873
2020-01-14 14:25:38 -08:00
Yifan Hong
605ea043c8 Reland "Improve BUILT_ASSEMBLED_*_MANIFEST checks"
This reverts commit d00ebcd740.

Reason for revert: reland CL

Test: m check-vintf-all

Change-Id: I6544197048a18745c80a954b9eccf69e7e438e9d
2020-01-14 14:25:31 -08:00
Yifan Hong
bcd46bc540 Reland "Add check-vintf-all target."
This reverts commit 152a783e2b.

Reason for revert: reland CL

Test: m check-vintf-all

Change-Id: I80fc789313edd3a9cc439a0b3a81e524e39b41b1
2020-01-14 14:25:16 -08:00
Yifan Hong
51be69f063 device_(manifest|matrix).xml -> vendor_*
Building device_manifest.xml or device_compatibility_matrix.xml only
builds vendor manifest / matrices, but not all device manifest /
matrices (e.g. vintf_fragments, ODM manifest, etc.). Make the name more
accurate.

Test: m check-vintf-all

Change-Id: Ib017507c421355263d53a9e5b357f169c77da36d
2020-01-14 14:24:51 -08:00
Harry Zhang
02e7851e02 Merge "Revert "Add check-vintf-all target."" 2020-01-14 21:34:51 +00:00
Harry Zhang
19705c6987 Merge "Revert "Improve BUILT_ASSEMBLED_*_MANIFEST checks"" 2020-01-14 21:12:40 +00:00
Chih-Hung Hsieh
5392cdbeb1 Call a writer to dump html; new warning patterns.
* HTML emit functions now take a writer parameter.
  This makes warn_common.py one step closer to the ChromeOS version.
* Add new found warning patterns from java and yacc.

Test: warn.py --url=http://cs/android --separator='?l=' build.log > warnings.html
Test: warn.py --gencsv build.log > warnings.csv
Change-Id: I5c446ca767746598f07603591fdf98f7d82cae17
2020-01-14 11:57:12 -08:00
Harry Zhang
152a783e2b Revert "Add check-vintf-all target."
Revert submission 1202895-build_time_vintf

Reason for revert: Build breakage at b/147648187
Reverted Changes:
I9791abc44: Improve BUILT_ASSEMBLED_*_MANIFEST checks
I6ee79910d: Add check-vintf-all target.

Change-Id: I6d9fd1747eaea492a3ebfe98c13ea4a5a2d22a33
2020-01-14 18:40:23 +00:00
Harry Zhang
d00ebcd740 Revert "Improve BUILT_ASSEMBLED_*_MANIFEST checks"
Revert submission 1202895-build_time_vintf

Reason for revert: Build breakage at b/147648187
Reverted Changes:
I9791abc44: Improve BUILT_ASSEMBLED_*_MANIFEST checks
I6ee79910d: Add check-vintf-all target.

Change-Id: If580207415d6ca54eb5fc653efc54d07b086f804
2020-01-14 18:40:23 +00:00
David Zeuthen
dcc85ca5dd Add Identity Credential 1.0
Bug: 111446262
Test: VtsHalIdentityCredentialTargetTest
Test: android.hardware.identity-support-lib-test
Test: CtsIdentityTestCases
Change-Id: I91bf3a0551c4c0358d5f0de066739dcc05de1642
2020-01-14 11:21:03 -05:00
Yifan Hong
997661002a Merge changes from topic "build_time_vintf"
* changes:
  Improve BUILT_ASSEMBLED_*_MANIFEST checks
  Add check-vintf-all target.
2020-01-14 01:29:47 +00:00
Treehugger Robot
5740e22d7c Merge "Make allmod() and pathmod() py3 compatible" 2020-01-13 22:49:44 +00:00
Chih-hung Hsieh
9c65671b91 Merge "Clean up cpp warning patterns" 2020-01-13 21:59:27 +00:00
Chih-Hung Hsieh
8724ff72ef Clean up cpp warning patterns
* Remove the useless 'option' key.
  It is only used in some C/C++ warning patterns
  to give a hint of options to turn to -Werror.
  Now the global default is -Werror.
* Factor out common code patterns into high/medium/low functions.

Test: warn.py --url=http://cs/android --separator='?l=' build.log > warnings.html
Test: warn.py --gencsv build.log > warnings.csv
Change-Id: Ibd3f768b1552ada925eb5afb0f01ab674c968a87
2020-01-13 11:10:54 -08:00
Ulyana Trafimovich
d99a1faccc Merge "Use boot image extension in the JIT-zygote experiment." 2020-01-13 10:38:01 +00:00
Jiyong Park
7434764cce Merge "Correctly gather boot jars from APEXes" 2020-01-13 01:16:16 +00:00
LuK1337
b6a7819be6 Make allmod() and pathmod() py3 compatible
Change-Id: I8d58f2f64c03d54449844269974367f31de6ad31
2020-01-12 03:12:17 +01:00
Yifan Hong
8bdfe365d6 Improve BUILT_ASSEMBLED_*_MANIFEST checks
They are moved into check-vintf-all, which is more
accurate and do not require building full OS images.

Also move kernel check code down to check_vintf_compatible. There
is no assembled manifest to put kernel configs now, but they are still
required for build time OTA VINTF checks.

Test: builds
Test: change a vintf_fragment file to cause a conflict with main manifest file
(add health@2.0 to boot@1.1.xml), and check_vintf_vendor_log fails

Change-Id: I9791abc440a40e1537b4387eb67575ff2e22df08
2020-01-11 19:06:18 +00:00
Treehugger Robot
56772d7213 Merge "Disallow unnamed package on the bootclasspath." 2020-01-11 16:42:21 +00:00
Tobias Thierer
af482ea053 Disallow unnamed package on the bootclasspath.
There are currently no classes on the bootclasspath that live in the
unnamed package (empty package name). This CL explicitly forbids it.
This has the side effect of guarding against some classes of bugs,
for example R8 has functionality to generate some helper classes in
the unnamed package that should not be on the to bootclasspath
because they would hide corresponding classes in Applications.

Strictly speaking I believe that the "not package_name or " part
of the condition in the touched script is not needed because
LoadWhitelist() already skips empty lines and doesn't add "^$" to
the whitelist regex, but relying on this seems very fragile. If
there ever is a need to have classes in the bootclasspath's
unnamed package in future then we can always change this again.

Bug: 147480264
Test: Treehugger

Change-Id: Ic310dd0779dde133b3a5c3039ea5b70d31331a9b
2020-01-11 16:07:13 +00:00