Commit Graph

84728 Commits

Author SHA1 Message Date
Yu Liu
73282e8129 Merge "Merge SingletonProviderContext with OtherModuleProviderContext" into main am: 246b43049c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3216676

Change-Id: Ib0d8eb66616fa4775e3827b4956ad19034bf1cc8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-13 16:15:51 +00:00
Yu Liu
246b43049c Merge "Merge SingletonProviderContext with OtherModuleProviderContext" into main 2024-08-13 15:56:16 +00:00
Treehugger Robot
4081f58abb Merge "Refactor containers" into main am: f20696e112
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3216637

Change-Id: I87fbd3fe98e84488350fd70f9c7d3f322358dcfe
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-13 05:15:46 +00:00
Treehugger Robot
f20696e112 Merge "Refactor containers" into main 2024-08-13 04:47:43 +00:00
Yi Kong
233b2657fe Merge "Remove workaround for old libc++" into main am: c128a6808e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3216575

Change-Id: I8f10fe7c7a9d42b9daeb7f74127d04a6825375bd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-13 02:30:34 +00:00
Yi Kong
c128a6808e Merge "Remove workaround for old libc++" into main 2024-08-13 02:07:31 +00:00
Treehugger Robot
9d699ca096 Merge "Make the srcs and exclude_srcs properties configurable" into main am: aa65374cc1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3217278

Change-Id: Idb36b4a5436e7c40edb51cf311d070f3ef3872d7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-13 01:44:05 +00:00
Treehugger Robot
aa65374cc1 Merge "Make the srcs and exclude_srcs properties configurable" into main 2024-08-13 01:20:23 +00:00
Haamed Gheibi
e543ed875b Merge "Individually mount children of root with ABFS enabled and respect OUT_DIR configuration." into main am: c0429054c9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3208030

Change-Id: Iaa5e4f9d9cca32ad781798ab9e08788dcf7440cb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-13 01:00:13 +00:00
Haamed Gheibi
c0429054c9 Merge "Individually mount children of root with ABFS enabled and respect OUT_DIR configuration." into main 2024-08-13 00:25:24 +00:00
Treehugger Robot
82a854764d Merge "dirmods: Add option to not recurse" into main am: 51554b41b5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3178839

Change-Id: Iccb654e03a3491b166a7954927bd090c8cab589a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-13 00:08:32 +00:00
Treehugger Robot
51554b41b5 Merge "dirmods: Add option to not recurse" into main 2024-08-12 23:52:21 +00:00
Yu Liu
663e4508dc Merge SingletonProviderContext with OtherModuleProviderContext
Bug: 358425833
Test: CI
Change-Id: I8e3f40dc3cfc5337008b419801f8e6bf2d48e8b2
2024-08-12 22:50:19 +00:00
Cole Faust
96a692bfa9 Make the srcs and exclude_srcs properties configurable
Bug: 358377461
Bug: 342006386
Test: Presubmits
Change-Id: I21c20254a3ad3e75dd401ab807eb57ddbbeac047
2024-08-12 15:27:02 -07:00
Jihoon Kang
17a61d7609 Refactor containers
Implementation details:
- Add documentations
- Convert container determiniation logic to function pointers, in order
  to make addition/deletion of containers more scalable

Test: m nothing
Bug: 338660802
Change-Id: I4f7a9a027e00584bb895ce8559f621bae1e985f6
2024-08-12 22:26:52 +00:00
Taylor Santiago
2611851112 Individually mount children of root with ABFS enabled and respect
OUT_DIR configuration.

Mounting '/' directly as read-only results in failed bindmounts at /src
if that directory does not already exist due to failure to mkdir.

Change-Id: I7f11c45e82374d142a86fcb2f03e53ddacffffb8
2024-08-12 12:06:29 -07:00
Yi Kong
0129fa5f4c Merge "Bump pessimizing-move from -Wno to -Wno-error" into main am: 703c2e3d64
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3215602

Change-Id: Ic3a4a40a281c864691e64aac1955db5943e350f6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-12 18:55:49 +00:00
Yi Kong
703c2e3d64 Merge "Bump pessimizing-move from -Wno to -Wno-error" into main 2024-08-12 18:31:42 +00:00
Colin Cross
6bdec0cbe6 Merge changes If313580b,I68d50d68 into main am: 08b6061539
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3214342

Change-Id: I301643cc587ff80e243115b8f729eba4e0cd3e02
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-12 17:37:42 +00:00
Spandan Das
9b5740ceeb Merge changes Ib4581079,Ia3887bae into main am: 9dfccb91a5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3214336

Change-Id: I03e42b30ce41cdadee05041afc717bf8fee36d8d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-12 17:37:24 +00:00
Colin Cross
08b6061539 Merge changes If313580b,I68d50d68 into main
* changes:
  Use a provider for systems modules
  Add PrepareForTestWithBuildFlag
2024-08-12 16:53:42 +00:00
Spandan Das
9dfccb91a5 Merge changes Ib4581079,Ia3887bae into main
* changes:
  Make IdeInfo aware of jarjar-ing
  Add .internal modules to IDEInfo.deps of top-level java_sdk_library
2024-08-12 16:40:30 +00:00
Yi Kong
f4801135a6 Remove workaround for old libc++
We now have a modern libc++, and no longer needs to explicitly turn off
deprecated-dynamic-exception-spec warning for it.

Test: presubmit
Change-Id: Ie282b32ed9ac2b0246fd8245f4c5d29526cbda76
2024-08-12 23:53:30 +08:00
Yi Kong
fd50d175ad Bump pessimizing-move from -Wno to -Wno-error
This is a useful warning that can point out lower performance code.

https://r.android.com/q/hashtag:pessimizing-move-cleanup cleaned up many
cases. Let's bump this up to a non-error warning while we fix up the
remaining cases.

The warning remains off for all external code.

Test: presubmit
Bug: 154270751
Change-Id: If6b69cbaa1384e81336b6842607a587bf6c7f38b
2024-08-12 17:51:38 +08:00
Kiyoung Kim
c1cbe7363a Merge "Remove host_snapshot module" into main am: d0338d3565
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3211799

Change-Id: I6dd54de58559aaa94749256ba3f7264a0c6211c2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-12 00:42:45 +00:00
Kiyoung Kim
d0338d3565 Merge "Remove host_snapshot module" into main 2024-08-12 00:37:38 +00:00
Treehugger Robot
5c9c275d6e Merge "Build product/odm build.prop with Soong" into main am: 6f4d57a790
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3213179

Change-Id: I4f480134015a513ea5378a8a5bf92e440d33f41c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-12 00:36:42 +00:00
Treehugger Robot
6f4d57a790 Merge "Build product/odm build.prop with Soong" into main 2024-08-12 00:08:32 +00:00
Colin Cross
b61c226943 Use a provider for systems modules
Replace the SystemModulesProvider interface with Provider

Test: all soong tests
Flag: EXEMPT refactor
Change-Id: If313580b28094d55b71f1635259bafa850ef7af5
2024-08-09 16:47:45 -07:00
Colin Cross
a66b4630f6 Add PrepareForTestWithBuildFlag
Add a helper function that creates a test fixture preparer that
sets a build flag, and use it everywhere that was setting build flags
manually.

Test: all soong tests
Flag: EXEMPT refactor
Change-Id: I68d50d68787a30d091f0827e8caa51f5c5a762ef
2024-08-09 16:47:45 -07:00
Spandan Das
b4cd5df573 Make IdeInfo aware of jarjar-ing
jarjar can be used to repackage a java_library. e.g. Foo.java in package
com.android might get repackaged to prefix.com.android.Foo in the
resultant jar. To allow code completion of rdeps, we should use the
repackaged jar instead of the src files.

This CL sets dpInfo.Jars to the header jar _only_ when jarjar_rules is
not empty. We could probably set `Jars` to the header jar even for non
jarjar-d libraries and get rid of `Srcs`, `SrcJars` altogether, but that
would likely slow down any tools that index
out/soong/module_bp_java_deps.json for code completion.

Test: go test ./java
Bug: 356572093
Change-Id: Ib45810799a479cb315aed011a34351d386a21357
2024-08-09 22:37:33 +00:00
Spandan Das
742394d3e6 Merge changes Iab6efe78,I73affae8 into main am: 788f69722c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3214777

Change-Id: I6ea2dc099a65c623271f3abe4eb9f76db7f38aac
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-09 22:36:25 +00:00
Dan Albert
1095648992 Disable ABI tracking for bionic. am: fbe5780312
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3214785

Change-Id: I84041e5e2832ddb17afba253d5e0a607872d2da2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-09 22:36:13 +00:00
Spandan Das
dee1a7419f Add .internal modules to IDEInfo.deps of top-level java_sdk_library
libraries and apps can depend on the top-level java_sdk_library like
such
```
java_library {
  name: "mylib",
  libs: ["somesdklib"],
}
```
and soong will automatically resolve mylib's classpath to either the
stub or impl library based on the api container these libraries are in.

Since the top-level java_sdk_library has no compilation actions, code
completion of `mylib` is not feasible today via
`module_bp_java_deps.json`. This CL adds support for this code
completion by registering the .impl (or public stubs) as a transtive
dependency of `mylib`.

The implication of this change is that implementation symbols of the sdk
library will be surfaced during code-completion of mylib, even when
mylib is in a different container. Long term, this should go away when
all the library dependencies are made explicit in Android.bp files.

Test: go build ./java
Test: verified that symbols of android.car.builtin (a java_sdk_library)
can be resolved with the repro instructions in b/356572093#comment5

Bug: 356572093
Bug: 358613520
Change-Id: Ia3887bae34bbd25b8c6346f43602835da32af84a
2024-08-09 22:27:47 +00:00
Spandan Das
788f69722c Merge changes Iab6efe78,I73affae8 into main
* changes:
  Register versioned sdk dependency in module_bp_java_deps.json
  Add IdeInfo for java module types
2024-08-09 22:24:51 +00:00
Dan Albert
fbe5780312 Disable ABI tracking for bionic.
This is being done with a path-based filter rather than as a property
of ndk_library because there would be no way to prevent people from
disabling ABI tracking without API council review if it were a
property, since there's no per-module OWNERS.

Bug: http://b/358653811
Test: m ndk
Change-Id: If6af638accc917294eee18cb08551c5df25462ad
2024-08-09 21:16:56 +00:00
Spandan Das
6e8bd1cc37 Register versioned sdk dependency in module_bp_java_deps.json
java modules that link against a versioned sdk (sdk_version: <num>) get
the appropriate stub jar on its classpath, but the dependency is not
registered in its build graph. This CL registers this dependency for
module_bp_java_deps.json. Ideally, we should move this to `decodeSdkDep`
so that this dependendency becomes known to other tools that analyze
soong's module graph (e.g. soongdbg)

Test: go test ./java
Bug: 358608607
Bug: 356572093
Change-Id: Iab6efe7826d18dedfadbe4d34d78e7eb2888bd8d
2024-08-09 17:16:23 +00:00
Yi Kong
8bed93dacf Merge "Move -Wno-error=format from external NoOverride to external flags" into main am: c8b6feba4c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3214346

Change-Id: I8db201ad31bb2400280283502effb158bcf0ba44
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-09 14:25:54 +00:00
Yi Kong
c8b6feba4c Merge "Move -Wno-error=format from external NoOverride to external flags" into main 2024-08-09 13:50:03 +00:00
Ivan Lozano
ba9cf6a7b1 Merge "rust: Add dylib variants for bindgen modules." into main am: 3d46dc569a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3208190

Change-Id: Iae74d16b56d7b2c0fc26b5f0fe1bac601b3efba5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-09 13:00:54 +00:00
Ivan Lozano
3d46dc569a Merge "rust: Add dylib variants for bindgen modules." into main 2024-08-09 12:39:23 +00:00
Kiyoung Kim
ef693fc9bc Remove host_snapshot module
Remove host_snapshot implementation which is no longer in use.

Bug: 332986564
Test: soong build succeeded
Change-Id: I96ee4eb319f380d9f85de7f9716e63513838624c
2024-08-09 07:16:03 +00:00
Yi Kong
2e2d753760 Move -Wno-error=format from external NoOverride to external flags
Test: presubmit
Bug: 315250603
Change-Id: Ib1ed2aed52818e177c1b40da17e192606308243a
2024-08-09 14:56:58 +09:00
Jooyung Han
c8a2120f84 Merge "apex: rm $out before decompressing an apex." into main am: f826c99ec2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3213175

Change-Id: I18ce130423ca2af6346de98e4cd748729fa11d8a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-09 01:50:49 +00:00
Jooyung Han
f826c99ec2 Merge "apex: rm $out before decompressing an apex." into main 2024-08-09 01:33:04 +00:00
Priyanka Advani (xWF)
5100d3b255 Merge "Revert "Verify that ndk_headers headers are valid C."" into main am: d882a0c92d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3214337

Change-Id: Ib8a4d2be17bec36c93e2e6839d0e3284d05a04d8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-08 23:47:48 +00:00
Priyanka Advani (xWF)
d882a0c92d Merge "Revert "Verify that ndk_headers headers are valid C."" into main 2024-08-08 23:29:41 +00:00
Priyanka Advani (xWF)
181934cc26 Revert "Verify that ndk_headers headers are valid C."
Revert submission 3207854-ensure-c-ndk-headers

Reason for revert: Droidmonitor created revert due to b/358445530.

Reverted changes: /q/submissionid:3207854-ensure-c-ndk-headers

Change-Id: I649941a4d063d76a1c6a8e58fb885da2c44331c0
2024-08-08 22:49:18 +00:00
Spandan Das
f5ee86c46f Add IdeInfo for java module types
This CL adds support for
1. java_system_modules
2. java_system_modules_import
3. java_device_for_host
4. java_host_for_device

Bug: 356572093
Test: cat out/soong/module_bp_java_deps.json | jq
'."core-all-system-modules"' is no longer null

Change-Id: I73affae834df7f6ed961fa757585242f6d388395
2024-08-08 22:38:27 +00:00
Treehugger Robot
c6a4a90505 Merge "Verify that ndk_headers headers are valid C." into main am: 894a93840d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3207854

Change-Id: Ib20e54af35bc322e1b7e821788fcfd80e000fa47
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-08 22:04:17 +00:00