Commit Graph

59048 Commits

Author SHA1 Message Date
Patrice Arruda 4a2e443ec2 Merge "Set ANDROID_ENABLE_METRICS_UPLOAD to the metrics_uploader path to upload metrics." 2020-07-13 17:56:27 +00:00
Roland Levillain 18a4837e07 Merge "Turn `COVERAGE_PATHS` and `COVERAGE_EXCLUDE_PATHS` into obsolete variables." 2020-07-13 14:31:26 +00:00
Colin Cross 3227fc587c Merge "Use unzip -DD" 2020-07-13 05:58:28 +00:00
Colin Cross c27d795b63 Use unzip -DD
We put reproducible timestamps in zip files so that the artifacts
are consistent, but that leads to old timestamps in the output
directory if they are unzipped as part of the build.  Use
unzip -DD when unzipping to update the timestamps.

Bug: 161015009
Test: touch -d 2020-01-01 ref; find $OUT/system -not -newer ref
Change-Id: I6f08ba8695d90a8225cfc04e679755e6296deed0
2020-07-12 05:38:03 +00:00
Roland Levillain ce637304a0 Merge "Revert^2 "Turn uses of `COVERAGE_PATHS` and `COVERAGE_EXCLUDE_PATHS` into errors."" 2020-07-11 14:32:10 +00:00
Patrice Arruda d990f70fa2 Set ANDROID_ENABLE_METRICS_UPLOAD to the metrics_uploader path to upload metrics.
This is to collect metrics from our RBE dogfooders. This CL will be
rolledback once the metrics pipeline is turned live.

Bug: b/140638454
Test: source the script and then "m nothing". Monitored the uploading
      of the metrics.
Change-Id: Ide996a44a5a651ed026d7c8272283675fbb092b5
2020-07-10 23:22:49 +00:00
Julien Desprez f7d4d1e885 Merge "Add new jar that will replace tradefed.jar" 2020-07-10 21:32:21 +00:00
Roland Levillain be3c3719d4 Revert^2 "Turn uses of `COVERAGE_PATHS` and `COVERAGE_EXCLUDE_PATHS` into errors."
All known uses of environment variables `COVERAGE_PATHS` and
`COVERAGE_EXCLUDE_PATHS` (in AOSP and downstream branches) have
been replaced with `NATIVE_COVERAGE_PATHS` and
`NATIVE_COVERAGE_EXCLUDE_PATHS` (resp.).

This reverts commit 62d9912677.

Reason for revert: The cause of the build breakages caused by the
initial change has been addressed.

Test: m nothing
Test: Check that `m nothing COVERAGE_PATHS=art` fails.
Test: Check that `m nothing COVERAGE_EXCLUDE_PATHS=art` fails.
Test: Check the Android Build for build errors related to these variables.
Bug: 158212027
Bug: 160769227
Change-Id: Ic267e1b61e84bc6f016a3eb57efe7f9b859adb42
2020-07-10 11:00:32 +00:00
Julien Desprez b8f37694a3 Add new jar that will replace tradefed.jar
for compatibility with across branches, still need to
export tradefed.jar.

Test: make cts
Bug: 149758913
Change-Id: I101cba5dc3abe483b4dfbe6a113e24960e0e07ba
2020-07-09 15:31:35 -07:00
Kelvin Zhang 757fd2768e Merge "Fix validate_target_files for target files modified by" 2020-07-09 00:32:52 +00:00
Orion Hodson be88cd9140 Merge "Revert "Turn uses of `COVERAGE_PATHS` and `COVERAGE_EXCLUDE_PATHS` into errors."" 2020-07-08 14:00:55 +00:00
Lais Andrade 62d9912677 Revert "Turn uses of `COVERAGE_PATHS` and `COVERAGE_EXCLUDE_PATHS` into errors."
This reverts commit ace5860719.

Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch=git_rvc-dev-plus-aosp&target=build_test3&lkgb=6662220&lkbb=6662382&fkbb=6662228
Bug: 158212027
Bug: 160769227
Test: N/A revert
Change-Id: I0d366adcc735e9cc417d28013afb0386dea1fa64
2020-07-08 13:58:23 +00:00
Roland Levillain cd80a6afea Turn `COVERAGE_PATHS` and `COVERAGE_EXCLUDE_PATHS` into obsolete variables.
(cherry picked from commit c276bf4f3cc72e479d21c7bd0b34673d93e76f9a)

Test: m nothing
Bug: 158212027
Change-Id: Ibc0dbfd21465ab6fc5b826a52bf605910af283e7
Merged-In: Ibc0dbfd21465ab6fc5b826a52bf605910af283e7
2020-07-08 12:56:29 +01:00
Roland Levillain 01ce4a0b02 Merge "Turn uses of `COVERAGE_PATHS` and `COVERAGE_EXCLUDE_PATHS` into errors." 2020-07-08 10:07:51 +00:00
Treehugger Robot faac5a2e7d Merge "Move build.prop to ./etc subdir for some partitions" 2020-07-08 00:03:30 +00:00
Jooyung Han fb220803b6 Merge "Remove hidl VNDK libs" 2020-07-07 18:04:11 +00:00
Roland Levillain ace5860719 Turn uses of `COVERAGE_PATHS` and `COVERAGE_EXCLUDE_PATHS` into errors.
All known uses of environment variables `COVERAGE_PATHS` and
`COVERAGE_EXCLUDE_PATHS` have been replaced with
`NATIVE_COVERAGE_PATHS` and `NATIVE_COVERAGE_EXCLUDE_PATHS` (resp.).

Test: m nothing
Test: Check that `m nothing COVERAGE_PATHS=art` fails.
Test: Check that `m nothing COVERAGE_EXCLUDE_PATHS=art` fails.
Test: Check the Android Build for build errors related to these variables.
Bug: 158212027
Change-Id: Icc7c1d9734e78c2bf327f00f04355700b5476648
2020-07-07 15:01:26 +01:00
Jooyung Han 861f077f09 Remove hidl VNDK libs
hidl libs are removed from VNDK unless used by other VNDK libs.

Bug: 143933769
Test: update-makefiles.sh && m com.android.vndk.current
Merged-In: I25a787defb1755107c0538eabd21a0bfcf8374b1
Change-Id: I25a787defb1755107c0538eabd21a0bfcf8374b1
(cherry picked from commit 9438fb2c15)
2020-07-07 16:20:41 +09:00
Bill Yi 3cea91a6f7 Merge "Merge android10-qpr3-release to aosp-master - DO NOT MERGE" 2020-07-07 07:14:49 +00:00
Bill Yi a4d40c35a9 Merge android10-qpr3-release to aosp-master - DO NOT MERGE
Merged-In: I05e3e332007665f72a97b217a3e829441f87f811
Change-Id: I1119b2533299f722e1c8b7faa369925168024d25
2020-07-07 06:27:51 +00:00
Treehugger Robot 3f2e4cc4e6 Merge "add build.prop for other partitions to the dist out" 2020-07-06 23:24:49 +00:00
Kelvin Zhang 46a6ab8c05 Merge "Check for duplicate entries in build.prop in validation script" 2020-07-06 21:13:01 +00:00
Kelvin Zhang f2e846fb91 Check for duplicate entries in build.prop in validation script
Test: Added Unit test
Bug: 143013566
Change-Id: Ida14507a4a6034990bc81d5263ef1cea34f589c1
2020-07-06 15:13:11 -04:00
Treehugger Robot 19950004b5 Merge "target-host-required: Be permissive when ALLOW_MISSING_DEPENDENCY is set" 2020-07-06 09:52:22 +00:00
Yo Chiang d23ac0e477 target-host-required: Be permissive when ALLOW_MISSING_DEPENDENCY is set
add-all-host-to-target-required-modules-deps and
add-all-target-to-host-required-modules-deps permit errors when
ALLOW_MISSING_DEPENDENCY is set to true.

The previous behavior may break when doing unbundled builds.

Bug: 160318430
Bug: 7456955
Test: TH art-target-arm build pass
Change-Id: I00818d27ce18f4072eff9fa98958be820b5cd1f8
Merged-In: I00818d27ce18f4072eff9fa98958be820b5cd1f8
(cherry picked from commit 2c7c8bb657)
2020-07-06 10:57:51 +08:00
Jiyong Park 0ee7115b2d add build.prop for other partitions to the dist out
Previously, only system/build.prop was registered as dist out. This
change adds build.prop in the other partitions to the dist out. This
will allow us to examine those build.prop files without downloading
the entire target-files.zip file.

Bug: 117892318
Test: examine the dist out
Change-Id: I6f4ba16d765336a57f0da90edba788a627f25e60
2020-07-03 09:59:10 +09:00
Ulyana Trafimovich 4637537110 Merge "Remove mentions of deleted script construct_context.sh in comments." 2020-07-02 09:06:27 +00:00
Treehugger Robot 0ee038dffa Merge "Dedup lists of NDK libraries from Soong." 2020-07-02 02:12:26 +00:00
Treehugger Robot 13bf168b68 Merge "rbe: Remove stray /" 2020-07-01 23:13:05 +00:00
Treehugger Robot fd75d8deca Merge "Add LOCAL_APKCERTS_FILE support." 2020-07-01 19:53:32 +00:00
Jaewoong Jung 704b454ca1 Add LOCAL_APKCERTS_FILE support.
This is used when Soong and Make don't know the full output file list,
and so use a tool to generate a per-module apkcerts.txt file instead.

Fixes: 160119159
Test: m apkcerts-list
Merged-In: I48183bc8cbf9dcc521f791812734205ed3f28f4c
Change-Id: I48183bc8cbf9dcc521f791812734205ed3f28f4c
2020-07-01 10:01:16 -07:00
Treehugger Robot dada4c090a Merge "Rename the Default* constants in java/config." 2020-07-01 14:43:46 +00:00
Pete Gillin 3829475b74 Rename the Default* constants in java/config.
These values are used in two out of the many possible sdk_version
configurations, and therefore weren't really defaults in any
meaningful sense. Giving them more descriptive names makes the code
easier to follow.

Bug: 157640067
Test: m java
Change-Id: I67767b2be72ed3d8cc879280036850096eb65415
2020-07-01 12:47:02 +01:00
Treehugger Robot 92346502ba Merge "Fix up _CheckSecondTokenNotSlotSuffixed function." 2020-07-01 08:39:42 +00:00
Jiyong Park c0bd8c7611 Move build.prop to ./etc subdir for some partitions
build.prop files under system_ext, product, and odm partitions are moved
to the ./etc subdirectory. This is to be in-line with the established
practice of having all configuration files under ./etc subdir.
build.prop doesn't need to be an exception.

However, system/build.prop and vendor/build.prop were not moved because
there are a lot of apps and tools that depend on the path.

Bug: 158735147
Test: device has build.prop under ./etc and is bootable
Change-Id: I37c79f7337680f92406d9e196e5762bb8e7da5d8
2020-07-01 13:08:40 +09:00
Jiyong Park dd3af422a2 Merge changes from topic "sysprop"
* changes:
  Handle the case when non-optional props have the same value
  BUILD_BROKEN_DUP_SYSPROP as escape hatch for the new sysprop restriction
  pm.dexopt.* props in runtime_libart.mk becomes optional
  Some properties are set as optional
  ro.zygote in base_system.mk is optional
  Don't inherit tablet-dalvik-heap for GSI and emulator
  Support optional prop assignments
2020-07-01 01:46:47 +00:00
P.Adarsh Reddy 1ed2d66259 Fix up _CheckSecondTokenNotSlotSuffixed function.
Incremental OTA generation was failing since the
function _CheckSecondTokenNotSlotSuffixed was in
broken state, this change fixes the same.

Bug: 160215626
Test: Incremental OTA now gets generated and applied
      successfully a non-ab device.

Change-Id: Ifb3886396fe65dcdaeba16c568419b9fa084193d
Merged-In: Ifb3886396fe65dcdaeba16c568419b9fa084193d
2020-07-01 01:37:56 +00:00
Treehugger Robot 3a3d501e11 Merge "build.prop for ODM partition is under ./etc subdir" 2020-07-01 01:16:44 +00:00
Inseob Kim b9a27f4e7d Merge "Error if BOARD_VNDK_VERSION=PLATFORM_VNDK_VERSION" 2020-07-01 00:27:44 +00:00
Dan Albert 016da58c3c Dedup lists of NDK libraries from Soong.
Test: treehugger
Bug: None
Change-Id: I56bca0e8dc6d42a7107ac421d0b608a533e38580
2020-06-30 12:46:41 -07:00
Treehugger Robot 6c9441a924 Merge "use first kernel when generating kernel configs file" 2020-06-30 17:36:01 +00:00
Yo Chiang c9b0f0a9a5 Merge "Resolve module bitness for target-host required modules" 2020-06-30 11:21:03 +00:00
Jiyong Park 24d9cad563 Handle the case when non-optional props have the same value
foo=true
foo=true
foo?=false

Consider the above case: Then the duplication of foo is allowed because
they have the same value (true). However, there was a bug that the
optional assirgnment foo?=false is left unmodified.

This fixes the bug by commenting such optional assignments.

Exempt-From-Owner-Approval: fixes a broken build

Bug: 117892318
Bug: 158735147
Test: atest test_post_process_props
Test: m out/target/product/vsoc_x86/vendor/build.prop for  cf_x86_auto

Exempt-From-Owner-Approval: cherry-pick from master

Merged-In: Iba9b61d9779d93e86d9bead2286f945f8d51ab1d
(cherry picked from commit 9a32636759)
Change-Id: Iba9b61d9779d93e86d9bead2286f945f8d51ab1d
2020-06-30 18:44:51 +09:00
Jiyong Park 0b4fccb66d BUILD_BROKEN_DUP_SYSPROP as escape hatch for the new sysprop restriction
As the final step for the refactoring of sysprop configuration, this
change adds BUILD_BROKEN_DUP_SYSPROP which is the escape hatch for
the new restriction. When it is turned on, the new syntax `a ?= b`
collapses to the old syntax `a = b`, duplicated assignments are allowed,
and the dups are resolved following the legacy rule of preferring the
first.

This change also summarizes all the user-facing changes to the Change.md
file.

Lastly, post_process_prop.py is refactored to accept new argument
'--allow-dup' which when turned on allowes duplicated sysprops.

Bug: 117892318
Bug: 158735147
Test: atest --host post_process_prop_unittest

Exempt-From-Owner-Approval: cherry-pick from master

Merged-In: I7bdfffd47d50aad66a78e28a30c3dad7ebac080c
(cherry picked from commit b302cdf6a4)
Change-Id: I7bdfffd47d50aad66a78e28a30c3dad7ebac080c
2020-06-30 18:44:40 +09:00
Jiyong Park 85471ed82e pm.dexopt.* props in runtime_libart.mk becomes optional
The mk file is designed to provide safe default values which can be
overridden by target-specific mk files. Previously it was difficult to
correctly configure the mk files because the final prop value that
is baked in the system/build.prop is highly dependent (and sensitive as
well) to the mk file inheritance order which is very difficult (and
non-intuitive) to follow.

I9c073a21c8257987cf2378012cadaeeeb698a4fb is an attempt to make it much
easier and intuitive. Specifically, the new `a ?= b` syntax makes the
assignment optional, which means it is used only when there is no
non-optional assignment for the same prop regardless of the relative
ordering among them. In addition, the change prohibits having multiple
non-optional prop assignments for the same prop name.

pm.dex.* prop in runtime_libart.mk are now set using the `a ?= b` syntax
to explicitly mark that they provide default values.

Bug: 117892318
Bug: 158735147
Test: m

Exempt-From-Owner-Approval: cherry-pick from master

Merged-In: I044486d313d699607cd54222ae34d9eae24762b9
(cherry picked from commit bca4ea477a)
Change-Id: I044486d313d699607cd54222ae34d9eae24762b9
2020-06-30 18:44:30 +09:00
Jiyong Park 19746f4686 Some properties are set as optional
Some properties that are designed to provide a safe default value are
explicitly set as optional using the 'a ?= b' syntax.

Bug: 117892318
Bug: 158735147
Test: m

Exempt-From-Owner-Approval: cherry-pick from master

Merged-In: Ie6a50ab7e0bcb210e282bc18e8c1daf412903f90
(cherry picked from commit dfb3937ce4)
Change-Id: Ie6a50ab7e0bcb210e282bc18e8c1daf412903f90
2020-06-30 18:44:24 +09:00
Jiyong Park 8d521ec2c8 ro.zygote in base_system.mk is optional
The setting of ro.zygote in base_system.mk is optional, which means the
value can be overriden by other (probably more specific) mk files.

Bug: 117892318
Bug: 158735147
Test: atest --host post_process_prop_unittest

Exempt-From-Owner-Approval: cherry-pick from master

Merged-In: Ia7a67c0a04fad343d6591417f40dd4b9ddadc5e4
(cherry picked from commit b1261aac33)
Change-Id: Ia7a67c0a04fad343d6591417f40dd4b9ddadc5e4
2020-06-30 18:44:17 +09:00
Jiyong Park 8b266f16a9 Don't inherit tablet-dalvik-heap for GSI and emulator
GSI and emulator should not be specialized for tablet.

This is also to avoid the expected sysprop conflict after
I9c073a21c8257987cf2378012cadaeeeb698a4fb gets in. With the change,
duplicate assignments of a sysprop is prohibited. We currently have the
duplication due to the following hierarchy chain:

aosp_arm64.mk
 -> emulator_vendor.mk -> goldfish/vendor.mk -> phone-xhdpi-2048-dalvik-heap.mk
 -> generic_arm64/device.mk -> tablet-dalvik-heap.mk

Many of the dalvik.vm.* properties are duplicated between phone-*-
dalvik-heap.mk and tablet-dalvik-heap.mk files.

Bug: 117892318
Bug: 158735147
Test: atest --host post_process_prop_unittest

Exempt-From-Owner-Approval: cherry-pick from master

Merged-In: I4d1e2f819fe688a4a85e58387b6af58d603399d3
(cherry picked from commit 9f2f6dd9c9)
Change-Id: I4d1e2f819fe688a4a85e58387b6af58d603399d3
2020-06-30 18:44:11 +09:00
Jiyong Park d721e870bc Support optional prop assignments
This CL adds a number of changes to make the assignment of system
properties to be less confusing.

1. Added `a ?= b` syntax, which is called optional prop assignments. The
prop `a` gets the value `b` only when there is no non-optional prop
assignment for `a` such as `a = c`. This is useful for props that
provide some reasonable default values as fallback.

2. With the introduction of the optional prop assignment syntax,
duplicated non-optional assignments is prohibited; e.g., the follwing
now triggers a build-time error:

a = b
a = c

, but the following doesn't:

a ?= b
a = c

Note that the textual order between the optional and non-optional
assignments doesn't matter. The non-optional assignment eclipses the
optional assignment even when the former appears 'before' the latter.

a = c
a ?= b

In the above, `a` gets the value `c`

When there are multiple optional assignments without a non-optional
assignments as shown below, the last one wins:

a ?= b
a ?= c

`a` becomes `c`. Specifically, the former assignment is commented out
and the latter is converted to a non-optional assignment.

3. post_process_props.py is modified so that when a prop assignment is
deleted, changed, or added, the changes are recorded as comments. This
is to aid debugging. Previously, it was often difficult to find out why
a certain sysprop assignment is missing or is added.

4. post_process_prop.py now has a unittest

Bug: 117892318
Bug: 158735147
Test: atest --host post_process_prop_unittest

Exempt-From-Owner-Approval: cherry-pick from master

Merged-In: I9c073a21c8257987cf2378012cadaeeeb698a4fb
(cherry picked from commit 7aeb8de74e)
Change-Id: I9c073a21c8257987cf2378012cadaeeeb698a4fb
2020-06-30 18:44:01 +09:00
Kelvin Zhang 5d2b56b129 Fix validate_target_files for target files modified by
add_img_to_target_files.py

See bug description:
"When resigning images, the validate_target_files.py can be used to
verify the images using avbtool. The script will use the vbmeta.img to
achieve this, and all relevant images need to be in the IMAGES folder.
However, due to changes on add_img_to_target_files.py and specifically
the commit 5277d1015, some images (e.g. acpio.img and tos.img) are no
longer copied from RADIO to the IMAGES folder. This causes an error on
validate_target_files.py indicating that it cannot find image such as
IMAGES/acpio.img."
This CL fixes this by symlink images under RADIO directory to IMAGES
directory before invoking avbtool.

Bug: 159299583
Test: python3 -m unittest test_validate_target_files
Change-Id: I5769ee2ab5230d2a3a7cef10706dcc5788e654f8
2020-06-29 16:08:45 -04:00