summaryrefslogtreecommitdiff
path: root/bpfix
AgeCommit message (Collapse)Author
2021-02-25Make runtime_resource_overlay product specific.Jaewoong Jung
When mk2bp'ing a runtime_resource_overlay module, make it product specific by default so that it reflects how the current make configuration works. Bug: 155783598 Test: bpfix_test.go Change-Id: Icafa8228fe65ecc5b33ad80ad721e7997fbff383
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
2020-12-22Remove unnecessary snake case variables.Jaewoong Jung
Test: m nothing + TreeHugger Change-Id: I99f7162944daa6c57c6ae4763261e108bb5cb6b1
2020-10-09Revert "Make lots of tests run in parallel"Colin Cross
This reverts commit 323dc60712491c71ccdc5363c42df61f0a192487. Reason for revert: Possible cause of test instability Bug: 170513220 Test: soong tests Change-Id: Iee168e9fbb4210569e6cffcc23e60d111403abb8
2020-10-06Make lots of tests run in parallelColin Cross
Putting t.Parallel() in each test makes them run in parallel. Additional t.Parallel() could be added to each subtest, although that requires making a local copy of the loop variable for table driven tests. Test: m checkbuild Change-Id: I5d9869ead441093f4d7c5757f2447385333a95a4
2020-08-11Remove obsolete PDK build functionalityDan Willemsen
This hasn't worked for a couple years, and continues to bitrot. Just remove it. Adds a bpfix rule so that we can eventually remove the product_variables.pdk definition, which is now always a no-op. Test: treehugger Change-Id: I830b54d419b59f6db1d4617b45e61a78234f57a7 Merged-In: I830b54d419b59f6db1d4617b45e61a78234f57a7
2020-06-29Add relative_install_path property to prebuilt_etcLiz Kammer
This supports a more consistent property across modules for specifying a subdirectory to install a file into for prebuilt_etc modules. Updates bpfix to rewrite `sub_dir` to `relative_install_path`. Test: gotest prebuilt_etc_test Test: gotest bpfix_test Bug: 156568187 Change-Id: Idd05cd2178c46e290764a3b708faa8275818ca1e
2020-06-29Fix bpfmt issues and add bpfmt to preupload checksThiƩbaud Weksteen
Test: m nothing Change-Id: I10526a33685335bdd26cc7692815133379d4e0f6
2020-05-26Support preprocessed prebuilt tests in androidmkLiz Kammer
Adds support to translate app prebuilt tests to android_test_import and LOCAL_REPLACE_PREBUILT_APK_INSTALLED to preprocessed property. Test: androidmk_test.go, bpfix_test.go Bug: 155412211 Change-Id: I77c07c684125adf228ba91911998823a68b3a65d
2020-03-23soong_config: bool_variables shortcutDan Willemsen
Using a lot of boolean variables can become very verbose without adding really any new information: variables: ["a", "b", "c"], } soong_config_bool_variable { name: "a", } soong_config_bool_variable { name: "b", } soong_config_bool_variable { name: "c", } Now turns into: bool_variables: ["a", "b", "c"], } Test: built-in tests Change-Id: If5455a38433431c7ecbce1e5b32cfbb47f42602a
2020-01-21bpfix: remove hidl_interface typesSteven Moreland
These were needed to create/track dependencies, but since we use src jars now, they are no longer needed. Test: bpfix_test Change-Id: Ife7942f937cf94c66547af92821a4c11bd747e3f
2019-11-11Move partner androidmk and bpfix files to match their package pathColin Cross
Using a gomod-aware editor with build/soong requires that files in build/soong can be mapped to the android/soong package path. Move the partner androidmk and bpfix files such that their path matches the package path when the android/soong package prefix is replaced with the build/soong path prefix. Test: go test ./... Test: m bpfix androidmk partner_bpfix partner_androidmk Change-Id: Ic7f7aad9e5eb9178eef0383f0b37e4fb93ce8314
2019-11-06bpfix: remove empty HIDL libsSteven Moreland
libhidltransport/libhwbinder are empty and disallowed in Android.bp (motivation is ~4kb per empty library per process overhead). Bug: 135686713 Test: bpfix Change-Id: I964215ad35068465217af74c5ef1322b43476428
2019-10-25Add support to extend commands bpfix and androidmkJustin DeMartino
Allows our partners to maintain partner-specific fixes in their repos. Converts most of androidmk into a library similar to bpfix. Makes some methods and types public for use by extended versions. Bug:140727544 Test: Ran unit test cases && ran test conversions with sample Change-Id: I7e1fbf3a6a7a8bd47334f43fe3eb68cbbd3426c1
2019-07-09Rename product_services to system_extJustin Yun
Bug: 134359158 Test: build and check if system_ext.img is created Change-Id: Ice3229baf97a94c24a6eea22e7d4571941d7f843
2019-06-04Soong: Add mk2bp conversion for prebuilt_firmare.Patrice Arruda
There are a couple of makefiles that have etc with $(TARGET_OUT)/etc/firmware, $(TARGET_OUT_VENDOR)/firmare as the local module path. Added the conversion in androidmk for target. Bug: b/133711895 Test: Unit test cases. Change-Id: I74aca18a7eb8aa4dd692cde680fa4e112edcf6d1
2019-05-23Merge "androidmk conversion logic for android_app_import"Jaewoong Jung
2019-05-16Soong: Add mk2bp conversion for prebuilt_font.Patrice Arruda
There are a couple of makefiles that have etc with $(TARGET_OUT)/fonts and $(TARGET_OUT_PRODUCT)/fonts as the local module path. Added the conversion in androidmk for target. bug: b/123403785 Test: Wrote and ran unit test cases, did a test conversion on * platform/external/google-fonts/dancing-script/Android.mk * internal/external/google-fonts/arbutus-fonts/Android.mk Change-Id: Id67e10f80b32b27c5027cd274a7944801dad0880
2019-05-15androidmk conversion logic for android_app_importJaewoong Jung
Test: androidmk_test.go, bpfix_test.go Bug: 128610294 Change-Id: Ide183ba1e696fa0ffb4245e3288ffc47535b39af
2019-05-10Soong: Add mk2bp conversion for prebuilt_usr_share.Patrice Arruda
There are a couple of makefiles that have etc with $(TARGET_OUT)/usr/share as the local module path. Added the conversion in androidmk for target and host. Bug: b/132123818 Test: Wrote and ran unit test cases, did a test conversion on external/neven/Android.mk makefile. Change-Id: Iafed89f4cee499f561a1235f8870b1f1329e99bc
2019-03-11Fix crash in mergeListPropertiesSasha Smundak
The value of a property to be merged may be a reference to a variable. When we first create an attribute for a makefile variable (e.g. we create 'android_static_libs' from LOCAL_STATIC_ANDROID_LIBRARIES), we set its type correctly. However, reparse in bpfix erases this information, so by the time 'android_static_libs' attribute is to be merged with 'static_libs', it has no type and merge occurs. It isn't easy to fix properly, so just don't merge in such case, Soong will complain and it will be fixed manually. Fixes: 125519127 Test: unit tests in androidmk_test.go Change-Id: Ic66d7ab686a2fdde987f32e2b204c72d9bf0d026
2019-02-22Handle LOCAL_MODULE_PATH assignment for android_test modulesSasha Smundak
Many Android.mk files for the CTS tests have LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS) statement. This can be dropped during the conversion to blueprint files. Also, ignore the assignments to obsolete LOCAL_CTS_TEST_PACKAGE variable. Fixes: 125405331 Test: Internal tests, selectively run androidmk on Android.mk's in cts/ directory Change-Id: I2ed88acd3c8837f96b84be6eb7c7b9b0b5405f57
2019-01-24Convert BUILD_PREBUILT with LOCAL_MODULE_CLASS=ETC to prebuilt_etcSasha Smundak
The conversion is a two-step process: first, when processing BUILT_PREBUILT, convert LOCAL_SOURCE_PATH to a variable reference+fixed subpath path in the blueprint AST. Then, set various boolean flags depending on variable being referenced. androidmk_test.go has a test for each handled case. Change-Id: Iabd18d5f8645ca7077536863cd6640df5b24d24a Fixes: 122906526 Test: treehugger
2019-01-15Add BUILD_CTS_* to androidmkDan Willemsen
Bug: 122617736 Test: new unit tests Change-Id: Ibce6b4bbe49015a1ca6cf88cd43badc6b5cc078e
2019-01-07Add java_import_host handling logic.Jaewoong Jung
Now java_import with a host flag set to true is converted to java_import_host. Bug: 122372359 Test: bpfix_test.go + manual test with real examples. Change-Id: Ie38fa51a44c83c434927db4b742d6839c64b3d63
2018-07-22Fix `go vet` issuesDan Willemsen
Test: go vet ./... Change-Id: Ifb936ccc5e2b5a2c3fcbbbcb54f680e2973ea1b3
2018-07-11Translate java libraries to java_libraryColin Cross
In androidmk, translate BUILD_JAVA_LIBRARY to java_library plus installable: true, and BUILD_STATIC_JAVA_LIBRARY to java_library. In bpfix, rewrite java_library_static to java_library. Bug: 110885583 Test: androidmk_test.go, bpfix_test.go Change-Id: I63c2f759ae9c62a43f3439526552d2cd8e8cedc3
2018-05-24Add support for android_test modulesColin Cross
android_test module are APKs that can be run as tests, either as standalone unit tests or as instrumentation tests for another APK. Test: m checkbuild Change-Id: I16661701637e4048fd99442029c3e195ebf373a4
2018-05-24Reduce boilerplate around bpfix passesColin Cross
Make it easier to add bpfix passes by putting them in a single list. Test: bpfix_test.go Change-Id: I194aeeb88457800545d58aceb5d1616c6752274a
2018-05-15Remove the unused `tags` propertyDan Willemsen
And fix up androidmk / bpfix to provide warnings about what to do instead. Test: m blueprint_tools (runs the tests, ensures there aren't any tags left) Change-Id: I1a3ad8600211050420041740207d6957f44463c8
2018-05-14bpfix: Convert local_include_dirs removal to PatchListDan Willemsen
This way we can remove the line the property was on, not just the property itself. Test: `m blueprint_tools` to run the unit tests Test: diff bpfix results on all of AOSP before/after this change Change-Id: I61fdd945e6ee711c620b79683dfee7b7c751b3c4
2018-05-14bpfix: Add reorderCommonPropertiesDan Willemsen
This will move the common properties: name defaults device_supported host_supported To be listed first (and in that order) for every module. Other properties are untouched. This also adds a helper to test individual passes in an end-to-end manner, and a helper to run passes that use PatchLists. Test: `m blueprint_tools` to add the new tests Test: Diff bpfix results over all of aosp before/after this change Change-Id: I746a00a3731cb7597d2613ef2dc45a99654cd122
2018-05-08Merge changes I52f88bfd,I4263b7d5android-build-prod (mdb)
* changes: Fix usage of bytes.NewBuffer in bpfix Add a dependency fixer for proto deps
2018-05-07Fix usage of bytes.NewBuffer in bpfixDan Willemsen
According to the documentation: "NewBuffer creates and initializes a new Buffer using buf as its initial contents. The new Buffer takes ownership of buf, and the caller should not use buf after this call." Test: Run bpfix twice, only wrote the first time. Change-Id: I52f88bfd9247240436b46f396c9196157774615b
2018-05-07bpfix: Remove local_include_dirs if we remove the last entryDan Willemsen
This still leaves a blank line in it's place, but that's a more general problem. Test: m blueprint_tools Test: Run bpfix over AOSP, diff. Change-Id: I55c1d1c183cfa49beeca07abd539348bc2524c5a
2018-05-05Fix androidmk converting cc librariesDan Willemsen
The java library rewrites should only happen for java modules, not cc modules. Test: Ran androidmk on a number of Android.mk files Change-Id: Ife2cfb5a69d7db37216671f08317033b99fcd3a1
2018-04-16Add more androidmk translations for android librariesColin Cross
Add support for translating LOCAL_MANIFEST_FILE, LOCAL_RESOURCE_DIR LOCAL_SHARED_ANDROID_LIBRARIES, and LOCAL_STATIC_ANDROID_LIBRARIES. Use the presence of non-empty LOCAL_RESOURCE_DIR, LOCAL_SHARED_ANDROID_LIBRARIES or LOCAL_STATIC_ANDROID_LIBRARIES to convert a java_library_static into an android_library module, and then squash LOCAL_SHARED_ANDROID_LIBRARIES into LOCAL_SHARED_LIBRARIES and LOCAL_STATIC_ANDROID_LIBRARIES into LOCAL_STATIC_LIBRARIES. Test: androidmk_test.go Change-Id: I3ad2a3561f69ebd097eca97cb170754d64e06123
2018-04-16Merge matching properties in bpfixColin Cross
androidmk will start to generate multiple static_libs: properties in a single module, add a pass in bpfix to fix them up into a single property. Test: bpfix_test.go Change-Id: I30955b6efbb767c02ba77f2f18d44951ef094bad
2018-04-16Make bpfix not modify the input treeColin Cross
Make a new object called Fixer to hold the state of the tree, and make a copy of the input tree so the original doesn't get modified. Test: bpfix_test.go Change-Id: I1dc6fd99158c8b0e1db029df99e6cf72699a5e63
2018-03-28Fix format string issuesColin Cross
Fix issues caught by go vet. Test: m checkbuild Change-Id: Ib8d740457c15432dabe1575a6707726ddaf93084
2018-02-28Remove unused propertyJeff Gaston
Bug: 72552085 Test: androidmk prebuilts/sdk/current/support/Android.mk \ | grep LOCAL_UNINSTALLABLE_MODULE && echo failed Change-Id: Idcdd571812594599267985dfef2cc2fc6efbb5ba
2018-02-22Fix java_import and android_library_import conversionsColin Cross
java_import and android_library_import modules can't be handled directly in androidmk because the results may depend on properties that haven't been parsed yet. Add a bpfix pass (which is automatically included at the end of androidmk) to select android_library_import vs. java_import based on the extension of the prebuilt file, and convert the srcs property to jars or aars as appropriate. Bug: 73724997 Test: androidmk_test.go Change-Id: I1024742e9e96d5e1e88c3cc139eeb0d5a2f6849b
2018-02-22Don't pretend *parser.List is immutableColin Cross
The functions in bpfix that take a *parser.List and return a modified *parser.List are always returning the same pointer and mutating the target of the pointer. Remove the extra unnecessary return value. Also extract the getLiteralListProperty function. Test: androidmk_test.go Change-Id: I08d8aff955c72b7916741cda8083974a49af4d6f
2017-10-05Have bpfix not remove empty listsJeff Gaston
Since in some cases they're not the default value. Test: echo "cc_defaults{ system_shared_libs:[] }" | bpfix | grep system_shared_libs > /dev/null && echo ok Bug: 66979076 Change-Id: I760b34f980281b955972819676bd62154a6c73f5
2017-06-19Revert "Revert "Initial implementation of bpfix""Jeff Gaston
Bug: 38351765 Test: bpfix Android.bp This reverts commit a8cc9c53fa5eb7004bc07c5c0ca8613761afd49b. Change-Id: I60f02a8dd920346aa17b9044f834ffe94fa693c6
2017-05-26Revert "Initial implementation of bpfix"Jeff Gaston
This reverts commit de4b0463f220c069af1aa10d594b39ceafdfa78b. Reason for revert: postsubmit build broken Change-Id: If68a4af22e517b7be0876343a81c1319fa4d7046
2017-05-24Initial implementation of bpfixJeff Gaston
Bug: 38351765 Test: bpfix Android.bp Change-Id: Ia94602f93bc40db3d006174c39102ac5fd29a64c