aboutsummaryrefslogtreecommitdiff
path: root/sh
AgeCommit message (Collapse)Author
2023-01-03Allow adding extra tradefed options in the Android.bp fileCole Faust
Some tests need to add custom tradefed options, but still want to keep most of the soong autogenerated tradefed xml file. Expose a test_options: { tradefed_options: [...] } property that will allow tests to add more options to the autogenerated xml file. Fixes: 184895128 Test: go test, and verified that the ninja files did not change for aosp_arm64 Change-Id: I50d4ad139322e9e207202f1e1a50f5bbb424aa6f
2022-12-19Revert "Allow adding extra tradefed options in the Android.bp file"Tahsin Loqman
This reverts commit 8ec823cba166a41eb0e9e5ff8fe679e691fec678. Reason for revert: DroidMonitor: Potential culprit for Bug b/262965953 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted. Change-Id: I236cc36981d8b30527ca286632727f8ca267e969
2022-12-09Allow adding extra tradefed options in the Android.bp fileCole Faust
Some tests need to add custom tradefed options, but still want to keep most of the soong autogenerated tradefed xml file. Expose a test_options: { tradefed_options: [...] } property that will allow tests to add more options to the autogenerated xml file. Fixes: 184895128 Test: go test, and verified that the ninja files did not change for aosp_arm64 Change-Id: I75f7eb002c8325ce7cdc76e12e76e16195320620
2022-08-17Move common test_options properties into the android packageZhenhuang Wang
Multiple modules (e.g. java, cc, python, rust) define the `test_options` field. Extract the common properties in test_options to share across different test rules. Bug: 240928948 Test: `refreshmod` and diff with original module-info.json Change-Id: I404a7a157b4ccaa53d800ee2217559ff695bd825
2022-05-13Clean up some bp2build technical debtLiz Kammer
Previously we ran mutators in bp2build mode to add dependencies, now we look up modules by name directly. Remove workarounds to allow bp2build mode to not fail when adding/handling dependencies. Test: m bp2build Change-Id: Ibf6fd905150cac306e5c395902ef28f609f4df2a
2022-02-22sh_test: Support per-testcase directoriesJooyung Han
Similar to cfb0f5e102e2a4a946c4f6e38d429b132ed11fc5 Bug: n/a Test: add a new CTS sh_test_host module with duplicate 'data'; Change-Id: Ie7d183bb5703d616d61d7dcb7c8b44502de429bb
2022-02-18Merge "Propagate data_bins from Soong to Make"Treehugger Robot
2022-02-17Propagate data_bins from Soong to Makeyangbill
Write the list of a test module's data_bins value to the `LOCAL_TEST_DATA_BINS` Makefile variable defined for each module. This enables downstream tools to correctly set up the runtime environment for execution. And currently only sh_test, cc_tests, and rust_tests has this attribute in Android.bp. Bug: 215234071 Test: m out/soong/Android-aosp_cf_x86_64_phone.mk Change-Id: I8d47f5f9b25afdc5975c6b414405badb38dbde4b
2022-02-10Add builtins and minimal runtime as dependencies instead of flagsColin Cross
Use dependencies instead of libflags to link libclang_rt.builtins and libclang_rt.ubsan_minimal. Test: m checkbuild Change-Id: I403cee0fb8cc21c347b42d8f8a3c20d6f43337a4
2022-01-26build device binary for java_test_hostSam Delmerico
This commit adds support for a java_host_test that requires a target binary to run. If the binary has host and target variants and is added as a dependency in the `data` attribute, then the host variant is used. Instead, we need a way to force the use of the target variant. Bug: 182919153 Test: add code from aosp/1647282/1 && atest AuthFsHostTest Change-Id: I68a6259b41a5e6809e1b82eec3122ffdf5067f56
2022-01-12Support installable propertySundong Ahn
Support not installing sh_binary when installable property is false Bug: 205065320 Test: m -j Change-Id: I71a0fd24e8867d6cb2527ecdacc775253f12c9f8
2021-12-21sh_binary: Use pointers for optional attributesLiz Kammer
Empty strings for filename and sub_dir were unnecessicarily always being propagated to BUILD files. Test: build/bazel/ci/bp2build.sh Change-Id: I39d6af12b1decd1d3813b92daa862ebc025daa7d
2021-12-15Remove InstallBypassMake and ToMakePathColin Cross
InstallBypassMake and ToMakePath are obsolete, remove them. Bug: 204136549 Test: m checkbuild Change-Id: Ie5a6f7254b3d317ed6039e114ed6aec35e1ce273
2021-12-14Use one mutator for all bp2build conversion.Liz Kammer
Each conversion required defining a separate mutator, which will each operate on _all_ modules and requires each to repeat checks whether the mutator should operator. Instead, we introduce a single mutator and modules can define a ConvertWithBp2build to implement bp2build conversion for that module. Test: bp2build.sh Bug: 183079158 Change-Id: I99d4b51f441c2903879092c5b56313d606d4338d
2021-12-02Support filename and sub_dir attributes in sh_binaryYu Liu
Test: test by building system/timezone/apex:com.android.tzdata Change-Id: I08114910fccbdacf6750e237d3e80ba37fde7651
2021-11-12Use new soong_cc_rust_prebuilt.mkIvan Lozano
soong_{cc,rust}_prebuilt.mk has been merged. Use the new file. Bug: N/A, clean-up Test: m Change-Id: I3f03e866815f6394aacd8cb0deba04f381b78c29
2021-11-09Add symlinks to Soong-installed sh_binaryColin Cross
I3f9928c6d6993c381859b80c335b800b1a9769ee moved sh_binary installation to Soong, but the Soong install rules didn't include the symlinks. Bug: 204136549 Test: m checkbuild Change-Id: I8dd663c7d6a3259b397a11787e0869f32d0530cd
2021-11-08Move sh_binary module installation into SoongColin Cross
Move sh_binary module installation rules into Soong by overriding InstallBypassMake. Bug: 204136549 Bug: 205530905 Test: m checkbuild Test: m && acloud create --local-instance --local-image Change-Id: I3f9928c6d6993c381859b80c335b800b1a9769ee
2021-10-04Bp2Build common properties auto-handlingAlex Márquez Pérez Muñíz Díaz Púras Thaureaux
Introduce `commonAttributes` & `fillCommonBp2BuildModuleAttrs used in CreateBazelTargetModule Adapt `bp2BuildInfo` to use `commonAttrs` instead of `Name`. And thus also all downstream users of `CreateBazelTargetModule`. As initial user, the Soong `required` property will be translated to Bazel's `data`. Bug: 198146582, 196091467 Test: build_converstion_test.go:TestCommonBp2BuildModuleAttrs Test: go test Test: mixed_{libc,droid}.sh Change-Id: Ib500e40f7e2cb48c459f1ebe3188962fc41ec124
2021-09-14Merge "Add module based host-tools snapshot"Rob Seymour
2021-09-13Add module based host-tools snapshotRob Seymour
Add new module: host_snapshot { name: "host-snapshot" deps: [ (list of host tools) ], ... } Package host tools using android.PackagingBase to capture host tools and transitive packaging data. Add JSON meta data to snapshot that allows snapshot to be installed via development/vendor_snapshot/update.py Add support to generate a fake host snapshot of all host modules that is used to detect required modules via development/vendor_snapshot/update.py. Bug: 192556798 Bug: 194799048 Bug: 192896149 Test: m HOST_FAKE_SNAPSHOT_ENABLE=true host-fake-snapshot dist -- check snapshot exists in dist Change-Id: I849c4db801cd858408f6fe6a3ce69262a23a5be9
2021-08-17Don't create a new module for bp2build conversion.Liz Kammer
A performance improvement for bp2build as Blueprint/Soong no longer have the overhead of additional modules. The creation of these modules results in: * traversal of additional modules for each subsequent mutator * synchronization over a go channel to collect newly created modules: https://cs.android.com/android/platform/superproject/+/master:build/blueprint/context.go;l=2594,2600;drc=1602226f23181b8c3fbfcaf3358f0297e839d7d3 We avoid both of these by storing the information directly in the underlying module. Also as a fringe benefit, removes some necessary boilerplate for conversion. For benchmarks, reduces runtime ~1% for 1% converted, ~24% for 100% converted. See more: go/benchmarks-for-https:-r.android.com-1792714 Test: ran benchmarks/tests in bp2build Test: build/bazel/ci/bp2build.sh Change-Id: Ie9273b8cbab5bc6edac1728067ce184382feb211
2021-07-20Replace android.BuildOs with Config.BuildOSColin Cross
Replace the android.BuildOs constant with Config.BuildOS so that it can vary based on the product config. Bug: 190084016 Test: all Soong tests Change-Id: Ia67f872d8b2ab788747a22e3a9659dc21c9775cd
2021-06-28[WIP] Switch sh_test_host to unit_tests=true by defaultJulien Desprez
Test: presubmit Bug: 192278266 Change-Id: Ief6f8fa753f13f0a4944a0a183a12497f138e1e8
2021-05-24Add unit_test test option in sh_test_hostDan Shi
This change allows sh_test_host to be included in host-unit-tests suite when test option `unit_test` is set to true. Bug: 183209767 Test: m host-unit-tests Change-Id: I5b441d5f49468cb681eb414dade8a1309c6e810a
2021-04-29Add debug ramdisk variant.Inseob Kim
A module will be installed to /debug_ramdisk if debug_ramdisk is set to true. This is a reland of f84e9c05e2103149162e4a78a68f20c164fbbba2, with a fix that removes /first_stage_ramdisk. Bug: 184004542 Test: soong test Change-Id: I739de63cfec6b0fec5a90f7c4741fc4d884d209c
2021-04-22Revert^3 "Add debug ramdisk variant"Inseob Kim
836a8f3d613a51d496740dcefaf5b66a4cb86ba2 Change-Id: If59529238e26a197bc33b10245b88f538f280ed0
2021-04-22Revert^2 "Add debug ramdisk variant"Florian Mayer
78ea2f5eacd31b66ab148cd76bd87763b7745bf3 Change-Id: I6a6a2ee82e2807045364bab105ec03a1934b411f
2021-04-22Revert "Add debug ramdisk variant"Bowgo Tsai
This reverts commit f84e9c05e2103149162e4a78a68f20c164fbbba2. Because this breaks the usage of boot-debug.img and vendor_boot-debug.img Bug: 185970130 Bug: 185990198 Test: make bootimage_debug Change-Id: I7886c971982faae1d5bc34688643de8d94d6e201
2021-04-15Add debug ramdisk variantInseob Kim
A module will be installed to debug_ramdisk (or debug_ramdisk/first_stage_ramdisk if recovery as boot is true) if debug_ramdisk is set to true. Bug: 184004542 Test: soong test Change-Id: Ic5a4d27407e506fffa462de2149e0785f11b2ac7
2021-03-30bp2build: arch-configurable selects for label list attrs.Jingwen Chen
This CL adds the configurable LabelListAttribute support to bp2build. Test: go test Change-Id: I2ef9e385d9cf1b1845988128eca1d8cda1ecb5e8
2021-03-24bp2build: add allowlist for package-level conversions.Jingwen Chen
This CL adds the support for specifying lists of directories in build/soong/android/bazel.go, which are then written into out/soong/bp2build/MANIFEST. Using this configuration, modules/directories can either default to bp2build_available: true or false, while still retaining the ability to opt-in or out at the module level. It also ensures that ConvertWithBp2Build returns true iff the module type has a registered bp2build converter. Test: go tests Test: demo.sh full Test: TreeHugger presubmits for bp2build and mixed builds. Change-Id: I0e0f6f4b1b2ec045f2f1c338f7084defc5d23a55
2021-03-22Remove usages of FixtureFactory from misc packagesPaul Duffin
These packages have already been migrated to use per test build directory so have no need for a FixtureFactory. Bug: 183235980 Test: m nothing Change-Id: I667d1d992caaf0f615de91f89efdae11c44986c2
2021-03-16Migrate sh package to a per test build directoryPaul Duffin
Bug: 182885307 Test: m nothing Change-Id: I8e379c555e48ab482c56a19630d83a3a54126fc5
2021-03-09Support test fixtures in sh packagePaul Duffin
Restructures the sh package test setup code to create FixturePreparer instances for setting up a test fixture and converts some tests to use it. The goal with this change is not to switch all the sh tests over to directly using the new model but instead to ensure that the majority of the sh tests run with the new model, to allow existing tests to easily switch to the new model when needed and to allow dependent packages to be switched to the new model. Bug: 181070625 Test: m nothing Change-Id: Ib2c6ac2842d6fafde5663d3ee63c3f934913a00e
2021-03-03cd to / before running soong_build .Lukacs T. Berki
This lets one avoid any decisions as to when to chdir there during its execution and leads to better sandboxing because the pwd doesn't leak to init() functions anymore. Test: Manual. Change-Id: I1560da8ed3a621249426f9e8908aa890c21e13ba
2021-02-24Merge "Move bazel.Properties to a BazelModuleBase"Treehugger Robot
2021-02-23Move bazel.Properties to a BazelModuleBaseLiz Kammer
This allows more direct access to the bazel label and whether the module is bp2build available. Test: go test * Change-Id: I23375835d20fa53d7d94127b2dc2d5bb20487bfb
2021-02-23Refactor BazelTargetModuleLiz Kammer
This eliminates the need to remove quotes, delete attributes, and re-checking that name has correct prefix. Additionally, this allows assignment directly to the BazelTargetModuleProperties struct, which allows defaulting unused fields and clarity of which field is being set. Test: go test soong tests Test: ran ./build/bazel/scripts/milestone-2/demo.sh Change-Id: Ia9bfcce76234c793a4ddd5f29a661150f83341c9
2021-02-22Merge "Add ctx to AndroidMkExtraEntriesFunc"Treehugger Robot
2021-02-19Add ctx to AndroidMkExtraEntriesFuncColin Cross
Add a ctx parameter to AndroidMkExtraEntriesFunc to allow them to access providers. Test: m checkbuild Change-Id: Id6becc1e425c3c3d8519248f8c0ce80777fac7cc Merged-In: Id6becc1e425c3c3d8519248f8c0ce80777fac7cc
2021-02-10Merge "Add LOCAL_LICENSE_KINDS to build/soong"Treehugger Robot
2021-02-09Add sh_binary support to bp2build converter.Rupert Shuttleworth
Test: Added a unit test in this CL. Change-Id: I6e9b3c833a257414daf82e603b733e459535d206
2021-02-06Add LOCAL_LICENSE_KINDS to build/soongBob Badour
Added SPDX-license-identifier-Apache-2.0 to: Android.bp android/Android.bp android/soongconfig/Android.bp androidmk/Android.bp apex/Android.bp bazel/Android.bp bp2build/Android.bp bpf/Android.bp bpfix/Android.bp cc/Android.bp cc/config/Android.bp cc/libbuildversion/Android.bp cc/libbuildversion/tests/Android.bp cc/ndk_api_coverage_parser/Android.bp cc/ndkstubgen/Android.bp cc/symbolfile/Android.bp cmd/dep_fixer/Android.bp cmd/diff_target_files/Android.bp cmd/extract_apks/Android.bp cmd/extract_jar_packages/Android.bp cmd/extract_linker/Android.bp cmd/fileslist/Android.bp cmd/host_bionic_inject/Android.bp cmd/javac_wrapper/Android.bp cmd/merge_zips/Android.bp cmd/multiproduct_kati/Android.bp cmd/path_interposer/Android.bp cmd/pom2bp/Android.bp cmd/pom2mk/Android.bp cmd/sbox/Android.bp cmd/soong_build/Android.bp cmd/soong_env/Android.bp cmd/soong_ui/Android.bp cmd/zip2zip/Android.bp cmd/zipsync/Android.bp cuj/Android.bp dexpreopt/Android.bp dexpreopt/dexpreopt_gen/Android.bp env/Android.bp etc/Android.bp filesystem/Android.bp finder/Android.bp finder/cmd/Android.bp genrule/Android.bp jar/Android.bp java/Android.bp java/config/Android.bp kernel/Android.bp linkerconfig/Android.bp linkerconfig/proto/Android.bp makedeps/Android.bp partner/Android.bp phony/Android.bp python/Android.bp python/tests/Android.bp remoteexec/Android.bp rust/Android.bp rust/config/Android.bp scripts/Android.bp sdk/Android.bp sh/Android.bp shared/Android.bp symbol_inject/Android.bp symbol_inject/cmd/Android.bp sysprop/Android.bp tradefed/Android.bp ui/build/Android.bp ui/logger/Android.bp ui/metrics/Android.bp ui/metrics/proc/Android.bp ui/status/Android.bp ui/terminal/Android.bp ui/tracer/Android.bp xml/Android.bp zip/Android.bp zip/cmd/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to: finder/fs/Android.bp third_party/zip/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: Ia47ca14f16b8c9f84f9d533a07e5b00e2c04e8d4
2021-02-04bp2build: convert paths/module refs to Bazel labelLiz Kammer
This currently expands all globs, still need to support converting glob syntax. Test: go build_conversion_test Test: GENERATE_BAZEL_FILES=true m nothing Test: m nothing Bug: 165114590 Change-Id: If7b26e8e663d17566fad9614ca87a8da1f095284
2021-01-07Support python binaries in sh_test_hostAnton Hansson
Make the code for data_bins/data_device_binds module-type agnostic. Bug: 176581143 Test: m gen_sdk_test Change-Id: I40e8d4c06f583cae523d97ce63822960872907db
2020-12-22Remove unnecessary snake case variables.Jaewoong Jung
Test: m nothing + TreeHugger Change-Id: I99f7162944daa6c57c6ae4763261e108bb5cb6b1
2020-12-01Add test suite handling to central androidmk codeLiz Kammer
MTS is introducing partial MTS test suites that are per-module, with names of the format: mts-${MODULE}. By centralizing the code for test suites, we can automatically add "mts" test suite when an "mts-${MODULE}" test suite is specified, reducing duplication. Test: m mts Bug: 170318013 Change-Id: I8ce9d3c252fcc0a937bb5f2826d21cb6c6932d82
2020-11-12Pass Config to NewTestContext instead of ctx.RegisterColin Cross
Prepare for using Config when adding singletons by passing Config to NewTestContext and NewContext instead of to ctx.Register. This will enable a followup change to store SingletonMakeVarsProviders registered on the Context in the Config, which is necessary to run multiple tests in parallel without data races. Test: all soong tests Change-Id: Id229629a4e42ff4487d317241673837726c075fc
2020-10-26Fix path conflict for vendor_ramdisk_availableYifan Hong
... and ramdisk_available modules. If a module is both vendor_ramdisk_available and ramdisk_available, on a device that mark recovery_as_boot and move_recovery_resources_to_vendor_boot simultaneously (and incorrectly), both will be installed to recovery/root/first_stage_ramdisk. Fix the path conflict of the two variants by moving the vendor_ramdisk variant to vendor-ramdisk/first_stage_ramdisk instead. Also update comments for Vendor_ramdisk_available. Test: m nothing -j Bug: 156098440 Change-Id: I2b776b6fd8f5a2c361c0f6a89231e3cebc2646f0