Commit Graph

686 Commits

Author SHA1 Message Date
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 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 288bedfc8f Convert more uses of $(ACP) to `cp`
Test: treehugger
Change-Id: Id8365ce4c06dfe731be9b80f805e071fab522909
2019-05-28 15:36:47 -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 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 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 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 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 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 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 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 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 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 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
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 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 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 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 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 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
Treehugger Robot 004b9b7b7d Merge "Create an artifact to output module-info and OWNERS files in source code" 2018-09-26 21:37:54 +00:00
Matt Wachowski 7318443ea1 Merge "Added rules to include verified boot config in zip"
am: 7e67802381

Change-Id: Ibbf4b6bc2f37621ab255123e417b8ea04dd61694
2018-09-26 10:28:21 -07:00
Matt Wachowski 7e67802381 Merge "Added rules to include verified boot config in zip" 2018-09-26 17:15:11 +00:00
Simran Basi 03f5253020 Create an artifact to output module-info and OWNERS files in source code
Bug: 114242886
Test: make dist -j owners
      make dist -j module-info

Change-Id: I6d00928c25e3213a5563e64806e0c04530161581
2018-09-24 16:31:29 -07:00
Nan Zhang d332efd698 Merge commit 'ee16bfa6ca876affd27c07e28fdfb7c67dcd16fb' into stage-aosp-master
Test: m -j api-stubs-docs-jdiff
Change-Id: I927aadd930572365e823f4ae9636773a9820c9c8
2018-09-18 20:41:21 -07:00
Nan Zhang e06305123b Delete apidiff.mk
Also remove the msg.mk files used for old apicheck.

And export jdiff-doc.zip generated by Soong.

Test: api-stubs-docs-diff
Bug: b/78245848
Change-Id: I329aa375623a7b7a121d58314dab694a326c9f0f
2018-09-17 15:33:13 -07:00
Matt Wachowski 9e4d5153b7 Added rules to include verified boot config in zip
Bug: b/78113934
Test: Local

Change-Id: I011a84e3804c6f2d217c723b9e05fd0f9a814e04
2018-09-14 09:53:14 -07:00
Brandon Lee e17d8163c1 Merge "aidegen: add extra info to collect in module-info."
am: 076b905763

Change-Id: I3c32064f08f07d1e1dde130d5d248adf6519395c
2018-09-13 16:48:03 -07:00
Brandon Lee 5568c19ae1 aidegen: add extra info to collect in module-info.
- add "dependencies" and "srcs" to collect in module-info.mk.
- add "Srcs" in core/base_rules.mk

Bug: 112523202

Test: make out/target/product/generic_x86_64/module-info.json and
      generate out/target/product/generic_x86_64/module-info.json

Change-Id: I0669377b2e5e6b4ee225f1930bda208eff092dea
2018-09-12 17:39:32 +08:00
Dan Willemsen 127e2da2d3 Merge "Mark more sdk targets as PHONY"
am: 88207d0d65

Change-Id: Ia1b5757f64583f4763a939c80951cf792a5d5071
2018-09-10 18:57:49 -07:00
Dan Willemsen 921f581bef Mark more sdk targets as PHONY
These are used in various dist-for-goal targets even if we're not
currently building the sdks, so they always need to be marked with
.PHONY.

Test: m dist
Change-Id: I1e11ae37c6d0fd6ef8a3e293cf7409773c1bf3ab
2018-09-10 15:14:09 -07:00
yangbill 92ea6769da Merge "ATest: Change module_name from list to single string."
am: adee0d54d0

Change-Id: I5d51e26ae7231ce3b6109da214304a0336dd347c
2018-09-07 00:15:22 -07:00
Treehugger Robot adee0d54d0 Merge "ATest: Change module_name from list to single string." 2018-09-07 07:07:13 +00:00
yangbill f90b734c0c ATest: Change module_name from list to single string.
ATest's original module_name is designed as a single string.
The different type maybe cause some problem when loading module_name
data. Due to it expected it as a list but actually it will be a single
string after mod-info obj handling this data.

Bug: 113317515
Test: atest aapt2_tests
      atest hello_world_test
      atest BluetoothInstrumentationTests
      atest packages/apps/Bluetooth/tests/unit/Android.mk
      atest RunBluetoothRoboTests
      atest com.android.bluetooth
      atest libcore/luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java
        Multiple tests found:
	  0: libjavacore-unit-tests
          1: jsr166-tests
          2: core-ojtests-public
	  ...
      atest SSLSocketTest # Brings up 2 prompts, one for which file then one for which module
      make -j bit
      bit Settings
      bit hello_world_test
      bit BluetoothInstrumentationTests
      bit RunBluetoothRoboTests (Could not find module, but the same situation
          before applying this patch)


Change-Id: I46a14c675eabd7cebd82562954380a9a769e80b5
2018-08-30 05:06:32 +00:00
Sasha Smundak e6c2066b13 Merge "Do not call sort when setting ALL_DEPS.MODULES."
am: acdaa8fbac

Change-Id: Ief13c8c4ce110be86d6b0f47238fa5a23903ecd8
2018-08-29 11:38:59 -07:00
Treehugger Robot acdaa8fbac Merge "Do not call sort when setting ALL_DEPS.MODULES." 2018-08-29 18:28:41 +00:00
yangbill 494c9442b6 Merge "Atest: add LOCAL_TEST_CONFIG to module_info.json"
am: be4ad83ef3

Change-Id: I83aadbe82ceebda3b52cb8d7e01003a96f722cec
2018-08-23 20:06:09 -07:00
yangbill c9347b3167 Atest: add LOCAL_TEST_CONFIG to module_info.json
Bug: 112335032

Test: 1. Add LOCAL_TEST_CONFIG := ahat-tests.xml in
         art/tools/ahat/Android.mk for ahat-tests
      2. add ahat-tests.xml in local
      3. atest -m hello_world_test
      4. check module_info.json
         local_full_test_config": ["art/tools/ahat/ahat-tests.xml"]

Change-Id: Ice2a0c85979fa6b872c92aea5ff4a340342408ad
2018-08-24 09:29:11 +08:00
Colin Cross e50ba8fc87 Merge "Fix reference to cleared global variable"
am: 5d1688bf27

Change-Id: Id1b4a96c99adb7be2ac27c867fe30d924a3663f6
2018-08-20 20:35:40 -07:00
Colin Cross cceb7ab6d7 Fix reference to cleared global variable
Use PRIVATE_general_tests_list_zip inside the rule.  Also remove the
output files to make it more likely that an incremental build fails
the same was as a clean build.

Bug: 112865316
Test: rm $OUT/general-tests* && m general-tests
Change-Id: Idbca35f9ca71f65ef45ef026df41bd933fb9d37d
2018-08-20 19:26:33 -07:00
Colin Cross 09935c266b Merge changes from topic "test_suite_harness_bp"
am: c9f31dff01

Change-Id: I132397729b490d71e9466a18a505d49bf04c81be
2018-08-20 10:36:07 -07:00
Colin Cross 8a670d6c61 Move general-tests intermediates out of $(PRODUCT_OUT)
am: 38f16dcf4e

Change-Id: I5e4048d82a044ae587413f5c535a2893cb76fa25
2018-08-20 10:35:16 -07:00
Colin Cross 964748505d Rename general-tests-* variables to general_tests_*
am: 50d1c22efb

Change-Id: Ic4698cee14ef532a7dde7235ad662f6e4b6809ab
2018-08-20 10:34:23 -07:00
Colin Cross b0d376f66b Add tools jars to general-tests.zip
Some non-tests were marked with
LOCAL_COMPATIBILITY_SUITE := general-tests
in order to get them into general-tests.zip. Soong is attempting to
only allow the test_suites property on tests.  Specify the tools
needed in the test suite in general-tests.mk instead, the same
way cts.mk does.

Bug: 112654980
Test: m checkbuild
Test: tradefed/general_tests_zip
Change-Id: Ied7a6b2f956b84659c3edcf4dd866a8cd936bedf
2018-08-17 22:59:12 -07:00