Commit Graph

66536 Commits

Author SHA1 Message Date
Christoffer Quist Adamsen 3bae96b3b0 Merge "Allow missing classes in R8 mk builds" 2021-02-24 07:25:18 +00:00
Joe Onorato fbabf70394 Merge "Generate FlatConfig objects from GenericConfig objects." 2021-02-24 05:57:33 +00:00
Treehugger Robot 2793fd2e6d Merge "Creates a combined split-sepolicy file in merge_target_files.py." 2021-02-24 03:50:44 +00:00
Treehugger Robot c66465a4b0 Merge "Add non-fatal mode for verify_uses_libraries check." 2021-02-23 20:45:42 +00:00
Daniel Norman 48603ff158 Creates a combined split-sepolicy file in merge_target_files.py.
This follows the same steps as OpenSplitPolicy() in
system/core/init/selinux.cpp on the device.

Bug: 178864050
Test: merge_target_files for R+S and S+S devices
Test: test_merge_target_files
Change-Id: Ia41a436bfda8e2cb65706122f0ff3805b99d16e1
2021-02-23 11:41:29 -08:00
Anton Hansson 68892c49df Merge "Disallow use of error-prone merge-strategies" 2021-02-23 18:29:05 +00:00
Anton Hansson 62328d8519 Disallow use of error-prone merge-strategies
Test: No
Change-Id: I6b573c4bfeddfe14ef035e63238747577450a78c
2021-02-23 15:07:02 +00:00
Treehugger Robot 157e6a06e4 Merge "Rename rgrep to rsgrep" 2021-02-23 11:31:19 +00:00
Joe Onorato 38a57bf1df Generate FlatConfig objects from GenericConfig objects.
Doesn't include tests. More of those will come later.

Test: build/make/tools/product_config/test.sh
Change-Id: Icd2b455ac5f7b4773ba332fc40e994dc6f024f1b
2021-02-22 17:18:07 -08:00
Treehugger Robot d6a7f16416 Merge "Remove extra dot from depreceation, obsoletion warnings" 2021-02-23 00:16:40 +00:00
Alistair Delva 176e534edb Rename rgrep to rsgrep
rgrep is a common alias for 'grep -r' and this new macro was confusing.

Test: cd external/rust/crates
    rsgrep test
Change-Id: If71cdcc926455983a04a80982356e9feb61968fe
2021-02-22 13:32:07 -08:00
Ulya Trafimovich 5a09c2084d Add non-fatal mode for verify_uses_libraries check.
The new mode is enabled with environment variable
RELAX_USES_LIBRARY_CHECK. If the variable is set to true, then a
verify_uses_libraries check failure does not fail the build, instead it
sets a special compiler filter "extract" for dexpreopt, which means that
the DEX file will be extracted, but it won't be compiled to native code.
Class loader context will be set to empty in this case (not &, as it is
going to be deprecated soon).

If the variable RELAX_USES_LIBRARY_CHECK is unset or set to something
other than "true", then the old behaviour of the verify_uses_libraries
check is preserved.

The intended use case for this flag is to have a smoother migration path
for the Java modules that need to add <uses-library> information in
the build files. The flag allows to quickly silence build errors. This
flag should be used with caution and only as a temporary measure, as it
masks real errors and affects performance.

verify_uses_libraries check is reworked so that it writes the error
message to a status file (which is used instead of the former timestamp
file). Currently the stored error message is not used, but it may be
used later to produce a warning. Dexpreopt command checks if the status
file exists and is nonempty; if that is the case, then compiler filter
is set to "extract".

Bug: 132357300

Test: Manually add some mismatch between the libraries in the Android.bp
      and Android.mk files for dexpreopted apps, build with
      RELAX_USES_LIBRARY_CHECK=true and obsserve that the build doesn't
      fail and they are compiled with compiler-filter "extract".
      Unset RELAX_USES_LIBRARY_CHECK and observe that the build fails.

Change-Id: Ie1a6298c4dba2f368ca9ac8b9fee2de0a26e68e8
2021-02-22 14:49:47 +00:00
Christoffer Quist Adamsen 40c399732c Allow missing classes in R8 mk builds
Bug: 180878971
Bug: 72683872
Test: TARGET_PRODUCT=aosp_arm64 m -j core-oj
Change-Id: I4e3d49d4d8aa7e373bae6710db57f503eb95fab1
2021-02-22 13:21:00 +01:00
Joe Onorato 5af98130b8 Merge "Add tool to find problems with build repeatability." 2021-02-22 05:34:34 +00:00
Joe Onorato 9c76c3d1fe Merge "Move VarType out of its respective outer classes." 2021-02-22 05:33:00 +00:00
Joe Onorato 2590206000 Move VarType out of its respective outer classes.
It's used more than I originally thought it would be and it's
unnecessarily nested.

Test: rm -rf out/config/ && m product-config-test product-config && java -jar out/host/linux-x86/testcases/product-config-test/product-config-test.jar && time ( product-config --ckati_bin /source/kati/ckati > ~/Desktop/out.txt )
Change-Id: Id5a075863151e37ec60e5d9dbeb817c2df245bc7
2021-02-21 14:33:33 -08:00
Bob Badour d81abe7412 Merge "Avoid duplicate installed notice file rules." 2021-02-21 17:40:54 +00:00
Bob Badour 3412a07822 Avoid duplicate installed notice file rules.
For cases with a my_register_name, move into $(call license-metadata-rule).

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m nothing

Change-Id: Ib6c610960347db84503831b1e1519622696d4500
Merged-in: Ib6c610960347db84503831b1e1519622696d4500
2021-02-21 09:03:15 -08:00
Timi baada2ad67 Remove extra dot from depreceation, obsoletion warnings
Remove extra dot from depreceation and obsoletion warnings to be consistent.
Changes
 x: warning: BOARD_PLAT_PUBLIC_SEPOLICY_DIR has been deprecated. Use SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS instead..
to
 x: warning: BOARD_PLAT_PUBLIC_SEPOLICY_DIR has been deprecated. Use SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS instead.

Test: m
Change-Id: I60a4258e549570e261252cffee69e5640f62295e
Signed-off-by: Timi <timi.rautamaki@gmail.com>
2021-02-21 15:26:00 +01:00
Treehugger Robot 3f631cf2ab Merge "Deprecate PRODUCT_ENFORCE_RRO_EXEMPTED_TARGETS" 2021-02-20 01:47:43 +00:00
Treehugger Robot 6be34750a3 Merge "Remove module dependency on license metadata." 2021-02-19 22:11:01 +00:00
Tianjie Xu 5b1c0a347c Merge "Sign APEXes on all partitions" 2021-02-19 21:41:02 +00:00
Jaewoong Jung b6d7c5ccb0 Merge "Remove unwanted JNI libs outside inflating action." 2021-02-19 20:16:48 +00:00
Joe Onorato 2fd88e0600 Merge changes I9c1995f8,Id6763781,I52e5c07f,I4706e32f,I7d74b226
* changes:
  Keep the first and last snapshot of variables.
  Generate GenericConfig objects from MakeConfig objects.
  Emit and parse the product config variables from kati/make
  Add class to fork and exec kati, based on the commandline option given.
  Add a CSV parser to parse the output from kati.
2021-02-19 16:56:13 +00:00
Jeffrey Vander Stoep 5fdf26c2d2 Merge "envsetup: add rgrep for local Rust files" 2021-02-19 16:49:26 +00:00
Jeongik Cha c5da20e886 Deprecate PRODUCT_ENFORCE_RRO_EXEMPTED_TARGETS
There is no module relying on PRODUCT_ENFORCE_RRO_EXEMPTED_TARGETS

Test: m
Bug: 150820813
Change-Id: I461ab2654513a3b921bec5d46c39d474b6324ca2
2021-02-19 21:49:59 +09:00
Martijn Coenen e484f03f0d Merge "Add on-device signing binary to base." 2021-02-19 11:31:50 +00:00
Treehugger Robot d080b339c4 Merge "update vndk list" 2021-02-19 11:06:35 +00:00
Tianjie 5bd0395570 Sign APEXes on all partitions
Bundle APEXes may exist on other partitions than system, e.g. vendor,
system_ext. And leaving them unsigned may cause security problems.

Bug: 180675334
Test: run sign_target_files_apks
Change-Id: Ib912a026f4010d818161a89b11f818180208843f
2021-02-18 23:02:36 -08:00
Bob Badour 0061204726 Remove module dependency on license metadata.
Test: m nothing
Change-Id: I3fb75261ec67eb80023b7ef085c459229d8950a6
2021-02-18 17:31:12 -08:00
Jaewoong Jung c18ebafcb9 Remove unwanted JNI libs outside inflating action.
Take the unwanted JNI lib removal action out of JNI uncompression
function so that they work independently when building prebuilt apks.

Fixes: 180475879
Test: Manually with a test apk.
Change-Id: I7392d0bf4ca7db76f27e883df08f7cb256162440
2021-02-18 16:09:10 -08:00
Treehugger Robot aa85a8871b Merge "Returns empty apex_infos if the apex target dir does not exist." 2021-02-18 13:37:21 +00:00
Martin Stjernholm 714c4bceb3 Merge "Move the logic to add jacocoagent in instrumentation builds to make." 2021-02-18 07:52:09 +00:00
Daniel Norman b4b07aba7d Returns empty apex_infos if the apex target dir does not exist.
This is needed for partial builds that do not have the apex directory in
their target files package.

Test: build target files for a partial vendor-only build.
Change-Id: I076bfbd1a81cccddcef795f5edeaf2b51538cdec
2021-02-17 22:24:48 +00:00
Chih-hung Hsieh 9f9236ec56 Merge "Do not append empty DEFAULT_TIDY_HEADER_DIRS" 2021-02-17 18:34:48 +00:00
Joe Onorato 64f3db2ec1 Keep the first and last snapshot of variables.
So we can compare our reconstruction of the variable state.

Test: treehugger
Change-Id: I9c1995f8969dcf95256aa7c05a01d0431e36caa2
2021-02-17 10:02:41 -08:00
Joe Onorato 8523601ce9 Generate GenericConfig objects from MakeConfig objects.
Applies heuristics to the sequence of Blocks to do so.

Test: rm -rf out/config/ && m product-config-test product-config && java -jar out/host/linux-x86/testcases/product-config-test/product-config-test.jar && time ( out/host/linux-x86/bin/product-config --ckati_bin /source/kati/ckati > ~/Desktop/out.txt )
Change-Id: Id6763781bc876e2b2e0be320a7259c1ed41c2334
2021-02-17 10:02:41 -08:00
Joe Onorato f20c93afa3 Emit and parse the product config variables from kati/make
Test: cls && rm -rf out/config/ && m product-config-test product-config && java -jar out/host/linux-x86/testcases/product-config-test/product-config-test.jar && time ( product-config --ckati_bin /source/kati/ckati > ~/Desktop/out.txt )
Change-Id: I52e5c07f9aaf899f9d45680313275c6d9e246ff2
2021-02-17 10:02:41 -08:00
Joe Onorato 9de9652582 Add class to fork and exec kati, based on the commandline option given.
Test: m product-config-test && java -jar out/host/linux-x86/testcases/product-config-test/product-config-test.jar
Change-Id: I4706e32ff7ac4424b6835b94fef40a2c838f8492
2021-02-17 10:02:41 -08:00
Joe Onorato 7c01d47c9a Add a CSV parser to parse the output from kati.
(Yet another class that would be great for android to have in a host
tools library)

Test: m product-config-test && java -jar out/host/linux-x86/testcases/product-config-test/product-config-test.jar
Change-Id: I7d74b2265393e4f340729ca5ba82d1ec92a20f85
2021-02-17 10:02:41 -08:00
Jeongik Cha 248ee9f249 update vndk list
Test: m
Bug: 150578172
Change-Id: I98fa56d527124008fc60d60a7f45f200f20e5707
Merged-In: Ic53702ede81f9edbc8e29e92df4470b99b696098
2021-02-17 15:58:18 +00:00
Martin Stjernholm fa83228660 Move the logic to add jacocoagent in instrumentation builds to make.
This to allow operating on the complete ART_APEX_JARS list from make in
a follow-up CL.

Test: m nothing
Test: m nothing EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true
Bug: 180325915
Change-Id: Ic08148edf25738f6f4769e5359a573237a38b0e9
2021-02-17 12:55:49 +00:00
Martin Stjernholm 43d4040f6f Merge "Move ART APEX selection logic to core make." 2021-02-17 12:44:23 +00:00
Treehugger Robot 69ac4b21cd Merge "Mark PRODUCT_SUPPORTS_xxx variables as single item instead of list" 2021-02-17 10:28:51 +00:00
Martin Stjernholm c481de01b7 Move ART APEX selection logic to core make.
It's moved from art/Android.mk that won't be available in platform
builds without ART sources.

This also ensures we depend on com.android.art directly on
PRODUCT_PACKAGES and not through LOCAL_REQUIRED_MODULES which was the
case in com.android.art-autoselect. When com.android.art is overridden
through an `overrides` field, the logic in main.mk drops it from
PRODUCT_PACKAGES, but it doesn't consider overrides when processing
LOCAL_REQUIRED_MODULES dependencies.

Bug: 172480617
Test: `m` with PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD
  set to true and false
Test: `m` on userdebug and eng builds
Change-Id: Ia606de691fe20ac19f2ca9af362408606e71b11c
2021-02-17 08:28:07 +00:00
Treehugger Robot 32b84909a1 Merge changes from topic "vendor_property_enforce"
* changes:
  Set BUILD_BROKEN_VENDOR_PROPERTY_NAMESPACE for goldfish
  Add BUILD_BROKEN_VENDOR_PROPERTY_NAMESPACE to BoardConfig
  Add PRODUCT_SHIPPING_API_LEVEL to productVariables
2021-02-17 07:12:30 +00:00
Treehugger Robot 6d89e4a9e1 Merge "Remove LOCAL_LICENSE_KINDS from core makefiles." 2021-02-16 17:30:47 +00:00
Bob Badour 17831e3da3 Remove LOCAL_LICENSE_KINDS from core makefiles.
Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all
Change-Id: I4deec3e07862e89dd32880774efb4624a9723cf2
2021-02-16 04:37:23 -08:00
Treehugger Robot 14201eb3a3 Merge "[LSC] Add LOCAL_LICENSE_KINDS to build/make" 2021-02-15 23:21:48 +00:00
Martin Stjernholm ae2af082ca Merge "Build the ART modules from source if they are listed in TARGET_BUILD_APPS." 2021-02-15 10:53:50 +00:00