This is to efficiently use both local and remote resources when using
RBE for Android developers.
Bug: b/170699893
Change-Id: I46bc3ff9c0d8d08e8f3aaa15076eb606737355af
Merged-In: I46bc3ff9c0d8d08e8f3aaa15076eb606737355af
This is to deduplciate uploads and downloads when running builds with
RBE. Especially useful for certain Java / R8 / D8 actions that have JAR
files as common inputs.
Bug: b/170699893
Change-Id: I0459d4e5c89bd93e5c0c53195fdabccabec08674
Merged-In: I0459d4e5c89bd93e5c0c53195fdabccabec08674
The current rbesetup.sh has to be source from the root directory
of the checked out repo since it has a relative path to the sourced
build/envsetup.sh script. A function was written in rbesetup.sh
script to source the rbesetup.sh script anywhere inside of a
checked out repo. Added additional error checking to validate
the envsetup.sh is available and not to continue sourcing the script
if envsetup.sh script is not found.
Fixes: b/169438960
Test: Sourced the rbesetup script from
* external directory
* inside of a symlink
* outside of repo (sourcing fails which is correct)
* root repo
Change-Id: I2db66a444074adca4d4ab87b8786e9044a3646f8
Merged-In: I2db66a444074adca4d4ab87b8786e9044a3646f8
The new release of re-client renames env_var_wlist to env_var_allowlist.
We need to make this change as part of the topic so that with the new
release we are able to deprecate this variable.
Bug: b/167677318
Change-Id: I988381f4f72061f7c6eb99d58593f92cfd618b1b
Merged-In: I988381f4f72061f7c6eb99d58593f92cfd618b1b
These result in weird command line invocations when used with RBE.
Test: Ran an RBE build locally and made sure it still worked as expected
after the change.
Bug: b/163618332
Change-Id: Ic8a8adb3fffb357754384ddbf13684d944a9767e
Merged-In: Ic8a8adb3fffb357754384ddbf13684d944a9767e
When we do 64-32 migration, we want compare mode to be present only for
non-c++ actions as it would impact performance on 32-core machines
otherwise.
Bug: b/157414300
Test: Ran a build with "RBE_CXX_LINKS="true" RBE_CXX_LINKS_EXEC_STRATEGY="remote" RBE_CXX_COMPARE="false" RBE_compare="true" use_rbe mmma bionic"
and observed that local-executions happened only for link actions and
not for C++ actions.
Change-Id: Ia972c74d804085196a7b6ec755af63042c6b3909
Merged-In: Ia972c74d804085196a7b6ec755af63042c6b3909
The new default points to prebuilts/remoteexecution-client/live.
Also sets the default exec strategy of Javac/R8/D8 to remote local
fallback.
Bug: b/166182389
Test: simple one action build
Change-Id: I3392a0f7ac6de818d0c5ba2e113fcb035c6fa0ae
Merged-In: I3392a0f7ac6de818d0c5ba2e113fcb035c6fa0ae
1. Specify addition inputs needed for R8 / D8 / Javac actions so that
they can be successfully executed remotely.
2. Cleanup platform configuration so that pool-names are turned into a
common variable and re-used between javac / r8 / d8 actions.
Bug: b/152273259
Change-Id: I0231a96f6e4e094e98d0f89728f6ac3e34f78118
Merged-In: I0231a96f6e4e094e98d0f89728f6ac3e34f78118
Bug: b/148798195
Test: The same change is live in master-build-rbe-testing branch where
its not causing any behavior change, and also it works for
RemoteExecution where RBE_CXX_EXEC_STRATEGY variable is set.
Bug: b/166182389
Change-Id: I5efb1c2ab74dbe70dd70bf43d6262f2063d4d378
Merged-In: I745ed4a91c2b070048c0b1fd0881e5f4f28d0148
Bug: b/166182389
Test: aosp_crosshatch build with and without the new variables.
Change-Id: I252ff5dd8e372edf8c86e25348c8a2bfab41d70d
Merged-In: I252ff5dd8e372edf8c86e25348c8a2bfab41d70d
Test: Built aosp-arm64_eng with and without USE_RBE=1
Bug: b/166182389
Change-Id: I8d04069219a9467c3de9a028eb68e3115173f1e2
Merged-In: I8d04069219a9467c3de9a028eb68e3115173f1e2
environment variables.
Test: Built aosp_arm-user with and without USE_RBE. With USE_RBE,
used a simple proxy script in place of rewrapper.
Bug: b/166182389
Change-Id: Ifb6bfd9f7292346f4750a6a409aa0def4e3c0363
Merged-In: Ifb6bfd9f7292346f4750a6a409aa0def4e3c0363
This is used when Soong and Make don't know the full output file list,
and so use a tool to generate a per-module apkcerts.txt file instead.
Bug: 160119159
Bug: 162464887
Test: m apkcerts-list
Merged-In: I48183bc8cbf9dcc521f791812734205ed3f28f4c
Change-Id: I48183bc8cbf9dcc521f791812734205ed3f28f4c
This location allows the agent to be attached to arbitrary processes.
It only makes sense to include libdumpcoverage.so on coverage builds,
as these are the only builds that have any information to be dumped.
Bug: 148178774
Test: manual, used examples in README (see other CL) to test whether
it works on a userdebug_coverage build on cuttlefish
Change-Id: Ib2fece1b41a3b5d16c8a2a444c5486137e475fda
Merged-In: Ib2fece1b41a3b5d16c8a2a444c5486137e475fda
(cherry picked from commit 7185f8cc2d)
libprofile-extras has a wrapper to getenv() that appends the effective
userid (euid) of the current process to GCOV_PREFIX. This avoids
conflicts and permissions issues when multiple processes try to
create/access the same directories and files under /data/misc/trace.
This library needs to be added and the -Wl,--wrap,getenv flag needs to
be passed to all link steps. Since Android.mk does not propagate flags
and libraries across dependencies, this change just adds the library and
flag to all non-static-library Android.mk modules. As a consequence,
*ALL* binaries created via Android.mk will have the signal handler and
property watcher thread in libprofile-extras but they are no-ops in
non-coverage-enabled binaries.
The dependency is added early enough in core/binary.mk so that the
LOCAL_SOONG_LINK_TYPE resolutions occur correctly.
Bug: 148178774
Test: Verify that coverage files are written to
/data/misc/trace/<euid>/proc/... instead of /data/misc/trace/proc/...
Change-Id: I4d5f849c15e9a278253f2148185ddf3ab2878e2f
Merged-In: I4d5f849c15e9a278253f2148185ddf3ab2878e2f
(cherry picked from commit b8f898ef88)
We need to get files generated by a droidstubs target into the SDK. So
we first copy them into the out/target/common/obj/PACKAGING folder where
they can be picked up by the SDK build.
Bug: 142480924
Test: m sdk
Change-Id: I7a0b22907603e1d17ac05901ee7f8bb9cff89f7f
Merged-In: I7a0b22907603e1d17ac05901ee7f8bb9cff89f7f