summaryrefslogtreecommitdiff
path: root/ui
AgeCommit message (Collapse)Author
2025-03-24Update allowlist for partner branches Wei Li
Bug: 405307057 Test: presubmits Change-Id: I972e3e344e0e4d7b024acfc693879b8bb3ccff5e
2025-03-24Add Android.mk allowlist for SDV partner branches Hugo Drumond Jacob
SDV partner branches don't have vendor/google/build/ Bug: 405928541 Test: presubmits Change-Id: Id6acf64e0a3eb11344e865c0453b0153c88297de
2025-03-21Add Android.mk allowlist for wearable partner branches Wei Li
Wearable partner branches don't have vendor/google/build/ Bug: 405307057 Test: presubmits Change-Id: Ifecd3c6861469ae887ba4b636050ba1094fbb8fc
2025-03-21Merge "Print the default SOONG_ONLY value of the product in lunch output" ↵ Treehugger Robot
into main
2025-03-20Merge "Revert^2 "Block new Android.mk added to all directories except the ↵ Wei Li
directories for partners"" into main
2025-03-20New module type to collect cert files for otatools.zip Herbert Xue
- Use finder.go to search "*.pem", "*.pk8", and "*.avbpubkey". - The "otatools_package_cert_files" gathers these certs into zip. - The cert files are in "build/make/target/product/security", "device", "external/avb/test/data", "packages/modules", and "vendor" folders. Bug: 403277238 Test: m -j blueprint_tools && cat out/.module_paths/OtaToolsCertFiles.list Test: m otatools_package_cert_files Change-Id: I5673ef03b0e47c7783918f566af67c1fdc2838bb
2025-03-20Print the default SOONG_ONLY value of the product in lunch output Spandan Das
SOONG_ONLY=false is currently printed as the output of lunch even for enabled products such as `aosp_cf_x86_64_phone`. config.soongOnlyRequested evaluates to true during the main build (it invokes `runMakeProductConfig), but is currently always false when used in report_config. Test: lunch aosp_cf_x86_64_phone-trunk_staging-userdebug # SOONG_ONLY=true (previously false) Test: lunch cf_x86_64_phone-trunk_staging-userdebug # SOONG_ONLY=false Bug: 402519768 Change-Id: If859695a583c6627af05fb62eb0f8b3fa93aeec8
2025-03-19Revert^2 "Block new Android.mk added to all directories except the ↵ Wei Li
directories for partners" This reverts commit a60960b3684abdbd505f8a64e2ab9cc5f68eddd6. Reason for revert: reland Add "bootable/deprecated-ota/updater/Android.mk" in variable "androidmk_allowlist" instead of the file allowlist.txt since some branches might not have vendor/ so allowlist.txt is not availble. go/abtd/run/L32300030010515897 to test this CL with the broken branch. Change-Id: I4b0fb0628f3b995fac340a3e391940b7a6045246
2025-03-19Revert "Block new Android.mk added to all directories except the directories ↵ Liana Kazanova (xWF)
for partners" This reverts commit 41f2bc078a5421f0308b84e13c5d266fed276c09. Reason for revert: DroidMonitor: Potential culprit for http://b/404877782 - 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: I0e827f2e3656a6ddf6fb0f2654dc14fc118ca499
2025-03-18Block new Android.mk added to all directories except the directories for ↵ Wei Li
partners Bug: 318428689 Test: presubmits Change-Id: I4b883d3d421dd4c1a09184cfb158661b224684aa
2025-02-27Merge "Build Go tools for arm" into main Colin Cross
2025-02-27androidmk_denylist: ignore prebuilt Android SDK Tim Froehlich
The prebuilt SDK is used for non-platform Gradle builds, such as AndroidX and Android Automotive OS's Unbundled apps. The directory hasn't been a problem in the past, however the AAOS Unbundled build is adding the Android NDK within that directory (ag/31968665). The directory was chosen to match the location of the NDK in `androidx-main`. Bug: b/395623570 Change-Id: I979f0c5705ff7e575100f0b2c9b002a84895883c
2025-02-27Build Go tools for arm Colin Cross
Test: prebuilts/build-tools/build-prebuilts.sh Change-Id: I915be7bb7451f27fcd4beba5e6487da7a01639a6
2025-02-18Finish ninja action statuses when ninja exits Colin Cross
All status data on pending actions is being lost when ninja is killed. After shutting down the NinjaReader goroutine send FinishAction status updates for any actions that were running. This will cause the actions to be logged to verbose.log.gz and to build.trace.gz when ninja is killed or when the build is killed with ctrl-C. Bug: 396440826 Test: examine build.trace.gz and verbose.log.gz after killing ninja Change-Id: I9cf5b68aeefdace72e8cd7991d730d58f153f323
2025-02-13Add partialcompileclean phony LaMont Jones
When SOONG_USE_PARTIAL_COMPILE transitions from on to off, we need to remove all files that may have been built using partial compile. Bug: b/396145326 Test: manual, TH Change-Id: I1d91f95883fd8b1d92731a490244a898f25e614d
2025-02-05Introduce an environment var to run "Test for dangling rules" Spandan Das
This test currently only runs on checkbuilds. To help with validations of soong only packaging, introduce an environment variable to run this test. Test: RUN_BUILD_TESTS=true m nothing Test: Verified that "Test for dangling rules" is in logs Bug: 394096939 Bug: 393617060 Change-Id: I0fc5b38da6ff58fb952245b15073ed7015f9f5a6
2025-02-05Add build_* meta files to allowlist in Dangling rules check Spandan Das
Both `m` and `m --soong-only` generates these files from soong_ui and not from the primary ninja execution. build/make/core/main.mk then creates an empty rule to prevent the dangling rule check. In preparation for turning on "test for dangling rules" in m --soong-only, add these files to the allowlist Test: m checkbuild --soong-only Bug: 394096939 Change-Id: Id702e5753c9892f87e3cf043e51ed86fb5a33862
2025-01-31Use NINJA_GOALS as the default in non kati builds Spandan Das
Generated ninja in `m` and `m --soong-only` create two default ninja targets - droid - blueprint_tests However, `m` only builds droid by virtue of adding `droid` (NINJA_GOALS from build/make/core/ninja_config.mk) to the ninja execution. This CL adds `NINJA_GOALS` to Soong_ui's NinjaArgs even in skipKati mode. Test: Looked at out/soong.log to verify that `droid` is passed to the ninja execution in m --soong-only Bug: 393393003 Test: m --no-skip-soong-tests # runs all tests Test: m --no-skip-soong-tests --no-soong-only # runs all tests Change-Id: I9fe4a52ce08ad9e257ad7e57db8637668d611948
2025-01-30Log whether the build is using soong-only mode to the metrics. Joe Onorato
Bug: 391952685 Test: gqui -q from out/soong_metrics proto build/soong/ui/metrics/metrics_proto/metrics.proto:MetricsBase | grep soong_only Change-Id: Iff8ecb34813a88dad8fab93304093ae3ec9bc8c2
2025-01-29Add SOONG_ONLY to the banner Joe Onorato
Bug: 393162468 Test: manual Change-Id: I91561c00ef0521cdd350820524b3c198b209a61c
2025-01-24Add an environment variable for soong-only builds Cole Faust
Some tools/scripts on CI and locally don't accept --soong-only. To make it easier to disable soong-only for those tools, and to make it easier for users to disable soong-only for their whole shell, add an enviornment variable that controls it. The precedence, from lowest to highest, is: flag, env var, product var. Bug: 391925617 Test: Manually Change-Id: Ic828f339544429ac22c56ab31c994a715753caa9
2025-01-22Merge "Add NINJA_NINJAGO executor pseudo enum." into main Taylor Santiago
2025-01-21Add PRODUCT_SOONG_ONLY Cole Faust
Setting this product variable will cause the product to be built with only soong (no kati) by default. This is what we will enable to launch soong-only builds, but will also be needed to test atest in soong-only builds, as atest won't pass --soong-only when it runs soong. Bug: 376727180 Test: manually Change-Id: Ie6148ffecdc1e0a46821136b2f4601d757b3d7ad
2025-01-21Remove --skip-make Cole Faust
This should no longer be used. Bug: 376727180 Test: Presubmits Change-Id: Ib85902c2c9841e32660bc3879514b12175da438e
2025-01-21Add NINJA_NINJAGO executor pseudo enum. Taylor Santiago
This aligns with the current plan for soong's build engine configuration. Bug: 390901696 Change-Id: I93e1d1707e3320bd70670b8fb948f3d87f5d9e7b
2025-01-17Deny host python tools Cole Faust
So that the host ones don't become available when we remove the checked-in python2. Bug: 203436762 Test: Presubmits Change-Id: Ib8d7b2d73eb2dea7d15a482282692e85397b99e6
2025-01-15Prepare for ignoring Android.mk files in art/ Wei Li
Bug: 388015096 Test: m nothing Change-Id: Ia821507c22dd0949e0f8427c962f8fcb53f6b2e4
2025-01-14Include TARGET_RELEASE in soong metrics LaMont Jones
While we explicitly do not tell the build engine the value of TARGET_RELEASE, we can include it in the build metrics. Bug: None Test: Manual Change-Id: I92e4b21b8c93e1039d405d29eaebfa3b89a57103
2025-01-08Support disting in soong-only builds Cole Faust
Disting was normally handled by the packaging kati step, which was not run in soong-only builds. Disting needs to be done in a separate ninja file, so that if you toggle dist on/off you only need to regenerate a small ninja file instead of the main one. This change makes it so that the kati packaging step is also run in soong-only builds. (which makes them not technically soong-only, but the packaging step is very fast so it's fine) Phonies in soong were normally exported to the main make invocation and then make would emit the ninja rules for them. In soong-only builds soong would emit the ninja phone rules directly. This is problematic when supporting disting in soong, because some of the phony rules have the same name as dist targets, causing ninja to complain about duplicate rules. To resolve this, make soong export its phonies to the packaging step, which will dedup them with the dist phonies. Bug: 388312357 Test: m --soong-only dist Change-Id: If6de8c28274fe96dac674f449b9bc0b488540655
2025-01-07Remove printfs in tests Cole Faust
So that we don't get as much garbage output when running tests. Test: m nothing --no-skip-soong-tests Change-Id: I4be3097eb02e5167ac0902c1de983e17decb0e23
2025-01-06Move build_hostname.txt generation to SetupOutDir Cole Faust
Before, build_hostname.txt was only written in runKati(). In soong-only builds, runKati will not run, so build_hostname.txt wouldn't be generated. Move it to SetupOutDir() which runs even in soong-only builds. Bug: 383902856 Test: m --soong-only dist Change-Id: I7905581d47938d4060ff7a486ed9537c04dca820
2024-12-19Add partial_compile values to metrics LaMont Jones
This adds the settings of SOONG_PARTIAL_COMPILE and SOONG_USE_PARTIAL_COMPILE to soong metrics. Bug: b/376287012 Test: manual, TH Change-Id: I3f967f34c75963da6dad051d354b9a97318518bf
2024-12-19clean up format strings LaMont Jones
These were causing `go test` to fail. Bug: None Test: manual Change-Id: Ia24ddae169b680befc25c6fd63350ed34979bb34
2024-12-16Wrap ExecutionMetrics against future needs LaMont Jones
This will allow us to extend ExecutionMetrics in the future. Bug: b/365537477 Test: manual, TH Change-Id: Icfc3d95ee61b19921e23252276a93984baf1f2e1
2024-12-10Merge "Add SoongExecutionMetrics to ninja run" into main Treehugger Robot
2024-12-09Add SoongExecutionMetrics to ninja run LaMont Jones
This adds metrics for partial compilation to Soong. - Soong_ui names the directory SOONG_METRICS_AGGREGATION_DIR, which it empties before each ninja run. - Find_input_delta writes metrics there - At the end of the build, Soong_ui aggregates the metrics that were written to generate the aggregated metrics. Bug: b/376287012 Test: Manual, TH Change-Id: I123df654f5b963fcd213b5c4d815173051f5d72e
2024-12-09Report which files are in the dependency graph for dist builds. Joe Onorato
Bug: 383124666 Test: m dist and verify Change-Id: Icc95327e8288bf1fbed86cd3d894f72229967155
2024-11-20Flush verbose log every second Colin Cross
The gzipped verbose log can buffer for an arbitrarily long time, which could lose logs in case of a crash, and is annoying when trying to see the ouptut while the build is still running. Move the writes to the verbose log to a goroutine that also calls gzip.Writer.Flush() every second to make sure the file on disk is as up to date as possible. Test: manual Change-Id: Ib66dad85bbf409bc8327fe11fd78667952de9138
2024-11-14Merge "build: limit concurrency of updateSymlinks" into main Treehugger Robot
2024-11-14build: limit concurrency of updateSymlinks George Burgess IV
In rare cases, the unbounded concurrency here may lead to Go runtime panics, due to the runtime spawning >10K threads. Bug: 376466642 Test: `m` generates build files properly Change-Id: Ib2e812b2fd56ebcee16154c69927821a4f379a87
2024-11-14Merge "find_input_delta: Add jar inspection, metrics generation" into main LaMont Jones
2024-11-13Add the following directories to the Android.mk denylist Wei Li
hardware/libhardware/ hardware/libhardware_legacy/ hardware/ril/ platform_testing/ system/ Change-Id: Iab8677402f9de3fcefe2cb7245f889a4a6e931df
2024-11-13find_input_delta: Add jar inspection, metrics generation LaMont Jones
This change implements: - zipfile inspection (for some file extensions) - changed files metrics generation Bug: b/376287012 Test: Manual, TH Change-Id: I18a688c8c6f462cdd7526287c61d38635a9f7709
2024-11-06Add python library build rule Luca Farsi
Add a build rule for a python library for soong-metrics so that it can be used for build_test_suites and the tests for it. Test: N/A Bug: 372973116 Change-Id: I9b092807511bf34b98e6f921cfd627b719935971
2024-10-29Merge "Ignore METADATA files in python packages shipped with ↵ Wei Li
prebuilts/clang, which are from upstream and not in the format used in Android." into main
2024-10-29Ignore METADATA files in python packages shipped with prebuilts/clang, which ↵ Wei Li
are from upstream and not in the format used in Android. Bug: 376319250 Test: m nothing, out/.module_paths/METADATA.list should contain only two METADATA files in prebuilts/clang: prebuilts/clang/host/linux-x86/METADATA and prebuilts/clang/host/darwin-x86/METADATA Change-Id: I9933ef44c91db7334f1a65374f718beacb044612
2024-10-29Fix metrics/hostinfo_darwin. LaMont Jones
Bug: b/376328967 Test: TH Change-Id: I59d3f62c8fc98b72f14ddc8b0e63a60ec064d86c
2024-10-29Add CPU and RAM information to metrics LaMont Jones
Bug: b/365537477 Test: manual, TH Change-Id: Ia76caaff2324f29b1e806915cab77bbb26df4ecb
2024-10-25Merge "Print bootstrap errors through ctx.Status" into main Treehugger Robot
2024-10-25Print bootstrap errors through ctx.Status Colin Cross
Blueprint bootstrap was printing the errors directly to stdout, which resulted in a different format that the buildbots didn't recognize and extract into build_error.log, and which soong_ui didn't put into error.log. Bootstrap then returned a single error "fatal errors encountered", which was printed by soong_build and soong_ui. Blueprint now returns all the errors and doesn't print anything, and lets soong_build and soong_ui print all the errors isntead of just "fatal errors encountered". Change bootstrap in soong_ui to feed the errors through ctx.Status, which will result in them being handled like any other error, including writing to error.log and adding the "FAILED:" header on stdout that the buildbots are looking for. Bug: 375389896 Test: build with a syntax error Test: build with a soong error Flag: EXEMPT host-only Change-Id: Id4056cfc0e99a84ba05cb0abd9feb9f488a07822