Commit Graph

17171 Commits

Author SHA1 Message Date
Lingfeng Yang
cbb1de50d6 Merge "Revert "Consistently use either "boot" or "apex" boot image as the default.""
am: 18577fe8fb

Change-Id: Ib7abd418f2a54571ba0dc549252196fd87b2d9e5
2019-12-19 10:06:57 -08:00
Jiyong Park
f3273c5587 Merge "Add updatable_media_stub to framework" 2019-12-19 18:04:54 +00:00
Colin Cross
5e70805690 Add helper functions for getting output files from modules
Add OutputFileForModule and OutputFilesForModules to get paths from
OutputFileProducers.

Bug: 122332855
Test: m checkbuild
Change-Id: I2e9aeeb55987742077250390cdb804ba22e79442
2019-12-19 17:52:50 +00:00
Lingfeng Yang
18577fe8fb Merge "Revert "Consistently use either "boot" or "apex" boot image as the default."" 2019-12-19 17:24:27 +00:00
Colin Cross
7c7c11445b Make sh_binary a HostToolProvider
sh_binary modules should implement HostToolProvider so that they
can be used in genrules.  Install the script and then return
the installed path.

Also remove the unused SourceFilePath method.

Bug: 122332855
Fixes: 146496647
Test: m checkbuild
Change-Id: I191ce4eef1d50ac0b6a296b819feec6d6a18e753
2019-12-19 09:22:36 -08:00
Lingfeng Yang
54191fae42 Revert "Consistently use either "boot" or "apex" boot image as the default."
This reverts commit 48b3b3c71f.

Reason for revert: breaks emulator

BUG: 146558375

Change-Id: I2af3d11ad9a014b0d73a73540bc814f245bc6418
2019-12-19 16:41:40 +00:00
Paul Duffin
dffc72bf4e Merge "Dedup registration code for module types and singletons"
am: 65b174c9c7

Change-Id: Ifd8ea4278057e36d6555aa47fc3f21c28121ccfb
2019-12-19 07:41:09 -08:00
Treehugger Robot
65b174c9c7 Merge "Dedup registration code for module types and singletons" 2019-12-19 15:38:25 +00:00
Ulyana Trafimovich
292aed498c Merge "Consistently use either "boot" or "apex" boot image as the default."
am: 13c929e32e

Change-Id: I7582db4dab5f44334b94f8114ac929d9e8892500
2019-12-19 03:06:23 -08:00
Ulyana Trafimovich
13c929e32e Merge "Consistently use either "boot" or "apex" boot image as the default." 2019-12-19 10:22:01 +00:00
Paul Duffin
f9b1da0fcb Dedup registration code for module types and singletons
The registration of module types and singletons is duplicated between
init() functions that register them for use in the build runtime and
test context creation code that registers them for testing.

This is a proof of concept for a mechanism that will allow the code
to be shared. It defines a RegistrationContext interface that is
implemented by both the TestContext and the new initRegistrationContext
type. An instance of the the latter is available through the
InitRegistrationContext variable.

The intent is that the registration of the module types and singleton
types will be extracted from the init() function into a separate
function that takes a RegistrationContext parameter. That method is
called from init() passing in the InitRegistrationContext and from a
test passing in the TestContext. Something like this:

  func init() {
    RegisterBuildComponents(android.InitRegistrationContext)
  }

  func RegisterBuildComponents(ctx android.RegistrationContext) {
    ctx.RegisterModuleType(....)
    ....
  }

A test would do something like this:

  ctx := android.NewTestContext()
  RegisterBuildComponents(ctx)

Test: m nothing
Change-Id: I97173cabb6d6cf7ce98fdb5f73418438b1997b35
2019-12-19 10:09:53 +00:00
Mathew Inwood
0dd06f6ff2 Update build rule for updated script.
The script now expects flags for filenames and no longer
just writes to stdout. Write full merged config too.

Test: m libcore-platform-compat-config
Change-Id: Ia524a8c271725665772c9543baecd4f494ee86f1
2019-12-19 08:27:33 +00:00
Mathew Inwood
a0f21a5a4f Merge "Merge multiple compat_config.xml's."
am: b4cc0206bb

Change-Id: Ib4da2a767b58ba9e9ac5519a04a21d8e8b94e6e3
2019-12-19 00:12:06 -08:00
Mathew Inwood
b4cc0206bb Merge "Merge multiple compat_config.xml's." 2019-12-19 08:11:09 +00:00
Jiyong Park
c945626671 Merge "Revert submission 1194828-revert-1191937-art_apex_available-DWXQGTKMAR"
am: aa21599d5d

Change-Id: I8f43c854fcb9b20b60bb34dbc76fd6abb7008f02
2019-12-18 21:08:32 -08:00
Treehugger Robot
aa21599d5d Merge "Revert submission 1194828-revert-1191937-art_apex_available-DWXQGTKMAR" 2019-12-19 05:05:35 +00:00
Inseob Kim
c044c0f713 Merge "Create public stub for platform's sysprop_library"
am: 0cbb31e9e7

Change-Id: I82fde4c5d6cbdaddc54e3eb74ca81d0b206a0ba6
2019-12-18 19:26:17 -08:00
Treehugger Robot
0cbb31e9e7 Merge "Create public stub for platform's sysprop_library" 2019-12-19 03:23:01 +00:00
Jiyong Park
231d056d50 Add updatable_media_stub to framework
The module framework is now a build-only library whose purpose is to
provide hidden APIs from the non-updatable part of the platform and APIs
from the modules. Merging updatable_media_stub to framework, like the
stub libraries from other modules.

As a result, updatable_media_stub can be removed from DefaultLibraries.

Bug: N/A
Test: m

Exempt-From-Owner-Approval: cherry-pick from internal

Merged-In: I7f80716119ad6ac627e5666def9fe17112dcde3b
(cherry picked from commit 4c258d282b)
Change-Id: I7f80716119ad6ac627e5666def9fe17112dcde3b
2019-12-19 11:57:47 +09:00
Jiyong Park
4ed468c1af Revert submission 1194828-revert-1191937-art_apex_available-DWXQGTKMAR
Reason for revert: relanding with fix
Reverted Changes:
Ic4119368c:Revert submission 1191937-art_apex_available
Ia084976bb:Revert submission 1191937-art_apex_available
Iada86226d:Revert submission 1191937-art_apex_available
Ic76735eac:Revert submission 1191937-art_apex_available
I1eb30e355:Revert submission 1191937-art_apex_available
Icaf95d260:Revert submission 1191937-art_apex_available
Ie8bace4be:Revert submission 1191937-art_apex_available
I8961702cf:Revert submission 1191937-art_apex_available
I39316f9ef:Revert submission 1191937-art_apex_available
I522a7e83b:Revert submission 1191937-art_apex_available
I8b9424976:Revert submission 1191937-art_apex_available
I48b998629:Revert submission 1191937-art_apex_available

Change-Id: I95cef82fa5dfaba5b7044cf274ce59ab954b8f2b
2019-12-19 02:11:10 +00:00
Nikita Ioffe
044da93eb3 Merge "Remove apex_pubkey from the bundle module"
am: a03edbeddc

Change-Id: I052266f5d2eec4a0ef50a4665b8ec67ba51cfa8f
2019-12-18 18:00:54 -08:00
Treehugger Robot
a03edbeddc Merge "Remove apex_pubkey from the bundle module" 2019-12-19 01:55:44 +00:00
Joseph Murphy
2c3c613e9b Merge "Revert submission 1191937-art_apex_available"
am: e734db5e98

Change-Id: I3c087a2911d6e318d2dc50d05508121005abeaac
2019-12-18 17:23:58 -08:00
Joseph Murphy
e734db5e98 Merge "Revert submission 1191937-art_apex_available" 2019-12-19 01:20:03 +00:00
Joseph Murphy
4752219db3 Revert submission 1191937-art_apex_available
Original Commit Message:
"""
Rename modules that are APEX-only

The renamed modules are only available for APEXes, but not for the
platform. Use the <module_name>.<apex_name> syntax to correctly install
the APEX variant of the modules.
"""

Reason for revert: Build Cop - Breaks about 15 AOSP targets, with high confidence due to these changes being the only non-robot changes in those builds.

Reverted Changes:
I190ce2d10:Use apex_available property
I990e0a67e:Use apex_available property
I0d1295683:Revert "Avoid duplicated classes for boot dex jars...
I5fb725403:Find the jar libraries in APEX from the correct pa...
I322b1efcc:Rename modules that are APEX-only
Ifa2bd0f8f:Use apex_available property
Iac6533177:Use apex_available property
Ie999602c6:Use apex_available property
I2a3d73397:Use apex_available property
Ic91bcbb9a:Use apex_available property
Ia6c324eed:Use apex_available property
I964d0125c:Use apex_available property

Change-Id: I48b998629b0676cd7353e6844fd87585e0e42989
2019-12-19 01:06:24 +00:00
Inseob Kim
ac1e986c55 Create public stub for platform's sysprop_library
Java modules using SystemAPI can now link against platform owned
sysprop_library with public stub. This allows modules to use platform's
public sysprops (which should be regarded as an API) without any hidden
API usages, if using dynamic linking and boot class path.

This doesn't affect any vendor or odm owned sysprop_library.

Bug: 141246285
Bug: 145167888
Test: m
Change-Id: I99824fb24a75cc8282211c2ad6c6296ae9fca393
2019-12-19 09:35:23 +09:00
Jiyong Park
02e12e491c Merge "Revert "Avoid duplicated classes for boot dex jars""
am: ead014b8f9

Change-Id: Id22b85030d4c813b5345972434ae33a77e8279ff
2019-12-18 16:25:22 -08:00
Jiyong Park
ead014b8f9 Merge "Revert "Avoid duplicated classes for boot dex jars"" 2019-12-19 00:21:43 +00:00
Peter Collingbourne
d7d6b17706 Merge "Reland "Also package recursive jni_libs deps of android_apps as well as direct deps." with bug fix."
am: ddd27246ee

Change-Id: I99d22385457f944841546adb308e50291ba0361d
2019-12-18 15:46:16 -08:00
Peter Collingbourne
ddd27246ee Merge "Reland "Also package recursive jni_libs deps of android_apps as well as direct deps." with bug fix." 2019-12-18 23:29:58 +00:00
Colin Cross
27ba444ad3 Merge "Don't create native bridge variants of vendor modules"
am: 0bfb9e8d9b

Change-Id: I391210a9c429df53a6b8bcf9bfa2f3e6512a2387
2019-12-18 15:20:25 -08:00
Colin Cross
0bfb9e8d9b Merge "Don't create native bridge variants of vendor modules" 2019-12-18 23:16:04 +00:00
hamzeh
3478a0d8a0 Adding capability to granular disable of fuzzer
This change is to add granularity for disabling
of the fuzzer from running on host, device or both.

Bug: 145824604
Test: make haiku successfully completes after change
Change-Id: I686b439e36c622108f7b5b3e3f4738b8295320a7
2019-12-18 13:58:59 -08:00
Colin Cross
a6f8134501 Move filesystem into Config
am: 98be1bb00f

Change-Id: I31747823dfce341b4fad92c7a3d769fc5979e926
2019-12-18 11:50:05 -08:00
Colin Cross
83bead469b Don't create native bridge variants of vendor modules
The logic in cc.Module.ImageMutatorBegin() to skip creating vendor
variants for native bridge modules stopped working when the image
mutator was moved before the arch mutator because the native
bridge variant hadn't been created yet.  Move the logic to the arch
mutator to avoid creating native bridge variants for vendor variants.

Fixes: 146486214
Test: lunch aosp_cf_x86_pasan-userdebug && m SANITIZE_TARGET=address
Change-Id: I46cff4905f929c9989d005f0ceb01388d47323c1
2019-12-18 10:45:46 -08:00
Nikita Ioffe
5c3869a7db Remove apex_pubkey from the bundle module
It's not yet supported by bundletool and blocks other testing (see
attached bug).

This is a partial revert of
https://android-review.googlesource.com/c/platform/build/soong/+/1183459/

Test: out/dist/mainline_modules_arm64/com.android.tzdata-base.zip
Test: checked content doesn't have apex_pubkey
Bug: 146460014
Change-Id: I268caa9f9736ba1913145a1ce1065f6f5179a6db
2019-12-18 17:40:21 +00:00
Mathew Inwood
2471c086ac Merge multiple compat_config.xml's.
Previously, the compat configs from static dependencies were all written
to compat/compat_config.xml, putting at the mercy of jar file merging and
so potentially losing some config.

Now the annotation processor writes a compat_config.xml for each Java
class that exports config, we we merge them together here with a new
tool.

Test: m
Change-Id: I28c12ff648a01aaad214701fca4f09743638b11b
2019-12-18 16:34:04 +00:00
Colin Cross
98be1bb00f Move filesystem into Config
The filesystem object was available through ModuleContext.Fs(), but
gives too much access to the filesystem without enforicing correct
dependencies.  In order to support sandboxing the soong_build
process move the filesystem into the Config.  The next change will
make it private.

Bug: 146437378
Test: all Soong tests
Change-Id: I5d3ae9108f120fd335b21efd612aefa078378813
2019-12-18 08:19:10 -08:00
Ulya Trafimovich
48b3b3c71f Consistently use either "boot" or "apex" boot image as the default.
Previous CL Ia9b34aa92ebb1b4de96ea0f8f290d798be19b2cf introduced
asymmetry in handling "boot" and "apex" boot images: in JIT-zygote
experiment, though the "apex" boot image was installed, the "boot"
boot image was still used for generating dexpreopt configs.

It is unclear why this asymmetry was needed at that point; it seems
incorrect to use different boot images for dexpreopting and for
installing on device. After recent changes the asymmetry started
breaking walleye_jitzygote-userdebug on git_rvc-release, because APK
dexpreopt commands refer to inexistent boot image files.

Test: lunch aosp_walleye-userdebug && m
Test: cherry-pick CL in internal, walleye_jitzygote-userdebug boots

Change-Id: Id877c10269cf79caf6ae74b1dc169a31e6a2211b
2019-12-18 16:09:39 +00:00
Elliott Hughes
c5aedc4c49 Switch to toybox realpath.
Change-Id: I9f1d3df08d860e5bfa131a531e274c75b72148e7
2019-12-17 22:03:45 -08:00
Colin Cross
b8e623cfee Merge "Move imageMutator before archMutator"
am: 572aeed6a4

Change-Id: I0c6be0c60b4623bb32f6eefc77c5b66549f6de5b
2019-12-17 19:07:04 -08:00
Treehugger Robot
572aeed6a4 Merge "Move imageMutator before archMutator" 2019-12-18 02:34:36 +00:00
Yan Yan
abd4fde926 Merge "Enable covergae for ike.jar which will be in mainline module IPsec(IKE)"
am: fa2ac9f6e9

Change-Id: Ifa4b235294bddb8f10fa7d56358b8bdbe3dffe02
2019-12-17 17:25:20 -08:00
Yan Yan
fa2ac9f6e9 Merge "Enable covergae for ike.jar which will be in mainline module IPsec(IKE)" 2019-12-18 01:22:12 +00:00
Jooyung Han
c457e7876d Merge "Override package name for VNDK APEX"
am: 405c7ab959

Change-Id: Ie58335b2468cf5838a82d08063ce353054c0b889
2019-12-17 17:13:28 -08:00
Jooyung Han
89af2c6c22 Merge changes Icbdf4979,I1a6f135d
am: 70415ceb9e

Change-Id: I8ca18cdaff1378f4d5a9bdfa2d6c8883ae8447a0
2019-12-17 17:12:37 -08:00
Jooyung Han
405c7ab959 Merge "Override package name for VNDK APEX" 2019-12-18 01:10:36 +00:00
Jooyung Han
70415ceb9e Merge changes Icbdf4979,I1a6f135d
* changes:
  Fix apex to override certificate
  Fix apex to follow deps of modules with stubs.
2019-12-18 01:04:53 +00:00
Peter Collingbourne
ad84f975d2 Reland "Also package recursive jni_libs deps of android_apps as well as direct deps." with bug fix.
This time, exclude NDK libraries instead of LLNDK libraries from the
package. This is necessary because there are libraries such as libvndksupport
which are LLNDK but are not accessible to apps.

Original commit message:
> Previously, android_app targets for which a.shouldEmbedJnis(ctx) = true
> (e.g. CtsSelinuxTargetSdk25TestCases) would need to specify all of their
> recursive library dependencies, including for example libc++ when depending
> on the platform libc++. This means unnecessary churn when we add a new
> dependency to libc++ (e.g. libunwind [1]). To avoid the churn and allow
> jni_libs clauses to be simplified, make the build system search for the
> recursive dependencies and automatically include them.
>
> This change allows us to remove code that was previously adding NDK libc++
> as a special case, as it is now covered by the generic code.
>
> Also fix some improper quoting that was exposed as a result of this change
> causing more files to be packaged than before.
>
> [1] https://android-review.googlesource.com/q/topic:%22libunwind-so%22

Bug: 144430859
Test: atest CtsAppOpsTestCases
Test: atest FrameworksNetSmokeTests
Change-Id: I8311ede0b44d7e50b9f272912ead8ef07e82b074
2019-12-17 16:55:20 -08:00
Joseph Murphy
91ef43f39e Merge "Revert "Also package recursive jni_libs deps of android_apps as well as direct deps.""
am: 9fd9b92d51

Change-Id: Ice9ac150ea8f1a8c37c6401e3a3dfe4a9d135b49
2019-12-17 16:28:49 -08:00