Mobile/Fennec/Android/Static analysis
Jump to navigation
Jump to search
Android Lint
Catches various errors & optimizations specifically related to Android code and resources
./mach gradle app:lint
- example checks? `lint --show`
- in automation? Treeherder tier 2 "Unit" job
- config? mobile/android/app/lint.xml
- open issues? Run locally for a complete list.
- meta bug? meta bug
- If you fix all issues for a warning, modify lint.xml to change your warning into an error!
Facebook Infer
Currently detects NullPointerExceptions and resource leaks in Android applications.
It's currently unknown how to run locally.
- example checks? Infer docs
- in automation? updated daily – planned move to Task Cluster. Use infer-filter to get the issues we care about from the above link.
- config? N/A
- open issues? See the automation link
- meta bug? meta bug
checkstyle
Checks code style
./mach gradle app:checkstyle
- example checks? Google's style guide
- in automation? In progress
- config? mobile/android/app/checkstyle.xml
- open issues? Issues we care about are blocking the meta
- meta bug? meta bug
Coverity
Cloud-based static analysis that catches many miscellaneous Java errors, e.g. null dereference & dead code
https://scan.coverity.com/projects/firefox-mobile
- example checks? N/A
- in automation? See above link
- config? Configured online
- open issues? See online
- meta bug? meta bug
- You must be added as a member of the Coverity project in order to interact with the dashboard – talk to :Sylvestre
- You can sign up for email notifications (via the online interface) when new Coverity defects are found
eslint
Checks for Javascript errors (e.g. syntax errors, almost like a compiled language! :D)
./mach eslint --setup # run once, or if the command breaks for some reason ./mach eslint mobile/android
- example checks? http://eslint.org/docs/rules/
- in automation? Treeherder tier 1 "ES" job
- config? mobile/*.eslintrc & root .eslintignore
- open issues? Open a .eslintrc and enable checks.
- meta bug? meta bug
- If you fix all issues for a warning, modify the appropriate .eslintrc to change your warning into an error!