Commit Graph

16673 Commits

Author SHA1 Message Date
Colin Cross 4b06deaeaf Merge "Set default pool when RBE or goma is enabled"
am: 409e833def

Change-Id: I4cd39f0337dd3609e42bceb1446e80bce4e383ce
2019-11-15 10:41:13 -08:00
Colin Cross 409e833def Merge "Set default pool when RBE or goma is enabled" 2019-11-15 18:19:33 +00:00
Paul Duffin 6c6e830af8 Merge "Refactor sdk update mechanism"
am: 0f568b1237

Change-Id: I03637fd9ac74fb4530cfee5946ac4e96ac45d934
2019-11-15 07:24:45 -08:00
Treehugger Robot 0f568b1237 Merge "Refactor sdk update mechanism" 2019-11-15 15:19:13 +00:00
Jiyong Park f52c9cf572 Merge "apexDepsMutator is now bottom-up mutator"
am: 19258857ef

Change-Id: I06d2cf07372ff13b7595c1ddb584e926d44343b6
2019-11-14 22:04:59 -08:00
Treehugger Robot 19258857ef Merge "apexDepsMutator is now bottom-up mutator" 2019-11-15 05:18:24 +00:00
Jiyong Park 5a0fba64dd Merge "Override apexes with LOCAL_OVERRIDES_MODULES"
am: bbdeda5bed

Change-Id: I74469fafc2d6ad501c69ca010cb3ae53ff71f38f
2019-11-14 21:09:35 -08:00
Treehugger Robot bbdeda5bed Merge "Override apexes with LOCAL_OVERRIDES_MODULES" 2019-11-15 05:02:55 +00:00
Chih-hung Hsieh c3895078b3 Merge "Add TestProperties, gen test config, fix names"
am: 8d7ae1aefe

Change-Id: Idfc40a76b49026615596cc6c43982dbb409f2490
2019-11-14 20:40:04 -08:00
Mitch Phillips ff2da83225 Merge changes Idea4f04c,I3b85ef66
am: 6dd78bdda0

Change-Id: Ibf8bef665cb318990b6a6dee70260643678c39f4
2019-11-14 20:39:25 -08:00
Chih-hung Hsieh 8d7ae1aefe Merge "Add TestProperties, gen test config, fix names" 2019-11-15 04:28:41 +00:00
Treehugger Robot 6dd78bdda0 Merge changes Idea4f04c,I3b85ef66
* changes:
  Add $$ORIGIN/lib to rpath for fuzz targets.
  Prebuilt shared libraries should be collected for fuzz targets.
2019-11-15 04:26:22 +00:00
Ivan Lozano 93916e9120 Merge "Add new module types to the rust whitelist."
am: fcc157a150

Change-Id: I386ec4143454c048db63e753d15cb68f39ca2844
2019-11-14 20:04:09 -08:00
Treehugger Robot fcc157a150 Merge "Add new module types to the rust whitelist." 2019-11-15 03:47:33 +00:00
Ivan Lozano b6eddf33c0 Merge "Allow cc modules to pull in rust includes."
am: 36396b26ef

Change-Id: I1b85968d8a104c51691ce4c7aedaac70f853926d
2019-11-14 18:42:59 -08:00
Ivan Lozano 36396b26ef Merge "Allow cc modules to pull in rust includes." 2019-11-15 02:32:26 +00:00
Jiyong Park b2876f9b3d Merge changes Ibcc1096e,I21ac2441
am: bc196606c3

Change-Id: Ieea8fdaa3bfab6720283974f3c70179e9099d5a2
2019-11-14 18:05:38 -08:00
Jiyong Park a308ea1591 apexDepsMutator is now bottom-up mutator
... in preparation for override_apex.

Bug: 144338929
Test: m
Change-Id: I6c19e384edc089fe5c8aa9bd00082178bd1a37a2
2019-11-15 10:38:39 +09:00
Treehugger Robot bc196606c3 Merge changes Ibcc1096e,I21ac2441
* changes:
  Install AndroidApp only when needed
  Reland: JNI lib is always embedded for APKs in APEX
2019-11-15 00:10:05 +00:00
Jaewoong Jung 5cc475c6d8 Merge "Create .gitignore and add /.idea there."
am: d1ee08624f

Change-Id: I30e43243121141294fdb42098710120612b51e47
2019-11-14 16:07:20 -08:00
Treehugger Robot d1ee08624f Merge "Create .gitignore and add /.idea there." 2019-11-15 00:01:05 +00:00
Chih-Hung Hsieh 41805bedbf Add TestProperties, gen test config, fix names
* Rename testBinaryDecorator to testDecorator
* Add TestProperties
  * Add install function for testDecorator to install config files
  * Add tradefed.AutoGenRustHostTestConfig
  * Depend on new build/make/core/rust_host_test_config_template.xml
    and new tradefed.testtype.rust.RustBinaryHostTest class
* Add autogenTemplateWithName in tradefed/autogen.go
  to generate config files with customized(mutated) executable name.
* Make rust_test module names more robust and easy to use.
  * Use crate name instead of source file name as the Stem
    for single source file modules, to match original user
    specified output file name in Cargo.toml.
  * Do not set up test module SubName when Stem is empty
    or when the module name already contains Stem suffix.
    That happens when TestPerSrcMutator is disabled or when
    there is only one source file with renamed output file name.
  * In TEST_MAPPING, references to mutated rust_test modules should be
    (1) <module_name> for single source file modules without mutation, or
    (2) <module_name>_<crate_name> for single source file modules, or
    (3) <module_name>_<source_file_base_name> for multi-file modules.

Bug: 140938178
Test: mm in rust projects, check output test file names
Change-Id: Ifdbfa14d5eed4f10b4fb983f82c93bbb9be3f899
2019-11-14 15:16:26 -08:00
Mitch Phillips 1f7f54f441 Add $$ORIGIN/lib to rpath for fuzz targets.
RPATH needs to be set to traverse the local directory's lib folder for
fuzz target packages.

Bug: N/A
Test: m fuzz
Change-Id: Idea4f04ce4c55315df7e808de5b2b4f06a88d82a
2019-11-14 15:08:59 -08:00
Mitch Phillips f50bddb790 Prebuilt shared libraries should be collected for fuzz targets.
Currently, prebuilt shared libraries fail the linkable.CcLibrary()
check, as the module returned by NewPrebuiltSharedLibrary uses a
prebuiltLibraryLinker as the module.linker, rather than a
libraryDecorator (which is the check by CcLibrary()).

We also need to ensure that we discard LLNDK stubs libraries, so we
manually categorise and discard them as well. They unfortunately are are
cc.Modules that aren't CcLibraries, as they use a custom linker object
as well (stubDecorator).

Fixes: 144415986
Test: m fuzz
Change-Id: I3b85ef66d1602cb8c035a0a90bddf30674e2eb71
2019-11-14 11:02:50 -08:00
Mitch Phillips 6efa5852b3 Merge "Package fuzz targets into zipfiles, then coalesce."
am: ed0070d453

Change-Id: I152c0d901af82c97a786daa03bb42754194a78fd
2019-11-14 10:48:00 -08:00
Jeffrey Vander Stoep a0a19b871c Merge changes from topic "rust-sysroot"
am: f3a2d5abc3

Change-Id: I8463603573f1a5a4572984dc8c2dea0edbf8cd60
2019-11-14 10:44:43 -08:00
Mitch Phillips ed0070d453 Merge "Package fuzz targets into zipfiles, then coalesce." 2019-11-14 18:37:48 +00:00
Jeffrey Vander Stoep f3a2d5abc3 Merge changes from topic "rust-sysroot"
* changes:
  Enable x86_64 device support
  Build Rust Device Sysroots in Soong
2019-11-14 18:28:13 +00:00
Jaewoong Jung b2da7555e3 Create .gitignore and add /.idea there.
Test: git status
Change-Id: Iba3a128b4d071aac42adb6598eab3afe305aec6c
2019-11-14 10:26:10 -08:00
Paul Duffin 0e0cf1dca5 Refactor sdk update mechanism
Creates a SnapshotBuilder and GeneratedSnapshotFile interfaces to allow
the java library snapshot work to be moved into the java package.

Test: m -j60 checkbuild
Change-Id: I857167616026149d5e85885621b53876b419ba9b
2019-11-14 17:49:02 +00:00
Mitch Phillips 2edbe8e6ed Package fuzz targets into zipfiles, then coalesce.
Instead of writing all fuzz target files into a huge zipfile (by number
of entries), we instead write each fuzz target and its files to a
zipfile, then coalesce them into a big zipfile.

This should simplify the repackager significantly, as no unzipping and
repackaging should be needed (just renaming).

This also solves b/144418402, where we are very close to hitting the
POSIX args limit on the soong_zip command for the device fuzz package,
due to the line length generated by all the entries in the huge zipfile.

Fixes: 144418402
Test: make fuzz
Change-Id: I89797e1bea2691ff4a33a227306f2f9083d8af6e
2019-11-14 08:14:24 -08:00
Ivan Lozano 10ee3551ab Merge "Soong Rust source clean up."
am: 263dcb7397

Change-Id: I9955d33d04dfd9022ec10750ba7dc65e01c44657
2019-11-14 08:04:35 -08:00
Ivan Lozano 8a34287fad Add new module types to the rust whitelist.
Bug: 144490046
Test: make rust modules
Change-Id: Ib7122bcc20aa2cde2f48788431055fe986918dd0
2019-11-14 07:36:22 -08:00
Ivan Lozano e0833b1f5c Allow cc modules to pull in rust includes.
Make sure LinkabeInterfaces can export include dirs to cc modules. This
fixes the Rust implementation and makes sure these are pulled in for cc
modules.

Bug: 144052093
Test: cc module depending on a rust library includes dirs correctly.
Change-Id: I6b5d5e6ab6afb507178b4f2cbdc45f01031dbfe4
2019-11-14 07:23:26 -08:00
Ivan Lozano 263dcb7397 Merge "Soong Rust source clean up." 2019-11-14 14:07:55 +00:00
Jiyong Park b0a012cfec Override apexes with LOCAL_OVERRIDES_MODULES
APEXes are ETC type, which should be overridden via
LOCAL_OVERRIDES_MODULES. This change fixes a bug that
LOCAL_OVERRIDES_PACKAGES was used for APEXes.

Bug: 140792287
Test: m
Test: add com.google.android.tzdata to PRODUCT_PACKAGES and build.
/system/apex/com.google.android.tzdata.apex exists, but
/system/apex/com.android.tzdata.apex doesn't.

Change-Id: Id65743b36e0b706d6ffd8cae0597cc0a42a83fb7
2019-11-14 17:17:03 +09:00
Matthew Maurer 51feafad57 Enable x86_64 device support
Now that we have sysroots built in Soong, we can enable these devices
and they just work.

Bug: 141251907
Bug: 141381044
Change-Id: I562256fee372d331db883f7c1b46405945295c24
2019-11-13 17:46:24 -08:00
Matthew Maurer 99020b04fb Build Rust Device Sysroots in Soong
In order to ensure we are using current platform Bionic for any platform
Rust binaries, we need to build the sysroot in Soong. This will also
enable us too hook the "test" crate if necessary.

While both a dynamic and static sysroot are available, on device only a
dynamic sysroot will be injected. On host, we continue using the sysroot
used to build the compiler as before.

Bug: 139486496
Change-Id: I127377e5b056610ceb5015a34d266250320fbc31
2019-11-13 17:46:19 -08:00
Jooyung Han 53b46ff2e9 Merge "make ApexProperties defaultable"
am: c5c4d18db0

Change-Id: I5ce236ba320350242d18a892b7064bc911009387
2019-11-13 16:56:27 -08:00
Jooyung Han c5c4d18db0 Merge "make ApexProperties defaultable" 2019-11-14 00:42:43 +00:00
Roland Levillain b6c3c9c894 Merge "Fix some typos in Soong."
am: c3eb1b2959

Change-Id: Iaa174f2140c5dd90e033bcf14eea6b5a163dc8cd
2019-11-13 12:04:30 -08:00
Roland Levillain c3eb1b2959 Merge "Fix some typos in Soong." 2019-11-13 18:50:36 +00:00
Sam Saccone 3249fcda3b Merge "Revert submission"
am: f9e10f9443

Change-Id: I76420f9c8cadf2e2db777d7775a5b16656a3b39e
2019-11-13 08:11:01 -08:00
Colin Cross c0e94d6894 Merge "Forbid -Weverything"
am: f3898e3bef

Change-Id: I998cfb29f235fcb289dcacd2a13f961e35a906c6
2019-11-13 08:08:33 -08:00
Jiyong Park 8ba50f953d Install AndroidApp only when needed
When an android_app is (directly or transitively) included in an APEX,
multiple variants of the app is created. The problem was that all the
variants were unconditionally installed to the device, which resulted in
duplicated targets. Fixing the problem by not installing the app when it
is included in APEX.

Bug: 144387414
Bug: 144135069
Test: m
Test: OUT_DIR=out DIST_DIR=out/dist build/soong/scripts/build-ndk-prebuilts.sh
Change-Id: Ibcc1096e30bc55a70ddc592490805f447e185eae
2019-11-14 00:39:53 +09:00
Jiyong Park 52cd06fc73 Reland: JNI lib is always embedded for APKs in APEX
If a JNI lib is depended on by an APK that is included in an APEX, the
lib is embedded inside the APK.

This change also fixes a bug that APKs are not mutated for APEXes.

Bug: 144135069
Test: m (apex_test.go amended)
Change-Id: I21ac24412b30c05afc03385655c6b196130dffe3
2019-11-14 00:39:47 +09:00
Sam Saccone f9e10f9443 Merge "Revert submission" 2019-11-13 15:24:50 +00:00
Sam Saccone e3c22f7a3f Revert submission
Reason for revert: b/144387414
Fixes: b/144387414
Change-Id: I21e15a4d149a5a8fefd0f84010600cb41b59db95
2019-11-13 15:24:11 +00:00
Colin Cross f3898e3bef Merge "Forbid -Weverything" 2019-11-13 15:01:48 +00:00
Roland Levillain 8ac05575aa Fix some typos in Soong.
Test: m
Change-Id: I032b6ce2a61491b88416db9943b42e6af4783459
2019-11-13 10:46:49 +00:00