Commit Graph

8274 Commits

Author SHA1 Message Date
Linus Tufvesson
ee76dc3e21 Update soong to use flag for min supported sdk am: ba270c503a am: 5c7b9120c5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3037607

Change-Id: I235a8af79b560c3cb7558d05eaa54b22e880112d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-16 09:58:18 +00:00
Linus Tufvesson
5c7b9120c5 Update soong to use flag for min supported sdk am: ba270c503a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3037607

Change-Id: I647dc57aafe68ad0ff4b97e6c558737daabc5303
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-16 09:28:39 +00:00
Linus Tufvesson
ba270c503a Update soong to use flag for min supported sdk
Test: Build and flash
Test: adb shell getprop ro.build.version.min_supported_target_sdk
Bug: 297603927
Change-Id: I5123c58c8397ae44f163c2c2ee557dce9b0437c1
2024-04-16 08:08:59 +00:00
Jiyong Park
de18a3d55a Use Module interface in addRequiredDeps
Previously, addRequiredDeps directly called RequiredModuleNames directly on
ModuleBase. As a result, it failed to correctly track the dependencies
for the modules which are overriding RequiredModuleNames. cc_* were
those.

Fixing this by calling RequiredModuleNames via the Module interface.

Bug: 321626681
Test: go test ./... under filesystem
Change-Id: I79de616606b88277da0b3e86b21316ee83e0ec71
2024-04-13 10:51:18 +09:00
Treehugger Robot
db464afdef Merge "Let deps property be conditional on debuggability" into main am: 06485000db am: 17cc9f34ca
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3040375

Change-Id: I6bc815ecd4153b3554165577c000d202b8f87a9c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-13 01:20:06 +00:00
Treehugger Robot
17cc9f34ca Merge "Let deps property be conditional on debuggability" into main am: 06485000db
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3040375

Change-Id: Ic6286eb4fdc7ab9acf532ac4a7d013d1197b5ea7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-13 01:05:23 +00:00
Treehugger Robot
06485000db Merge "Let deps property be conditional on debuggability" into main 2024-04-13 00:43:04 +00:00
Treehugger Robot
cc781b0184 Merge "Remove duplicates in PathsAndMissingDepsRelativeToModuleSourceDir" into main am: ef0cbf11a6 am: 41333ae3ee
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3037576

Change-Id: I19a7abb59ff147f9700b4930846d35f116f00163
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-12 23:55:03 +00:00
Treehugger Robot
41333ae3ee Merge "Remove duplicates in PathsAndMissingDepsRelativeToModuleSourceDir" into main am: ef0cbf11a6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3037576

Change-Id: I0174099c683e74f9f15e9438b25a70e1e55fc15b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-12 23:41:29 +00:00
Treehugger Robot
ef0cbf11a6 Merge "Remove duplicates in PathsAndMissingDepsRelativeToModuleSourceDir" into main 2024-04-12 23:39:04 +00:00
Jihoon Kang
0e3a5352e1 Remove duplicates in PathsAndMissingDepsRelativeToModuleSourceDir
This change prevents duplicate paths from being returned when resolving
filepath, glob and ":name{.tag}" syntax to android.Paths. Once all
existing modules are cleaned up to remove duplicates in the source
files, the duplicates removal can be converted into an error so that
passing duplicate source files in the module definition is restricted.

Test: patch to git_main, inspect ninja commands
Bug: 326674683
Change-Id: I38a4ce9238da25cd67968f6bc8058bc9facc4551
2024-04-12 21:57:05 +00:00
Colin Cross
76d1b42c9f Remove more unused code
Bug: 315353489
Test: builds
Change-Id: I34cf772ba3c927bbbc141afb149cf0501ca6351f
2024-04-12 13:45:35 -07:00
Jiyong Park
62532d7d62 Let deps property be conditional on debuggability
This allows us to add dependencies only for debuggable builds.

Bug: N/A
Test: add product_variables.debuggable.deps to the android_system_image
module.

Change-Id: Id90646fff8a8a91c5e768418b9881e93228ec2a5
2024-04-12 16:16:28 +09:00
Treehugger Robot
de40384070 Merge "Remove unused writeFile var" into main am: 7965e1c9a8 am: cf11f90af1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3036695

Change-Id: I5a9f7f9d868b3ecdb79b04b13dba73a640889fbf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-11 21:35:02 +00:00
Treehugger Robot
cf11f90af1 Merge "Remove unused writeFile var" into main am: 7965e1c9a8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3036695

Change-Id: I18cd8f34ab5b7c5dcdfad21f3cd71a21fcc28e4a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-11 21:11:27 +00:00
Cole Faust
fc57d40bf1 Change the syntax for arch selecting and add os selecting
This changes the syntax from select(variant("arch"), {...}) to
select(arch(), {...}) to make it shorter and to make it clear that
we can restrict what variants you can select on.

Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: Iafe05b5f455895313a563ed6292f4016b58180b0
2024-04-11 12:09:44 -07:00
Cole Faust
fdbf5d476b Update the ConfigurableEvaluator for typed selects
See the blueprint cl for more information.

Also added tests for both multivariable and typed selects.

Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I00c1a3c56d34affb88f4b4d911c318b28ffe7695
2024-04-11 11:40:02 -07:00
Paul Duffin
7f5073a94a Remove unused writeFile var
Test: TH
Change-Id: I09922d8f837f41dad01bc64192fa174d988eb39a
2024-04-10 13:21:28 +01:00
Hsin-Yi Chen
66245afd1a Merge "Filter ABI dumps by LLNDK headers and version scripts" into main am: 1edffe1dc4 am: 1ad665f20c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3019094

Change-Id: Icc18d4dad1549d96c6147b3f2f3e44771efed10c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-10 09:13:04 +00:00
Hsin-Yi Chen
1ad665f20c Merge "Filter ABI dumps by LLNDK headers and version scripts" into main am: 1edffe1dc4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3019094

Change-Id: Icd5bf9027880a22ebf71ae0a8667a7d873ad401a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-10 08:58:20 +00:00
Hsin-Yi Chen
1edffe1dc4 Merge "Filter ABI dumps by LLNDK headers and version scripts" into main 2024-04-10 08:36:07 +00:00
Ronald Braunstein
cc9a065331 Merge "Add test-only and test-target fields to all_teams proto." into main am: 98d46751ef am: 1f34b78590
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3022586

Change-Id: I0d3215c08be061b3e4d4baa2aebf8818e4cdc14a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-10 01:30:37 +00:00
Ronald Braunstein
1f34b78590 Merge "Add test-only and test-target fields to all_teams proto." into main am: 98d46751ef
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3022586

Change-Id: Ic9171a03f07493ab3026dec6060b0d7fda13ff40
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-10 01:12:17 +00:00
Ronald Braunstein
c560309e30 Add test-only and test-target fields to all_teams proto.
The `test-only` flag designates the module contains test-only, not
production code.  In order to generate code-coverage reports, we wanted
a way to filter out code (like java_library) that is test-only and
doesn't need to be in the report.
   The XXX_test modules will have test-only set automatically.
   For modules like `java_library`, users will be a able to set this in
   the Android.bp file.
   As a follow-up, I'll run some queries to find modules that are only
   reachable from top level test targets and mark them test-only as
   appropriate.

`test-only` is being added to the team.proto and will be written via the
`all_teams` target.

Currently, it is challenging to find "all top level test targets".
I'm adding another field to mark the target as a "top level test
target" if it is a XXX_test or XXX_test_host module.  The goal is to
mark all modules the user intended to run as a test, either with
tradefed or directly as a native test.

I added 'module-type/kind' to the proto so I can do some queries:

 gqui from  "flatten(out/soong/ownership/all_teams.pb, teams)" proto team.proto:AllTeams 'select teams.kind, count(*) where teams.top_level_target = true group by teams.kind'
+--------------+----------+
|  teams.kind  | count(*) |
+--------------+----------+
| android_test |     1379 |
| art_cc_test  |       56 |
| cc_benchmark |       68 |
| cc_fuzz      |      515 |
| cc_test      |     3519 |
| cc_test_host |        6 |
| java_fuzz    |        5 |
| java_test    |      773 |
+--------------+----------+

% gqui from  "flatten(~/aosp-main-with-phones/out/soong/ownership/all_teams.pb, teams)" proto team.proto:AllTeams 'select teams.kind ,count(*) where teams.test_only = true group by teams.kind'
+--------------------------+----------+
|        teams.kind        | count(*) |
+--------------------------+----------+
| android_test             |     1379 |
| android_test_helper_app  |     1678 |
| art_cc_test              |       56 |
| art_cc_test_library      |       13 |
| cc_benchmark             |       68 |
| cc_fuzz                  |      515 |
| cc_test                  |     3519 |
| cc_test_host             |        6 |
| cc_test_library          |      484 |
| java_library             |        2 |
| java_test                |      773 |
| java_test_helper_library |       29 |
+--------------------------+----------+

All modules can be seen here: https://docs.google.com/spreadsheets/d/1Zqbh7lDDdlI1xVmrN9fZ8bm8XD7EoORjjiPqbMvAKgQ/edit#gid=396553017

FOLLOW UP cls:
  *) Add more top level tests, like sh_test and python_test
  *) Add validation so that only modules currently marked test-only
     can depend on modules marked test-only
  *) Remove test_spec, code_metadata, TestModuleProviderKey: aosp/2928500

Test: go test ./java ./cc ./android
Test: m blueprint_tests
Test: m nothing --no-skip-soong-tests
    !!  android already failing on selects_test
Test: m all_teams  && gqui from  "flatten(out/soong/ownership/all_teams.pb, teams)"

Change-Id: Ib97dca60989aa9d7f000727c92af2e354926f072
2024-04-09 16:36:29 -07:00
Cole Faust
6aaa55d11a Remove "exported" ninja variables am: 8982b1c49e am: 50b1f9bd53
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3031205

Change-Id: Ib94fb0c07106eb2ae52e3f317c44656fddb9aab3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-09 20:07:31 +00:00
Cole Faust
50b1f9bd53 Remove "exported" ninja variables am: 8982b1c49e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3031205

Change-Id: Id9a465d5a056cdac16c1ba6f3b5596fdabfe0073
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-09 19:42:40 +00:00
Cole Faust
8982b1c49e Remove "exported" ninja variables
There was infrastructure to export ninja variables to bazel. Now that
the bazel migration is cancelled, we don't need it anymore.

Bug: 315353489
Test: m nothing
Change-Id: I298cc2ac7ebd004557be3b30d75f7357cab0b7a0
2024-04-09 09:42:37 -07:00
Hsin-Yi Chen
64b2d0389c Filter ABI dumps by LLNDK headers and version scripts
This commit changes the parameters to create LLNDK ABI dumps for 202404
and later versions. Soong invokes header-abi-linker with LLNDK headers
and version script rather than the implementation library's parameters.
The output dump contains more precise ABI information.

When soong compares the ABI with the prebuilt dumps in old versions,
it creates the source ABI dumps with the old parameters.

Test: make findlsdumps
Bug: 314010764
Change-Id: I228736188d07029ee1588b3502fd7c0061c104b9
2024-04-09 18:45:03 +08:00
Treehugger Robot
1d425a68cc Merge "fix: required property doesn't track deps to java, apex, ..." into main am: ccd5b5545b am: 834a4f7c9f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3029144

Change-Id: I3ef6f04f32b431309cbc2f76aa163c0eb4b001aa
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-09 03:48:49 +00:00
Treehugger Robot
834a4f7c9f Merge "fix: required property doesn't track deps to java, apex, ..." into main am: ccd5b5545b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3029144

Change-Id: I0536092ec1b30d0d54cb69f6d226b9d4ff380c93
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-09 03:29:40 +00:00
Treehugger Robot
ccd5b5545b Merge "fix: required property doesn't track deps to java, apex, ..." into main 2024-04-09 03:12:39 +00:00
Cole Faust
db705aaa91 Merge changes from topics "replace_instead_of_append", "selects_get_and_get_default" into main am: 42a8b256af am: 394158399e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3028124

Change-Id: I9816cc1ab8a2f549de44596ce71dea8f827ee552
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-08 21:33:50 +00:00
Cole Faust
cb0a2f59a9 Add tests for android:replace_instead_of_append am: 02dd6e5640 am: 54d24cff2c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3026026

Change-Id: I47f84723430905ab1e1692524aa3d8c3effd0f76
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-08 21:33:46 +00:00
Cole Faust
394158399e Merge changes from topics "replace_instead_of_append", "selects_get_and_get_default" into main am: 42a8b256af
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3028124

Change-Id: I55d6028ecc3667791d5eb8cde76c3a84706475d5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-08 21:16:17 +00:00
Cole Faust
54d24cff2c Add tests for android:replace_instead_of_append am: 02dd6e5640
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3026026

Change-Id: Iee736e2738d770cbfaabc2459dc74cda2f29c511
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-08 21:16:13 +00:00
Cole Faust
42a8b256af Merge changes from topics "replace_instead_of_append", "selects_get_and_get_default" into main
* changes:
  Rename Evaluate() to Get() and add GetDefault()
  Add tests for android:replace_instead_of_append
2024-04-08 20:45:55 +00:00
Treehugger Robot
8418f7c60a Merge "Remove Device VNDK version usage from Soong" into main am: ed2adb879f am: 8a57bcba2f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3027063

Change-Id: Iee85ae97d1d4337aec6589f5adb30f23e6adc153
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-08 20:08:28 +00:00
Treehugger Robot
8a57bcba2f Merge "Remove Device VNDK version usage from Soong" into main am: ed2adb879f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3027063

Change-Id: Ib01a6ccb4e7074897d913cfb3ae47aef1cc153d7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-08 19:47:41 +00:00
Treehugger Robot
ed2adb879f Merge "Remove Device VNDK version usage from Soong" into main 2024-04-08 19:24:36 +00:00
Jiyong Park
73e5babafe fix: required property doesn't track deps to java, apex, ...
This change fixes a bug that the required property doesn't track
dependencies to modules whose arch is common.

Bug: 321000103
Bug: 321626681
Test: go test ./...
Change-Id: I3d2b3ad8cb2a9f1c5c3d5345bf05402a787f011a
2024-04-05 15:12:16 +09:00
Kiyoung Kim
4e765b1bfc Remove Device VNDK version usage from Soong
As of VNDK deprecation, Device VNDK version should no longer be used
from build. This change removes all references on Device VNDK version
and related logic with it.

Bug: 330100430
Test: AOSP CF build succeeded
Change-Id: Ibc290f0b41e8321f80c75c69f810223989af68dc
2024-04-05 01:57:32 +00:00
Spandan Das
ac6597d589 Merge "Reland "Use cp instead of install for ndk_headers"" into main am: 29cd82b714 am: 49df48da6b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3028272

Change-Id: I997da69c380f7c2c7b523c91b135d6977df06017
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-05 01:54:02 +00:00
Spandan Das
49df48da6b Merge "Reland "Use cp instead of install for ndk_headers"" into main am: 29cd82b714
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3028272

Change-Id: Ie0313252067fcdbe7f712863ecb27ddd0f72ce6b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-05 01:41:24 +00:00
Spandan Das
29cd82b714 Merge "Reland "Use cp instead of install for ndk_headers"" into main 2024-04-05 01:25:05 +00:00
Spandan Das
f280b23fe5 Reland "Use cp instead of install for ndk_headers"
This relands aosp/3026027 with fixes for ndk_library. ndk_library
uses ctx.InstallFile to copy the stubs from an intermediate dir to
out/soong/ndk/sysroot/. The copy rule was created in
out/soong/installs-<product>.mk. This would cause issues when soong_ui
is run in `--soong-only` mode

To fix this, the cp rule is created entirely in soong. The stub library
is marked uninstallable to prevent creation of duplicate rules when
`--soong-only` mode is not used

Test: presubmits
Test: lunch ndk-trunk_staging-userdebug &&
ALLOW_MISSING_DEPENDENCIES=true build/soong/soong_ui.bash --soong-only
out/soong/ndk.timestamp

Change-Id: I6f8b87d88d8ca5ec9a3327e1f11e9aa654f8cdce
2024-04-04 22:39:45 +00:00
Cole Faust
34f125fd57 Rename default select branch to 'default' keyword am: 683316a2b0 am: 3308f3d5ab
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3024124

Change-Id: If1a6b0ab593e0d361005d79b091d6833d8bee762
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-04 22:23:48 +00:00
Cole Faust
b78ce43ae3 Rename Evaluate() to Get() and add GetDefault()
Part of the design of property structs is that they were easy to access.
In keeping with that spirit, use a shorter and easier to spell name
for the getter, and add GetDefault() so that you don't need to pass
the result of Get() to one of the
proptools.StringDefault/BoolDefault/etc functions.

Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I0b8df151de59f2cd9463425c6666cbfda6bf47f2
2024-04-04 15:09:18 -07:00
Cole Faust
02dd6e5640 Add tests for android:replace_instead_of_append
Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: Ideb739b3f1a6a5854453db7d51bdee73a3979fd4
2024-04-04 15:09:04 -07:00
Cole Faust
3308f3d5ab Rename default select branch to 'default' keyword am: 683316a2b0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3024124

Change-Id: I5ea95b785417e77d5af4ec18e9bbeeb95d323875
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-04 22:04:48 +00:00
Cole Faust
b595d59777 Merge "Add tests for "unset" select statements" into main am: 767a1fe663 am: b5965ed9a5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3016592

Change-Id: I2d54c6a396ce56e08217d4cf3d5a02c7b44d55c3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-04 18:26:06 +00:00