Commit graph

72504 commits

Author SHA1 Message Date
Cole Faust
954ef637e9 Merge "Sandbox trout genrules" into main 2023-11-22 22:05:42 +00:00
Matthew Maurer
b103659c0b Merge changes I0caddbf6,Iee20b060,I6c92580b,I45028945,Ia7dd5220, ... into main
* changes:
  rust: Resolve crate roots outside rust-project
  rust: Cache crateRootPath to avoid ctx
  rust: internalize srcPathFromModuleSrcs
  rust: move crateRootPath to compiler
  rust: Privatize Cargo* methods on compiler
  rust: Move compiler interface to compiler.go
2023-11-22 20:37:27 +00:00
Cole Faust
28e46107cf Sandbox trout genrules
These were fixed in aosp/2838463, aosp/2839595, pa/2668052, and
pa/2668054.

Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py TracingVMProtoStub_cc TracingVMProtoStub_h VehicleServerProtoStub_cc@default-grpc VehicleServerProtoStub_cc@2.0-grpc-trout VehicleServerProtoStub_h@2.0-grpc-trout VehicleServerProtoStub_h@default-grpc
Change-Id: I9d21d608773e2974f8fca8af4dd16a654e8eb128
2023-11-22 12:09:27 -08:00
Cole Faust
f7474880a1 Sandbox atest_integration_fake_src
go/roboleaf-busy-beavers-sandboxing

Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py atest_integration_fake_src
Change-Id: Ib3ae70b877227df794fec5516a754a9c32b06637
2023-11-22 11:07:06 -08:00
Inseob Kim
6a4bb378df Merge "Allow apex to use generated file_contexts" into main 2023-11-22 07:45:53 +00:00
Yi Kong
78a456e771 Merge "Remove unneeded MLGO cflag" into main 2023-11-22 06:06:47 +00:00
Yi Kong
8fb0b498db Remove unneeded MLGO cflag
For LTO compilation, we do not need MLGO flags in cflags, since codegen
happens during link only.

Fixes compiler warnings for unused command line argument.

Test: presubmit
Change-Id: I361e4292b10a3582fd5c69fa7b5678c654b44a0f
2023-11-22 06:06:36 +00:00
Treehugger Robot
917ea12077 Merge "Sandbox MultiDexLegacyTestApp_genrule and android-cts-verifier" into main 2023-11-22 05:56:46 +00:00
Cole Faust
4a0be5cc17 Sandbox MultiDexLegacyTestApp_genrule and android-cts-verifier
These both work with sandboxing already, I'm not sure why they
were added to this list.

Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py android-cts-verifier MultiDexLegacyTestApp_genrule
Change-Id: Ie5a194fbe202b84a30eb3738d07ffb4ec9061bca
2023-11-21 17:04:24 -08:00
Matthew Maurer
db72f7ed80 rust: Resolve crate roots outside rust-project
Previously, we manually re-computed crate roots inside project_json for
rendering rust-project.json. In addition to added complexity, this meant
that generated sources and glob sources would not render correctly - it
would select e.g. `src/**.rs` or `:foo` as a crate root.

Use a centralized computation of crate roots instead.

Bug: 309943184
Test: SOONG_GEN_RUST_PROJECT=1 m nothing, compare rust-project.json
Change-Id: I0caddbf600d025a0041f45e69812cdd6f1761234
2023-11-22 00:52:34 +00:00
Matthew Maurer
a28404a7b0 rust: Cache crateRootPath to avoid ctx
This makes it possible to call crateRootPath in situations where a
ModuleContext is unavailable.

Test: m nothing
Bug: 309943184
Change-Id: Iee20b0606954a18ca516cdac40917d0016f94a05
2023-11-22 00:52:14 +00:00
Matthew Maurer
1d8e20d744 rust: internalize srcPathFromModuleSrcs
This was frequently misused (for example, in the prebuilts module, it
was used as a complex "assert(len(srcs))==1"), and can be superceded by
getCrateRoot anywhere it was used. It's now only called from
compiler.go, and can drop the second return parameter, as it was only
actually used by the prebuilt assert misuse.

Bug: 309943184
Test: m nothing
Change-Id: I6c92580bc8f0ecb7586c544056b5409e6dd280e7
2023-11-22 00:52:10 +00:00
Treehugger Robot
9be9a126d1 Merge "Use result.Config.PrebuiltOS() to get prebuiltHost in test_spec_test" into main 2023-11-22 00:44:03 +00:00
Cole Faust
852b82e5c2 Merge "Sandbox vndk_abi_dump_zip" into main 2023-11-21 23:53:56 +00:00
Pirama Arumuga Nainar
d03958d457 Merge "Revert "Remove flags rejected by RBE input processor"" into main 2023-11-21 23:45:12 +00:00
Cole Faust
1f6fb9b419 Merge "Sandbox awkgram.tab.h" into main 2023-11-21 23:36:42 +00:00
Treehugger Robot
964a084264 Merge "Sandbox emp_ematch genrules" into main 2023-11-21 23:22:03 +00:00
Aditya Choudhary
356296240e Use result.Config.PrebuiltOS() to get prebuiltHost in test_spec_test
Bug: 312536783
Bug: 312536905
Test: m nothing --no-skip-soong-tests -j96

Change-Id: I1e12281927269d42ae796348b223030acfd6ecfa
2023-11-21 23:14:01 +00:00
Treehugger Robot
024adceb24 Merge "Sandbox angle_commit_id" into main 2023-11-21 22:47:23 +00:00
Cole Faust
ae36d6b964 Sandbox awkgram.tab.h
Sandboxing it generates this diff:

  38,39c38,39
  < #ifndef YY_YY_OUT_SOONG_TEMP_SBOX_794A09CEE4E110D9FF38139A8943928FFD7288A5_OUT_AWKGRAM_TAB_H_INCLUDED
  < # define YY_YY_OUT_SOONG_TEMP_SBOX_794A09CEE4E110D9FF38139A8943928FFD7288A5_OUT_AWKGRAM_TAB_H_INCLUDED
  ---
  > #ifndef YY_YY_OUT_AWKGRAM_TAB_H_INCLUDED
  > # define YY_YY_OUT_AWKGRAM_TAB_H_INCLUDED
  280c280
  < #endif /* !YY_YY_OUT_SOONG_TEMP_SBOX_794A09CEE4E110D9FF38139A8943928FFD7288A5_OUT_AWKGRAM_TAB_H_INCLUDED  */
  ---
  > #endif /* !YY_YY_OUT_AWKGRAM_TAB_H_INCLUDED  */

Which is acceptable, the ifdef is based on the path to the file and
just there to prevent duplicate imports.

Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py awkgram.tab.h
Change-Id: I85c5e0f65e97d18f1aa8b36fa6b19402d2da6c8c
2023-11-21 14:18:27 -08:00
Cole Faust
b12a98651d Merge "Sandbox c2hal_test_genc++[_headers]" into main 2023-11-21 22:08:31 +00:00
Cole Faust
763710ca78 Sandbox vndk_abi_dump_zip
Sandboxing it generates this diff in it's output zip file:

  1,4c1,2
  < Archive:  out_not_sandboxed/soong/.intermediates/prebuilts/abi-dumps/vndk/vndk_abi_dump_zip/gen/vndk_abi_dump.zip
  < Zip file size: 319522663 bytes, number of entries: 7462
  < -rw-r--r--  2.0 unx     1055 bl      612 defN 08-Jan-01 00:00 Android.bp
  < -rw-r--r--  2.0 unx      143 bl       99 defN 08-Jan-01 00:00 OWNERS
  ---
  > Archive:  out/soong/.intermediates/prebuilts/abi-dumps/vndk/vndk_abi_dump_zip/gen/vndk_abi_dump.zip
  > Zip file size: 319519888 bytes, number of entries: 7454
  6810d6807
  < -rw-r--r--  2.0 unx      722 bl      142 defN 08-Jan-01 00:00 34/64/arm/source-based/config.json
  6926d6922
  < -rw-r--r--  2.0 unx      722 bl      142 defN 08-Jan-01 00:00 34/64/arm64/source-based/config.json
  7042d7037
  < -rw-r--r--  2.0 unx      722 bl      142 defN 08-Jan-01 00:00 34/64/arm_arm64/source-based/config.json
  7158d7152
  < -rw-r--r--  2.0 unx      722 bl      142 defN 08-Jan-01 00:00 34/64/x86/source-based/config.json
  7274d7267
  < -rw-r--r--  2.0 unx      722 bl      142 defN 08-Jan-01 00:00 34/64/x86_64/source-based/config.json
  7390d7382
  < -rw-r--r--  2.0 unx      722 bl      142 defN 08-Jan-01 00:00 34/64/x86_x86_64/source-based/config.json
  7465c7457
  < 7462 files, 5412913325 bytes uncompressed, 317891705 bytes compressed:  94.1%
  ---
  > 7454 files, 5412907795 bytes uncompressed, 317890142 bytes compressed:  94.1%

So sandboxing removes some files from the zip. It appears that the
intention of this zip file was to include a bunch of .lsdump files,
and these files that were removed were extraneous.

Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py vndk_abi_dump_zip
Change-Id: I15df4a4b54df362c30e2b231f6fed586cf0a267f
2023-11-21 14:04:52 -08:00
Treehugger Robot
23abfe7291 Merge "Sandbox libchrome genrules" into main 2023-11-21 22:04:03 +00:00
Cole Faust
babb750cdf Sandbox angle_commit_id
Sandboxing it generates this diff:

  1c1
  < #define ANGLE_COMMIT_HASH "1f7a2ce0bf57"
  ---
  > #define ANGLE_COMMIT_HASH "unknown hash"
  3,4c3,4
  < #define ANGLE_COMMIT_DATE "2023-11-17 17:33:59 +0000"
  < #define ANGLE_COMMIT_POSITION 26027
  ---
  > #define ANGLE_COMMIT_DATE "unknown date"
  > #define ANGLE_COMMIT_POSITION 0

These constants appear to be unused, and we don't really want the build
to inspect the git history, so just let them be unkown.

Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py angle_commit_id
Change-Id: I3e35af14d13142927ded9477e975576d7324c6b7
2023-11-21 13:56:27 -08:00
Cole Faust
8d99fa4d9d Sandbox emp_ematch genrules
These genrules already work with sandboxing, but bison emits #line
directives that reference filepaths. These paths differ between
sandboxed and non-sandboxed builds, which caused
genrule_sandboxing_test.py to think that they didn't work with
sandboxing.

Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py emp_ematch.yacc.c emp_ematch.yacc.h
Change-Id: I85ed0f80dee7997af6b08a37b12e9c0ad0bd8386
2023-11-21 13:28:42 -08:00
Cole Faust
e5d9c8d5f7 Sandbox c2hal_test_genc++[_headers]
These genrules already work with sandboxing, I'm not sure why they
were added to the list.

Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py c2hal_test_genc++_headers c2hal_test_genc++
Change-Id: I697c9cff1db0bf71b3608684fde73535a72f71b2
2023-11-21 12:50:57 -08:00
Cole Faust
6753118f49 Sandbox libchrome genrules
These genrules already work with sandboxing, but they write the path
to a tool into a comment in their outputs, which differs between
sandboxing and non-sandboxing builds. This made genrule_sandbox_test.py
think that they didn't work with sandboxing.

Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py libchrome-include libchrome-crypto-include
Change-Id: Ibcad839e9d374a2f992d051805548c58303cf7ef
2023-11-21 12:40:34 -08:00
Pirama Arumuga Nainar
6c771e7d29 Revert "Remove flags rejected by RBE input processor"
This reverts commit a4724a0c4e.

Reason for revert: reclient has an updated deps scanner now.
Bug: http://b/248371171
Test: enable RBE; RBE_CLANG_TIDY_EXEC_STRATEGY=remote; make tidy-soong_subset


(cherry picked from https://android-review.googlesource.com/q/commit:2c36e5efceae94424b513878cf6dc4e9640651ab)
Merged-In: Id876bd7eee1e5606f8dc05903f77f135b47da360
Change-Id: Id876bd7eee1e5606f8dc05903f77f135b47da360
2023-11-21 19:54:27 +00:00
Aditya Choudhary
c400022f0a Merge "Set testModule to true in cc.NewTest()." into main 2023-11-21 19:53:53 +00:00
Aditya Choudhary
b7b3de8307 Add test for soong/testing/test_spec.
This CL adds test for test_spec.go and all_test_specs.go (singleton).

Bug: 296873595
Test: m nothing --no-skip-soong-tests -j96

Change-Id: I5010c68512e75d1b9a337c02da86faac15e376fe
2023-11-21 17:31:07 +00:00
Aditya Choudhary
29766f4d98 Merge "Add Singleton class to collect and validate test spec metadata." into main 2023-11-21 16:08:40 +00:00
Aditya Choudhary
4b6eaf4bd1 Set testModule to true in cc.NewTest().
This Cl sets testModule field to True in cc.NewTest(). This will cover "cc_test", "cc_test_host" and "art_cc_test".

Change-Id: I4a8db86835b195db34fd9f86560e7bf9321fbd7d
2023-11-21 15:49:19 +00:00
Aditya Choudhary
2368e9ea9e Add Singleton class to collect and validate test spec metadata.
Bug: 296873595
Test: Manual testing (Will add unit test case in the next change.)
Change-Id: Ic4177c5f76602088d52a31ca8d9fbaa703855837
2023-11-21 14:06:57 +00:00
Aditya Choudhary
bc34d495c9 Merge "Add test spec provider to test modules." into main 2023-11-21 09:17:11 +00:00
David Srbecky
3f7d0f6797 Merge "resourceshrinker: Add dexContainerExperiment flag" into main 2023-11-21 08:30:23 +00:00
Treehugger Robot
c9affafb72 Merge "Remove multidex version genrules" into main 2023-11-21 08:00:40 +00:00
Treehugger Robot
ff99c2b957 Merge "Sandbox fdt genrules" into main 2023-11-21 07:04:39 +00:00
Cole Faust
c11ccb9178 Remove multidex version genrules
These version files appear to be unused, and we don't really want
to support having the build access the git history.

Bug: 307824623
Test: Presubmits
Change-Id: Id5700bf4a56955bdf6edd4c50ceefa4184f54555
2023-11-20 15:43:54 -08:00
Cole Faust
4a36b9e529 Sandbox fdt genrules
go/roboleaf-busy-beavers-sandboxing

Bug: 307824623
Test: m fdt_test_tree_empty_memory_range_dtb fdt_test_tree_multiple_memory_ranges_dtb fdt_test_tree_one_memory_range_dtb
Change-Id: Id79e30957b60a27f5929698c499f788014708197
2023-11-20 15:11:44 -08:00
Aditya Choudhary
87b2ab28a8 Add test spec provider to test modules.
Provider added for the following test modules in this change: art_cc_test, cc_benchmark, cc_fuzz, cc_test, cc_test_host, rust_test,and rust_test_host.

Bug: 296873595
Test: Manual test
Change-Id: I815680529bcbecacb3a2bdb8f3746053afdee48c
2023-11-20 21:52:56 +00:00
Matthew Maurer
d221d31534 rust: move crateRootPath to compiler
Test: m nothing
Bug: 309943184
Change-Id: I45028945357c394301d93ca7995a4f9adf281931
2023-11-20 21:02:40 +00:00
Matthew Maurer
cd41653b96 rust: Privatize Cargo* methods on compiler
These methods aren't used outside, and probably shouldn't be.

Bug: 309943184
Test: m nothing
Change-Id: Ia7dd5220ccd10c0136aa16f5e21149eaf7a03ea1
2023-11-20 20:25:27 +00:00
Treehugger Robot
4ce715f591 Merge "aconfig/init.go: fix copy and paste mistakes" into main 2023-11-20 19:41:16 +00:00
Colin Cross
29deca77ce Merge changes I65b06238,I1ebef60a into main
* changes:
  Add DataPath.ToRelativeInstallPath
  Change deps of ctx.Install* from Paths to InstallPaths
2023-11-20 19:38:57 +00:00
Matthew Maurer
689d6f63e4 rust: Move compiler interface to compiler.go
Refactor cleanup

Bug: 309943184
Test: m nothing
Change-Id: I7dcb0af64a4db71fdc46c0876b22e5015c02438e
2023-11-20 17:49:25 +00:00
Mårten Kongstad
facb8d67b5 aconfig/init.go: fix copy and paste mistakes
Correct comments. Remove unnecessary dependency on soong_zip from
cc_aconfig_library and rust_aconfig_library.

Bug: N/A
Test: m nothing
Change-Id: Ifabeed537d596ec879bf8c7dfb8a68824464f6dd
2023-11-20 16:21:36 +01:00
Cole Faust
b91108c9c0 Merge "Sandbox libxml2 genrules" into main 2023-11-18 04:36:36 +00:00
Colin Cross
d442a0e882 Add DataPath.ToRelativeInstallPath
Add a method to DataPath that converts it to the relative install path
in preparation for adding additional complexity to DataPath.

Bug: 311428265
Test: builds
Change-Id: I65b06238aafda2db72c6a253744a3087976451cd
2023-11-17 19:06:50 -08:00
Colin Cross
09ad3a6505 Change deps of ctx.Install* from Paths to InstallPaths
Installed files should only depend on other installed files, change
the deps arguments of the ctx.Install* methods from Paths to
InstallPaths.

Bug: 311428265
Test: builds
Change-Id: I1ebef60a943bdbe907744cc43aa985371ac56d32
Merged-In: I1ebef60a943bdbe907744cc43aa985371ac56d32
2023-11-17 19:06:43 -08:00
Colin Cross
4b9d9350bd Merge "Fix soong for go test ./..." into main 2023-11-18 02:30:13 +00:00