Commit Graph

18402 Commits

Author SHA1 Message Date
Jaewoong Jung
71638acad7 Merge "Split out app_prebuilt_internal.mk." 2019-03-20 00:51:45 +00:00
Daniel Norman
1bc36fa328 Merge "Allow disabling building super partition for DAP devices" 2019-03-19 22:13:26 +00:00
Jiyong Park
a32f00e553 Add LOCAL_SOONG_SYMBOL_PATH
The soong-only variable is used to specify the location where the symbol
file is located. When unspecified, LOCAL_MODULE_PATH is used instead as
before.

This is needed when the path that a file is installed to is different
from the path that the file is accessed from at runtime. For example, if
TARGET_FLATTEN_APEX=true, a file lib/libX.so in an APEX com.android.foo
is installed to /system/apex/com.android.foo/lib/libX.so. However, it's
runtime path is /apex/com.android.foo/lib/libX.so as
/system/apex/com.android.foo is bind-mounted to /apex/com,android.foo.

Bug: 120846816
Test: m and inspect that symbol files exist under
$(PRODUCT_OUT)/symbols/apex/com.android.runtime/

Change-Id: I1b39f6e0cde115d442f14380c365796feff3437b
2019-03-20 06:56:20 +09:00
Jaewoong Jung
09bfe55bd6 Split out app_prebuilt_internal.mk.
This is part of prebuilt_internal.mk refactoring work and also a
preliminary task to design and implement its Soong counterpart.

Test: built and flashed an image for a Pixel device + TreeHugger
Change-Id: I89b13b1e0a2780b02fda7ee888e73052ac1abd9c
2019-03-19 13:35:23 -07:00
Treehugger Robot
22b9a4a207 Merge "Generate api.xml for every target build." 2019-03-19 19:18:16 +00:00
Anton Hansson
fa7ddae29b Fix missing modules check for dont_bother goals
Like If1f817d855cbe329b83caee9fdd68c2cce55f02b, but for
PRODUCT_PACKAGES, which is only enabled for a few builds.

Also share the ALLOW_MISSING_DEPENDENCIES check with the host
version.

Test: m product-graph
Change-Id: Iab55072e7d7c0fc9f4680cc515e139a5214dc3b4
2019-03-19 18:20:30 +00:00
Logan Chien
ab28c2d4ef Merge "Fix check_elf_file with LOCAL_SDK_VERSION and NDK libs" 2019-03-19 09:09:50 +00:00
nelsonli
fe04351f6f Build: Ensuring test runtime dependencies are installed.
After migrating the primary install location of test modules into a
    generic testcase folder. All test modules will install to
    out/target/product/<product>/testcase/<module_name>/ if they don't
    specify their LOCAL_MODULE_PATH.
    But the dependent test module should also be copied to testcase
    folder even its LOCAL_MODULE_PATH be set.

BUG: 128815093
Test: 1. vi cts/tests/signature/api-check/Android.mk
        add LOCAL_MODULE_PATH for cts-hiddenapi_flags-csv
      2. m CtsHiddenApiBlacklistDebugClassTestCases
         Then, hiddenapi_flags.csv should also be copied to testcase
	 folder.

Change-Id: Iff872447348e74b2728e0913d04e46ccbaa4e972
2019-03-19 08:12:20 +00:00
Jared Lim
361e4439d0 Generate api.xml for every target build.
Test: make dist DIST_DIR=out/dist

Change-Id: I8cf7290c8a3757110761e9c852339b841c5d1748
2019-03-18 22:42:07 -07:00
Treehugger Robot
c2144bb0c4 Merge "Add a dependency on boot jars $(LOCAL_BUILT_MODULE)" 2019-03-19 05:08:26 +00:00
Treehugger Robot
b6520ddcf1 Merge "Sets default value of ro.postinstall.fstab.prefix" 2019-03-19 05:02:58 +00:00
Yifan Hong
691defc4bd Merge "Add supernod build target." 2019-03-18 23:46:05 +00:00
Colin Cross
3ecb9c4fdd Add a dependency on boot jars $(LOCAL_BUILT_MODULE)
After I25163e91886cea6941afa25cdb529ed053278dcb there is no longer
a dependency on $(LOCAL_BUILT_MODULE) for boot jars, as boot.art
is installed instead.  Add a dependency from boot.art to
$(LOCAL_BUILT_MODULE) so that $(LOCAL_BUILT_MODULE) and its
dependencies (which may include jacoco-report-classes.jar) is
copied for every build.

Fixes: 127702563
Test: forrest
Change-Id: I4db2d1f5fe2e1141fe93317cd7a2a58a33f8fbff
2019-03-18 13:17:22 -07:00
Anton Hansson
dc017122fb Read product/device RRO dirs separately from soong
This change splits the LOCAL_SOONG_RRO_DIRS into two,
representing RRO dirs that originated from device and
product overlay configs, respectively.

Also plumb the device/product configs in separately.

Bug: 127758779
Test: verify noop on presubmit targets
Change-Id: Iddee1b4d7303b7ecaeced91216ea82fe29123770
2019-03-18 19:39:51 +00:00
Yifan Hong
889b1f7c0c Allow disabling building super partition for DAP devices
Previously:
if (DAP && !BUILD_SUPER) error;

Now:
if (BUILD_SUPER && !DAP) error;

This allows DAP devices to disable building super partition when the OEM
doesn't want to. The ability to build super partition shouldn't be
a requirement of enabling DAP; rather, building super partition requires
DAP to be enabled.

To do this on a device, PRODUCT_BUILD_SUPER_PARTITION should be set
to false explicitly. If it is unset, it will use the value of
PRODUCT_USE_DYNAMIC_PARTITIONS.

Bug: 127687287
Test: set PRODUCT_BUILD_SUPER_PARTITION to false and build dist

Change-Id: I25f1866e61d73affb445c1aec042cf53aac93583
2019-03-18 11:48:03 -07:00
Anton Hansson
08231e1786 Refactor generate_enforce_rro
A few tweaks to make it easier to extend to generating RROs in
multiple partitions:
- deduce the module name inside generate_enforce_rro
- dedup rule definition
- tweak framework-res check to use source module name instead

Bug: 127758779
Test: verify noop on presubmit targets
Change-Id: I2f0d6270b21f5427c372c04a5c6e7fb712e72a9a
2019-03-18 14:21:09 +00:00
Anton Hansson
b7ee86ff85 Refactor and further simplify the RRO logic
Make the runtime vs static resource overlays a little clearer.
This will help adding more logic around determining if an RRO
needs to be generated in /vendor, /product or both.

Bug: 127758779
Test: verify noop on presubmit targets
Change-Id: I43111a1d9bb3405c559faaef56a75a5ad7672ba0
2019-03-16 15:52:30 +00:00
Treehugger Robot
8c2881034a Merge "Add stoney ridge x86 variant" 2019-03-15 21:41:32 +00:00
Anton Hansson
fd06b02b30 Add comments and slight refactor auto-RRO logic
Make it a bit clearer what this code is intended to do.

Bug: 127758779
Test: verify noop on presubmit targets
Change-Id: Ic405fc5d4601b9f0a91b4d24caa06f279267c51a
2019-03-15 17:03:53 +00:00
Roland Levillain
dbfe39faa2 Merge "Remove valgrind-test-art% targets from PARSE_TIME_MAKE_GOALS." 2019-03-14 13:17:46 +00:00
Bowgo Tsai
ddac7dcce1 Sets default value of ro.postinstall.fstab.prefix
ro.postinstall.fstab.prefix might be either "/system" or "/product",
to decide the location of the fstab.postinstall, used to mount
system_other partition on A/B devices.

  {ro.postinstall.fstab.prefix}/etc/fstab.postinstall

Bug: 112103720
Test: factory reset and boot device, checks cppreopt logs

Change-Id: Ib1e282752c37713e2220239f4f903453ce3c8bab
2019-03-14 16:03:04 +08:00
Treehugger Robot
795721ac2a Merge "Revert "Revert "Build System: Solve dependency problem for test""" 2019-03-14 04:23:32 +00:00
Nelson Li
1f8357fe7d Revert "Revert "Build System: Solve dependency problem for test""
This reverts commit 6fe7f194b9.

Reason for revert: Fixed all build break.

Change-Id: I0a4842df1225399752515a4cd7a7c14173a5bf7b
2019-03-14 01:05:36 +00:00
Yifan Hong
69e0d61cbe Add supernod build target.
superimage-nodeps and supernod depends
on images from $(ANDROID_PRODUCT_OUT) (not from
target files package). It doesn't rebuild source
images if they are present.

A typical workflow is:

    m -j
    # change code in system
    m snod -j
    m supernod -j

Test: For non retrofit, run:
      `m snod -j; m supernod -j`
Fixes: 128321505
Change-Id: Ib8c011cadb9c0cd334234aef39f19be6a48fee62
2019-03-13 11:15:21 -07:00
Roland Levillain
43d2ca50ea Remove valgrind-test-art% targets from PARSE_TIME_MAKE_GOALS.
These targets have been removed from ART Makefiles in 2018.

Test: n/a
Bug: 29282211
Bug: 77856586
Change-Id: I00ab00392d153242a67d0764e3ca2ba0528d79db
2019-03-13 17:28:11 +00:00
Xin Li
a6d9bd539a Merge "DO NOT MERGE - Merge PPRL.190305.001 into master" 2019-03-13 02:26:04 +00:00
Anton Hansson
ee4c970eb0 System-specific product sysprops
This change makes it possible for products to specify the values
of the ro.product.system.X sysprops independently from the
corresponding sysprops on the other partitions.

Leave the fingerprint as-is for now. It will be changed to follow
suit in a followup change.

Bug: 110206836
Test: make
Change-Id: Id30012e1948df792778b102203116d4ae3f68e56
2019-03-12 18:03:44 +00:00
Anton Hansson
ef0b949be3 Rename DEVICE arg in common buildprops script
A followup change will make it not always equal TARGET_DEVICE,
so that name is unsuitable. Make its name follow the other product
variables.

Bug: 110206836
Test: presubmit
Change-Id: Icb1422ec5e7af658c5cc3070993c472e99805c6b
2019-03-12 18:03:23 +00:00
Treehugger Robot
8924400a8a Merge "Revert "Build System: Solve dependency problem for test"" 2019-03-11 20:45:17 +00:00
The Android Open Source Project
9205ecdbba DO NOT MERGE - Merge PPRL.190305.001 into master
Bug: 127812889
Change-Id: I174b936518b6fd2a7687f200478fd63b09bfb860
2019-03-11 11:13:56 -07:00
Nelson Li
6fe7f194b9 Revert "Build System: Solve dependency problem for test"
This reverts commit 224e103308.

Reason for revert: Build Breakage in git_pi-dev-plus-aosp/docs @5366136
make -j110 docs showcommands dist DIST_DIR=/buildbot/dist_dirs/git_pi-dev-plus-aosp-linux-docs/5366136 checkbuild
FAILED:
 Dependencies in out found with no rule to create them:
 out/target/product/generic/data/app/CtsVerifierTester/CtsVerifierTester.apk
 out/target/product/generic/data/app/TradeFedTestApp/TradeFedTestApp.apk
 out/target/product/generic/data/app/TradeFedUiTestApp/TradeFedUiTestApp.apk
 15:53:46 stopping
and
make -j50 showcommands dist TARGET_PRODUCT=cf_x86_phone DIST_DIR=/buildbot/dist_dirs/git_master-linux-ndk_translation_all/5366149 ndk_translation_all
FAILED: ninja: 'out/target/product/vsoc_x86/data/nativetest/arm/arm_insn_tests_arm_static/arm_insn_tests_arm_static', needed by 'out/target/product/vsoc_x86/obj/PACKAGING/ndk_translation_tests_intermediates/arm_insn_tests_arm_static_result.xml', missing and no known rule to make it
15:55:38 ninja failed with: exit status 1
make: *** [run_soong_ui] Error 1
Return Code: 2

Change-Id: Idf95ef2e06526a0a31690420c923207db627605f
2019-03-11 16:48:29 +00:00
Treehugger Robot
15e76e3848 Merge "Build System: Solve dependency problem for test" 2019-03-11 15:18:12 +00:00
android-build-team Robot
0b004435b8 Make change and version bump to PPRL.190305.001
Change-Id: I406ab6822fab34684fdbc84ad264106ae3dbec3b
2019-03-08 18:53:29 +00:00
Treehugger Robot
b82b26456b Merge "Add a flag to select the apex boot image for preopt." 2019-03-08 17:33:51 +00:00
Nicolas Geoffray
19abe716f8 Add a flag to select the apex boot image for preopt.
Test: m && check that odex files are preopted with the apex image
Bug: 119800099
Change-Id: I5b64261cd765b511ad7e1ff513b85c0579023f6e
2019-03-08 14:41:14 +00:00
Dan Willemsen
c478ea3dac Fix m snod
Whenever we're not loading all makefiles, we shouldn't be checking that
all the host packages exist.

Test: m snod
Change-Id: If1f817d855cbe329b83caee9fdd68c2cce55f02b
2019-03-07 17:18:15 -08:00
Dan Willemsen
066da0c58b Merge changes from topic "HOST_PACKAGES"
* changes:
  Build everything in PRODUCT_HOST_PACKAGES
  Reland "First pass at creating PRODUCT_HOST_PACKAGES"
2019-03-08 00:21:01 +00:00
Tri Vo
9f18c64d07 Merge "recovery: install product_file_contexts and product_property_contexts" 2019-03-07 18:32:48 +00:00
nelsonli
224e103308 Build System: Solve dependency problem for test
1. A test can add a runtime dependent test module by just setting
   LOCAL_REQUIRED_MODULES or LOCAL_TARGET_REQUIRED_MODULES. Then the dependent test
   module will be copied to testcase folder.
2. Do not install to $(TARGET_OUT_DATA) for testcase

BUG: 117224272

Test: 1. (a) vi cts/tests/tests/text/Android.mk
         (b) add LOCAL_REQUIRED_MODULES := CtsPrintTestCases
         (c) m -j CtsTextTestCases
         (d) Then, CtsPrintTestCases should also be built to testcase folder like below.
             ./target/product/generic_arm64/testcases/CtsPrintTestCases

Change-Id: I24ea3783486c54a05cfa9d3d0375b977afc230f8
2019-03-07 14:08:35 +08:00
Dan Willemsen
b952b5e4c3 Build everything in PRODUCT_HOST_PACKAGES
This should only add extra host packages that were in
PRODUCT_HOST_PACKAGES and not PRODUCT_PACKAGES.

That shouldn't be very many things -- user builds will build a few more
host tools that used to be in PRODUCT_PACKAGES_DEBUG, etc.

Test: treehugger
Change-Id: I6768b76db74ea049de90eef326d1e314eb4ef848
Merged-In: I6768b76db74ea049de90eef326d1e314eb4ef848
2019-03-06 15:41:19 -08:00
Dan Willemsen
3d05a08a6f Reland "First pass at creating PRODUCT_HOST_PACKAGES"
Adds icu-data_host_runtime_apex to fix unbundled builds which pull it in
via PRODUCT_PACKAGES, but are missing packages that would pull it in via
PRODUCT_HOST_PACKAGES.

Test: build/soong/build_test.bash
Test: in ub-timezonedata-master; tapas TimeZoneData; m
Change-Id: I1583c7582b386c3e8478711cb1df340518d763c1
Merged-In: I1583c7582b386c3e8478711cb1df340518d763c1
2019-03-06 14:46:06 -08:00
Colin Cross
e34ff5ca5d Merge "Update manifest merger to use binary" 2019-03-04 22:02:09 +00:00
Nicolas Geoffray
53cfd9275b Merge "Pass the --api-flags to appcompat explicitly." 2019-03-04 14:14:39 +00:00
Julien Desprez
4e9a9485f4 Add a placeholder EXTRA_OPTIONS to inject more tradefed options
Simply remove the placeholder in makefiles, for now I am
not sure we need to support this in makefiles at all.

Test: call the sed method
Bug: 124024827
Change-Id: Iae78ae86c20c5da6b7314b749f54983a312c4a7d
2019-03-01 11:36:36 -08:00
Yifan Hong
5a4696e460 Merge "Build ODM manifests and fragments for each SKU." 2019-03-01 18:32:32 +00:00
Anton Hansson
e0ce6ca8a5 Merge "Move BoardConfig strip / READONLY marking" 2019-03-01 15:34:36 +00:00
Anton Hansson
451951c139 Merge "Move combo makefile parsing" 2019-03-01 15:34:19 +00:00
Colin Cross
5852c93585 Merge "Use flags from Soong for d8 and r8" 2019-03-01 15:28:29 +00:00
Anton Hansson
d488d2d7d7 Move BoardConfig strip / READONLY marking
This moves the BoardConfig READONLY marking being product.mk's
responsibility to board_config.mk.

Also unify it with the BUILD_BROKEN_* setting handling, and
READONLY a few additional variables.

Test: build_test
Change-Id: Ifcfef588aa459223d6d7f017413d1681f341297f
2019-03-01 10:04:18 +00:00
Anton Hansson
192798513e Move combo makefile parsing
These files may be setting variables usually defined in the
BoardConfig. This moves that setting into board_config.mk so
that the relevant variables can be made readonly.

Test: build_test
Test: diff presubmit target_files vs base cl
Change-Id: I4dab09fa67c0f2e88a8ce1402a35b4ef5f8a0560
2019-03-01 09:54:33 +00:00