Commit Graph

8191 Commits

Author SHA1 Message Date
Wei Li
9f13555225 Merge "Generate SBOM of products in Soong." into main 2024-07-26 00:45:43 +00:00
Taylor Santiago
dd65d3e672 Merge "Add ABFS (Android Build Filesystem) configuration option to Soong" into main 2024-07-25 21:04:06 +00:00
Pechetty Sravani (xWF)
13c6231218 Revert "Set output for build_prop even on Soong only build"
Revert submission 3195644-revert-3195637-revert-3184480-system_build_prop_soong-BZIDUTEOOC-KRUETCBWUR

Reason for revert: Droidmonitor created revert due to b/355379515. Will be verifying through ABTD before submission.

Reverted changes: /q/submissionid:3195644-revert-3195637-revert-3184480-system_build_prop_soong-BZIDUTEOOC-KRUETCBWUR

Change-Id: Iedc3434401d358ca4e716cdc056ff403eb3c5194
2024-07-25 09:21:09 +00:00
Pechetty Sravani (xWF)
072c0e4fcb Revert^3 "Add TARGET_SYSTEM_PROP to system build.prop"
ff506d1af2

Change-Id: I5659e93d4c45fdca20357b4fc61f936cfd0e748d
2024-07-25 09:21:09 +00:00
Pechetty Sravani (xWF)
ea04e564c2 Revert^3 "Use Soong-built system/build.prop"
625f66136d

Change-Id: I69b09646fb3286dcc5df638f87625f4eb8dcfcb2
2024-07-25 09:21:09 +00:00
Inseob Kim
b302108252 Merge "Set output for build_prop even on Soong only build" into main 2024-07-25 07:27:59 +00:00
Inseob Kim
625f66136d Revert^2 "Use Soong-built system/build.prop"
3ef9ed9848

Change-Id: I132ea8c2feabedc8b5e9bb8c0adb8f0995b9a2ec
2024-07-25 03:27:49 +00:00
Inseob Kim
ff506d1af2 Revert^2 "Add TARGET_SYSTEM_PROP to system build.prop"
027f50246f

Change-Id: I3e2e8d90029f897f1dbf76a829518cb7fe4a47b1
2024-07-25 03:27:49 +00:00
Inseob Kim
3a69282271 Set output for build_prop even on Soong only build
Without this change, Soong only build may break unexpectedly if some
modules refer to the build_prop module.

Bug: 322090587
Test: soong only build
Change-Id: I7571bdf0aa6c08ade8f130842c84c02bb0233acb
2024-07-25 11:54:28 +09:00
Inseob Kim
7d7baf7220 Merge changes from topic "revert-3184480-system_build_prop_soong-BZIDUTEOOC" into main
* changes:
  Revert "Add TARGET_SYSTEM_PROP to system build.prop"
  Revert "Sync gen_build_prop.py to sysprop.mk"
  Revert "Use Soong-built system/build.prop"
2024-07-25 02:48:23 +00:00
Inseob Kim
027f50246f Revert "Add TARGET_SYSTEM_PROP to system build.prop"
Revert submission 3184480-system_build_prop_soong

Reason for revert: breaks ndk and mainline build 

Reverted changes: /q/submissionid:3184480-system_build_prop_soong

Change-Id: Ic089dc3dfcbf2083d1bcf2413be432dcb61ce525
2024-07-25 02:45:53 +00:00
Inseob Kim
3ef9ed9848 Revert "Use Soong-built system/build.prop"
Revert submission 3184480-system_build_prop_soong

Reason for revert: breaks ndk and mainline build 

Reverted changes: /q/submissionid:3184480-system_build_prop_soong

Change-Id: I1738cc0a85428d3fd0a0ee196fa6d54270e6f1ec
2024-07-25 02:45:53 +00:00
Inseob Kim
b93b9f0b3a Merge changes from topic "system_build_prop_soong" into main
* changes:
  Use Soong-built system/build.prop
  Sync gen_build_prop.py to sysprop.mk
  Add TARGET_SYSTEM_PROP to system build.prop
2024-07-25 02:07:00 +00:00
Treehugger Robot
6899b7ed22 Merge changes from topic "avf_apex_android_bp_select" into main
* changes:
  Make more apex properties configurable
  Make genrule's srcs property configurable
  Make some apex properties configurable
  Make the vintf_fragments property configurable
  Make the defaults property configurable
2024-07-25 01:52:54 +00:00
Wei Li
b85a178b07 Generate SBOM of products in Soong.
Bug: 324465531
Test: CIs
Test: m soong-sbom
Change-Id: If76776851d49282829a79bfb1c33f05b8f57de31
2024-07-24 18:23:13 -07:00
Inseob Kim
361baadba6 Use Soong-built system/build.prop
buildinfo.prop is also removed since it's now obsolete.

Bug: 322090587
Test: boot
Test: compare build.prop before and after
Change-Id: Ida7bab82add6e86e1076061a5fcdb572cedd1578
2024-07-24 17:20:22 +09:00
Inseob Kim
bcc00559c6 Add TARGET_SYSTEM_PROP to system build.prop
System partition's build_prop output now contains TARGET_SYSTEM_PROP.
Soong needs to know paths to add them to ninja build dependency graph.

Bug: 322090587
Test: build and compare both build.prop files
Change-Id: Ide73e876d28eda0cced2ec08bd3c680115025ad8
2024-07-24 15:53:54 +09:00
Kiyoung Kim
e51cb36a48 Merge "Remove VSDK related code from build" into main 2024-07-24 03:31:43 +00:00
Inseob Kim
f223702f3f Make the vintf_fragments property configurable
This allows using select statements with it.

Bug: 354824866
Test: m
Change-Id: I9080c14b8342868d842670c65386582552b32d46
2024-07-23 14:03:12 +09:00
Inseob Kim
f4889dbc88 Make the defaults property configurable
This allows using select statements with it.

Bug: 354824866
Test: m
Change-Id: I673df0869a68c2e79b19c577d0ae1ff2249388db
2024-07-23 14:03:03 +09:00
Kiyoung Kim
a7510851ea Remove VSDK related code from build
Remove leftover VSDK related code from build, as they are no longer in
use.

Bug: 332986564
Test: AOSP CF build succeeded
Change-Id: I7dcec66ddf6ee9a563ac09a3fa8a282c9e00258a
2024-07-23 12:18:45 +09:00
Jiyong Park
f6736c714f Update visibility according to the change AVF directories layout
Bug: 352458998
Test: m nothing
Change-Id: I594301a48ad224d10ee0f3030f4c7dbd179b82ba
2024-07-22 11:22:35 +09:00
Elliott Hughes
081aaa9571 Remove armv7-a.
Non-neon armv7 hasn't been supported for OS builds for many years now.

Change-Id: I230cd0b20cc166a59b622c9cd82b7f06ef3ca3b0
2024-07-19 20:49:08 +00:00
Treehugger Robot
00abdc02de Merge "Add 'use_debug_art' to product_variable" into main 2024-07-19 03:21:23 +00:00
Ivan Lozano
e9871abe44 Merge "android: Use slices.DeleteFunc for filtering" into main 2024-07-18 17:27:34 +00:00
Devin Moore
aa4f1c20c2 Merge "Support phony_output as a BuildParam Arg in RuleBuilder" into main 2024-07-18 15:21:12 +00:00
Ivan Lozano
03b717d3f1 android: Use slices.DeleteFunc for filtering
Clean-up two filters in arch.go by using slices.DeleteFunc

Bug: 353739440
Test: m blueprint_tests
Change-Id: I3738bb7961830e2c287257cceb64194f048514d3
2024-07-18 15:13:50 +00:00
Ivan Lozano
a0258d8b3f Merge "android: Add host_cross_supported prop" into main 2024-07-18 14:31:02 +00:00
Ivan Lozano
c7eafa7a41 android: Add host_cross_supported prop
Some modules are only intended to be build for the build host,
e.g. rust_library modules only used in rust_proc_macro or
code generators.

These should not be expected to be built for or supported on non-build
host platforms. Thus, add a host_cross_supported property to disable
the HostCross target.

Test: m blueprint_tests
Test: Modules with host_cross_supported: false don't build for HostCross
Change-Id: Ia15f55776e04d86aee19bb0dd0d27e1b985b2b75
2024-07-18 13:28:27 +00:00
Kiyoung Kim
881e465fda Add 'use_debug_art' to product_variable
Add 'use_debug_art' property to product_variable so it can be checked
from Android.bp whether ART debug APEX or ART APEX should be used.

Bug: 351698657
Test: AOSP CF eng build succeeded
Test: AOSP CF userdebug build succeeded
Change-Id: I01cd80f0d899c55828ecb05fdafdc9bb05fd8200
2024-07-18 13:25:18 +09:00
Taylor Santiago
3c16e61c57 Add ABFS (Android Build Filesystem) configuration option to Soong
Change-Id: Ibbe81004adc67b1212d7e619a35f7425bfee0d72
2024-07-17 14:50:25 -07:00
mrziwang
7a47bd3a81 Return error for unsupported context in outputFilesForModuleFromProvider
Test: CI
Change-Id: I42d2341ea2613a28d403615f3ebccd0067d5501f
2024-07-17 11:11:05 -07:00
Treehugger Robot
7d45f55991 Merge "Support more variables for "debuggable"." into main 2024-07-17 01:56:59 +00:00
Devin Moore
b6cc64ffc4 Support phony_output as a BuildParam Arg in RuleBuilder
This allows a build rule to set the phony_output argument to ninja.
It's used to get ninja to ignore output files similar to .PHONY for
make.
It will cause the build rule to be run every time regardless of if or
when the output file was created.

Test: m android.hardware.bluetooth.audio-update-api &&
      git restore bluetooth/audio/aidl/aidl_api/* &&
      m android.hardware.bluetooth.audio-update-api
Bug: 353287999

Change-Id: I47b0b9e3ce2d8cb637b0102031193c81de24a680
2024-07-16 17:23:42 +00:00
Zi Wang
03b228e725 Merge "Remove OutputFileProducer" into main 2024-07-16 15:58:46 +00:00
Herbert Xue
38178329e5 Support more variables for "debuggable".
Enhance bp feature to support
"product_variables.debuggable.exclude_static_libs" and
"product_variables.debuggable.jni_libs".

Bug: 325857852
Test: lunch akita-trunk_staging-userdebug && m ConnectivityMonitor
Change-Id: Iae843af2d41ec7754812a0b89a7ebc791c58e099
2024-07-16 17:29:27 +08:00
Inseob Kim
0c71fa987f Merge changes from topic "cf_system_root_files" into main
* changes:
  Add support installing to root of filesystem image
  Add install_in_root to prebuilt_root module
2024-07-16 04:52:08 +00:00
Treehugger Robot
9678733731 Merge changes I861a60e1,I01bf99fa,I9d16dfec into main
* changes:
  Add util method HasIntersection(...)
  Implement InstallableModule for Java modules
  Collect container informations
2024-07-16 00:43:04 +00:00
Jihoon Kang
b7e1a48376 Add util method HasIntersection(...)
Introduces a util method `HasIntersection(...)`, which returns true if
the two input lists have non-empty intersection.

Test: m nothing --no-skip-soong-tests
Bug: 338660802
Change-Id: I861a60e1973c92a773c127dfc595ad7514d7972f
2024-07-15 23:46:45 +00:00
Jihoon Kang
c3d4e115af Collect container informations
This change introduces a method to collect the information of what
containers (i.e. api domain, partition, or any custom defined boundaries
of interest) the module belongs to. The method is called in
`ModuleBase.GenerateBuildActions`.

Each container objects defines the following:
- name of the container
- list of "restrictions", which are the containers that a module that
  belongs to this container is not allowed to depend on. Each
  "restrictions" also defines custom rules which allow bypassing the
  restricted dependency. Each rules are an enum that are mapped to a
  function, given that functions are not hashable and thus cannot be set
  as a value in a provider.

Note that this change is a no-op, as the container information is only
collected for modules that implement the "InstallableModule" interface,
which is not implemented by any other module types in this change. This
will be utilized in the follow-up changes.

Test: m nothing --no-skip-soong-tests
Bug: 338660802
Change-Id: I9d16dfec0dcf06da464aa49ee7b23f46f1da236a
2024-07-15 23:43:36 +00:00
mrziwang
d38e63d474 Remove OutputFileProducer
All the module types that were using OutputFileProducer
are using OutputFilesProvider now. This CL removes the
remaining OutputFileProducer code.

Test: CI
Bug: 339477385
Change-Id: I3c29785a59b907117b16ca2d0e56ef846adfb228
2024-07-15 13:50:18 -07:00
Inseob Kim
33f95a959d Add support installing to root of filesystem image
If the partition of a spec is "root", that spec will be installed to
root instead. Normally that spec will be from prebuilt_root module with
install_in_root property.

Bug: 351258461
Test: USE_SOONG_DEFINED_SYSTEM_IMAGE=true m && cvd start
Change-Id: Iaaa9c2fb8a81fe0ba4710c641e1b65c5b71ad4a4
2024-07-15 17:39:44 +09:00
Inseob Kim
be6a66d54b Add install_in_root to prebuilt_root module
This is to support installing to real root "/", not a root of partition
(e.g. "/system/").

Bug: 351258461
Test: build
Change-Id: I56993aceddfd988d2d10040f50f838b89c9bdc67
2024-07-15 17:39:09 +09:00
Zi Wang
2dbf71fed8 Merge "Use OutputFilesProvider in module_test" into main 2024-07-12 20:39:09 +00:00
mrziwang
1ea01e3c59 Use OutputFilesProvider in module_test
In the context of incremental soong, the output files
inter-module-communication will be through OutputFilesProvider.
The OutputFileProducer interface will be deprecated.

Test: CI
Bug: 339477385
Change-Id: Iaf0b039b17d34e1a696f2c87df2f0db39307fc6d
2024-07-12 12:26:34 -07:00
Colin Cross
77c5e9f9d4 Don't forward apex dependencies to platform when they are added later
IncomingApexTransition normally returns "" for modules that have
no apex variation so that apex variations can depend on non-apex
variations, for example for NDK libraries.

addDependencyOntoApexModulePair uses OtherModuleDependencyVariantExists
to decide whether to add a dependency on a module in an apex.  If
IncomingApexTransition returns "" then OtherModuleDependencyVariantExists
will always return true.  Return the incoming variation when addding
dependencies after the apex transition mutator has already run.

Bug: 319288033
Flag: EXEMPT bugfix
Test: all soong tests pass with later patches applied
Change-Id: Iec40c3be2ed04dca16a9fa6fa0a1c31056b536a8
2024-07-11 16:59:34 -07:00
Colin Cross
e1a8555581 Add IsAddingDependency to IncomingTransitionContext
Add an IsAddingDependency method to IncomingTransitionContext that
returns true if IncomingTransition is called after the transition
has already won while adding a new dependency.  This will be used
as part of the transition mutators to support an apex use case where
incoming dependencies during the initial apex mutator need to be
rewritten onto the platform variant for modules that don't support
the apex, but a later call to OtherModuleDependencyVariantExists
must not rewrite the requested apex variation onto the platform
variant.

This should be used sparingly, all uses will have to be removed in
order to support creating variants on demand.

Bug: 319288033
Test: TestIsAddingDependency
Flag: EXEMPT refactor
Change-Id: Ib8e419d35ff8f7cbff9667c1cd40d05ccfacab8b
2024-07-11 16:59:34 -07:00
Zi Wang
5ab1eb8822 Merge "Update the way to get output files in license_metadata" into main 2024-07-11 18:50:22 +00:00
mrziwang
01201ed2ed Update the way to get output files in license_metadata
The output files from a module is obtained from OutputFilesProvider
instead of from OutputFileProducer, which is going to be
deprecated.

Test: CI
Bug: 339477385
Change-Id: I2a5488653d9ba05c7ebd5a0b452e75fcc676c893
2024-07-11 10:21:57 -07:00
mrziwang
68b2594524 Fix typo in outputFilesForModule error message
Test: CI
Change-Id: I41f28a0412613458a0dad132006adfbc9fbbce2c
2024-07-11 09:58:30 -07:00