Commit Graph

1629 Commits

Author SHA1 Message Date
Automerger Merge Worker
3e7d321b56 Merge "Allow vts config to be packaged in other test suites" am: 24f3c99af8 am: b8acf86cda am: 97c0686199
Change-Id: I240c0b0b5744ee859bba5393620b56de5b69435a
2020-02-19 22:45:03 +00:00
Dan Shi
24f3c99af8 Merge "Allow vts config to be packaged in other test suites" 2020-02-19 21:05:55 +00:00
Automerger Merge Worker
e81fff6889 Merge "Statically link the unwinder into binaries packaged into an unbundled APEX with legacy_android10_support: true." am: d8b80bc683 am: 4b20d12832 am: 7fe957e171
Change-Id: Ic27432ee08f3acd6052ceeacb56249077a5edf65
2020-02-18 21:48:42 +00:00
Peter Collingbourne
d8b80bc683 Merge "Statically link the unwinder into binaries packaged into an unbundled APEX with legacy_android10_support: true." 2020-02-18 18:12:37 +00:00
Jaewoong Jung
a4003406ed Merge "Simple refactoring of prefix related functions." am: 36b6aec26a am: 9bc4a38707 am: 7f2487d5cc
Change-Id: Ia383f411632524fa2fb3fb238f754900564172c7
2020-02-18 15:48:38 +00:00
Jaewoong Jung
36b6aec26a Merge "Simple refactoring of prefix related functions." 2020-02-18 15:08:41 +00:00
Treehugger Robot
307039fc45 Merge "Add apex name to description" am: 2fe818f8b0 am: 0c7a78cf82 am: 1b4c46f529
Change-Id: I501428de259a7ad839f1ef1245112a39afdaf72f
2020-02-15 01:20:32 +00:00
Jaewoong Jung
3aff5787e2 Simple refactoring of prefix related functions.
Rename the two prefix-in-list funcs so that their usages are clearer.
Also find and replace all the code that essentially does either.

This introduces additional loops in some places, but I think the added
readability and simplicity outweighs the performance degradation, which
should be negligible anyway.

Test: m nothing
Test: TreeHugger
Change-Id: I37e2276ca0c815105ed0031f23c0b1264b480e4f
2020-02-14 14:33:49 -08:00
Dan Willemsen
b13a9487a0 Add apex name to description
Otherwise we see multiple concurrent builds of different actions with
the same description:

    0:09 //external/fmtlib:fmtlib clang++ src/format.cc
    0:09 //external/fmtlib:fmtlib clang++ src/format.cc
    0:09 //external/fmtlib:fmtlib clang++ src/format.cc
    0:09 //external/fmtlib:fmtlib clang++ src/format.cc
    0:09 //external/fmtlib:fmtlib clang++ src/format.cc

Is now:

    0:09 //external/fmtlib:fmtlib clang++ src/format.cc
    0:09 //external/fmtlib:fmtlib clang++ src/format.cc [com.android.resolv]
    0:09 //external/fmtlib:fmtlib clang++ src/format.cc [com.android.adbd]
    0:09 //external/fmtlib:fmtlib clang++ src/format.cc [com.android.art.debug]
    0:09 //external/fmtlib:fmtlib clang++ src/format.cc [com.android.media]

Test: m  <watch output>
Change-Id: Ib8fccc144e8fe5fc33cafe8536538b892bd42765
2020-02-14 12:33:52 -08:00
Ivan Lozano
58ed939a67 Merge "Remove execute-only support." am: d0bf3dbea8 am: 5d1461877d am: 50522fe8b8
Change-Id: I3cb63d6ca2070e296e46bd803fdeca1ea75d78f9
2020-02-14 15:26:59 +00:00
Ivan Lozano
d0bf3dbea8 Merge "Remove execute-only support." 2020-02-14 14:42:49 +00:00
Peter Collingbourne
dc4f986b2a Statically link the unwinder into binaries packaged into an unbundled APEX with legacy_android10_support: true.
Bug: 149075752
Test: tapas com.android.conscrypt com.android.tethering arm64
Test: m out/target/product/generic_arm64/{,symbols/}apex/com.android.{tethering,conscrypt}/lib64/libc++.so
Test: Verified that unwinder was dynamically linked to tethering's
Test: libc++ and statically linked to conscrypt's.
Test: lunch flame-userdebug && m
Test: Verified that unwinder was dynamically linked to /system/lib64/libc++.so
Change-Id: I98eed7cb4316962b19b5c12e150c224c25d0e91d
2020-02-13 22:29:44 -08:00
Dan Shi
403c9d3e7a Allow vts config to be packaged in other test suites
Bug: 149249068
Test: m vts-core
Change-Id: I582ceec53cf7747f5754613cf774871c84776cf5
2020-02-13 16:06:49 -08:00
Treehugger Robot
cf56a70cd2 Merge "apexDepsMutator is a top-down mutator" am: 680afd7bc7 am: 933fb89a3f am: c798bcde06
Change-Id: I4695d3aa1231ff40d4a6570a0973360ebd9bf01d
2020-02-13 22:59:40 +00:00
Treehugger Robot
680afd7bc7 Merge "apexDepsMutator is a top-down mutator" 2020-02-13 22:29:23 +00:00
Ivan Lozano
8107b85189 Remove execute-only support.
With kernel support being removed for execute-only memory layouts,
remove support for XOM until there's kernel support again.

This allows us to gain the code-size improvements from
"-z noseparate-code".

Bug: 147300048
Test: Compiled binaries no longer marked XOM by default.
Change-Id: Ie84bdd2ca025e8b14867008291bf9ce143b5e999
2020-02-13 13:50:34 -05:00
Ulyana Trafimovich
cc9a5edd4f Merge "Make PRODUCT_BOOT_JARS and PRODUCT_UPDATABLE_BOOT_JARS disjoint." 2020-02-13 13:36:25 +00:00
Ulya Trafimovich
4cdada2d1f 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: If001049a46f8e9d38921dabeedbd61e971ebfe73
Merged-In: If001049a46f8e9d38921dabeedbd61e971ebfe73
(cherry picked from commit ef4358e536)
2020-02-13 13:35:39 +00:00
Automerger Merge Worker
064ac1feda Merge "Add vendor snapshot modules" am: f048446f92 am: 7dbfe9a852 am: f5b69a3e9d
Change-Id: I853e86515a8268a4224344b890f54490f44844cf
2020-02-13 11:51:51 +00:00
Treehugger Robot
f048446f92 Merge "Add vendor snapshot modules" 2020-02-13 11:01:10 +00:00
Ulyana Trafimovich
e749814af8 Merge "Make PRODUCT_BOOT_JARS and PRODUCT_UPDATABLE_BOOT_JARS disjoint." 2020-02-13 10:53:13 +00:00
Automerger Merge Worker
99778c24b7 Merge "Improve documentation of the enabled property" am: 6a20b179d2 am: cf6fc983ae am: ebe93731a5
Change-Id: I8094f98cc4fb877e775d97c1e86d64368aef1372
2020-02-12 21:35:00 +00:00
Automerger Merge Worker
64e5871e0a Merge "Update the doc about apex_available" am: 6eb0da1530 am: 0c8e8c2cf3 am: bfe4d03d6e
Change-Id: Id611019e938cdc99858e4d1ba041a23539f0dd48
2020-02-12 21:34:48 +00:00
Treehugger Robot
6a20b179d2 Merge "Improve documentation of the enabled property" 2020-02-12 21:08:32 +00:00
Treehugger Robot
6eb0da1530 Merge "Update the doc about apex_available" 2020-02-12 20:58:24 +00:00
Jiyong Park
9a1e14ef6c Update the doc about apex_available
The default has changed.

Exempt-From-Owner-Approval: documentation change

Bug: 128708192
Bug: 149393721
Test: n/a
Change-Id: I91f36fc1fb5f2302deac8ee23bb847077b1281c9
2020-02-12 20:58:08 +00:00
Paul Duffin
54d9bb70d0 Improve documentation of the enabled property
Makes it clear that disabling a module is something that should be
avoided if possible.

Test: m soong_docs
Change-Id: Ief11e705f049edfd53b2af66bdf753f24d32aa71
2020-02-12 10:28:40 +00:00
Jiyong Park
f760cae41b apexDepsMutator is a top-down mutator
apex { name: ["myapex"], native_shared_libs: ["libX", "libY"] }
cc_library { name: "libX", shared_libs: ["libY"] }
cc_library { name: "libY", shared_libs: ["libZ"], stubs: {...} }

apexDepsMutator was a bottom up mutator and it uses WalkDeps to traverse
the dependency tree rooted at myapex in a depth-first order. While
traversing the tree, if calls BuildForApex for a module that will be
part of the APEX.

libY is visited twice. Once via libX and once via myapex. If the visit
from libX was before the visit from myapex (since this is a depth-first
traversing), BuildForApex is not called for libY and its dependency
libZ, because libY provides a stub. And then when libY is again visited
via myapex, BuildForApex is correctly called for the module, but not for
its dependencies libZ because the paths from libY to libZ was already
visited.

As a result, the apex variant of libY has a dependency to the non-apex
variant of libZ.

Fixing the problem by changing the mutator a top-down one.

Bug: 148645937
Test: m
Change-Id: Ib2cb28852087c63a568b3fd036504e9261cf0782
2020-02-12 17:01:26 +09:00
Automerger Merge Worker
56681d2879 Merge "neverallow: update for different HIDL build." am: 226adf28ae am: b19df54d94 am: fca58067a3
Change-Id: I84768c6ed509940af3fb6fb4eb8a9cb8c3cff5f2
2020-02-11 23:57:25 +00:00
Steven Moreland
226adf28ae Merge "neverallow: update for different HIDL build." 2020-02-11 23:10:34 +00:00
Steven Moreland
51ce4f6f25 neverallow: update for different HIDL build.
libhidlbase is now being built without intermediate static libraries.
This requires a different neverallow exception for the
'enforce_vintf_manifest' variable.

Bug: N/A
Test: N/A
Change-Id: I5b7f7fc8eb4ac37d658e60a491c39baa5ac137f8
2020-02-10 17:21:32 -08:00
Automerger Merge Worker
470eb0caca Merge "Implement vendor snapshot" am: 705cd4600d am: 7f811dcd28 am: 144cbd9211
Change-Id: If142df7cecd1f2468df240d06c6cb9458ea9eadb
2020-02-11 00:27:29 +00:00
Treehugger Robot
705cd4600d Merge "Implement vendor snapshot" 2020-02-10 23:40:50 +00:00
Ulya Trafimovich
ef4358e536 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: walleye-userdebug boots

Bug: 146363577
Change-Id: If001049a46f8e9d38921dabeedbd61e971ebfe73
2020-02-10 17:56:09 +00:00
Automerger Merge Worker
8401f47238 Merge "Add java_system_modules to sdk/module_exports" am: 568a82a36e am: 47511a0393 am: 5ce0ebb0df
Change-Id: Ie4414798a4ce32b6d943260ec6229fde9abc005d
2020-02-07 18:43:18 +00:00
Automerger Merge Worker
b1c879a8c4 Merge "Add support for transitive sdk members" am: 7be7886960 am: c5518698b6 am: bf5d5ae899
Change-Id: I0b2baa64a71dd10904c10adacc847127fc841611
2020-02-07 18:02:45 +00:00
Paul Duffin
7b81f5e9d7 Add java_system_modules to sdk/module_exports
Adds an SdkMemberType implementation for java_system_modules. It
specifies that java_system_modules can be used with sdk as well as
module_exports, and also that the libs property should be included
as transitive members in the sdk.

It also adds support for treating appropriate tagged properties in
the snapshot prebuilts module as references to sdk members so that
they are correctly transformed when creating the versioned modules.

Bug: 142940300
Test: m nothing
Change-Id: Ic10b5a6d5b92b6018334fe876f06feaf79cc55e9
2020-02-07 14:03:03 +00:00
Paul Duffin
f4ae4f1390 Add support for transitive sdk members
Allow an sdk member type to treat some of its dependencies as being
members of the sdk.

Needed for the java_system_modules type whose libs property are an
implementation detail of the system module and so should not be
explicitly listed in the sdk module but still have to be included in
the sdk snapshot.

Bug: 142940300
Test: m nothing
Change-Id: I90f37dae269ef64a6fe9debd0bbaf29a64dd74d8
2020-02-07 14:03:03 +00:00
Automerger Merge Worker
c533676987 Merge "java_sdk_library - Use prebuilt/prefer for unbundled app builds" am: 7300095182 am: bef2f16ca4 am: 81142bc17b
Change-Id: I3bf32b042a8707f80a21508705990970e63df688
2020-02-07 06:25:45 +00:00
Treehugger Robot
7300095182 Merge "java_sdk_library - Use prebuilt/prefer for unbundled app builds" 2020-02-07 05:28:35 +00:00
Automerger Merge Worker
87ca9098fa Merge changes I38fb22b2,I281bdefe,Ieaaa590c am: df51b061cd am: 4fb6707eeb am: d2a674a3f8
Change-Id: I764fa0c6293aa7676ed1a091061efb0f5af1d9c6
2020-02-07 04:30:04 +00:00
Colin Cross
df51b061cd Merge changes I38fb22b2,I281bdefe,Ieaaa590c
* changes:
  Add product_variables.native_coverage.src
  Fix product variables in defaults modules
  Fix product variable zero value check
2020-02-07 03:35:04 +00:00
Colin Cross
2b10ba0ee2 Add product_variables.native_coverage.src
Test: m checkbuild
Fixes: 148088129
Change-Id: I38fb22b28de1176ed880708733f7e7f76bee2e50
2020-02-06 17:46:26 -08:00
Colin Cross
eabaedd520 Fix product variables in defaults modules
Product variables structs are generated at runtime to contain only
the properties that apply to the current module.  Defaults modules
always contained all product variable properties. Defaults modules
apply their properties to the target module using
proptools.PrependProperties, which prepends structs that have
matching types.  Filtered property structs had a different type
and were dropped.

Even after adding filtering to the defaults product variable
properties, defaults modules may contain more property structs
than the target module they are applied to, so the product
variables struct for the defaults module could contain more
fields than the product variables struct for the target module.
Use proptools.PrependMatchingProperties when applying defaults
of product variables instead, which will apply matching properties
across types.

Test: defaults_test.go
Test: variable_test.go
Change-Id: I281bdefef92053457a3b7b65383493a4e7d999df
2020-02-06 17:43:29 -08:00
Colin Cross
6961a491a5 Fix product variable zero value check
The zero value check was being done by using reflect.DeepEqual on a
field from the default product variables, but this results in
comparison against a random type when the product variables struct
for the module has been filtered down.  Luckily this will always
fail false, which just removed and optimization but left the
behavior correct.

Use reflect.IsZero instead, which is both faster and correct.

Test: variable_test.go
Change-Id: Ieaaa590c2788ca39230e6695397e8ba8d1c6c103
2020-02-06 17:41:19 -08:00
Jiyong Park
1fd192302c Merge changes from topic "apex_available"
* changes:
  shared_lib dependency from a static lib crosses the APEX boundary
  apex_available tracks static dependencies
2020-02-06 22:56:08 +00:00
Automerger Merge Worker
cd24575200 Add test for capitalized Soong config variable am: 3beeb1ebb4 am: 13f04bef72 am: a6d26961cf
Change-Id: Id3dd218a556509561e4768964c09069e1880fef7
2020-02-06 22:07:37 +00:00
Automerger Merge Worker
316cbbf46f Add dependency on Soong config module definition file am: 39e545cc06 am: 5511d9f542 am: d296ae778d
Change-Id: I5a4a0db35053391fee562ac16f02f398601116ab
2020-02-06 22:07:19 +00:00
Colin Cross
3beeb1ebb4 Add test for capitalized Soong config variable
Soong config variables come from Make where they might be capitalized,
but Blueprint didn't handle capitalized variables well.  Add test
coverage for capitalized Soong config variables.

Bug: 148865218
Test: soong_config_module_test.go
Change-Id: I1e434e392d5ee660a221a0d3f959811c35e65865
2020-02-06 19:36:05 +00:00
Colin Cross
39e545cc06 Add dependency on Soong config module definition file
Add a dependency on the Soong config module definition file in case
it wasn't called Android.bp.

Fixes: 148866376
Test: m checkbuild
Change-Id: Ib441881bcee52fd1dc3a8d1c5ae4f5f0b7efe3ce
2020-02-06 19:35:49 +00:00