aboutsummaryrefslogtreecommitdiffstats
path: root/bpfix/bpfix
Commit message (Collapse)AuthorAgeFilesLines
* Convert BUILD_PREBUILT with LOCAL_MODULE_CLASS=ETC to prebuilt_etcSasha Smundak2019-01-242-0/+213
| | | | | | | | | | | | 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
* Add BUILD_CTS_* to androidmkDan Willemsen2019-01-152-0/+121
| | | | | | Bug: 122617736 Test: new unit tests Change-Id: Ibce6b4bbe49015a1ca6cf88cd43badc6b5cc078e
* Add java_import_host handling logic.Jaewoong Jung2019-01-072-0/+89
| | | | | | | | | 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
* Fix `go vet` issuesDan Willemsen2018-07-221-1/+0
| | | | | Test: go vet ./... Change-Id: Ifb936ccc5e2b5a2c3fcbbbcb54f680e2973ea1b3
* Translate java libraries to java_libraryColin Cross2018-07-112-2/+114
| | | | | | | | | | 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
* Add support for android_test modulesColin Cross2018-05-241-5/+96
| | | | | | | | | 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
* Reduce boilerplate around bpfix passesColin Cross2018-05-242-84/+73
| | | | | | | | Make it easier to add bpfix passes by putting them in a single list. Test: bpfix_test.go Change-Id: I194aeeb88457800545d58aceb5d1616c6752274a
* Remove the unused `tags` propertyDan Willemsen2018-05-151-0/+75
| | | | | | | | 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
* bpfix: Convert local_include_dirs removal to PatchListDan Willemsen2018-05-142-22/+185
| | | | | | | | | 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
* bpfix: Add reorderCommonPropertiesDan Willemsen2018-05-142-42/+212
| | | | | | | | | | | | | | | | | | | 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
* bpfix: Remove local_include_dirs if we remove the last entryDan Willemsen2018-05-072-9/+21
| | | | | | | | | 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
* Fix androidmk converting cc librariesDan Willemsen2018-05-051-0/+5
| | | | | | | | 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
* Add more androidmk translations for android librariesColin Cross2018-04-161-3/+49
| | | | | | | | | | | | | | | 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
* Merge matching properties in bpfixColin Cross2018-04-162-0/+261
| | | | | | | | | 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
* Make bpfix not modify the input treeColin Cross2018-04-162-22/+64
| | | | | | | | 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
* Fix format string issuesColin Cross2018-03-281-1/+1
| | | | | | | Fix issues caught by go vet. Test: m checkbuild Change-Id: Ib8d740457c15432dabe1575a6707726ddaf93084
* Remove unused propertyJeff Gaston2018-02-281-0/+13
| | | | | | | | Bug: 72552085 Test: androidmk prebuilts/sdk/current/support/Android.mk \ | grep LOCAL_UNINSTALLABLE_MODULE && echo failed Change-Id: Idcdd571812594599267985dfef2cc2fc6efbb5ba
* Fix java_import and android_library_import conversionsColin Cross2018-02-221-1/+50
| | | | | | | | | | | | | | 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
* Don't pretend *parser.List is immutableColin Cross2018-02-222-28/+28
| | | | | | | | | | | | 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
* Have bpfix not remove empty listsJeff Gaston2017-10-051-37/+1
| | | | | | | | 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
* Revert "Revert "Initial implementation of bpfix""Jeff Gaston2017-06-192-0/+299
| | | | | | | | | Bug: 38351765 Test: bpfix Android.bp This reverts commit a8cc9c53fa5eb7004bc07c5c0ca8613761afd49b. Change-Id: I60f02a8dd920346aa17b9044f834ffe94fa693c6
* Revert "Initial implementation of bpfix"Jeff Gaston2017-05-262-299/+0
| | | | | | | | This reverts commit de4b0463f220c069af1aa10d594b39ceafdfa78b. Reason for revert: postsubmit build broken Change-Id: If68a4af22e517b7be0876343a81c1319fa4d7046
* Initial implementation of bpfixJeff Gaston2017-05-242-0/+299
Bug: 38351765 Test: bpfix Android.bp Change-Id: Ia94602f93bc40db3d006174c39102ac5fd29a64c