Commit graph

1194 commits

Author SHA1 Message Date
Ramy Medhat
87f0108f37 Merge "Add USE_RBE support to soong." am: 2b78fda705
am: 66b73ceddc

Change-Id: I2242a686fe3b307f49b975e9c07d70883be3a343
2019-07-23 05:29:20 -07: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
d0cb1f57c7 Merge changes Ic2a585ea,I11ccabc4,Icc932c4a,I020556c7,I08713e91 am: ed9a92c311
am: a373a94fc0

Change-Id: Idace0a12e475ef12a5055974052b10197ca1c561
2019-07-22 14:13:42 -07: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
c5d109063d Merge "Revert "Revert "Prevent runtime module paths being used in include_dirs""" into stage-aosp-master
am: cebbe099df

Change-Id: Ib9abc9a0942fd189104b644ec7b5b5eb4ac53998
2019-07-22 11:48:15 -07: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
Ming-Shin Lu
d6e4a90b01 Revert "Prevent runtime module paths being used in include_dirs"
am: ff3d72f0bf

Change-Id: Iaa36cca8e24121e9dc673a757a3a22266f117768
2019-07-22 00:14:38 -07: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
4d1663e8a3 Prevent runtime module paths being used in include_dirs am: 2ac2befc9a
am: 31d0688df9

Change-Id: I7614050e521b7091ac1aee57ade672bad11648a2
2019-07-21 04:20:25 -07: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
7d8e40c8ad Abstract property value matching logic behind an interface am: 73bf054a52
am: 34ae60b2bb

Change-Id: If903d26eb145c3489fcf9ef8567f55c43c648f46
2019-07-19 22:49:42 -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
1ad744326f Merge changes from topic "buildnumberfromfile" am: 223e6a65b6
am: 9dbe4eea79

Change-Id: I7bbf93f6a7416d5fd19e8d905972984414d4f6f6
2019-07-16 20:09:10 -07: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
96e77eece5 Merge changes Ia106d48e,Ib6c0e778 am: 63f4b57a7f
am: 723cc24f2e

Change-Id: I467f93f44713b548c48a09d7b88f7a538cdd6b0a
2019-07-16 15:07:58 -07: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
ddf273bcd4 Merge "Make relative path for native_bridge binaries configurable" am: 2ca7a8835e
am: 1866802e07

Change-Id: I49f854acc05be48cd69669a1b4e4102c0b94df9e
2019-07-16 02:49:42 -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
680ae837fb Merge "soong: Fix AndroidMk with *Required properties" am: 0f7dbd0d55
am: 962982a731

Change-Id: Ia207ff1521e876825a7ca9fac1c433e3d4b1b652
2019-07-15 19:41:37 -07: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
3aa68561eb Merge "Fix a bug in generateNoticeRule." am: 34b1b27981
am: 4f4a498032

Change-Id: I66f6fcefd987da6e2cecd939639f1c8b5efb0c98
2019-07-15 18:32:25 -07: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
22dad113ce resolve merge conflicts of c40949db97 to qt-dev-plus-aosp
Bug: None
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I496cca8b8c1b4330d56341f12c0f151766c77980
2019-07-10 10:18:16 -07: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
Jiyong Park
a237e62db0 Don't use prebuilt_apex when TARGET_FLATTEN_APEX is set to true
am: 0a573d798f

Change-Id: I67d532961fc4584bc0d7bf3616edb3236fb1acc9
2019-07-09 20:15:23 -07: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