Commit Graph

785 Commits

Author SHA1 Message Date
Chen Zhu
ce72964fa1 Add Mainline Test Suite (MTS) to build.
Test: m mts

Bug: 126277867
Bug: 123411735
Change-Id: Iba6bf89bd4457ed0f5c1eb3351bf5ffd6720441d
2019-06-19 15:14:23 -07:00
Patrick Tu
8543ca7fd5 Merge "AIDEGen: Collect the classes.jar of the prebuilt modules into module-info.json" am: 58982618e1
am: f7f933b28b

Change-Id: Ic1d4889712ae9cd36a44d73017f9115a3443858e
2019-06-16 21:18:39 -07:00
Patrick Tu
58982618e1 Merge "AIDEGen: Collect the classes.jar of the prebuilt modules into module-info.json" 2019-06-17 02:51:56 +00:00
patricktu
379f7f0ef6 AIDEGen: Collect the classes.jar of the prebuilt modules into module-info.json
Current information is not enough if the prebuilt modules are depend on
AAR libs Therefore, AIDEGen has to collect the classes.jar of the
prebuilt modules from build system.

Build module-info.json without this change:
Build time: 1m55.001s
File size: 14,918,354 Bytes

Build module-info.json with this change:
Build time: 1m56.292s
File size: 15,577,031 Bytes

Bug: 132768299
Test: 1. Checkout the internal master branch
      2. Patch this CL
      3. m -j out/target/product/generic_x86_64/module-info.json
      4. Open the module-info.json
      5. For verifying soong_java_prebuilt.mk, check the classes.jar of
         module prebuilt-google-play-* exists.
         e.g.
         "prebuilt-google-play-...": {
              ...
              "classes_jar": [
	      	"out/target/common/obj/JAVA_LIBRARIES/
		 prebuilt-google-..._intermediates/classes.jar"
	      ]
         }
      5. For verifying java_prebuilt_internal.mk, check the classes.jar
         of module ink exists.
         e.g.
	 "ink": {
	     ...
	     "classes_jar": [
	     	"out/target/common/obj/JAVA_LIBRARIES/ink_intermediates/
		 classes.jar"
	     ]
	 }

Change-Id: I09518c92260db47d2686493fa13951f316159d13
2019-06-14 10:47:18 +08:00
Colin Cross
8ed5deeae1 Merge "Make kernel modules into normal installed files" am: b7035aef21
am: ffaf599a6e

Change-Id: I8c333170b760d32f109d7d82b3454f2b61769ff0
2019-06-13 04:11:39 -07:00
Colin Cross
4f60e366db Make kernel modules into normal installed files
We sometimes see build failures when building platform.zip happens
at the same time as building vendor.img if the vendor.img rule
runs rm -rf $OUT/vendor/lib/modules at the same time that platform.zip
is zipping $OUT/vendor/.  Move the kernel modules into normal
installation rules so that they are in place by the time either
the vendor.img or platform.zip rules run.

This will also cause the kernel modules to show up in
installed-files*.txt.

Test: m vendorimage && ls $OUT/vendor/lib/modules
Change-Id: I178b1d54bfcdb5cf5c29885ace9183ac28fc8826
2019-06-06 12:51:47 -07:00
Dan Willemsen
25b25360f0 Merge changes Id8365ce4,I952515c2 am: c85f6d56f5
am: bcdd57abde

Change-Id: I150a18742e8e0016c961ae1c55a0812bdb3ecbf7
2019-05-29 10:31:32 -07:00
Dan Willemsen
288bedfc8f Convert more uses of $(ACP) to cp
Test: treehugger
Change-Id: Id8365ce4c06dfe731be9b80f805e071fab522909
2019-05-28 15:36:47 -07:00
patricktu
e28672d634 Merge "AIDEGen: Collect the srcjar path of modules into module-info.json" am: 40b5340a94
am: 608cf95523

Change-Id: I5a04a63ede69400e8c3b0e472a8f6e43501ecdb8
2019-05-20 21:49:21 -07:00
Treehugger Robot
40b5340a94 Merge "AIDEGen: Collect the srcjar path of modules into module-info.json" 2019-05-21 02:02:20 +00:00
patricktu
ab435e39a5 AIDEGen: Collect the srcjar path of modules into module-info.json
By design doc: go/aidegen-doc-generate-R
In order to generate R.java of app modules, AIDEGen needs to build
the module. It might cause system.img oversized so we turn to build
the target srcjar file if it exists in module-info.json.

Build module-info.json without this change:
Build time: 1m47.227s
File size: 14,186,429 Bytes

Build module-info.json with this change:
Build time: 1m46.796s
File size: 14,614,470 Bytes

Bug: 132407603
Test: 1. m out/target/product/generic_x86_64/module-info.json
      2. by grep "target/common/obj/APPS/Settings_intermediates/aapt2.srcjar"
         in module-info.json.

Change-Id: I09c812aede0324bc38acbead0a863a85ae15b33e
2019-05-17 01:46:56 +00:00
Inseob Kim
43f0db0fa0 Merge "Generate VNDK snapshot with Soong except configs" am: 85fba4c04a
am: 1d61f54039

Change-Id: I1b4bbaa7bf30fd3f75e8c78868ce32f5692a0806
2019-05-15 15:38:00 -07:00
Inseob Kim
10e02dcd43 Generate VNDK snapshot with Soong except configs
This is the first commit to generate VNDK snapshot with Soong: .so
files, some txt files, and notice files are captured with Soong. As
ld.config.txt is currently in Android.mk and will be deprecated soon,
configs files (and zipping all of artifacts) are still handled with
Makefile.

Bug: 131564934
Test: 1) DIST_DIR=out/dist development/vndk/snapshot/build.sh
Test: 2) try installing vndk snapshot with:
         development/vndk/snapshot/update.py

Change-Id: Ia904e8a1b44824d6c9556ada93bf1616620a1363
2019-05-14 06:40:08 +00:00
Pete Gillin
286127c342 Merge "Whitelist javax.annotation.processing for inclusion in core-oj." am: 738b9963d5
am: 0077fa356e

Change-Id: If0c9c500710fea0c739d627c7d16f0c4d3493dcd
2019-05-13 05:07:36 -07:00
Pete Gillin
0ad2ef677d Whitelist javax.annotation.processing for inclusion in core-oj.
Bug: 123891440
Test: EXPERIMENTAL_USE_OPENJDK9=true make droid

(cherry picked from commit ec99530de3)

Merged-In: I0fc7a6841f34361883785479671f4422d720ce00
Change-Id: I70dbb89ca29ec1bb47ea5a1cf27b324d354aca11
2019-05-10 13:07:02 +01:00
Dan Willemsen
6a2614e79b Merge "Split ALL_MODULES.*.REQUIRED and friends between target/host" am: 20f6491dc6
am: 12fdd872c4

Change-Id: Ib2d65f8bad9b22e9ddc8b218d5e786078be3d09d
2019-04-10 20:56:42 -07:00
Dan Willemsen
5606d2b53b Split ALL_MODULES.*.REQUIRED and friends between target/host
So that we actually respect different LOCAL_REQUIRED_MODULES for the
host and device versions instead of unioning them. That got particularly
problematic when LOCAL_SHARED_LIBRARIES is implicitly added to
LOCAL_REQUIRED_MODULES. We also used to walk through device-only modules
when filling out the list of required modules, which triggered even more
extra installations.

This also changes the requirements for PRODUCT_HOST_PACKAGES so that it
no longer accepts target-only phony modules (since we can now
differentiate them). They were all removed in previous patches.

Bug: 123925742
Fixes: 129719937
Test: treehugger; diff resulting builds
Test: diff list of product_target_FILES and product_host_FILES
Change-Id: I2ed8950320d31f5693323ad8cef6ec5b6780b7d4
Merged-In: I2ed8950320d31f5693323ad8cef6ec5b6780b7d4
(cherry picked from commit 8e96a794ac)
2019-04-10 17:04:48 -07:00
Dan Willemsen
8e96a794ac Split ALL_MODULES.*.REQUIRED and friends between target/host
So that we actually respect different LOCAL_REQUIRED_MODULES for the
host and device versions instead of unioning them. That got particularly
problematic when LOCAL_SHARED_LIBRARIES is implicitly added to
LOCAL_REQUIRED_MODULES. We also used to walk through device-only modules
when filling out the list of required modules, which triggered even more
extra installations.

This also changes the requirements for PRODUCT_HOST_PACKAGES so that it
no longer accepts target-only phony modules (since we can now
differentiate them). They were all removed in previous patches.

Test: treehugger; diff resulting builds
Test: diff list of product_target_FILES and product_host_FILES
Change-Id: I2ed8950320d31f5693323ad8cef6ec5b6780b7d4
2019-04-10 13:22:23 -07:00
Anton Hansson
cf0b72a241 Merge "Access PRODUCT_ variables directly" am: 8adf501905 am: ffed666e07
am: 9ff3ac88c6

Change-Id: Ica9e69e2252d89c7cbc5681b772b78e7bc3913e4
2019-03-29 10:16:52 -07:00
Anton Hansson
8dab0a6f50 Access PRODUCT_ variables directly
This CL simplifies the PRODUCTS.$(INTERNAL_PRODUCT).X accesses of
product variables, and removes unnecessary stripping of them.

Replace: '\$\(PRODUCTS\.\$\(INTERNAL_PRODUCT\)\.([^\)]*)\)' with '$(\1)'
Replace: '\$\(strip\s*\$\(PRODUCT_([^\)]*)\)\)' with '$(PRODUCT_\1)'

A few minor manual tweaks.

Bug: 116769560
Test: presubmit
Change-Id: I70c54f1582e3cc780028535960147d99ebc2e0e1
2019-03-28 15:54:25 +00:00
Nelson Li
ed516e293d Merge "Revert "Revert "Build System: Solve dependency problem for test""" am: 795721ac2a am: 3c4c86943c
am: fd71578493

Change-Id: I369b55cbd93ff3dd679fdbc67cb05c712ca3ed5f
2019-03-13 21:43:13 -07: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
Nelson Li
f5a4af9e91 Merge "Revert "Build System: Solve dependency problem for test"" am: 8924400a8a am: abc1617463
am: 87a4a179e1

Change-Id: I9e4095865afd148d7e7aec163d0430dd2e497d3d
2019-03-11 15:32:57 -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
nelsonli
6e17758737 Merge "Build System: Solve dependency problem for test" am: 15e76e3848 am: 740ac49c83
am: 6e62c0bdaa

Change-Id: Ic1786c6b153ab105400aa1e2c78101fa288ee913
2019-03-11 08:34:40 -07: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
Jeongik Cha
eb6ca34f80 Merge "Clean up noisy error log in find-shareduid-violation.py" am: 50b4b395bc am: d9182b546c
am: 52822b33c8

Change-Id: I12abd5886c9f26ee9b0407e64eceef697075829e
2019-02-16 20:38:09 -08:00
Jeongik Cha
b806c44326 Clean up noisy error log in find-shareduid-violation.py
The script makes noisy error although fallback cmd succeed.

So make the script writes error log only if both of commands fail.

Bug: 124470143
Bug: 123664116
Test: m -j out/target/product/$(get_build_var TARGET_DEVICE)/shareduid_violation_modules.json
Test: And there is no error log in stderr
Change-Id: I3d4756066ee6904826c18754969fd4190bd02e1e
2019-02-16 10:50:56 +09:00
Jeongik Cha
3ac04e1ff6 Merge "Detect shareduid between different partitions" am: 1b082c3e05 am: 39fa5c4357
am: 79fd81bef6

Change-Id: I518c6ebd3b9723de95cc226bd80dc1fff4aa5ad7
2019-02-11 17:40:24 -08:00
Jeongik Cha
ef26afdc27 Detect shareduid between different partitions
Find shareduid usage between the partitions(system, vendor, product).

Here is sample output

{
  "android.uid.system": {
    "product": [
      "Settings.apk"
    ],
    "system": [
      "framework-res.apk",
      "FusedLocation.apk",
      "Telecom.apk",
      "InputDevices.apk",
      "SettingsProvider.apk",
      "WallpaperBackup.apk",
      "KeyChain.apk"
    ]
  }
}

Bug: 123664116
Test: m -j out/target/product/$(get_build_var TARGET_DEVICE)/shareduid_violation_modules.txt
Change-Id: If2a75bf66b369cd3fad1744d08b6bfbfc624979c
2019-02-08 22:41:30 +09:00
Dan Willemsen
9ee26d3e2d Merge "Stop using the files target for droidcore" am: 7c7252d628 am: 2088fbbabb
am: c45a06de0c

Change-Id: I30cb945f01b30bc77a48e7ef0b99884b8006f157
2019-01-15 12:07:49 -08:00
Dan Willemsen
3b6f6fe8aa Stop using the files target for droidcore
This way if a BoardConfig.mk configures a specific image to exist (so it
doesn't end up as a folder on /system), but does not configure for it to
be created (like the device targets on AOSP that use a prebuilt), we
won't unnecessarily trigger the build system to build the contents.

Test: `m` before and after, comparing file lists
Test: check treehugger builds before/after
Change-Id: If0e4b958b3dfaa02771a5da70f970379635f904e
2019-01-14 21:46:31 -08:00
Prabir Pradhan
054f0d360a cheets: Use wildcard in org.chromium.arc whitelist
Use wildcard in org.chromium.arc whitelist.
Context: This change was suggested in ag/3200645 and was changed in
the master-arc-dev branch but failed to be upstreamed.

Bug: None
Test: Compiled locally
Change-Id: I3d1713fa47773a1f663fc4fd890d8ba507ed7042
2018-12-14 16:32:24 -08:00
Dan Shi
3e7b6d1c69 Merge "Copy shared libraries used by tests to testcases directory" am: 8b86ca8827 am: 0f4e535493
am: 550340760c

Change-Id: If1eaf53fca029de23eef2e43bb70dd7386735ff2
2018-11-05 13:39:26 -08:00
Dan Shi
6fe5bf0adb Copy shared libraries used by tests to testcases directory
This change collects the shared libraries files used by tests in
suite, and deploy the files to testcases/lib*. The shared libraries then
can be zipped in general-tests.zip and device-tests.zip. And the host
test can be run in TradeFed host based on build artifacts.

Bug: 111486845
Test: m -j general-tests; m -j device-tests
Confirm the test can run in testcases directory:
out/host/linux-x86/testcases$ ./net_test_avrcp/x86_64/net_test_avrcp
unzip general-tests.zip, confirm net_test_avrcp can run.

Change-Id: I4f9322118aa4891226ea318cbd1bcee6ca48b050
2018-11-04 19:51:59 -08:00
Julien Desprez
df9b2e8618 Merge "Remove host proto lib from cts jars" am: b8ca22ca30 am: 7401988272
am: b51ceb203e

Change-Id: Iaae44655a40a1fdae62b315ea2dbd15540b0d5bc
2018-10-23 16:29:18 -07:00
Julien Desprez
e483544cf5 Remove host proto lib from cts jars
The lib is already statically included in tradefed.jar.

Test: run cts-unit-tests
Bug: 118297021
Change-Id: I073b68216870b1e744ee35db82a7e03f11db6782
2018-10-23 09:38:09 -07:00
Colin Cross
e8def07454 Merge "Always define sdk_addon as phony" am: 1e0b2296ad am: 19751a16e7
am: f17c76460f

Change-Id: If1df5913bb8e50d6c3116f7595d9db5db24c09e4
2018-10-22 11:37:59 -07:00
Colin Cross
d0dbeb3758 Always define sdk_addon as phony
dist-write-files will add dist targets to the sdk_addon target,
but the sdk_addon target is not declared as phony when building
with mm (ONE_SHOT_MAKEFILE set), causing:
build/make/core/main.mk:1495: error: writing to readonly directory: "sdk_addon"

Always define sdk_addon as phony even if ONE_SHOT_MAKEFILE is set.

Bug: 118144231
Test: mm
Change-Id: I99d14a98a7597ebd694c765f94b0d6f4486860dc
2018-10-22 10:42:44 -07:00
Dan Willemsen
ad8e05d900 Merge "Remove check_emu_boot, it's no longer necessary" am: 6393560856 am: dfb64ca033
am: 786a5363cf

Change-Id: I5888c8236663d329594a9eafe812234402b344d2
2018-10-18 09:07:19 -07:00
Dan Willemsen
5d8bbbe885 Merge "Clean up DIST_DIR usages, move to dist-for-goals" am: d3e8e5321f am: c466bc0203
am: 91ebad1b6b

Change-Id: I03f6cc3ca7e8f0279ecdab6562ff45e814e303d9
2018-10-18 08:39:47 -07:00
Dan Willemsen
dfb64ca033 Merge "Remove check_emu_boot, it's no longer necessary"
am: 6393560856

Change-Id: I89e3fc589dd2840fdea28b98f0de400d51a2a95a
2018-10-17 17:20:50 -07:00
Dan Willemsen
b1e3357962 Remove check_emu_boot, it's no longer necessary
Bug: 117859878
Test: treehugger
Change-Id: I4e9ade9b5b9dc7d494101bbd0b0eb2b245244337
2018-10-17 11:13:07 -07:00
Dan Willemsen
c466bc0203 Merge "Clean up DIST_DIR usages, move to dist-for-goals"
am: d3e8e5321f

Change-Id: Ib9defade594f2ccfe21aa2e6dc01e1641d12d9af
2018-10-17 10:38:52 -07:00
Dan Willemsen
7537fd050f Clean up DIST_DIR usages, move to dist-for-goals
soong_ui now guarantees DIST_DIR is set in the environment, so remove
the default.

Use dist-for-goals instead of writing directly into DIST_DIR.

When building the system image, use DIST_DIR from the environment
instead of from make. This will eventually stop working, but this will
work for now.

Bug: 117463001
Test: m dist  (check gpl_source.tgz, logs/product_copy_files_ignored.txt)
Test: m out/target/product/generic/product_copy_files_ignored.txt
Change-Id: Ice557e0a148602cb8eb154efb747d416f0d0db59
2018-10-16 23:37:51 -07:00
Colin Cross
f4686696c4 Merge changes I9e73c0b8,Iac5c4327,Idf6fbc94 am: 7307de5e0c am: 4aa10a3cc5
am: 1033e0516b

Change-Id: I208a549fc8dd99fb511327a1c9c4d07e4f6cf54b
2018-10-01 19:38:25 -07:00
Colin Cross
4aa10a3cc5 Merge changes I9e73c0b8,Iac5c4327,Idf6fbc94
am: 7307de5e0c

Change-Id: Ifa95c4ec335d9bf913f851101f09c55840091dce
2018-10-01 19:15:18 -07:00
Colin Cross
8b6c94c744 Disable sdk_addon for mmm
mmm has a smaller view of the world and cannot generate sdk-addon
zip files.

Bug: 116818719
Test: m checkbuild
Change-Id: I9e73c0b84a42aaaa353704d6ab245b449166606d
2018-10-01 13:41:27 -07:00
Simran Basi
53de318fc2 Merge "Create an artifact to output module-info and OWNERS files in source code" am: 004b9b7b7d am: 33724676b9
am: aaf4d46865

Change-Id: I58f69b47fd0b6527f2bfae35442e369402e4539e
2018-09-26 15:05:19 -07:00
Simran Basi
33724676b9 Merge "Create an artifact to output module-info and OWNERS files in source code"
am: 004b9b7b7d

Change-Id: I3536b4c6268659117237fd3b3001c8a208e841f9
2018-09-26 14:48:44 -07:00