aboutsummaryrefslogtreecommitdiffstats
path: root/lint/cli/.classpath
Commit message (Collapse)AuthorAgeFilesLines
* SDK: Delete projects moved to tools/base or tools/swt.Raphael Moll2013-03-131-15/+0
| | | | Change-Id: Iba15f82cb00d19217382c78d8ff37dda1e97ea59
* Fix Eclipse classpath for projects moved to tools/base or swt.Raphael Moll2013-01-161-1/+1
| | | | Change-Id: Ibc54b1a23688217666b60ce7dc692f0bba00419a
* Add lint recycle detectorTor Norbye2012-12-111-5/+5
| | | | | | | | | | | | | | | This lint check looks for missing recycle() calls on resources such as TypedArrays, MotionEvents, and Messages. 41140 New Lint Check: Check Recycling VelocityTracker 41138 New Lint Check: Check Recycling Message 41137 New Lint Check: Check Recycling MotionEvent 41136 New Lint Check: Check Recycling TypedArray In addition, it also flags cases where a method is called on a resource after the resource has been recycled. Change-Id: Ia06a1779519971d5459f1cd98914a6aededc4b83
* Refactor lint folder structure.Xavier Ducrohet2012-12-061-1/+1
| | | | | | | | | | Move folders around to match default gradle/maven folder structure. The custom structure confused some IDEs when importing the project as a Gradle project. Change-Id: I5c059cc6fdf0ac2444b03d435f83f853363cfa32
* Update Guava from 10.0.1 to 13.0.1Tor Norbye2012-08-291-1/+1
| | | | Change-Id: Ia51e3e2280c3d360496550df50a540571b9b7582
* Warn about non-recent targetSdkVersionsTor Norbye2012-08-231-5/+6
| | | | | | | | | | | | | | This changeset changes the default targetSdkVersion written into new projects from being hardcoded to "15" to being the same level as the build target's API level. It also adds a new lint check which looks at the targetSdkVersion and complains if it's not the same as the highest known version (currently 16). The issue explanation points to the javadocs for the android.os.Build.VERSION_CODES class for details on how to upgrade the app. Change-Id: I00c2bd7cd8fa239b9fd1de9b2d35ff9faf87d25f
* Add basic flow analysis support to lintTor Norbye2012-07-231-0/+1
| | | | | | | | | | | This changeset adds in the ASM analysis library (an optional part of the ASM package lint is already using to process bytecode). It also adds some basic flow analysis to the SecureRandom detector to detect whether a given dispatch to a field of type java.util.Random is actually pointing to a java.security.SecureRandom, in which case it flags calls on it to setSeed() where the argument is a fixed integer. Change-Id: If85ab9f8db0e801a01f1a3ea845865b4f98e259c
* Lint Java source supportTor Norbye2012-01-091-0/+1
| | | | | | | | | | | | | | | | | This changeset adds Java AST support to Lint. There are new interfaces for Java parser and specialized Java detectors. Java detectors can either visit a full parse tree, or they can register interest in specific methods, or Android resource references, or specific AST node types -- or a combination of these. They will then be invoked during an AST visit with the relevant info. This changeset also rewrites the existing detectors that were using String-based pattern checking on Java files to using real AST traversal instead (and it removes the custom Eclipse-specific unused resource detector since the plain one now does the same AST-based analysis that the Eclipse one did.) Change-Id: I4d85f8b785bf41a88dbb29e7017b9c0f588880bc
* Extract positional XML parser into common and fix encoding issuesTor Norbye2012-01-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The XML DOM parser used by the lint CLI driver (which tracks positions) is needed outside of lint, so pull it out of the lint/cli project, and refactor it such that it does not directly reference the lint Position APIs (but can utilize them when subclassed in lint). In addition, handle non-UTF-8 file encodings. XML files can be encoded in other character sets, and can specify this via the encoding attribute in the XML prologue. Until now, the CLI lint runner would just read the XML file contents in using the default encoding and parse this. Now there's a new utility method which takes a byte[] and infers the desired encoding and uses that to convert the byte[] into a string using the correct encoding. (We can't just pass an InputStream and let the SAX parser handle this on its own because the XML parser needs to access the character stream in order to assign correct node offsets.) This code now also handles the byte order mark more cleanly. There are some new unit tests too to check the new encoding, BOM and offset handling. Change-Id: Ib0badbbe72172e3408c6d5af2413be51280a7724
* Add the Guava library to the toolsTor Norbye2011-12-051-0/+1
| | | | | | | | | | | | This changeset adds the Guava library to ADT and lint. (It is also a prerequisite for the Lombok AST library which is added by a later CL.) This changeset also uses the library in a few simple ways: It replaces some custom I/O and collections code with calls into the equivalent Guava methods, and it also adds the @Beta annotation on the various "API" classes which are not yet stable. Change-Id: I2f50febfa075c32818404e888578a2e1e447d408
* Add Java Classfile supportTor Norbye2011-12-051-0/+2
| | | | Change-Id: Ifcc1d88dabb07dc05b2e5c934743ad52f9b6dc1d
* Static analyzerTor Norbye2011-10-201-0/+8
This changeset adds a static analyzer, "lint", which looks for various potential bugs in Android projects. It has 3 parts: (1) A library which performs the actual static checks. This library is standalone: it does not depend on Eclipse. (Technically the library has two halves: an API half, for use by third party developers to write additional detectors, and an actual implementation of a bunch of built-in checks.) (2) A command line driver, "lint", which runs the static checks and emits any warnings to standard out. This can be thought of as a replacement for the layoutopt tool. (3) Eclipse integration. Lint errors are added to the Problems view as well as shown as editor annotations. There's an options panel for controlling which detectors are enabled. There's also a quickfix for disabling errors directly within the editor and a marker resolution for disabling them via the Problems view. The static checks are run on an XML file right after it has been saved. (This is optional via a toggle on the same preference page as the detector list.) The static checks are also run when you export an APK, and if any fatal errors are found the export is abandoned. (This is also optional via an option). Finally you can run a full lint through the Android Tools menu, and there's also an action to clear all the lint markers there. There's also a new indicator on the layout editor which shows whether there are lint errors on the associated file, and when clicked brings up a dialog listing the specific errors. This changeset also includes a number of checks: * An accessibility detector which warns about images missing contentDescriptions * A drawable selector detector which warns about state lists where not all states are reachable (e.g. it is not the case that only the last item in the list omits a state qualifier) * A detector finding duplicate ids, not just in the current layout but across included layouts (transitively) as well * All the layoutopt ones ported to Java + DOM * Unit tests for the above. The focus here is on getting the infrastructure in place, and it currently focuses on XML resource files and analyzing them efficiently. See the comment in XmlVisitor for details on that. Change-Id: Ic5f5f37d92bfb96ff901b959aaac24db33552ff7