Commit graph

17082 commits

Author SHA1 Message Date
Colin Cross
2322c4dc9b Add more suggestions on converting Makefile conditionals
Test: none
Change-Id: I5ccf5824c6a85d881070d8e0ae16d87d3ee6cee2
2019-11-15 16:21:23 -08:00
Jaewoong Jung
7727a6d339 Add AliasVariation to BottomUpMutatorContext.
am: 9f88ce26a8

Change-Id: I820e1619c2a006eee64325a401a635c41ccb9e06
2019-11-15 16:13:43 -08:00
Jaewoong Jung
26dedd36ed Add override_android_test.
This change also adds instrumentation_target_package to android_test, so
that the target package name in a test manifest can be easily
overridden.

Fixes: 134624457
Test: app_test.go
Change-Id: Ib8dd703da0038ac76210c92d79e133e37c718122
2019-11-15 15:06:06 -08:00
Chih-Hung Hsieh
15f369e1c7 Set rust_test modules as NATIVE_TESTS
* Rust test modules should have NATIVE_TESTS class,
  not EXECUTABLES, to work with atest --host.

Bug: 140938178
Test: make rust projects; run atest --host .
Change-Id: Ie9e237ee8c17b6e2d41f08a77c2b79d462a2c193
2019-11-15 14:09:29 -08:00
Jaewoong Jung
9f88ce26a8 Add AliasVariation to BottomUpMutatorContext.
Test: TreeHugger
Change-Id: Ib9c5db8f671ed8f0742183fc533dcc582269d17a
2019-11-15 10:57:34 -08:00
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
Elliott Hughes
3efacee1fd Switch to our own zipinfo(1).
Test: treehugger
Change-Id: If71e87e45a52959be9a316810fe79250771eb9d4
2019-11-14 20:09:24 -08: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
Sundong Ahn
d95aa2d45c Change the partition of outputfile
If some apex module can be installed for both flattened and unflattened,
flattened apex should be installed to system_ext partition.
So add MakeAsSystemExt func to change the partition from system to
system_ext.

Bug: 139053989
Test: m -j
Change-Id: I3e3430413a9045d96130af99e249567b1a26ed7e
2019-11-14 16:04:15 +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