aboutsummaryrefslogtreecommitdiffstats
path: root/ddms/libs
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2011-10-31 11:51:33 -0700
committerTor Norbye <tnorbye@google.com>2011-11-02 17:34:21 -0700
commit27ed098e750ee9463dfa7a36cef68d219de9eb50 (patch)
tree051497051fccf37d2084827c2f9dbe0b4aaca8e9 /ddms/libs
parent4820ea88f12c1635489371f587e9b6ab70f16672 (diff)
downloadsdk-27ed098e750ee9463dfa7a36cef68d219de9eb50.zip
sdk-27ed098e750ee9463dfa7a36cef68d219de9eb50.tar.gz
sdk-27ed098e750ee9463dfa7a36cef68d219de9eb50.tar.bz2
Lint infrastructure fixes
This changeset makes a number of infrastructure fixes to lint. It also has some user visible aspects: (1) The "run lint on export" option, which aborts Export APK if fatal errors are found, now only checks for fatal issues, which should be significantly faster (since it skips expensive detectors like the unused resource detector). (2) The command line lint tool lets you specify not just issue ids, but categories to enable or disable as well. In addition to the --enable and --disable flags to add or remove checks, there is also a --check flag which runs the exact specified checks. Thus you can for example run "lint --check Security" to run the security related lint checks. When using --show to display the available id's, they are organized and described under category labels. I also cleaned up the categories a bit; "Layout" isn't a category anymore, and instead the layoutopt options are placed in other categories like "Performance" or "Usability". (3) From the command line you can now also specify multiple projects or even search a directory for projects contained recursively within it. This required a bunch of infrastructure changes to handle partitioning up the arguments into related projects (since checks have before-project and after-project hooks that need to run properly). (4) On the infrastructure side the "scope" concept was changed to become a scope set, and a detector can declare that an issue requires analysis of any of {manifest, resource file, java source file, resource folder, ...} etc. When lint runs it determines which detectors are applicable (for example, for a single-file lint run it will ignore detectors which require a wider scope). And when applicable, a detector will be called for all the various scopes it requires. Therefore, the unused resource detector, which used to have to manually scan the manifest file on its own, now automatically gets called as part of the manifest file parse, the resource file parses, and the java file scan. Single-file linting is still only supported for XML files. Change-Id: I49a5e2b27f8f6da22904085089aa0c4d2eee67f6
Diffstat (limited to 'ddms/libs')
0 files changed, 0 insertions, 0 deletions