com.android.tools.lint
Class LintCliClient

java.lang.Object
  extended by com.android.tools.lint.client.api.LintClient
      extended by com.android.tools.lint.LintCliClient

@Beta
public class LintCliClient
extends com.android.tools.lint.client.api.LintClient

Lint client for command line usage. Supports the flags in LintCliFlags, and offers text, HTML and XML reporting, etc.

Minimal example:

 // files is a list of java.io.Files, typically a directory containing
 // lint projects or direct references to project root directories
 IssueRegistry registry = new BuiltinIssueRegistry();
 LintCliFlags flags = new LintCliFlags();
 LintCliClient client = new LintCliClient(flags);
 int exitCode = client.run(registry, files);
 

NOTE: This is not a public or final API; if you rely on this be prepared to adjust your code for the next tools release.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.android.tools.lint.client.api.LintClient
com.android.tools.lint.client.api.LintClient.ClassPathInfo
 
Field Summary
protected  com.android.tools.lint.client.api.LintDriver mDriver
           
protected  int mErrorCount
           
protected  LintCliFlags mFlags
           
protected  boolean mHasErrors
           
protected  com.android.tools.lint.client.api.IssueRegistry mRegistry
           
protected  int mWarningCount
           
protected  java.util.List<Warning> mWarnings
           
 
Constructor Summary
LintCliClient()
          Creates a CLI driver
LintCliClient(LintCliFlags flags)
           
 
Method Summary
 com.android.tools.lint.client.api.Configuration createConfigurationFromFile(java.io.File file)
           
protected  com.android.tools.lint.client.api.LintRequest createLintRequest(java.util.List<java.io.File> files)
          Creates a lint request
protected  com.android.tools.lint.client.api.LintClient.ClassPathInfo getClassPath(com.android.tools.lint.detector.api.Project project)
           
 com.android.tools.lint.client.api.Configuration getConfiguration(com.android.tools.lint.detector.api.Project project)
           
 com.android.tools.lint.client.api.IDomParser getDomParser()
           
 com.android.tools.lint.client.api.IJavaParser getJavaParser()
           
 java.util.List<java.io.File> getResourceFolders(com.android.tools.lint.detector.api.Project project)
           
 boolean haveErrors()
           
 void log(com.android.tools.lint.detector.api.Severity severity, java.lang.Throwable exception, java.lang.String format, java.lang.Object... args)
           
 java.lang.String readFile(java.io.File file)
           
 void report(com.android.tools.lint.detector.api.Context context, com.android.tools.lint.detector.api.Issue issue, com.android.tools.lint.detector.api.Severity severity, com.android.tools.lint.detector.api.Location location, java.lang.String message, java.lang.Object data)
           
 int run(com.android.tools.lint.client.api.IssueRegistry registry, java.util.List<java.io.File> files)
          Runs the static analysis command line driver.
 
Methods inherited from class com.android.tools.lint.client.api.LintClient
checkForSuppressComments, createProject, findGlobalRuleJars, findResource, findRuleJars, getCacheDir, getHighestKnownApiLevel, getJavaClassFolders, getJavaLibraries, getJavaSourceFolders, getProject, getProjectName, getSdkHome, getSdkInfo, getSuperClass, getTargets, isGradleProject, isProjectDirectory, isSubclassOf, log, readBytes, registerProject, replaceDetector
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mWarnings

protected final java.util.List<Warning> mWarnings

mHasErrors

protected boolean mHasErrors

mErrorCount

protected int mErrorCount

mWarningCount

protected int mWarningCount

mRegistry

protected com.android.tools.lint.client.api.IssueRegistry mRegistry

mDriver

protected com.android.tools.lint.client.api.LintDriver mDriver

mFlags

protected final LintCliFlags mFlags
Constructor Detail

LintCliClient

public LintCliClient()
Creates a CLI driver


LintCliClient

public LintCliClient(LintCliFlags flags)
Method Detail

run

public int run(@NonNull
               com.android.tools.lint.client.api.IssueRegistry registry,
               @NonNull
               java.util.List<java.io.File> files)
        throws java.io.IOException
Runs the static analysis command line driver. You need to add at least one error reporter to the command line flags.

Throws:
java.io.IOException

createLintRequest

@NonNull
protected com.android.tools.lint.client.api.LintRequest createLintRequest(@NonNull
                                                                                  java.util.List<java.io.File> files)
Creates a lint request


log

public void log(@NonNull
                com.android.tools.lint.detector.api.Severity severity,
                @Nullable
                java.lang.Throwable exception,
                @Nullable
                java.lang.String format,
                @Nullable
                java.lang.Object... args)
Specified by:
log in class com.android.tools.lint.client.api.LintClient

getDomParser

public com.android.tools.lint.client.api.IDomParser getDomParser()
Specified by:
getDomParser in class com.android.tools.lint.client.api.LintClient

getConfiguration

public com.android.tools.lint.client.api.Configuration getConfiguration(@NonNull
                                                                        com.android.tools.lint.detector.api.Project project)
Overrides:
getConfiguration in class com.android.tools.lint.client.api.LintClient

getJavaParser

public com.android.tools.lint.client.api.IJavaParser getJavaParser()
Specified by:
getJavaParser in class com.android.tools.lint.client.api.LintClient

report

public void report(@NonNull
                   com.android.tools.lint.detector.api.Context context,
                   @NonNull
                   com.android.tools.lint.detector.api.Issue issue,
                   @NonNull
                   com.android.tools.lint.detector.api.Severity severity,
                   @Nullable
                   com.android.tools.lint.detector.api.Location location,
                   @NonNull
                   java.lang.String message,
                   @Nullable
                   java.lang.Object data)
Specified by:
report in class com.android.tools.lint.client.api.LintClient

readFile

@NonNull
public java.lang.String readFile(@NonNull
                                         java.io.File file)
Specified by:
readFile in class com.android.tools.lint.client.api.LintClient

getClassPath

@NonNull
protected com.android.tools.lint.client.api.LintClient.ClassPathInfo getClassPath(@NonNull
                                                                                          com.android.tools.lint.detector.api.Project project)
Overrides:
getClassPath in class com.android.tools.lint.client.api.LintClient

getResourceFolders

@NonNull
public java.util.List<java.io.File> getResourceFolders(@NonNull
                                                               com.android.tools.lint.detector.api.Project project)
Overrides:
getResourceFolders in class com.android.tools.lint.client.api.LintClient

createConfigurationFromFile

public com.android.tools.lint.client.api.Configuration createConfigurationFromFile(java.io.File file)

haveErrors

public boolean haveErrors()