@Beta
public class LintCliClient
extends com.android.tools.lint.client.api.LintClient
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.
| Modifier and Type | Class and Description |
|---|---|
protected class |
LintCliClient.CliConfiguration
Consult the lint.xml file, but override with the --enable and --disable flags supplied on the
command line
|
protected class |
LintCliClient.LintCliUastParser |
| Modifier and Type | Field and Description |
|---|---|
protected com.android.tools.lint.client.api.LintDriver |
driver |
protected int |
errorCount |
protected LintCliFlags |
flags |
protected boolean |
hasErrors |
protected com.android.tools.lint.client.api.DefaultConfiguration |
overrideConfiguration |
protected com.android.tools.lint.client.api.IssueRegistry |
registry |
protected int |
warningCount |
protected java.util.List<Warning> |
warnings |
| Constructor and Description |
|---|
LintCliClient()
Deprecated.
Specify client explicitly by calling
LintCliClient(String) |
LintCliClient(LintCliFlags flags,
java.lang.String clientName) |
LintCliClient(java.lang.String clientName) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
addBootClassPath(java.util.Collection<? extends com.android.tools.lint.detector.api.Project> knownProjects,
java.util.List<java.io.File> files) |
protected void |
addProgressPrinter() |
com.android.tools.lint.client.api.DefaultConfiguration |
createConfigurationFromFile(java.io.File file) |
protected com.android.tools.lint.client.api.LintDriver |
createDriver(com.android.tools.lint.client.api.IssueRegistry registry,
com.android.tools.lint.client.api.LintRequest request) |
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.detector.api.Project |
createProject(java.io.File dir,
java.io.File referenceDir) |
java.lang.ClassLoader |
createUrlClassLoader(java.net.URL[] urls,
java.lang.ClassLoader parent) |
void |
disposeProjects(java.util.Collection<? extends com.android.tools.lint.detector.api.Project> knownProjects) |
void |
emitBaselineDiagnostics(com.android.tools.lint.client.api.LintBaseline baseline,
java.io.File baselineFile,
com.android.tools.lint.LintStats stats) |
java.lang.String |
getBaselineCreationMessage(java.io.File baselineFile) |
protected java.lang.String |
getBaselineVariantName() |
protected com.android.tools.lint.client.api.LintClient.ClassPathInfo |
getClassPath(com.android.tools.lint.detector.api.Project project) |
java.lang.String |
getClientRevision() |
protected com.android.tools.lint.client.api.Configuration |
getConfiguration()
Returns the configuration used by this client
|
com.android.tools.lint.client.api.Configuration |
getConfiguration(com.android.tools.lint.detector.api.Project project,
com.android.tools.lint.client.api.LintDriver driver) |
LintCliFlags |
getFlags() |
com.android.tools.lint.client.api.GradleVisitor |
getGradleVisitor() |
com.intellij.openapi.project.Project |
getIdeaProject() |
org.w3c.dom.Document |
getMergedManifest(com.android.tools.lint.detector.api.Project project) |
LintCoreProjectEnvironment |
getProjectEnvironment() |
java.util.List<java.io.File> |
getResourceFolders(com.android.tools.lint.detector.api.Project project) |
protected java.lang.String |
getTargetName(java.lang.String baselineVariantName) |
com.android.tools.lint.client.api.UastParser |
getUastParser(com.android.tools.lint.detector.api.Project project) |
com.android.tools.lint.client.api.XmlParser |
getXmlParser() |
boolean |
haveErrors() |
void |
initializeProjects(java.util.Collection<? extends com.android.tools.lint.detector.api.Project> knownProjects) |
boolean |
isOverridingConfiguration() |
void |
log(com.android.tools.lint.detector.api.Severity severity,
java.lang.Throwable exception,
java.lang.String format,
java.lang.Object... args) |
java.lang.CharSequence |
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,
com.android.tools.lint.detector.api.TextFormat format,
com.android.tools.lint.detector.api.LintFix fix) |
protected void |
reportNonExistingIssueId(com.android.tools.lint.detector.api.Project project,
java.lang.String id) |
void |
reset() |
int |
run(com.android.tools.lint.client.api.IssueRegistry registry,
java.util.List<java.io.File> files)
Runs the static analysis command line driver.
|
void |
syncConfigOptions()
Synchronizes any options specified in lint.xml with the
LintCliFlags object |
protected void |
validateIssueIds() |
addCustomLintRules, checkForSuppressComments, closeConnection, createResourceItemHandle, createSuperClassMap, findGlobalRuleJars, findManifestSourceLocation, findManifestSourceNode, findResource, findRuleJars, getAssetFolders, getBuildTools, getCacheDir, getClientName, getCompileTarget, getDirToProject, getDisplayPath, getGeneratedResourceFolders, getGeneratedSourceFolders, getHighestKnownApiLevel, getHighestKnownVersion, getJavaClassFolders, getJavaLibraries, getJavaSourceFolders, getKnownProjects, getProject, getProjectDirs, getProjectName, getReportFileCache, getRepositoryLogger, getResourceRepository, getResourceVisibilityProvider, getSdk, getSdkHome, getSdkInfo, getSourceNodeCache, getSuperClass, getTargets, getTestLibraries, getTestSourceFolders, isGradle, isGradleProject, isMergeManifestNode, isProjectDirectory, isStudio, isSubclassOf, isUnitTest, log, openConnection, openConnection, performDisposeProjects$lint_api, performGetClassPath$lint_api, performInitializeProjects$lint_api, readBytes, registerProject, replaceDetector, resolveMergeManifestSources, runReadAction, runReadAction, supportsProjectResourcesprotected final java.util.List<Warning> warnings
protected boolean hasErrors
protected int errorCount
protected int warningCount
protected com.android.tools.lint.client.api.IssueRegistry registry
protected com.android.tools.lint.client.api.LintDriver driver
protected final LintCliFlags flags
@Nullable protected com.android.tools.lint.client.api.DefaultConfiguration overrideConfiguration
public LintCliClient(@NonNull
java.lang.String clientName)
@Deprecated public LintCliClient()
LintCliClient(String)public LintCliClient(@NonNull
LintCliFlags flags,
@NonNull
java.lang.String clientName)
@NonNull protected java.lang.String getBaselineVariantName()
public int run(@NonNull
com.android.tools.lint.client.api.IssueRegistry registry,
@NonNull
java.util.List<java.io.File> files)
throws java.io.IOException
java.io.IOExceptionpublic java.lang.String getBaselineCreationMessage(@NonNull
java.io.File baselineFile)
public void emitBaselineDiagnostics(@NonNull
com.android.tools.lint.client.api.LintBaseline baseline,
@NonNull
java.io.File baselineFile,
com.android.tools.lint.LintStats stats)
protected java.lang.String getTargetName(@NonNull
java.lang.String baselineVariantName)
protected void validateIssueIds()
@NonNull
protected com.android.tools.lint.client.api.LintDriver createDriver(@NonNull
com.android.tools.lint.client.api.IssueRegistry registry,
@NonNull
com.android.tools.lint.client.api.LintRequest request)
protected void addProgressPrinter()
@NonNull
protected com.android.tools.lint.client.api.LintRequest createLintRequest(@NonNull
java.util.List<java.io.File> files)
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)
log in class com.android.tools.lint.client.api.LintClient@NonNull public com.android.tools.lint.client.api.XmlParser getXmlParser()
getXmlParser in class com.android.tools.lint.client.api.LintClient@NonNull
public com.android.tools.lint.client.api.Configuration getConfiguration(@NonNull
com.android.tools.lint.detector.api.Project project,
@Nullable
com.android.tools.lint.client.api.LintDriver driver)
getConfiguration in class com.android.tools.lint.client.api.LintClient@NonNull
public com.android.tools.lint.client.api.UastParser getUastParser(@Nullable
com.android.tools.lint.detector.api.Project project)
getUastParser in class com.android.tools.lint.client.api.LintClient@NonNull public com.android.tools.lint.client.api.GradleVisitor getGradleVisitor()
getGradleVisitor in class com.android.tools.lint.client.api.LintClientpublic 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,
@NonNull
com.android.tools.lint.detector.api.Location location,
@NonNull
java.lang.String message,
@NonNull
com.android.tools.lint.detector.api.TextFormat format,
@Nullable
com.android.tools.lint.detector.api.LintFix fix)
report in class com.android.tools.lint.client.api.LintClient@NonNull
public java.lang.CharSequence readFile(@NonNull
java.io.File file)
readFile in class com.android.tools.lint.client.api.LintClient@NonNull
protected com.android.tools.lint.client.api.LintClient.ClassPathInfo getClassPath(@NonNull
com.android.tools.lint.detector.api.Project project)
getClassPath in class com.android.tools.lint.client.api.LintClient@NonNull
public java.util.List<java.io.File> getResourceFolders(@NonNull
com.android.tools.lint.detector.api.Project project)
getResourceFolders in class com.android.tools.lint.client.api.LintClient@NonNull
protected com.android.tools.lint.detector.api.Project createProject(@NonNull
java.io.File dir,
@NonNull
java.io.File referenceDir)
createProject in class com.android.tools.lint.client.api.LintClientprotected void reportNonExistingIssueId(@Nullable
com.android.tools.lint.detector.api.Project project,
@NonNull
java.lang.String id)
protected com.android.tools.lint.client.api.Configuration getConfiguration()
public com.android.tools.lint.client.api.DefaultConfiguration createConfigurationFromFile(java.io.File file)
@Nullable public com.intellij.openapi.project.Project getIdeaProject()
@Nullable public LintCoreProjectEnvironment getProjectEnvironment()
public void initializeProjects(@NonNull
java.util.Collection<? extends com.android.tools.lint.detector.api.Project> knownProjects)
initializeProjects in class com.android.tools.lint.client.api.LintClientprotected boolean addBootClassPath(@NonNull
java.util.Collection<? extends com.android.tools.lint.detector.api.Project> knownProjects,
java.util.List<java.io.File> files)
public void disposeProjects(@NonNull
java.util.Collection<? extends com.android.tools.lint.detector.api.Project> knownProjects)
disposeProjects in class com.android.tools.lint.client.api.LintClientpublic boolean isOverridingConfiguration()
public void syncConfigOptions()
LintCliFlags object@Nullable public java.lang.String getClientRevision()
getClientRevision in class com.android.tools.lint.client.api.LintClient@NonNull public LintCliFlags getFlags()
public boolean haveErrors()
public void reset()
@NonNull
public java.lang.ClassLoader createUrlClassLoader(@NonNull
java.net.URL[] urls,
@NonNull
java.lang.ClassLoader parent)
createUrlClassLoader in class com.android.tools.lint.client.api.LintClient@Nullable
public org.w3c.dom.Document getMergedManifest(@NonNull
com.android.tools.lint.detector.api.Project project)
getMergedManifest in class com.android.tools.lint.client.api.LintClient