diff options
author | Tor Norbye <tnorbye@google.com> | 2011-10-31 11:51:33 -0700 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2011-11-02 17:34:21 -0700 |
commit | 27ed098e750ee9463dfa7a36cef68d219de9eb50 (patch) | |
tree | 051497051fccf37d2084827c2f9dbe0b4aaca8e9 /ddms/libs | |
parent | 4820ea88f12c1635489371f587e9b6ab70f16672 (diff) | |
download | sdk-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