Commit Graph

404 Commits

Author SHA1 Message Date
Howard Chen 0c5f1e575d Support kernel modules in the odm image
This patch reuses the build-image-kernel-modules macro to build the
odm/lib/modules directory according to the BOARD_ODM_KERNEL_MODULES
which contains list of kernel module files.

Bug: 36012197
Test: android master build on pixel
Change-Id: I2c004132a89e7f230690b4d26c98c3d5b2769f11
2017-07-10 10:44:58 +08:00
Colin Cross 0851df8c82 Provide make variables for java binaries
Replace java -> $(JAVA), etc. to prepare for moving java binaries
out of the path and using full paths to them.

Test: builds
Bug: 62956999
Change-Id: I5dfcd0d4e855ecde69cd127169e9545e59723d12
2017-07-01 01:03:14 +00:00
Dan Willemsen f354b178b1 Support custom my_copy_pairs in package-modules.mk
To support extra files in package-modules.mk, allow the user to set
my_copy_pairs to a list of src:dest pairs that will be copied into the
zip file.

Test: build-aosp_arm.ninja is identical before/after
Test: codesearch says that these variables aren't otherwise used
Test: set my_copy_pairs, ensure that they exist in the zip.
Change-Id: Ia80cd136db8ad37a71010baf0552621b281c8bc3
2017-06-20 16:00:48 -07:00
Bowgo Tsai 7ea994b21c Support signing custom images with AVB HASH or AVB HASHTREE
`make custom_images` supports to build different kinds of *non-droid* images,
e.g., odm.img. Adding the support of signing them with either AVB HASH footer
or AVB HASHTREE footer. The user can use HASH for small images and
HASHTREE for large images.

Sample signing configurations:
 * AVB HASH footer:
   - CUSTOM_IMAGE_AVB_HASH_ENABLE := true
   - CUSTOM_IMAGE_AVB_ADD_HASH_FOOTER_ARGS := --append_to_release_string my_odm_image

 * AVB HASHTREE footer:
   - CUSTOM_IMAGE_AVB_HASHTREE_ENABLE := true
   - CUSTOM_IMAGE_AVB_ADD_HASHTREE_FOOTER_ARGS := --fec_num_roots 8

 * Using custom signing key:
   - CUSTOM_IMAGE_AVB_ALGORITHM := SHA256_RSA2048
   - CUSTOM_IMAGE_AVB_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem

Bug: 36701014
Test: `make custom_images` with AVB HASH footer
Test: `make custom_images` with AVB HASHTREE footer
Test: `make droid` to check system.img is still properly signed with AVB HASHTREE
Test: `make droid` to check vendor.img is still properly signed with AVB HASHTREE

Change-Id: I8dc420e12e37e9a631345c0cd883339db05d489f
2017-05-24 14:21:03 +08:00
Sen Jiang 5b0fe18feb Add support for avbtool in custom_images.
Set CUSTOM_IMAGE_AVB_ENABLE := true to enable avb, add_hashtree_footer
args can be added in CUSTOM_IMAGE_AVB_ADD_HASHTREE_FOOTER_ARGS.

Bug: 38319818
Test: m custom_images

Change-Id: Ia452dc5ce8b55bcbd3abba9e965b72e78fd8c104
2017-05-15 17:34:42 -07:00
Colin Cross 30c33b1c2b Sort inputs to compatibility suite zip files
Sort the inputs to remove duplicates, which fixes:
found two file paths to be copied into dest path: "target/testcases/minikin_perftests/minikin_perftests", both ["target/testcases/minikin_perftests/minikin_perftests"]"out/target/product/bullhead/testcases/minikin_perftests/minikin_perftests" and ["target/testcases/minikin_perftests/minikin_perftests"]"out/target/product/bullhead/testcases/minikin_perftests/minikin_perftests"!

Test: m -j device-tests
Change-Id: I8d7e83cd077c62461c9a08e7f1b49c321fbcb0e3
2017-05-02 17:56:57 -07:00
Dan Willemsen b47d4e9cf1 Rewrite link type checking
All the new features are turned off for now, since multiple branches and
products need to be verified before they can be turned on. So everything
should behave the same as today, except for no partition-based
warnings.

Instead of the current link type checks that happen during the build,
run as many as possible immediately after loading all the Android.mk
files. If we're allowing missing dependencies ('mm',
ALLOW_MISSING_DEPENDENCIES, tapas, etc), we'll defer the link type
checks to during the build. If we're not allowing missing dependencies,
we'll produce a better error message to the user about the missing
dependencies.

See core/main.mk for a description of the storage format.

This also remove the partition-based type checking. It hasn't worked all
that well, particularly with ASAN builds. The new VNDK checks will
handle the most pressing cases.

Test: Verify all link_type files and dependencies are the same:
  grep link_type: out/build-aosp_arm64.ninja | sed -E "s/ rule[0-9]+//" | sort
Change-Id: Id643658b9d9e84f99f5db0d526aad88c1f5d3417
2017-04-19 22:41:32 -07:00
Treehugger Robot ba0ebe9230 Merge "Revert "Revert "device-tests: As a dependency to tests""" 2017-04-12 21:05:08 +00:00
Simran Basi 65850daeb0 Revert "Revert "device-tests: As a dependency to tests""
This reverts commit df086140a8.

CQ-DEPEND=CL:365575
Bug: 35386840
Test: None

Change-Id: I17dc00ed64e220c5ce532386da1a1bc15cbfc439
2017-04-05 20:51:01 +00:00
Simran Basi 8a431d9c7d Common testcase directories: Clean up duplicates
This CL addresses the problem that native tests build for multiple
architectures and also build for host.

First it restructures each testcase folder to the following layout:
<testcase>/<testcase>.config
<testcase>/<arch 1>/testcase
<testcase>/<arch 2>/testcase

Secondly it now uses the new soong-zip prefix capability to
separate out host and target testcases in the device-tests &
general-tests zip files.

Bug:36692141
Test: `make device-tests general-tests cts -j` &
      ensured all built successfully.

Change-Id: I4e8b084ee56fa8940914911649ff35507d87eb27
2017-04-05 13:38:20 -07:00
Jin Qian df086140a8 Revert "device-tests: As a dependency to tests"
This reverts commit f153603ccc.

Change-Id: Ib439e2351da6c5eabcf412b29c6d798d05e01612
2017-03-21 01:00:41 +00:00
Simran Basi f153603ccc device-tests: As a dependency to tests
This change will build device-tests whenever tests is built.

Bug: 35386840
Test: None
Change-Id: If587bf74bb66b7ce5552493c73368bb68b6d34af
2017-03-20 13:14:49 -07:00
Treehugger Robot dd908dd925 Merge "device-tests & general-tests: build out zips." 2017-03-17 17:45:05 +00:00
Simran Basi c8f21f6c4e device-tests & general-tests: build out zips.
Generates the output zips of the device-tests & general-tests
buildable suites.

Bug: 35386840
Test: make dist device-tests general-tests -j
Change-Id: I253bcd8615379334b52b4d770a5c4f7e07a58795
2017-03-15 17:56:50 -07:00
Colin Cross f075bcbc98 package-modules: use && instead of ; between copy commands
Using ; to join commands in a rule causes failures to be ignored by
make.  Use && instead, and add true at the end as the second operand
to the last && operator.

Also inline copy-test-in-batch, batching is no longer necessary as
kati will fall back to a shell script if the recipe is too long to
fit in a command line.

Test: builds
Change-Id: I4a2528bf2a15106cfabaae0336662c4a0464271d
2017-03-14 16:58:34 -07:00
Dan Willemsen c4cf49569f Speed up *TS zip file creation
This also makes the resulting zip files more repeatable -- the file list
is sorted and the entries have static timestamps.

On my machine, this saves ~30 seconds for android-cts.zip, it now takes
less than a second.

Test: m -j cts; compare output from without this change
Change-Id: Ia71e35878ff98ba9775115860530e87eee47739f
2017-03-10 13:39:26 -08:00
Dan Willemsen e19ca033c6 Improve warnings for package-modules.mk
Include the calling makefile and package name instead of just a warning
pointing to package-modules.mk

Test: multiproduct_kati, grep logs
Change-Id: I4fa35540b9695b44eea6c23463e137ec37d1d2c9
2017-02-24 15:49:50 -08:00
Simran Basi 9c295b4415 Add device-tests and general-tests make targets.
Adds the device-tests and general-tests makefiles and
added include lines to main.mk so that individual test
modules can be built properly.

These targets do not build any special tradefed wrapper
that normal *TS's usually employ. They are not necessary
here.

Bug: 35350788
Test: Updated several CTS test modules to belong to these
      suites instead and ran:
      `rm -rf out; make clean; make device-tests general-tests -j`
      then verified the output.

Change-Id: I40e3958375f7b39cb56508f2812ce9760d403f6f
2017-02-21 17:04:47 -08:00
Alex Deymo 06f3258694 Merge "Include the LOCAL_REQUIRED_MODULES when packaging." 2017-02-13 16:01:35 +00:00
Joachim Sauer 66d05aebd6 Add java.time packages to whitelist.
Bug: 28832222
Test: builds
Change-Id: I5a77f519f51eca93c34e4697b92a92bf72f4eda9
2017-01-11 12:48:33 +00:00
Alex Deymo 00dc66760e Include the LOCAL_REQUIRED_MODULES when packaging.
When building test modules, dependencies added by the test modules get
build but don't get included in the packaged tests .zip file.

When packaging modules into a .zip file, this patch includes the modules
explicitly listed as a dependency in LOCAL_REQUIRED_MODULES for the
requested modules to package.

If these LOCAL_REQUIRED_MODULES dependencies are not used in the base
system image, they were build as part of the "tests" target but weree
not included in the package nor in the system image. This patch includes
those modules, making it easier to define dependencies of a test
module in the Android.mk file that defined said module, instead of
requiring to re-list all the dependent modules when packaging test
modules.

Bug: 27348226

Change-Id: Ic6f60cf2916b3fae0fa39f84aee8a4f440af9539
2017-01-05 12:12:42 -08:00
Keun Soo Yim 18a316c161 delete vts.mk (which is moved to test/vts)
Test: m -j vts
Change-Id: I3ab29e59b6f77f3ac92bbfe7a6f7a8f36b2ba3bd
(cherry picked from commit a942dc8433)
2017-01-04 13:16:33 -08:00
Vikram Dattu 29e88b850e HOST_OUT_EXECUTABLES path is not needed in misc_info file
HOST_OUT_EXECUTABLES is already added to the PATH variable,
so it is not needed to add the path info for binaries in
misc_info.txt and <partition>_image_info.txt.

Earlier the mkuserimg item in the build_image dictionary is
hardcoded to "mkuserimg.sh", but now it is customized for
mkuserimg.sh and mkuserimg_mke2fs.sh, and maintained in
dictionary "ext_mkuserimg=$(MKEXTUSERIMG)" in misc_info.txt
and <partition>_image_info.txt, where it is used in the
build_image script while creating the images.

The problem here is the value for this key is set to build
path of the file mkuserimg file
$(HOST_OUT_EXECUTABLES)/mkuserimg.sh,
i.e. out/host/linux_x86/bin/mkuserimg.sh,
there by standalone signing the images using otatools is
not working as the executables are packed in bin folder.

Test: tools/releasetools/sign_target_files_apks
    -p <extracted ota-tools.zip folder>
    --extra_signapk_args=-f /etc/opt/cert_data.dat
    -v
    --replace_verity_private_key ~/build/target/product/security/verity
    --replace_verity_public_key ~/build/target/product/security/verity.x509.pem
    -k <key maping>
    <input target files zip>
    <output target files zip>

Change-Id: I57af1025ec38f3794f779c49faa0bf965afc6a5d
2016-12-20 13:55:06 +01:00
Paul Duffin 5bf0587461 Use legacy-test instead of core-junit
The core-junit library has been replaced with the legacy-test
library. The latter included everything that was in core-junit
plus some android.test classes that were in frameworks.

Bug: 30188076
Test: make checkbuild
Change-Id: Id2ba827705dbd2c27a1183e1153b03c11a8a4074
2016-12-09 15:21:45 +00:00
Treehugger Robot 52897d4ecb Merge "custom_image: fix build break" 2016-12-07 03:20:13 +00:00
bowgotsai 0f72bca96b custom_image: fix build break
Fix build break caused by
https://android-review.googlesource.com/#/c/305575/.

Bug: 33358681
Test: make custom_images

Change-Id: I1ba7cf61491c8593b20bdac58e984f1928697b8c
2016-12-06 17:36:31 +08:00
Guang Zhu bd8ab0da8b Merge "remove use of CTS_TESTCASES_OUT" am: 24dd78a2d7 am: b5e2ecab4d
am: 30858857a0

Change-Id: Ib5f060e87d8319968795e00bf6259d2ec1690629
2016-10-07 01:24:48 +00:00
Guang Zhu 29fe14721e remove use of CTS_TESTCASES_OUT
Bug: 31788743
Test: $ make cts dist
      # check contents of generated package and API coverage
      # report
      $ make checkbuild

Merged-In: Ieec069bafbcc6df5a5b3b06befb4a3a5678a06fd
Change-Id: Ieec069bafbcc6df5a5b3b06befb4a3a5678a06fd
(cherry picked from commit f8f0880b3b8fb6a80ed766068d5f1714625b8960)
2016-10-06 16:57:39 -07:00
Narayan Kamath 9e57e11256 Merge \\\"Update package whitelist to track changes to java.lang.invoke.\\\" am: 8ce8f60a2f am: dbce967b11
am: 1668db9c69

Change-Id: I09bfa60727e3df47ae2e0bb1f0b936ff229111ae
2016-08-01 12:35:14 +00:00
Narayan Kamath dbce967b11 Merge \"Update package whitelist to track changes to java.lang.invoke.\"
am: 8ce8f60a2f

Change-Id: I61e7aa74c70675f676638dae867f3f18eebe75b3
2016-08-01 12:29:17 +00:00
Narayan Kamath 7ee6289f25 Update package whitelist to track changes to java.lang.invoke.
The introduction of java.lang.invoke.MethodType and its supporting
classes, in particular.

bug: 30550796
test: make checkbuild

Change-Id: Id2b84d3bb911f4bc5aef0761d357b1e9121030ab
2016-08-01 13:24:14 +01:00
Narayan Kamath b9cb94135b Merge \\\"Add java.lang.invoke to the package whitelist.\\\" am: 900e9e6392 am: e2d375f12c
am: 99a8527d68

Change-Id: Ia9347cd508917b4ae0c9f3724a835d9af752af79
2016-07-22 09:45:34 +00:00
Narayan Kamath e2d375f12c Merge \"Add java.lang.invoke to the package whitelist.\"
am: 900e9e6392

Change-Id: I5d25d40dc0b661ff1acaa957145f32c0f13da853
2016-07-22 09:40:35 +00:00
Narayan Kamath 497c35c1a7 Add java.lang.invoke to the package whitelist.
Tracks libcore change that adds the first classes from this package
to core-oj.jar. Note that packages need to be whitelisted even if
the classes in question aren't public API.

Test: make checkbuild docs

Change-Id: I917dc63899124ca30bbeb2902787faea6754bb43
2016-07-21 15:27:09 +01:00
Yi Kong e07bf4a87f Merge \\\"Add jdk.net to whitelist\\\" am: d2f4cbbf88 am: 09d7992067
am: 3fc2a2c326

Change-Id: I5939b0d36c8366ff2935ede6d295601951714e62
2016-06-29 11:14:30 +00:00
Yi Kong 09d7992067 Merge \"Add jdk.net to whitelist\"
am: d2f4cbbf88

Change-Id: I80f7f529659953fd5664211e2a779d09e2245d34
2016-06-29 11:06:23 +00:00
Yi Kong d2f4cbbf88 Merge "Add jdk.net to whitelist" 2016-06-29 11:00:47 +00:00
Hung-ying Tyan c028287fcd Merge \\\"Add VENDOR_PRODUCT_RESTRICT_VENDOR_FILES\\\" am: 2acb2d5bcf am: 200da242a5
am: 00e23a1d8f

Change-Id: Ibf7c1fdeb9994b7c12ac3dd2fa8d8dec53b7d276
2016-06-28 06:27:13 +00:00
Hung-ying Tyan 200da242a5 Merge \"Add VENDOR_PRODUCT_RESTRICT_VENDOR_FILES\"
am: 2acb2d5bcf

Change-Id: I3c151949bcc6b8d75f2c46619b6ce38561084338
2016-06-28 06:22:17 +00:00
Hung-ying Tyan 3c054d8e1f Add VENDOR_PRODUCT_RESTRICT_VENDOR_FILES
Allow exceptions specified by module (VENDOR_EXCEPTION_MODULES) and
path (VENDOR_EXCEPTION_PATHS, not including leading vendor/).

BUG=26968426

Change-Id: I068e43f3eae14f8793c33ae916d46979ab1681d1
2016-06-28 10:10:53 +08:00
Yi Kong 066a9c3e53 Add jdk.net to whitelist
Tracks libcore commit a434f3be3c22c6b3e7ddd426766808e76a5780fd

Bug: 29067535
Change-Id: I764b602aa0f2a991dc26b5fd42a1143bb58d67ba
2016-06-24 18:57:55 +01:00
Vineeta Srivastava 323f0f9407 Whitelist verizon as local module owner.
Change-Id: I807ac61688e6f5862de521e3c9b960dd64eed1f6
2016-06-09 11:12:52 -07:00
Nicholas Sauer 088230cb34 Add org.apache.harmony.tests.javax.xml to old cts
bug: 28556024
Change-Id: I7903ce93f27aef55f55acc9231e631d11a463f1b
2016-05-10 12:54:32 -07:00
Igor Murashkin 5ec15a52b1 old-cts: Add testng and libcoreoj test support
Bug: 27521545
Change-Id: I2a954401ce47604987a437a2741bcab252d32708
2016-04-26 17:47:45 -07:00
Igor Murashkin 2d9bba9735 old-cts: Add testng and libcoreoj test support
Bug: 27521545
Change-Id: I2a954401ce47604987a437a2741bcab252d32707
2016-04-26 17:00:22 -07:00
Narayan Kamath 9a611b27fc Merge "Revert "old-cts: Add testng and libcoreoj test support"" into nyc-dev 2016-04-26 13:22:08 +00:00
Narayan Kamath 51b3f1da0b Revert "old-cts: Add testng and libcoreoj test support"
This reverts commit 1d4ad6a527.

This topic has been reverted because it causes build flakiness and
bogus verification failures on most active changes.

Change-Id: I4a935c9a861e063e28ddc1c35bc3fa015174e81d
2016-04-26 13:14:55 +00:00
Igor Murashkin 1cb8adb1fa Merge "old-cts: Add testng and libcoreoj test support" into nyc-dev 2016-04-25 23:39:16 +00:00
Igor Murashkin 1d4ad6a527 old-cts: Add testng and libcoreoj test support
Bug: 27521545
Change-Id: I2a954401ce47604987a437a2741bcab252d32707
2016-04-07 16:55:08 -07:00
Joe Onorato 48bd6f53f4 Add generation of a module-info.json file
This outputs all of the modules that the build system knows about
for this invocation.

Change-Id: I8f95f3f8443c18f7898ce90e287432cbd2b6db6d
2016-04-06 19:11:51 -07:00