Commit Graph

814 Commits

Author SHA1 Message Date
Colin Cross
c3ad80467e Use inclusive language in build/make
Test: m checkbuild
Change-Id: I54a7e55d3fdd5571ef1ae33ebe443c10d138fd28
2020-06-11 14:37:54 -07:00
Dan Willemsen
8447b8116a base_rules.mk optimizations
A few more misc improvements that I found while analyzing the
performance of base_rules.mk.

This brings an aosp-master/aosp_crosshatch-userdebug kati run from 33.3s
to 28.6s

Bug: 158488548
Test: build-aosp_crosshatch.ninja is the same before/after
Change-Id: If99c31cc7b5d7133d70eb644c6095f19060b71e5
2020-06-09 09:59:24 -07:00
Bob Badour
2441181bdf Delete deps-license target.
If used, the results would be inaccurate in any case.

Deleted atest references: http://aosp/1315404 http://aosp/1315405

Test: treehugger
Test: atest -c --rebuild-module-info com.google.android.gts.updateengine.UpdateEngineHostTest

Change-Id: I6efbf1f5ff3a533b26d6bbedc14a6fcc1b200391
2020-05-21 07:11:55 -07:00
Julien Desprez
f244a36850 Merge "Add tradefed-test-framework to the suites exported jar" 2020-05-20 16:46:22 +00:00
Bob Badour
233336e8a8 Revert "Delete deps-license target."
This reverts commit a553cc828e.

Reason for revert: atest has code that tries to build the target

Change-Id: I46902b3930a5a73aa3e5a15f29e0bb0246e59250
2020-05-20 02:14:04 +00:00
Bob Badour
a553cc828e Delete deps-license target.
If used, the results would be inaccurate in any case.

Test: treehugger

Change-Id: I3fdd76bf7d97f6a9f40bccbf437986e5bb7e9e88
2020-05-18 16:50:47 -07:00
Julien Desprez
fae54cbd8a Add tradefed-test-framework to the suites exported jar
New jar that needs to be packaged for suites.

Test: make cts
Bug: 149758913
Change-Id: If29508f3dd30939be603ed03f2536c960ca40d92
2020-05-18 13:30:29 -07:00
Dan Shi
c4fa187094 Revert "Add vts related artifacts to vts-core package"
This reverts commit 5e06288e7c.

Bug: 149249068
Test: build
Change-Id: I8245f1b7a4a74e133c0b7958e0f2908e4e8efd05
2020-05-08 10:52:31 -07:00
Treehugger Robot
dcdd0db41a Merge "Reland "mark platform un-availability""" 2020-05-06 12:28:02 +00:00
Chris Gross
7f093f7083 Allow bootjars in system_ext.
Bug: 148385042
Test: Built and booted Pixel 3a both with and without a boot jar in system_ext.
Change-Id: I17c95a6347552d4cf0db76c10d762c591b56d48a
2020-05-04 08:26:29 -07:00
Jiyong Park
403c255b6f Reland "mark platform un-availability""
This reverts commit 6e1fa4452b.

Reason for revert: relanding a reverted changed

Bug: 153073816
Change-Id: I3735866776cf6eb0320c9fb8c6be8ac0c48baa1c
Test: m
2020-05-04 11:12:00 +00:00
Jiyong Park
6e1fa4452b Revert "mark platform un-availability"
This reverts commit f9e67a8980.

Reason for revert: broke some targets

Exempt-From-Owner-Approval: reverting

Change-Id: I10af29b0fcf564dba0c3dbc1951b660b24fc58bb
2020-05-04 10:57:26 +00:00
Ulya Trafimovich
4c69c2ff72 Use two-column format for PRODUCT_BOOT_JARS components.
The first component is the apex name, or a special name "platform"
if the boot jar is a platform jar rather than a part of some apex.
This is a prerequisite change for moving core-icu4j to a separate
com.android.i18n apex.

Old one-column format is still supported, but all unqualified
components of PRODUCT_BOOT_JARS get "platform:" prepended to them
after reading the product makefiles.

Test: aosp_walleye-userdebug boots
Bug: 138994281
Change-Id: I0f79c7d10477880ca65354251a5d1ca0b7ce79ab
2020-04-30 17:16:29 +01:00
Jiyong Park
f9e67a8980 mark platform un-availability
A module is marked unavailable for platform when 1) it does not have
"//apex_available:platform" in its apex_available property, or 2)
it depends on another module that is unavailable for platform.

In that case, LOCAL_NOT_AVAILABLE_FOR_PLATFORM is set to true for the
module in the Make world. Later, that flag is used to ensure that there
is no module with the flag is installed to the device.

The reason why this isn't entirely done in Soong is because Soong
doesn't know if a module will be installed to the device or not. To
explain this, let's have an example.

cc_test { name: "mytest", static_libs: ["libfoo"]}
cc_library_static { name: "libfoo", static_libs: ["libbar"]}
cc_library { name: "libbar", apex_available: ["com.android.xxx"]}

Here, libbar is not available for platform, but is used by libfoo which
is available for platform (apex_available defaults to
"//apex_available:platform"). libfoo is again depended on by mytest
which again is available for platform. The use of libbar should be
allowed in the context of test; we don't want to make libbar available
to platform just for the dependency from test because it will allow
non-test uses of the library as well.

Soong by itself can't tell whether libfoo and libbar are used only in the
context of a test. There could be another module depending them, e.g.,

cc_library_shared { name: "mylib", static_libs: ["libfoo"] }

can exist and it might be installed to the device, in which case
we really should trigger an error.

Since Make has the knowledge of what's installed and what's not,
the check should be done there.

Bug: 153073816
Test: m

Change-Id: I14ddf0e5700d0a7bf60e4e41536efbd26ab5ed3d
2020-04-27 08:46:41 +09:00
Dan Shi
7d1f8cec25 [VTS] copy ltp and kselftest to testcase folder
Bug: 154446791
Test: m -j vts_kernel_tests vts
Change-Id: I405c227293085d3fd0603e9eba5ce276d7dc14d5
2020-04-24 14:49:25 -07:00
Dan Shi
c581e59998 Remove phony target vts-core
The target has been removed from all builders.

Bug: 151896491
Test: none
Change-Id: I5d1b1058b18153c9cedb33b151dec8daab3e2e57
2020-04-16 11:45:56 -07:00
Dan Shi
6a619b8d85 Include shared host liraries in test suite zip
Bug: 151194160
Test: m -j vts && \
  ls out/host/linux-x86/vts/android-vts/testcases/lib64/
Change-Id: I7ebc4bf392d4c0f27478607846974631390097f8
2020-04-13 09:29:16 -07:00
bohu
8fd437c80a emulator: enable vendor boot image
BUG: 149826779
Test: Build x86, x86_64, armv7 and arm64
make sure x86/64 boot to home screen;
armv7/arm64 can pass disk mounting stage

Change-Id: I258b69bd0cdc4fb0a99b1a04567051e8d32c389a
2020-04-06 14:05:28 +00:00
Dan Shi
155ffd4179 Rename vts-core to vts
Bug: 151896491
Test: local build
Change-Id: I17dc5cfeb0d47618201c58af0c9bdb1b7d0a1421
2020-04-01 13:07:15 -07:00
Daniel Norman
63a16b56ee Merge "Adds the module from package-modules to ALL_MODULES." 2020-04-01 16:30:51 +00:00
Daniel Norman
1d18d5366e Adds the module from package-modules to ALL_MODULES.
This exposes any modules built with package-modules.mk to
module-info.json.

Test: refreshmod, inspect module-info.json and find new modules
      from platform_testing/build/tasks/*
Bug: 151670189
Change-Id: I8d502382640f4d49ab2c17fcc251e54720844b76
2020-03-31 16:49:39 -07:00
Dan Shi
916be61b91 Merge "Rename VTS to VTS10" 2020-03-31 17:32:34 +00:00
Dan Shi
dec1d6e084 Rename VTS to VTS10
Bug: 151896491
Test: m -j vts10
Change-Id: I0a6468e63f381e67f34666975c18058d64048178
2020-03-28 13:28:21 -07:00
easoncylee
01e5ec2a21 Copy shared libraries used by tests in device-tests_host_shared-libs.zip.
This change collects the shared libraries files used by tests in
device-tests_host_shared-libs.zip. Then the host test can be run in
TradeFed host based on build artifacts.

Bug: 151172861
Test: m -j device-tests
Change-Id: Iac7cfe1310f2c63ace42272d41a54a032bc102bc
2020-03-27 12:51:16 +08:00
Dan Shi
7edfb7f659 Package vts-tradefed.jar in general-tests
vts-core.xml imports some vts only preparer to run un-converted vts
python tests.

Bug: 149249068
Test: unittest
Change-Id: Ibdecb250f78c07d7645be4b140b8cfaeda99d79b
2020-02-19 15:22:11 -08:00
Dan Shi
5e06288e7c Add vts related artifacts to vts-core package
Bug: 149249068
Test: m -j vts-core
vts-core-tradefed run singleCommand vts-core -m VtsKernelLtp

Change-Id: I7fc25f83985bdf7bb34b29f7b28510ef0ade8e4b
2020-02-19 10:44:24 -08:00
Dan Shi
4e143cdc85 Change vts-core package to generic *ts package rule
The current package logic is based on general-tests and device-tests,
which have special rules to package test artifacts in a diffrent way.
vts-core suite should follow the generic *ts package rule.

Bug: 149249068
Test: m -j vts-core && vts-core-tradefed
run some vts-core test

Change-Id: Ib6ab7eb0fb4b8c898a0b3617d10be04dc98c2daa
2020-02-18 13:38:38 -08:00
Ulya Trafimovich
36101543e9 Make PRODUCT_BOOT_JARS and PRODUCT_UPDATABLE_BOOT_JARS disjoint.
This is to unify boot jars with system server jars:
PRODUCT_SYSTEM_SERVER_JARS and PRODUCT_UPDATABLE_SYSTEM_SERVER_JARS
do not overlap.

Test: aosp_walleye-userdebug boots

Exempt-From-Owner-Approval: cherry-pick.
Bug: 146363577
Change-Id: Ief8994cc34cb6f7951051313dd66a1334a3a73b4
Merged-In: Ief8994cc34cb6f7951051313dd66a1334a3a73b4
(cherry picked from commit 19ed3a0db7)
2020-02-13 13:36:11 +00:00
Inseob Kim
c465e20400 Implement vendor snapshot
Vendor snapshot can be captured with "m dist vendor-snapshot". With
vendor snapshot and vndk snapshot, older version of /vendor and newer
version of /system will be able to be built together by setting
BOARD_VNDK_VERSION to past vendor's version.

Only vendor modules under AOSP are to be captured. In detail, modules
under following directories are ignored:
- cts/
- device/
- external/clang/
- external/llvm/
- hardware/, except for:
    - interfaces/, libhardware/, libhardware_legacy/, ril/
- vendor/

Bug: 65377115
Test: m dist vendor-snapshot
Change-Id: Ib5859e409f8ab281ca137cae21e9ea08abd8a0b1
2020-01-23 21:51:08 +09: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
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
Jiyong Park
7434764cce Merge "Correctly gather boot jars from APEXes" 2020-01-13 01:16:16 +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
Jiyong Park
ee75813162 Correctly gather boot jars from APEXes
Jars in APEXes have Make module names <jar_name>.<apex_name>. e.g.
updatable-apex.com.android.media. Previously, we have used <jar_name>
which actually meant the platform variant of the jar. This is not only
incorrect, but also is causing problem as the platform variant is no
longer available when the jar is configured to be available only for the
corresponding APEX (via the apex_available property).

Fixing the problem by correctly using <jar_name>.<apex_name> scheme.

Bug: N/A
Test: m

Change-Id: I6e255ce88c9bd80120b29197fb2637a64010f531
Merged-In: I6e255ce88c9bd80120b29197fb2637a64010f531
2020-01-10 15:15:47 +00:00
Jiyong Park
54aec677da Revert submission 1194828-revert-1191937-art_apex_available-DWXQGTKMAR
Reason for revert: relanding with fix
Reverted Changes:
Ic4119368c:Revert submission 1191937-art_apex_available
Ia084976bb:Revert submission 1191937-art_apex_available
Iada86226d:Revert submission 1191937-art_apex_available
Ic76735eac:Revert submission 1191937-art_apex_available
I1eb30e355:Revert submission 1191937-art_apex_available
Icaf95d260:Revert submission 1191937-art_apex_available
Ie8bace4be:Revert submission 1191937-art_apex_available
I8961702cf:Revert submission 1191937-art_apex_available
I39316f9ef:Revert submission 1191937-art_apex_available
I522a7e83b:Revert submission 1191937-art_apex_available
I8b9424976:Revert submission 1191937-art_apex_available
I48b998629:Revert submission 1191937-art_apex_available

Change-Id: Ie2314d1f4cb2b92f005dfc77fcfd7ebace88e48f
2019-12-19 12:35:29 +09:00
Joseph Murphy
9bc1c0032c Revert submission 1191937-art_apex_available
Original Commit Message:
"""
Rename modules that are APEX-only

The renamed modules are only available for APEXes, but not for the
platform. Use the <module_name>.<apex_name> syntax to correctly install
the APEX variant of the modules.
"""

Reason for revert: Build Cop - Breaks about 15 AOSP targets, with high confidence due to these changes being the only non-robot changes in those builds.

Reverted Changes:
I190ce2d10:Use apex_available property
I990e0a67e:Use apex_available property
I0d1295683:Revert "Avoid duplicated classes for boot dex jars...
I5fb725403:Find the jar libraries in APEX from the correct pa...
I322b1efcc:Rename modules that are APEX-only
Ifa2bd0f8f:Use apex_available property
Iac6533177:Use apex_available property
Ie999602c6:Use apex_available property
I2a3d73397:Use apex_available property
Ic91bcbb9a:Use apex_available property
Ia6c324eed:Use apex_available property
I964d0125c:Use apex_available property

Change-Id: I39316f9ef2b0cd6c0a347f6b51d011748d0681aa
2019-12-19 01:06:36 +00:00
Jiyong Park
439b829b42 Find the jar libraries in APEX from the correct path
JAR libraries in the ART and conscrypt APEXes are no longer built for
the platform. Therefore, the path out/target/common/<name>_intermediates
does not exist. Instead use the path
out/target/common/<libname>.<apexname>_intermediates paths for those
APEX-only jars.

Bug: 128708192
Bug: 133140750
Test: m

Change-Id: I5fb725403ac22198e5ce6d77ca97c5f3392fabfd
2019-12-17 21:16:34 +09:00
Ian Kasprzak
8f9b3c196c Include all system images in -with-license.sh
Rename artifact to not use -img- which conflicts w/ TF
test filters.

Bug: 125451157
Test: Verified phone flash works with new with-license artifact.
Change-Id: I7dd4eb17a24f1bf36926a83939f69681ff8b26ad
2019-12-05 15:51:24 -08:00
Dan Shi
bafb1d7289 Add vts-core-tradefed.jar to general-tests.zip
This is needed for vts-core tests require vts specific preparers.

Bug: 142972256
Test: m -j general-tests
Change-Id: Ic2def11ac5f57a923d2bcefe6683e9a5fa66e7c6
2019-11-23 12:16:11 -08:00
Ian Kasprzak
4305cf2797 Switch from VENDOR_BLOBS_NOTICE to VENDOR_BLOBS_LICENSE.
Update of build variable to VENDOR_BLOBS_LICENSE
will be done via update to vendor-blob generation scripts.

Bug: 125451157
Test: Verified output in out and dist folders (with local rename).
Change-Id: I94190f0ef95a58464dceca912f8759023095fc7d
2019-11-12 18:45:44 -08:00
Ian Kasprzak
9601e6e0f8 Add "with-license" rule to generate public AOSP phone image.
Bug: 125451157
Test: Verified output in out and dist folders

Additional verification:
- Without the VENDOR_BLOBS_NOTICE build fails
- Output shell artifact displays license as expected
- Shell artifact permissions are correct (ug executable)
- Shell artifact unzips inner zip after license agreement
- Unzipping shell artifact only unzips license.txt file

Change-Id: If1004bd61d873c592c8541a13724eb575f59cddf
2019-11-09 14:21:45 -08:00
Treehugger Robot
db49de8560 Merge "Fix and generate vndk snapshot entirely in Soong" 2019-11-05 03:48:51 +00:00
Inseob Kim
65c91ff15a Fix and generate vndk snapshot entirely in Soong
- VNDK snapshot now respects stem and suffix.
- ld.config.txt is removed from snapshot as linkerconfig has become default.
- Soong builds entire snapshot, and make just calls dist-for-goals.

Bug: 142589718
Test: build and install snapshot
Test: development/vndk/snapshot/update.py with past version of snapshot
Change-Id: Ib99f1006d3553b1871b86ab168b1706fe47e1afb
2019-10-23 15:54:08 +09:00
Jooyung Han
ff6182497e Merge "cleanup: remove unused variable"
am: 90c7163e7e

Change-Id: Ibabf6ca0cd7ca8d7f3ff48cc3979dae240568176
2019-09-26 09:59:29 -07:00
Jooyung Han
f251232bb1 cleanup: remove unused variable
removing an unused variable: vndk_snapshot_configs_out in
core/tasks/vndk.mk

Test: m vndk
Change-Id: I2dc76ec7e41c8b1e818ecd056526a8c61a18da92
2019-09-25 10:33:58 +09:00
Dan Shi
516a6158c8 Merge "Create a vts-core suite harness package"
am: d9bef81f7c

Change-Id: I6f393746adbe01ca5856142aba2557264172cb52
2019-09-20 11:22:14 -07:00
Dan Shi
796ff4ffb5 Create a vts-core suite harness package
vts-core.zip will include all vts-core tests and suite harness
(vts-core-tradefed).

Bug: 141012181
Test: m -j vts-core

Change-Id: Ib13a2bffb4dc9619d2732d65729ecb0246a0b9a0
2019-09-19 13:13:44 -07:00
Xin Li
abf6afdce6 Merge qt-r1-dev-plus-aosp-without-vendor (5817612) into stage-aosp-master
Bug: 135460123
Change-Id: Ib7d2f7c5a8aef5c6c3e8f74c6c32d5092f32a166
Merged-In: I6f788cb4c7328e4f2315e4f028e2dd53badeb6cd
2019-09-08 13:11:47 -07:00
Julien Desprez
c264c32770 Merge "Delete cts_instant tasks: not needed anymore"
am: 979c9f3117

Change-Id: I83be1baa082283cb85172aa728ccb4a3f566f8f1
2019-09-04 12:04:12 -07:00