Commit Graph

1300 Commits

Author SHA1 Message Date
Steven Moreland e3ff85b968 Merge "Automatically inherit common properties."
am: d28f688e69

Change-Id: I2608257a595ade933d291ef5c4fb1f2c633c292b
2019-07-31 09:10:41 -07:00
Steven Moreland d28f688e69 Merge "Automatically inherit common properties." 2019-07-31 15:47:51 +00:00
Jiyong Park fb45ee3d1e Merge "Delete prebuilt APEXes when installing source-built APEXes"
am: a822256e15

Change-Id: I576969455e028010da6631f06010fd6369c4b589
2019-07-31 00:40:06 -07:00
Treehugger Robot a822256e15 Merge "Delete prebuilt APEXes when installing source-built APEXes" 2019-07-31 07:03:49 +00:00
Steven Moreland 12f23e0883 Automatically inherit common properties.
Before, the values were often simply ignored. If bad values are provided
now, we should be able to catch them.

Bug: 119771576
Test: relying on this for AIDL/HIDL
Change-Id: I8d2ff26da0b2d01ebe7f78c26d69c7b618a65367
2019-07-30 22:42:19 +00:00
Elliott Hughes 14fa562fbb Remove product_is_iot.
Test: treehugger
Change-Id: I0935f463138e1d2a364cd2a5bc8b6e977da1ec47
2019-07-30 08:43:50 -07:00
Jiyong Park 03b68ddd10 Delete prebuilt APEXes when installing source-built APEXes
To build the platform for ASAN, we do

`m && SANITIZE_TARGET='addresss' m`

However, at the end of the second build, the system partition could have
conflicting APEXes; prebuilt APEXes from the first build and
source-built APEXes from the second build. Since the file names for the
prebuilt and the source-built are different (e.g.
com.google.android.media.apex v.s. com.android.media.apex), we end up
having two files for the same APEX. This is confusing apexd at runtime
and the device fails to boot.

To fix this, when building a non-prebuilt APEX, the prebuilt APEX might
have been installed by the previous build is deleted.

Bug: 138146044
Test: lunch aosp_cf_x86_pasan; m && SANITIZE_TARGET='address' m
check that out/target/product/vsoc_x86/system/apex has
com.android.*.apex only.

Change-Id: Ib5a021a297cf0173ea5a3b50e9398b1cf295c558
2019-07-30 13:52:15 +09:00
Sasha Smundak 61272795a7 Merge "Support source code cross-referencing for C++ and Java"
am: 247de68b89

Change-Id: I5284d9be9865e95671ce8ec1927f74059f7fdf44
2019-07-29 18:13:05 -07:00
Treehugger Robot 247de68b89 Merge "Support source code cross-referencing for C++ and Java" 2019-07-30 00:13:12 +00:00
Sasha Smundak 2a4549ec98 Support source code cross-referencing for C++ and Java
Use Kythe (https://kythe.io) to build cross reference for the Android
source code. ~generate the input for it during the build. This is done
on demand: if XREF_CORPUS environment variable is set, build emits a
Ninja rule to generate Kythe input for each compilation rule. It
also emits two consolidation rules (`xref_cxx` and `xref_java`),
that depend on all Kythe input generation rules for C++ and Java.

The value of the XREF_CORPUS environment variable is recorded in the
generated files and thus passed to Kythe. For the AOSP master branch it is
`android.googlesource.com/platform/superproject`, so the command to build
all input for Kythe on that branch is:
```
XREF_CORPUS=android.googlesource.com/platform/superproject m xref_cxx xref_java
```

Each Kythe input generation rule generates a single file with .kzip
extension. Individual .kzip files have a lot of common information, so
there will be a post-build consolidation step run to combine them.
The consolidated .kzip file is then passed to Kythe backend.

The tools to generate .kzip files are provided by Kythe (it calls them
'extractors'). We are going to build them in toolbuilding branches
(clang-tools and build-tools) and check them in as binaries into master
and other PDK branches:
For C++,  `prebuilts/clang-tools/linux-x86/bin/cxx_extractor`
for Java, `prebuilts/build-tools/common/framework/javac_extractor.jar`

Bug: 121267023
Test: 1) When XREF_CORPUS is set, build generates Ninja rules to create
.kzip files; 2) When XREF_CORPUS is set, building
`xref_cxx`/`xref_java` creates .kzip files; 3) Unless XREF_CORPUS is
set, build generates the same Ninja rules as before

Change-Id: If957b35d7abc82dbfbb3665980e7c34afe7c789e
2019-07-26 09:16:47 -07:00
Paul Duffin cdfa3fb705 Merge changes I7b9462d3,Icadd470a,I1d459da1,I01d8f518
am: 4b03cb46a5

Change-Id: I6a5fc7321e80333390189a1adb7a1ffb3553bd7c
2019-07-26 01:59:32 -07:00
Paul Duffin 4b03cb46a5 Merge changes I7b9462d3,Icadd470a,I1d459da1,I01d8f518
* changes:
  Add defaults_visibility support
  Refactor visibility to support visibility on defaults modules
  Add DefaultsModule interface
  Improve documentation of defaults mechanism
2019-07-26 08:35:15 +00:00
Jooyung Han 4739405a0e Merge "fix: prebuilt_etc_xml"
am: 04b2a82b77

Change-Id: I581999dc553a745d49f05a0954d965ca0fa28213
2019-07-25 22:24:39 -07:00
Treehugger Robot 04b2a82b77 Merge "fix: prebuilt_etc_xml" 2019-07-26 04:57:29 +00:00
Paul Duffin f5df899687 Merge "Fixed minor typo"
am: e515886a8b

Change-Id: I5d99efb2e18c02eacb5946320fd7d3504e1e32b5
2019-07-25 10:51:11 -07:00
Paul Duffin 036cacee51 Fixed minor typo
Bug: 138207002
Test: m nothing
Change-Id: Idc6bc6ae9d7e4052da0c0bde6247bff47eab60be
2019-07-25 14:44:56 +01:00
Paul Duffin 95d53b584f Add defaults_visibility support
Bug: 130796911
Test: m nothing
Change-Id: I7b9462d3360be2bbeaf6ff38c5328f45ff5b5ebb
2019-07-25 11:48:21 +01:00
Paul Duffin 63c6e183d5 Refactor visibility to support visibility on defaults modules
Existing modules, either general one or package ones have a single
visibility property, called visibility in general, and
default_visibility on package, that controls access to that module, or
in the case of package sets the default visibility of all modules in
that package. The property is checked and gathered during the similarly
named phases of visibility processing.

The defaults module will be different as it will have two properties.
The first, visibility, will not affect the visibility of the module, it
only affects the visibility of modules that 'extend' the defaults. So,
it will need checking but not parsing. The second property,
defaults_visibility, will affect the visibility of the module and so
will need both checking and parsing.

The current implementation does not handle those cases because:
1) It does not differentiate between the property that affects the
   module and those that do not. It checks and gathers all of them with
   the last property gathered overriding the rules for the previous
   properties.

2) It relies on overriding methods in MethodBase in order to change the
   default behavior for the package module. That works because
   packageModule embeds ModuleBase but will not work for
   DefaultsModuleBase as it does not embed ModuleBase and instead is
   embedded alongside it so attempting to override a method in
   MethodBase leads to ambiguity.

This change addresses the issues as follows:
1) It adds a new visibility() []string method to get access to the
   primary visibility rules, i.e. the ones that affect the module.

2) It adds two fields, 'visibilityPropertyInfo []visibilityProperty'
   to provide information about all the properties that need checking,
   and 'primaryVisibilityProperty visibilityProperty' to specify the
   property that affects the module.

The PackageFactory() and InitAndroidModule(Module) functions are
modified to initialize the fields. The override of the
visibilityProperties() method for packageModule is removed and the
default implementations of visibilityProperties() and visibility()
on ModuleBase return information from the two new fields.

The InitDefaultsModule is updated to also initialize the two new
fields. It uses nil for primaryVisibilityProperty for now but that
will be changed to return defaults_visibility. It also uses the
commonProperties structure created for the defaults directly instead
of having to search for it through properties().

Changed the visibilityProperty to take a pointer to the property that
can be used to retrieve the value rather than a lambda function.

Bug: 130796911
Test: m nothing
Change-Id: Icadd470a5f692a48ec61de02bf3dfde3e2eea2ef
2019-07-25 11:31:42 +01:00
Paul Duffin e62432feee Add DefaultsModule interface
Changes the InitDefaultsModule method from taking a DefaultableModule
to taking a DefaultsModule in preparation for adding visibility support
to defaults modules.

Bug: 130796911
Test: m nothing
Change-Id: I1d459da1017ae7f2654e7eb275cb424e52d85730
2019-07-25 10:51:27 +01:00
Paul Duffin 7df7fb0dff Improve documentation of defaults mechanism
Also, removes unnecessary cast from DefaultableModule to Defaultable.

Bug: 130796911
Test: m nothing
Change-Id: I01d8f5186927215a1aa6b7431558041f427d7381
2019-07-25 10:50:57 +01:00
Roland Levillain e41bbbf94c Merge "Fix some typos in Soong."
am: 5260acef69

Change-Id: I61050b05bf4831ca753e4a70efb5e184c379232b
2019-07-23 12:58:15 -07:00
Roland Levillain dfe75b389c Fix some typos in Soong.
Test: m
Change-Id: I5b332ce12d70f13eca93b23060620c0ea4f46db7
2019-07-23 17:29:57 +01:00
Ramy Medhat 66b73ceddc Merge "Add USE_RBE support to soong."
am: 2b78fda705

Change-Id: I69e20f5e54c1d156e26d4634dfec05d17cee126d
2019-07-23 05:19:25 -07:00
Ramy Medhat 2b78fda705 Merge "Add USE_RBE support to soong." 2019-07-23 11:49:10 +00:00
Colin Cross a373a94fc0 Merge changes Ic2a585ea,I11ccabc4,Icc932c4a,I020556c7,I08713e91
am: ed9a92c311

Change-Id: I0367335939181566063b777184e864a7afb02308
2019-07-22 14:04:58 -07:00
Treehugger Robot ed9a92c311 Merge changes Ic2a585ea,I11ccabc4,Icc932c4a,I020556c7,I08713e91
* changes:
  Fix date on mac builds
  Convert javadoc modules to android.RuleBuilder
  Convert droiddoc modules to android.RuleBuilder
  Add a systemModules utility type
  Convert droidstubs to android.RuleBuilder
2019-07-22 20:29:59 +00:00
Paul Duffin c811170ab6 Revert "Revert "Prevent runtime module paths being used in include_dirs""
This reverts commit ff3d72f0bf.

Repplies original change now that issue causing build breakage has been
resolved.

Adds a new StartsWith(string) ValueMatcher along with
With[Out]Matcher(...) methods to support new restrictions that prevent
any paths into runtime module repositories from being added to the
include_dirs.

Test: m nothing
Bug: 35624006
Change-Id: I4c802ef25ef56f0f9b0b5e9d75531ea6f7475714
2019-07-22 12:24:49 +01:00
Jooyung Han a0171822be fix: prebuilt_etc_xml
Since aosp/872653 and aosp/904233 landed, prebuilt_etc_xml has been broken.
aosp/872653: Enable arch variant properties in prebuilt_etc.
aosp/904233: Add a prebuilt module type for usr/share.

This change fixes
1) pass baseDir "etc" to initialize PrebuiltEtc struct
2) change "multlib" argument to MultilibFirst to reflect aosp/872653

Bug: 138082739
Test: m com.google.vr.platform.xml && see if it is installed in /system/etc
Change-Id: I4802107fd8ccf28a1170d7d165700c92df32e341
2019-07-22 16:15:25 +09:00
Ming-Shin Lu ff3d72f0bf Revert "Prevent runtime module paths being used in include_dirs"
This reverts commit 31d0688df9.

Reason for revert: cause build breakage on stage-aosp-master

Change-Id: I7626f8ec36caaaa5eb4c7e9891565fc164a7f6c7
2019-07-22 06:44:34 +00:00
Paul Duffin 31d0688df9 Prevent runtime module paths being used in include_dirs
am: 2ac2befc9a

Change-Id: Ia7683cb3400013a78bd62b4f7c002c7f0e352903
2019-07-21 04:14:26 -07:00
Paul Duffin 34ae60b2bb Abstract property value matching logic behind an interface
am: 73bf054a52

Change-Id: Ibf0ea69ea2b6be407046810b1d6fa15fe8e8dd2f
2019-07-19 22:43:42 -07:00
Paul Duffin 2ac2befc9a Prevent runtime module paths being used in include_dirs
Adds a new StartsWith(string) ValueMatcher along with
With[Out]Matcher(...) methods to support new restrictions that prevent
any paths into runtime module repositories from being added to the
include_dirs.

Test: m nothing
Bug: 35624006
Change-Id: Ib954998e5fc190d8a11a8c6ac5f810cad927aac3
2019-07-19 19:36:25 +01:00
Paul Duffin 73bf054a52 Abstract property value matching logic behind an interface
Make it easy to add additional ways of matching property values. Needed
to add support for a 'starts with' matcher that can be used to restrict
allowable values in include_dir.

Test: m nothing
Bug: 35624006
Change-Id: I82e7d95f08847bf294aac311968e1d9f3e4b385d
2019-07-19 19:34:36 +01:00
Colin Cross ab05443ffb Convert droiddoc modules to android.RuleBuilder
Test: m docs
Test: m checkapi
Test: m updateapi
Change-Id: Icc932c4a9a3fc642c96ab9cbd8df3229b5ab86d3
2019-07-18 14:28:17 -07:00
Colin Cross 33961b54e6 Convert droidstubs to android.RuleBuilder
The droiddoc rules are ripe for converting to android.RuleBuilder,
they conditionally use many input files which is hard to track
with the standard blueprint.Rule style, as the argument and the
dependency have to be handled independently.  Start converting
to android.RuleBuilder by converting the droidstubs module.

Test: m docs
Test: m checkapi
Test: m updateapi
Change-Id: I08713e91149471e88a40115f69824cf5eaf88fb6
2019-07-18 14:28:14 -07:00
Ramy Medhat bbf2567cc1 Add USE_RBE support to soong.
Test: Built aosp_arm-user with and without USE_RBE. USE_RBE uses
a proxy script in place of rewrapper.

Change-Id: I5bf008a940513872d70b5b215bd6209f759826ae
2019-07-17 18:46:47 +00:00
Colin Cross 9dbe4eea79 Merge changes from topic "buildnumberfromfile"
am: 223e6a65b6

Change-Id: I4e2f0514434ddf6833d03334dbf36869d762214e
2019-07-16 19:59:12 -07:00
Colin Cross 223e6a65b6 Merge changes from topic "buildnumberfromfile"
* changes:
  Allow jar wrapper to take quoted arguments
  Add rspfile support to RuleBuilder
  Prepare droiddoc for using RuleBuilder
  Manually escape BuildNumberFromFile
  Fix android.Expand and ninja escaping
  Add RuleBuilder helper functions for built and prebuilt tools
  Add documentation to droiddoc.go module types
2019-07-17 02:45:03 +00:00
Colin Cross 723cc24f2e Merge changes Ia106d48e,Ib6c0e778
am: 63f4b57a7f

Change-Id: I65b761fd319f820b9d02f2a652fa2d844c353cd4
2019-07-16 14:59:09 -07:00
Colin Cross 63f4b57a7f Merge changes Ia106d48e,Ib6c0e778
* changes:
  Remove use of deprecated ExtractSourcesDeps
  Dedup path properties across property structs
2019-07-16 21:31:09 +00:00
Colin Cross 0cb0d7b1c5 Add rspfile support to RuleBuilder
Allow RuleBuilderCommands to use an rspfile with FlagWithRspFileInputList.
This requires being more careful with ninja escaping, as the rspfile
will be $out.rsp, and the value for $out may not be known yet so it
must be inserted as a ninja variable that must not be escaped.

Test: rule_builder_test.go
Change-Id: Ifa91e24a0bb8f0ceeb5c9bfa5689be2a4ff3b9cd
2019-07-16 11:12:04 -07:00
Colin Cross 527f3e5511 Dedup path properties across property structs
Listing a property in multiple property structs would cause it to
add multiple dependencies with the same dependency tag, which would
trip the panic in getDirectDepInternal when calling
PathForModuleSrc.  Dedup the properties with the android:"path"
struct tag across all property structs.

Test: path_properties_test.go
Change-Id: Ib6c0e7789443d340ee7551721df0135c5ee64c0f
2019-07-16 09:52:23 -07:00
Dimitry Ivanov 1866802e07 Merge "Make relative path for native_bridge binaries configurable"
am: 2ca7a8835e

Change-Id: I2cc8f8145c6464cf0ab91a602a5861ffc5a24505
2019-07-16 02:43:41 -07:00
Dimitry Ivanov 2ca7a8835e Merge "Make relative path for native_bridge binaries configurable" 2019-07-16 09:17:35 +00:00
Jooyung Han 962982a731 Merge "soong: Fix AndroidMk with *Required properties"
am: 0f7dbd0d55

Change-Id: I588aeda47a66334b16294e36333f653001fd37b1
2019-07-15 19:31:36 -07:00
Treehugger Robot 0f7dbd0d55 Merge "soong: Fix AndroidMk with *Required properties" 2019-07-16 02:09:29 +00:00
Jaewoong Jung 4f4a498032 Merge "Fix a bug in generateNoticeRule."
am: 34b1b27981

Change-Id: I537b4887488be48ce96ee0a3a12d00d352044540
2019-07-15 18:22:25 -07:00
dimitry 8d6dde8831 Make relative path for native_bridge binaries configurable
This change introduces NativeBridgeRelativePath and
NativeBridgeSecondaryRelativePath product variables to
make relative path to native_bridge binaries configurable.

It also removes moves information about native bridge
host architecture to Target and sets it during decodeTargetProductVariables

Test: make PRODUCT-cf_x86_phone-userdebug dist
Change-Id: Ie736e81eae507e1775566ce9f29135011b12af27
2019-07-15 20:04:07 +02:00
Jaewoong Jung 825c8143f5 Fix a bug in generateNoticeRule.
A $ sign was missing in some commands, which caused an error to mac
builds.

Test: TreeHugger
Fixes: 137364089
Change-Id: Iabd03ed4053d1179fa65a66d1615fcdf279fba12
2019-07-15 11:03:22 -07:00
Jooyung Han 12df5fb471 soong: Fix AndroidMk with *Required properties
java.Module is using "Custom" function to write Android.mk.
And if "hostdex" is set to "true", it writes "hostdex" module definition
as well as original module.

As of now, Required/Host_required/Target_required props are filled in
the AndroidMkEntries structure(aosp/939505). But these are not
passed to old AndroidMkData.Custom function.

So, if a java_library declares "hostdex:true" and "required:[...]"
together, "required" is not applied to the "hostdex" variant.

This change copies *Required props from AndroidMkEntries to
AndroidMkData before calling its Custom callback.

Test: m (runs soong unit tests)
Change-Id: I5f85714f721a2a0917ab18072dbea52294c770e7
2019-07-16 02:28:29 +09:00
Jiyong Park 241c39e8b1 Merge "Don't use prebuilt_apex when TARGET_FLATTEN_APEX is set to true"
am: 7bb2aec17b

Change-Id: I0e14413cf0e7d512cab4fe097ee8b7c56c91c244
2019-07-11 17:42:25 -07:00
Colin Cross 2647ced06e Fix android.Expand and ninja escaping
RuleBuilder does its own ninja escaping, so values that will be
passed to RuleBuilder must not be pre-escaped.  Add a new
android.ExpandNinjaEscaped method that explicitly handles ninja
escaping.  Some of the expansion functions return ninja values
(like "${in}") that need to stay unescaped, so add a bool return
value to the expansion function in android.ExpandNinjaEscaped.

Test: expand_test.go
Change-Id: Ib03d4db38b5e3e5bffbd87acf14f55e276a53d04
2019-07-11 14:52:17 -07:00
Colin Cross ee94d6ab14 Add RuleBuilder helper functions for built and prebuilt tools
Replace the common pattern of:
cmd.Tool(ctx.Config().HostToolPath(ctx, "tool"))
with:
cmd.BuiltTool("tool")

And similarly for PrebuiltBuildTool.

Test: m checkbuild
Change-Id: I7d63188505362c7df6a3b3e7330b4a2cca5a2409
2019-07-11 13:05:19 -07:00
Jiyong Park 2cb5288341 Don't use prebuilt_apex when TARGET_FLATTEN_APEX is set to true
When the device does not support non-flattened APEX (i.e.
TARGET_FLATTEN_APEX is set to true), then ignore the prebuilt_apex
modules even when `prefer: true`.

Bug: 136251130
Bug: 136662772
Test: build marlin, and check if /system/apex has flattened APEXes
Merged-In: I9f3dfefc3bd357d6750fbb1e418937d095720b04
(cherry picked from commit 0a573d798f)
Change-Id: I9f3dfefc3bd357d6750fbb1e418937d095720b04
2019-07-11 18:40:48 +09:00
Jaewoong Jung c40949db97 Merge "Improve android_app_import.dpi_variants handling."
am: 3af8661af7

Change-Id: Iafb8f55dac9caaa3acb3d6fc46f0ad8452147660
2019-07-10 09:57:24 -07:00
Jaewoong Jung 3af8661af7 Merge "Improve android_app_import.dpi_variants handling." 2019-07-10 16:39:53 +00:00
Jaewoong Jung 3e18b19442 Improve android_app_import.dpi_variants handling.
Instead of circumventing the limitation of Prebuilt implementation by
picking a source path itself, it now uses the same mechanism as
archMutator and replaces the source path in advance so that Prebuilt
always sees the corrent source path.

Because this requires the Apk field to be a string pointer, the single
source prebuilt implementation is being updated to be reflection-based.

Test: Soong unit tests, m soong_docs, TreeHugger
Change-Id: I2304f15e32d632f74f95f0d9e9bf1f75ff3e2225
2019-07-09 15:00:15 -07:00
Jaewoong Jung 54a8a8ce0c Merge "Add sh_test_host."
am: 94e90c696e

Change-Id: Ib49dfd6120a2c4ef0ee11c0c5cd773f9702dad76
2019-07-09 11:39:31 -07:00
Jaewoong Jung 94e90c696e Merge "Add sh_test_host." 2019-07-09 18:04:49 +00:00
Justin Yun 9321804a11 Rename product_services to system_ext
am: d5f6c8261a

Change-Id: Ifd77d7d729addae59b2b26a8cbdd2ebefffcabae
2019-07-09 02:14:59 -07:00
Justin Yun d5f6c8261a Rename product_services to system_ext
Bug: 134359158
Test: build and check if system_ext.img is created
Change-Id: Ice3229baf97a94c24a6eea22e7d4571941d7f843
2019-07-09 08:57:05 +00:00
Colin Cross 781511c606 Move RuleBuilder on top of strings.Builder
am: cfec40c41b

Change-Id: Ib72df28ae54e5889b0b01c66f8b5bd9914df20cf
2019-07-08 22:05:07 -07:00
Colin Cross cfec40c41b Move RuleBuilder on top of strings.Builder
strings.Builder avoids copying the final byte array to a string by
using unsafe to point the string to the backing array of the byte
slice.

Test: rule_builder_test.go
Change-Id: I3d9a70fb62f8542650cd9ebc65397297bba12585
2019-07-09 04:46:12 +00:00
Martin Stjernholm 3b2542d1db Merge "Document how properties work in defaults modules."
am: 188236ff23

Change-Id: Ie2f093dc2c16c024b81448e53e5d103b1932f02e
2019-07-08 20:02:51 -07:00
Treehugger Robot 188236ff23 Merge "Document how properties work in defaults modules." 2019-07-09 02:25:36 +00:00
Jaewoong Jung f0cb835ebf Merge "Dist NOTICE outputs for app targets."
am: b1907ee587

Change-Id: I3f33053028a9564d42b9ce2b18fdfa5ff8a760c8
2019-07-08 17:12:15 -07:00
Jaewoong Jung b1907ee587 Merge "Dist NOTICE outputs for app targets." 2019-07-08 23:28:13 +00:00
Jaewoong Jung 61a83681c4 Add sh_test_host.
Fixes: 136272143
Test: sh_binary_test.go
Change-Id: I2e6580286fcdf43ab20020fcd147648a3009aa9f
2019-07-08 14:53:52 -07:00
Jaewoong Jung 9877279855 Dist NOTICE outputs for app targets.
Bug: 136501164
Test: m NetworkStack, TreeHugger
Change-Id: I2279eeb0e50b1b5685e23130a8da6ab090f37f56
2019-07-08 09:26:02 -07:00
Colin Cross cd48600321 Merge changes Icfc893c8,I40f03fc0
am: f67e1bee4a

Change-Id: I0b9cf1e3df4ef7ef46e73a5dc6d363fe918c29b7
2019-07-03 22:55:03 -07:00
Treehugger Robot f67e1bee4a Merge changes Icfc893c8,I40f03fc0
* changes:
  Allow debugging with SOONG_DELVE=<listen addr>
  Print ninja stdout live during the build
2019-07-04 03:34:22 +00:00
Colin Cross 1af102a9f8 Merge "Add a String() method to android.Module"
am: eee5a41aa4

Change-Id: I15cc3b5dace326948c6a17d51d2d9a69a7302b9b
2019-07-03 20:07:49 -07:00
Colin Cross 6e9bf6f1d7 Merge changes from topic "mutator_name"
am: 28d36cacc1

Change-Id: I5d4290229fd785f02d4a14c4c91329267f7a7283
2019-07-03 19:11:35 -07:00
Colin Cross aa812d122c Allow debugging with SOONG_DELVE=<listen addr>
Allow running Soong in a headless delve debugger by passing
SOONG_DELVE=<listen addr> in the environment.

Bug: 80165685
Test: SOONG_DELVE=:1234 m nothing
Change-Id: Icfc893c8a8354a9bbc99112d9c83259cb41906d1
2019-07-03 16:33:31 -07:00
Colin Cross 9a36223d59 Add a String() method to android.Module
Add a String() method to android.Module for use in debugging.  Store
the name and variations of the module as they are mutated.

Test: TestModuleString
Bug: 136473661
Change-Id: I74e393703dcfc96ed4e21ac4a4419a7858b59216
2019-07-03 15:37:11 -07:00
Colin Cross cb55e089f0 Add MutatorName to mutator contexts
Follow https://github.com/google/blueprint/pull/255.

Bug: 136473661
Test: m checkbuild
Change-Id: Ia74d442c925689fa1e06a70c2acfed925063f844
2019-07-03 14:16:42 -07:00
Colin Cross fa07821d88 Remove ioutil.TempDir from each android/soong/android test
android_test.go already sets up a global buildDir, no need to create
one in each test.

Test: All soong tests
Change-Id: Ib85cbf78c604ad3cef64aa00b6bd812a81496e9e
2019-07-03 20:27:11 +00:00
Paul Duffin 730f2a57e3 Allow neverallow rules to be defined by custom bootstrap_go_packages
* Adds a Rule interface to hide the rule struct and expose the mutator
functions.
* Makes the neverallow() function public as NeverAllow().
* Adds AddNeverAllowRules func to add more rules.
* Moves the population of the builtin rules to init() function.

Bug: 136159343
Test: m droid
      - changed a built in rule to cause build failure to ensure the
	    rules were still being applied, then reverted the change and
		ran 'm droid' again.

Change-Id: Ie3a4456d1f6bc12c5b4931bf698333275347fdf0
Merged-In: Ie3a4456d1f6bc12c5b4931bf698333275347fdf0
(cherry picked from commit 18af090842)
(cherry picked from commit b1cacba022)
2019-07-02 16:21:51 +00:00
Paul Duffin aebc02ab29 Allow neverallow rules to be defined by custom bootstrap_go_packages
* Adds a Rule interface to hide the rule struct and expose the mutator
functions.
* Makes the neverallow() function public as NeverAllow().
* Adds AddNeverAllowRules func to add more rules.
* Moves the population of the builtin rules to init() function.

Bug: 136159343
Test: m droid
      - changed a built in rule to cause build failure to ensure the
	    rules were still being applied, then reverted the change and
		ran 'm droid' again.

Change-Id: Ie3a4456d1f6bc12c5b4931bf698333275347fdf0
Merged-In: Ie3a4456d1f6bc12c5b4931bf698333275347fdf0
2019-07-01 16:15:07 +01:00
Paul Duffin cbcb8675bc Merge changes from topic "package default_visibility" am: 4190926e61
am: b915658436

Change-Id: Ib207ca13b58e789ea7e545cb99db789cb5d83cfe
2019-06-28 08:51:55 -07:00
Paul Duffin e484f47a63 Inherit default_visibility from parent package
Enhances the visibility mechanism to use the default_visibility
property of the closest ancestor package that has the property
specified.

Bug: 133290645
Test: m droid
Change-Id: I7248e9034a73894ac8d514f913316438c4d7c079
2019-06-27 13:24:59 +01:00
Paul Duffin e2453c705f Allow default visibility to be set per package
Adds a package module type with a default_visibility property. The
package module type can only be specified once per package.

Bug: 133290645
Test: m droid
Change-Id: Ibb2fb499c9ea88ecaa662d3cd2cbde478e4b9a4b
2019-06-27 13:24:50 +01:00
Colin Cross f5300d729e Merge "Uncompress dex in unbundled privileged apps" am: 49eb5477c7
am: d7f9313e5b

Change-Id: I2f9baa99918d5730af3f7df1fc0671d4b6644ebe
2019-06-25 18:54:13 -07:00
Colin Cross 53a87f523b Uncompress dex in unbundled privileged apps
Mainline builds privileged apps unbundled and then uses them as
prebuilts, so they need to respect the privileged flag when
deciding whether or not to uncompress the dex.

Bug: 135772877
Test: TestUncompressDex
Change-Id: I91da7116b779ae35c0617ef77dbcb9788902370c
2019-06-25 13:36:46 -07:00
Jaewoong Jung a4d59ff0b5 Optionally embed NOTICE files in apks. am: 5b425e2e20
am: 5d48965fed

Change-Id: I533808f0eafb496c34ece9d100784ebb9b5257e6
2019-06-25 10:03:31 -07:00
Jaewoong Jung 5b425e2e20 Optionally embed NOTICE files in apks.
If embed_notices or ALWAYS_EMBED_NOTICES is set, collect NOTICE files
from all dependencies of the android_app, merge them with the app's own
one (if exists), transform it to HTML, gzip it, and put it as an asset
in the final APK output.

Bug: 135460391
Test: app_test.go
Change-Id: I52d92e2fd19b3f5f396100424665c5cc344190d8
2019-06-24 19:10:22 -07:00
Jaewoong Jung 57811d450d Merge "OverridableModuleBase shouldn't embed ModuleBase." am: 0b4ca8605c
am: bb8bae641d

Change-Id: I4a21037de5027747eb4ce1dd12e5566dafca98c6
2019-06-19 15:57:35 -07:00
Treehugger Robot 0b4ca8605c Merge "OverridableModuleBase shouldn't embed ModuleBase." 2019-06-19 21:30:46 +00:00
Jaewoong Jung 8985d527ae OverridableModuleBase shouldn't embed ModuleBase.
Individual module structs normally embed ModuleBase themselves. This
caused duplicate embedding, and so made common properties like notice
inaccessible.

Bug: 135460391
Test: app_test.go, TreeHugger
Change-Id: I5683b194e3de909d480c083a931cc7e871de1d74
2019-06-19 11:22:25 -07:00
Paul Duffin b3438891a0 Merge changes I42cb181f,I6413c9b1 am: 33ee25466f
am: 00c2bbb0e7

Change-Id: Icca90608b256e726a9a1bd79e9cedca1a6b53f84
2019-06-17 15:25:30 -07:00
Paul Duffin a3d0986cfc Remove the no_standard_libs property
Corrects an error message that refers to no_standard_libs.

Removes any tests that use no_standard_libs:true where possible as
there are duplicate tests for sdk_version:"none". Otherwise, switches
them over to use sdk_version:"none".

The androidmk mapping from LOCAL_NO_STANDARD_LIBRARIES to
no_standard_libs has also been removed. There was little point in
updating the tool to map it through to sdk_version:"none" as there are
only a couple of places where it is used, in art's test running mk
targets and in some unbundled packages to work around some limitation
in .mk based build.

Bug: 134566750
Test: m droid
Change-Id: I6413c9b1fe3e63b93753a6a017d2981e32b7e013
2019-06-17 11:21:39 +01:00
Steven Moreland 03cdfe1b31 Merge "neverallow: vintf to libhidltransport impl lib" into qt-dev
am: 6df90831b7

Change-Id: Ibd0f318e8cbc3ee3e24f7f768b85dfafed7565d1
2019-06-14 16:17:12 -07:00
Steven Moreland a1165d6958 neverallow: vintf to libhidltransport impl lib
Also delete useless testcase.

Bug: 134961554
Test: build

Change-Id: Ie76492f806757b86d94d29a736773f72ce2ab104
2019-06-14 22:04:53 +00:00
Colin Cross 4368ea33ca Merge "Give Blueprint modules access to all namespaces" am: fae8569647
am: 4732fa4548

Change-Id: I87a21b7cbee8699101f94cf38a997bc55fd5e995
2019-06-14 14:51:51 -07:00
Treehugger Robot fae8569647 Merge "Give Blueprint modules access to all namespaces" 2019-06-14 21:25:28 +00:00
Colin Cross cd84b4e36b Give Blueprint modules access to all namespaces
Don't enforce namespaces on Blueprint modules like
bootstrap_go_package, their dependencies are handled before
namespaces are initialized in namespaceMutator.

Fixes: 135246048
Test: TestDependingOnBlueprintModuleInRootNamespace
Change-Id: I7cf1c26bb8512eed59d6b4eb42a49f7080ffa281
2019-06-14 11:26:09 -07:00
Paul Duffin f45775edbe Merge "Add sdk_version:"none" to replace no_standard_libs:true" am: b11c72b0b8
am: e34bbae1ca

Change-Id: I9465a810dad7f3ea95b6c883844358d817f8cc8e
2019-06-14 01:32:45 -07:00
Jaewoong Jung 1498eef645 Merge "Fix typos in a comment." am: 606f946339
am: 54f06fec4f

Change-Id: Ida3891bd6c2cfd2bbc713e183771c9226f4b816b
2019-06-14 01:30:41 -07:00
Paul Duffin b11c72b0b8 Merge "Add sdk_version:"none" to replace no_standard_libs:true" 2019-06-14 06:29:48 +00:00
Paul Duffin 52d398a841 Add sdk_version:"none" to replace no_standard_libs:true
Where possible this duplicates any tests that use no_standard_libs:true
with ones that use sdk_version:"none". If not possible (e.g. in the
default targets included in java/testing.go) it switches some to use
sdk_version:"none" to ensure that there is no regression in the
behavior of no_standard_libs:true.

Follow up changes will switch all usages of no_standard_libs:true over
to use sdk_version:"none" at which point no_standard_libs will be
removed.

Bug: 134566750
Test: m droid
Change-Id: I5f0fd3daa980f6b223abe454cba7f25a97a39d7a
2019-06-13 19:15:10 +01:00
Treehugger Robot 606f946339 Merge "Fix typos in a comment." 2019-06-13 17:48:10 +00:00
Paul Duffin 065000e3f5 Merge "Never allow java_library_host with no_standard_libs: true" am: 393590d8a8
am: 3321670746

Change-Id: Iebd7f4cd4979860ea1b2f9433373546c114d2160
2019-06-13 00:17:11 -07:00
Paul Duffin 393590d8a8 Merge "Never allow java_library_host with no_standard_libs: true" 2019-06-13 06:57:19 +00:00
Colin Cross ce051256f8 Merge changes I89ad92f3,Ife1604c0 am: e51e2feafd
am: 4fb5563c20

Change-Id: Ib4c518190bc28f0d67469f9dcdc6d2b72e64072c
2019-06-12 21:06:54 -07:00
Colin Cross e51e2feafd Merge changes I89ad92f3,Ife1604c0
* changes:
  Don't add dependencies on uses-library modules in unbundled builds
  Add implicit outputs to ErrorRule rules
2019-06-13 03:36:08 +00:00
Jaewoong Jung 02b2d4d6be Fix typos in a comment.
Test: TreeHugger
Change-Id: Ida7281e283c2cf6c20dce7afce97542b704f6149
2019-06-12 15:51:26 -07:00
Colin Cross 31de2eaf51 Merge changes Ia17b2bcb,Ic71892c3,Id2b23b9e,I435ee7aa,I85112506, ... am: 72ea641dff
am: 98a6f300fa

Change-Id: I84683c2204afb5792ec11e2c608dca288e9431ec
2019-06-12 13:52:07 -07:00
Dan Willemsen 3fea9cbe7f Merge "Convert cc aidl to rule builder" am: 733728b42c
am: b29f7672a1

Change-Id: I2c1e300e268467d1b91b4aa93ac3754d890bfcd0
2019-06-12 13:50:02 -07:00
Colin Cross 4b69c497da Add implicit outputs to ErrorRule rules
When building with ALLOW_MISSING_DEPENDENCIES=true, Soong replaces
rules in modules that have missing dependencies with ErrorRule
rules that print an error.  The ErrorRules were not listing
implicit outputs, which could lead to dangling dependencies.

Test: manual
Change-Id: Ife1604c0a9a1159087b12568fd4c2b69517d81a7
2019-06-12 20:20:13 +00:00
Colin Cross 72ea641dff Merge changes Ia17b2bcb,Ic71892c3,Id2b23b9e,I435ee7aa,I85112506, ...
* changes:
  Consolidate *MutatorContext and ModuleContext into BaseModuleContext
  Add test for missing defaults modules with AllowMissingDependencies
  Capture missing dependency error rules
  Share buildDir for android/soong/android tests
  Reimplement AddMissingDependencies
  Add GenerateAndroidBuildActions to DefaultsModuleBase
2019-06-12 20:19:55 +00:00
Dan Willemsen 733728b42c Merge "Convert cc aidl to rule builder" 2019-06-12 20:08:46 +00:00
Paul Duffin b815ada8c0 Never allow java_library_host with no_standard_libs: true
This combination makes no sense.

Bug: 134566750
Test: m droid
Change-Id: Ib37bbac165395c003d23225e0469ba60fa6a56ea
2019-06-12 14:08:13 +01:00
Paul Duffin a4973e8fec Add tests for core library neverallow rules am: b6c6bdd1c2
am: 28630e0c47

Change-Id: If9ac14fe90a21e80d8c7748cb505f53c3983d3c5
2019-06-12 03:11:54 -07:00
Paul Duffin b6c6bdd1c2 Add tests for core library neverallow rules
Bug: 134566750
Test: m
Change-Id: I65e2afdf726937c29fc4f62a317024dc133254bf
2019-06-12 10:50:24 +01:00
Colin Cross dc35e21124 Consolidate *MutatorContext and ModuleContext into BaseModuleContext
Following 99bdb2ab4fd5168a71a20aecf10611425be47ec4 in build/blueprint,
move more methods into BaseModuleContext.

This reapplies I9f8df94f1ae2b55d3cccf7b9468247f3e7cb2ebd after fixing
missing errors thrown for missing defaults modules when
AllowMissingDependencies == true.

Test: m checkbuild
Test: defaults_test.go
Change-Id: Ia17b2bcbf2bac6889c419b2e73953946f6aa40ad
2019-06-10 16:30:35 -07:00
Colin Cross 0e99175bb6 Add test for missing defaults modules with AllowMissingDependencies
Test: defaults_test.go
Change-Id: Ic71892c379f8850996ea4dd94f606f4e937591df
2019-06-10 15:51:06 -07:00
Colin Cross b88b3c5e77 Capture missing dependency error rules
Allow missing dependency errors to be tested by capturing the
missing dependency error rule instead of the originally requested
rule.

Test: all soong tests
Change-Id: Id2b23b9ee354cdafc44fb9adfaf8fe7bab973478
2019-06-10 15:51:06 -07:00
Colin Cross 2ffb9a8d7d Share buildDir for android/soong/android tests
There is no need to create a separate buildDir for each test
file, use TestMain to create a global one for the package.

Test: all soong tests
Change-Id: I435ee7aa88b7e0bb8ccc1ba79f82833a7accf3e9
2019-06-10 15:51:06 -07:00
Colin Cross 6c4f21f3a1 Reimplement AddMissingDependencies
AddMissingDependencies is needed in BaseModuleContext in order
to allow PathsForModuleSrc and friends to be called in mutators,
It's not a simple move, as it currently writes to a module
field that would be lost if any mutators cloned new variants
by calling CreateVariations.  Reimplement it using a mutated
property instead.

Test: m checkbuild
Change-Id: I851125065e4c5302b552773dae4640426c62965e
2019-06-10 15:51:06 -07:00
Colin Cross 59037628f4 Add GenerateAndroidBuildActions to DefaultsModuleBase
Add an empty GenerateAndroidBuildActiosn to DefaultsModuleBase
so that every defaults module doesn't need to provide one.  This
will also allow adding an implementation in the next patch.

Test: m checkbuild
Change-Id: I13554bdb3a287c2f18e1efab74d4f08a1ba8620c
2019-06-10 13:51:17 -07:00
Inseob Kim 9b36280d08 Merge "Clean up sortedKeys function" am: b6fd6f75f2
am: a0ea84a72c

Change-Id: I168d2021a29a4f6e5e46ceec964999cc07677fa7
2019-06-10 12:24:16 -07:00
Treehugger Robot b6fd6f75f2 Merge "Clean up sortedKeys function" 2019-06-10 19:16:14 +00:00
Colin Cross abcb92804f Merge "Revert "Consolidate *MutatorContext and ModuleContext into BaseModuleContext"" am: 90ef4b9c12
am: 437679ddd1

Change-Id: Ie2ca6bc1c4df204333baaa3ba0d69c0db7842bc7
2019-06-10 11:18:00 -07:00
Colin Cross 380c69aab4 Revert "Consolidate *MutatorContext and ModuleContext into BaseModuleContext"
This reverts commit 7e0a2cb590.

Reason for revert: broke TARGET_BUILD_APPS builds

Change-Id: I5316a62f77bb38f6195e3df5e31b073dbd1eb682
2019-06-10 17:49:58 +00:00
Colin Cross 9d5d72f7a6 Merge changes I9f8df94f,I2d7f5c56,I0ebb7381,Ieefcfc1a am: a6bf56d4be
am: 236ac108f5

Change-Id: Ia0777130add15aceb17739f5dcb613ca4e1bf172
2019-06-10 10:00:33 -07:00
Inseob Kim 1a365c6a7f Clean up sortedKeys function
This introduces a generic function SortedStringKeys which can be used to
get a slice of sorted string keys for all kinds of maps having string
keys.

Bug: N/A
Test: m
Change-Id: I542194c68984d909b7ad1dbf060d4d3a98f0ef23
2019-06-08 16:10:38 +09:00
Colin Cross 7e0a2cb590 Consolidate *MutatorContext and ModuleContext into BaseModuleContext
Following 99bdb2ab4fd5168a71a20aecf10611425be47ec4 in build/blueprint,
move more methods into BaseModuleContext.

Test: m checkbuild
Change-Id: I9f8df94f1ae2b55d3cccf7b9468247f3e7cb2ebd
2019-06-07 13:29:12 -07:00
Colin Cross 0ea8ba82fc Consolidate baseContext, BaseContext, and BaseModuleContext
blueprint.BaseModuleContext is the set of methods available to all
module-specific calls (GenerateBuildActions or mutators).  The
android package split the same functionality across baseContext (nee
androidBaseContext), BaseModuleContext, and BaseContext.
Consolidate all of them into android.BaseModuleContext.

Test: m checkbuild
Change-Id: I2d7f5c56fd4424032cb93edff6dc730ff33e4f1e
2019-06-06 20:01:31 -07:00
Colin Cross 4157e88427 Rename ModuleBase receivers
I3b23590b8ce7c8a1ea1139411d84a53163288da7 renamed AndroidModuleBase
to ModuleBase, but left the receivers called 'a'.  Rename them to
'm' to match the type.

Test: m checkbuild
Change-Id: I0ebb738152febfd9a2a56ac0b197f19f9e01a1e7
2019-06-06 20:01:23 -07:00
Colin Cross 25de6c30d3 Remove repetition in android package names
Types in the android package don't need to be prefixed with 'android'.

Test: m checkbuild
Change-Id: Ieefcfc1a2c4161d9c412f40ef31867149ec21aec
2019-06-06 17:24:01 -07:00
Dan Willemsen 1945a4b47d Convert cc aidl to rule builder
This fixes an incremental build issue where we didn't clean up old aidl
header files (or necessarily notice that they were updated).

We do this by declaring the header files as outputs in the build graph,
but this means that the src file name needs to be convertible to the
aidl package name, as that's how the header file paths are created. In
many cases, filegroups can be used to strip path prefixes from the aidl
files.

Bug: 112114177
Test: treehugger
Change-Id: If534ff3dbfac329dea9a7402e30be74495754160
2019-06-06 08:23:53 -07:00
Colin Cross ea68aad696 Fix data race and ordering consistency in apex modules
apexDepsMutator can be called on multiple apex modules in parallel,
and then two goroutines could call BuildForApex on the same module
in parallel, leading to a data race appending to apexVariations.
This also results in random ordering of the entries in
apexVariations.

Hold a mutex around appending to apexVariations, and sort it before
passing it to ctx.CreateVariations.

Fixes: 134425751
Test: m nothing
Change-Id: If5a3b53a778daacb3e26ac05cde872cf8eb980b3
Merged-In: If5a3b53a778daacb3e26ac05cde872cf8eb980b3
(cherry picked from commit cefa94bd27)
2019-06-05 11:32:50 -07:00
Colin Cross d6e75e4ef9 Merge "Support tagged module references" am: b4c35f3378
am: a360b2b335

Change-Id: I61cff6302236ed5c67b86682563eaeae9d0e3363
2019-06-05 10:34:40 -07:00
Roland Levillain b7dc6845d2 Merge "Remove extra word in soong.android.archMutator's comment." am: 933d2a8e63
am: 97c9f50490

Change-Id: I0315835dcb894e2aa18fcc5d6c92e99705a2a2aa
2019-06-05 10:24:37 -07:00
Treehugger Robot b4c35f3378 Merge "Support tagged module references" 2019-06-05 17:17:32 +00:00
Treehugger Robot 933d2a8e63 Merge "Remove extra word in soong.android.archMutator's comment." 2019-06-05 17:04:52 +00:00
Patrice Arruda 5c52630d4e Merge "Soong: Define a new Soong module named prebuilt_firmware." am: e52b978c2a
am: 6ed00c6589

Change-Id: I05b0cebe792b6e9d2e53a1236eccb2f5e891cae7
2019-06-05 09:35:56 -07:00
Treehugger Robot e52b978c2a Merge "Soong: Define a new Soong module named prebuilt_firmware." 2019-06-05 16:17:10 +00:00
Roland Levillain f5b635d51f Remove extra word in soong.android.archMutator's comment.
Test: n/a
Change-Id: Idb12ebe3f1c1f5bac303fba3ea98aaa569294e90
2019-06-05 14:46:25 +01:00
Colin Cross 41955e8895 Support tagged module references
There are cases where a module needs to refer to an intermediate
output of another module instead of its final output.  For example,
a module may want to use the .jar containing .class files from
another module whose final output is a .jar containing classes.dex
files.  Support a new ":module{.tag}" format in any property that
is annotated with `android:"path"`, which will query the target
module for its ".tag" output(s).

Test: path_properties_test.go, paths_test.go
Test: no unexpected changes in build.ninja
Change-Id: Icd3c9b0d83ff125771767c04046fcffb9fc3f65a
2019-06-04 10:22:51 -07:00
Colin Cross 9cc712aa51 Merge changes I88973671,If5a3b53a am: 2406a123ba
am: 5a927378ea

Change-Id: Ibba9c6d25e075943ffd8d91ee5929a9b591bd25a
2019-06-03 23:30:30 -07:00
Colin Cross cefa94bd27 Fix data race and ordering consistency in apex modules
apexDepsMutator can be called on multiple apex modules in parallel,
and then two goroutines could call BuildForApex on the same module
in parallel, leading to a data race appending to apexVariations.
This also results in random ordering of the entries in
apexVariations.

Hold a mutex around appending to apexVariations, and sort it before
passing it to ctx.CreateVariations.

Fixes: 134425751
Test: m nothing
Change-Id: If5a3b53a778daacb3e26ac05cde872cf8eb980b3
2019-06-03 15:52:27 -07:00
Patrice Arruda 057a8b1114 Soong: Define a new Soong module named prebuilt_firmware.
There are several firmware files that are being installed to
system/etc/firmware or vendor/firmware. A new module type is
defined to install firmware files to install in the system
or vendor image.

Fixes: b/133711895
Test: Ran lunch, wrote unit test cases, created a sample Android.bp
      with defined prebuilt_firmware Soong and ran mma.

Change-Id: Iaa791cdda4402936037c5a456cc8bf8e6c905b3e
2019-06-03 15:40:22 -07:00
Jaewoong Jung 91cc2a05c8 Merge "Add data property to sh_test." am: 06b2c69cfe
am: d41cf78501

Change-Id: I9fb72312b88b79f1d0b2361e42c801c9a2723e42
2019-05-31 09:41:27 -07:00
Jaewoong Jung 06b2c69cfe Merge "Add data property to sh_test." 2019-05-31 16:05:42 +00:00
patricktu 88b829983c Merge "AIDEGen: Collect the srcjar into out/soong/module_bp_java_deps.json" am: b023fe382b
am: 0fd9fb5299

Change-Id: I7b29c01628ae43cbd0463ac6ebe1746538399b69
2019-05-30 22:48:02 -07:00
Treehugger Robot b023fe382b Merge "AIDEGen: Collect the srcjar into out/soong/module_bp_java_deps.json" 2019-05-31 05:29:15 +00:00
Jaewoong Jung 8eaeb0987d Add data property to sh_test.
Fixes: 131861785
Test: sh_binary_test.go, a real sh_test with added data
Change-Id: Ic78022d2db38a530074c70823ef16773d8ba6821
2019-05-30 17:21:29 -07:00
Colin Cross 4f3124ee1c Merge "Port uses-shared library verification and dexpreopting to Soong" am: 7a1fefc2de
am: 38ec6cfbf4

Change-Id: Ib9bbb720605f418d242aba98df9d9904671c29e4
2019-05-30 15:04:09 -07:00
Colin Cross 50ddcc4b69 Port uses-shared library verification and dexpreopting to Soong
Ports 09f3b97f4b488cd3a7b7d72038b173575b02c162 (Add support for
preopt with uses-libraries) from Make to Soong to support verifying
and preopting shared libraries.

This reapplies Id25f55f07a55120bebe2a9b32c094209efc85c8b with fixes
for unbundled builds and builds with ALLOW_MISSING_DEPENDENCIES=true
set.

Bug: 132357300
Test: app_test.go
Test: m checkbuild
Change-Id: I964309a68ec4ed081f3f3154879c71048ecb5455
2019-05-29 19:11:26 -07:00