| # Refactoring the platform with lint |
| Inspiration: go/refactor-the-platform-with-lint\ |
| **Special Thanks: brufino@, azharaa@, for the prior work that made this all possible** |
| |
| ## What is this? |
| |
| It's a python script that runs the framework linter, |
| and then (optionally) copies modified files back into the source tree.\ |
| Why python, you ask? Because python is cool ¯\\\_(ツ)\_/¯. |
| |
| Incidentally, this exposes a much simpler way to run individual lint checks |
| against individual modules, so it's useful beyond applying fixes. |
| |
| ## Why? |
| |
| Lint is not allowed to modify source files directly via lint's `--apply-suggestions` flag. |
| As a compromise, soong zips up the (potentially) modified sources and leaves them in an intermediate |
| directory. This script runs the lint, unpacks those files, and copies them back into the tree. |
| |
| ## How do I run it? |
| **WARNING: You probably want to commit/stash any changes to your working tree before doing this...** |
| |
| ``` |
| source build/envsetup.sh |
| lunch cf_x86_64_phone-userdebug # or any lunch target |
| m lint_fix |
| lint_fix -h |
| ``` |
| |
| The script's help output explains things that are omitted here. |