com.android.tools.lint.checks
Class GradleDetector

java.lang.Object
  extended by com.android.tools.lint.detector.api.Detector
      extended by com.android.tools.lint.checks.GradleDetector
All Implemented Interfaces:
com.android.tools.lint.detector.api.Detector.GradleScanner

public class GradleDetector
extends com.android.tools.lint.detector.api.Detector
implements com.android.tools.lint.detector.api.Detector.GradleScanner

Checks Gradle files for potential errors


Nested Class Summary
 
Nested classes/interfaces inherited from class com.android.tools.lint.detector.api.Detector
com.android.tools.lint.detector.api.Detector.BinaryResourceScanner, com.android.tools.lint.detector.api.Detector.ClassScanner, com.android.tools.lint.detector.api.Detector.GradleScanner, com.android.tools.lint.detector.api.Detector.JavaScanner, com.android.tools.lint.detector.api.Detector.OtherFileScanner, com.android.tools.lint.detector.api.Detector.ResourceFolderScanner, com.android.tools.lint.detector.api.Detector.XmlScanner
 
Field Summary
static com.android.tools.lint.detector.api.Issue ACCIDENTAL_OCTAL
          Accidentally using octal numbers
static com.android.tools.lint.detector.api.Issue COMPATIBILITY
          Using incompatible versions
static com.android.tools.lint.detector.api.Issue DEPENDENCY
          Obsolete dependencies
static com.android.tools.lint.detector.api.Issue GRADLE_GETTER
          Accidentally calling a getter instead of your own methods
static com.android.tools.lint.detector.api.Issue IDE_SUPPORT
          Constructs the IDE support struggles with
static com.android.tools.lint.detector.api.Issue PATH
          Invalid or dangerous paths
static com.android.tools.lint.detector.api.Issue PLUS
          Using + in versions
static com.android.tools.lint.detector.api.Issue REMOTE_VERSION
           
 
Constructor Summary
GradleDetector()
           
 
Method Summary
 boolean appliesTo(com.android.tools.lint.detector.api.Context context, java.io.File file)
           
protected  void checkDslPropertyAssignment(com.android.tools.lint.detector.api.Context context, java.lang.String property, java.lang.String value, java.lang.String parent, java.lang.String parentParent, java.lang.Object cookie)
          Called with for example "android", "defaultConfig", "minSdkVersion", "7"
protected  void checkOctal(com.android.tools.lint.detector.api.Context context, java.lang.String value, java.lang.Object cookie)
           
protected  com.android.tools.lint.detector.api.Location createLocation(com.android.tools.lint.detector.api.Context context, java.lang.Object cookie)
           
protected  java.lang.Object getPropertyKeyCookie(java.lang.Object cookie)
           
protected  java.lang.Object getPropertyPairCookie(java.lang.Object cookie)
           
 com.android.tools.lint.detector.api.Speed getSpeed(com.android.tools.lint.detector.api.Issue issue)
           
protected  int getStartOffset(com.android.tools.lint.detector.api.Context context, java.lang.Object cookie)
           
protected static boolean isInterestingBlock(java.lang.String parent, java.lang.String parentParent)
           
protected static boolean isInterestingProperty(java.lang.String property, java.lang.String parent, java.lang.String parentParent)
           
 void visitBuildScript(com.android.tools.lint.detector.api.Context context, java.util.Map<java.lang.String,java.lang.Object> sharedData)
           
 
Methods inherited from class com.android.tools.lint.detector.api.Detector
afterCheckFile, afterCheckLibraryProject, afterCheckProject, appliesTo, appliesToFolder, appliesToResourceRefs, beforeCheckFile, beforeCheckLibraryProject, beforeCheckProject, checkBinaryResource, checkCall, checkClass, checkFolder, checkInstruction, createJavaVisitor, getApplicableAsmNodeTypes, getApplicableAttributes, getApplicableCallNames, getApplicableCallOwners, getApplicableElements, getApplicableFiles, getApplicableMethodNames, getApplicableNodeTypes, getSpeed, run, visitAttribute, visitDocument, visitElement, visitElementAfter, visitMethod, visitResourceReference
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEPENDENCY

public static final com.android.tools.lint.detector.api.Issue DEPENDENCY
Obsolete dependencies


PATH

public static final com.android.tools.lint.detector.api.Issue PATH
Invalid or dangerous paths


IDE_SUPPORT

public static final com.android.tools.lint.detector.api.Issue IDE_SUPPORT
Constructs the IDE support struggles with


PLUS

public static final com.android.tools.lint.detector.api.Issue PLUS
Using + in versions


GRADLE_GETTER

public static final com.android.tools.lint.detector.api.Issue GRADLE_GETTER
Accidentally calling a getter instead of your own methods


COMPATIBILITY

public static final com.android.tools.lint.detector.api.Issue COMPATIBILITY
Using incompatible versions


REMOTE_VERSION

public static final com.android.tools.lint.detector.api.Issue REMOTE_VERSION

ACCIDENTAL_OCTAL

public static final com.android.tools.lint.detector.api.Issue ACCIDENTAL_OCTAL
Accidentally using octal numbers

Constructor Detail

GradleDetector

public GradleDetector()
Method Detail

appliesTo

public boolean appliesTo(@NonNull
                         com.android.tools.lint.detector.api.Context context,
                         @NonNull
                         java.io.File file)
Overrides:
appliesTo in class com.android.tools.lint.detector.api.Detector

getSpeed

@NonNull
public com.android.tools.lint.detector.api.Speed getSpeed(@NonNull
                                                                  com.android.tools.lint.detector.api.Issue issue)
Overrides:
getSpeed in class com.android.tools.lint.detector.api.Detector

visitBuildScript

public void visitBuildScript(@NonNull
                             com.android.tools.lint.detector.api.Context context,
                             java.util.Map<java.lang.String,java.lang.Object> sharedData)
Specified by:
visitBuildScript in interface com.android.tools.lint.detector.api.Detector.GradleScanner
Overrides:
visitBuildScript in class com.android.tools.lint.detector.api.Detector

isInterestingBlock

protected static boolean isInterestingBlock(@NonNull
                                            java.lang.String parent,
                                            @Nullable
                                            java.lang.String parentParent)

isInterestingProperty

protected static boolean isInterestingProperty(@NonNull
                                               java.lang.String property,
                                               @NonNull
                                               java.lang.String parent,
                                               @Nullable
                                               java.lang.String parentParent)

checkOctal

protected void checkOctal(@NonNull
                          com.android.tools.lint.detector.api.Context context,
                          @NonNull
                          java.lang.String value,
                          @NonNull
                          java.lang.Object cookie)

checkDslPropertyAssignment

protected void checkDslPropertyAssignment(@NonNull
                                          com.android.tools.lint.detector.api.Context context,
                                          @NonNull
                                          java.lang.String property,
                                          @NonNull
                                          java.lang.String value,
                                          @NonNull
                                          java.lang.String parent,
                                          @Nullable
                                          java.lang.String parentParent,
                                          @NonNull
                                          java.lang.Object cookie)
Called with for example "android", "defaultConfig", "minSdkVersion", "7"


getPropertyKeyCookie

@NonNull
protected java.lang.Object getPropertyKeyCookie(@NonNull
                                                        java.lang.Object cookie)

getPropertyPairCookie

@NonNull
protected java.lang.Object getPropertyPairCookie(@NonNull
                                                         java.lang.Object cookie)

getStartOffset

protected int getStartOffset(@NonNull
                             com.android.tools.lint.detector.api.Context context,
                             @NonNull
                             java.lang.Object cookie)

createLocation

protected com.android.tools.lint.detector.api.Location createLocation(@NonNull
                                                                      com.android.tools.lint.detector.api.Context context,
                                                                      @NonNull
                                                                      java.lang.Object cookie)