public class GradleDetector
extends com.android.tools.lint.detector.api.Detector
implements com.android.tools.lint.detector.api.Detector.GradleScanner
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.JavaPsiScanner, 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.UastScanner, com.android.tools.lint.detector.api.Detector.XmlScanner| Modifier and Type | Field and Description |
|---|---|
static com.android.tools.lint.detector.api.Issue |
ACCIDENTAL_OCTAL
Accidentally using octal numbers
|
static java.lang.String |
ANDROID_WEAR_GROUP_ID |
static java.lang.String |
APP_PLUGIN_ID
The Gradle plugin ID for Android applications
|
static com.android.tools.lint.detector.api.Issue |
BUNDLED_GMS |
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 |
DEPRECATED
Deprecated Gradle constructs
|
static com.android.tools.lint.detector.api.Issue |
DEV_MODE_OBSOLETE
Dev mode is no longer relevant
|
static java.lang.String |
FIREBASE_GROUP_ID |
static java.lang.String |
GMS_GROUP_ID
Group ID for GMS
|
static java.lang.String |
GOOGLE_SUPPORT_GROUP_ID |
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 |
GRADLE_PLUGIN_COMPATIBILITY
Incompatible Android Gradle plugin
|
static com.android.tools.lint.detector.api.Issue |
HIGH_APP_VERSION_CODE
Using a versionCode that is very high
|
static com.android.tools.lint.detector.api.Issue |
IDE_SUPPORT
Constructs the IDE support struggles with
|
static java.lang.String |
LIB_PLUGIN_ID
The Gradle plugin ID for Android libraries
|
static com.android.tools.lint.detector.api.Issue |
NOT_INTERPOLATED
Attempting to use substitution with single quotes
|
static java.lang.String |
OLD_APP_PLUGIN_ID
Previous plugin id for applications
|
static java.lang.String |
OLD_LIB_PLUGIN_ID
Previous plugin id for libraries
|
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
A newer version is available on a remote server
|
static com.android.tools.lint.detector.api.Issue |
STRING_INTEGER
Using a string where an integer is expected
|
| Constructor and Description |
|---|
GradleDetector() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterCheckProject(com.android.tools.lint.detector.api.Context context) |
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 valueCookie,
java.lang.Object statementCookie)
Called with for example "android", "defaultConfig", "minSdkVersion", "7"
|
protected void |
checkMethodCall(com.android.tools.lint.detector.api.Context context,
java.lang.String statement,
java.lang.String parent,
java.util.Map<java.lang.String,java.lang.String> namedArguments,
java.util.List<java.lang.String> unnamedArguments,
java.lang.Object cookie) |
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) |
static java.util.Collection<com.android.builder.model.AndroidLibrary> |
getAndroidLibraries(com.android.tools.lint.detector.api.Project project) |
protected java.io.File |
getArtifactCacheHome()
Home in the Gradle cache for artifact caches
|
static com.android.builder.model.Dependencies |
getCompileDependencies(com.android.tools.lint.detector.api.Project project) |
protected java.io.File |
getGradleUserHome() |
protected com.android.ide.common.repository.GradleVersion |
getHighestKnownVersion(com.android.tools.lint.client.api.LintClient client,
com.android.ide.common.repository.GradleCoordinate coordinate) |
static java.util.Collection<com.android.builder.model.JavaLibrary> |
getJavaLibraries(com.android.tools.lint.detector.api.Project project) |
static com.android.ide.common.repository.GradleVersion |
getLatestVersionFromRemoteRepo(com.android.tools.lint.client.api.LintClient client,
com.android.ide.common.repository.GradleCoordinate dependency,
boolean allowPreview)
TODO: Cache these results somewhere!
|
protected java.lang.Object |
getPropertyKeyCookie(java.lang.Object cookie) |
protected java.lang.Object |
getPropertyPairCookie(java.lang.Object cookie) |
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) |
protected static boolean |
isInterestingStatement(java.lang.String statement,
java.lang.String parent) |
void |
visitBuildScript(com.android.tools.lint.detector.api.Context context,
java.util.Map<java.lang.String,java.lang.Object> sharedData) |
afterCheckFile, afterCheckLibraryProject, applicableSuperClasses, appliesTo, appliesTo, appliesToResourceRefs, beforeCheckFile, beforeCheckLibraryProject, beforeCheckProject, checkBinaryResource, checkCall, checkClass, checkClass, checkClass, checkFolder, checkInstruction, createJavaVisitor, createPsiVisitor, createUastHandler, fix, getApplicableAsmNodeTypes, getApplicableAttributes, getApplicableCallNames, getApplicableCallOwners, getApplicableConstructorTypes, getApplicableElements, getApplicableFiles, getApplicableMethodNames, getApplicableNodeTypes, getApplicablePsiTypes, getApplicableReferenceNames, getApplicableUastTypes, getSpeed, getSpeed, run, visitAttribute, visitClass, visitClass, visitConstructor, visitConstructor, visitConstructor, visitDocument, visitElement, visitElementAfter, visitMethod, visitMethod, visitMethod, visitReference, visitReference, visitResourceReference, visitResourceReference, visitResourceReferencepublic static final com.android.tools.lint.detector.api.Issue DEPENDENCY
public static final com.android.tools.lint.detector.api.Issue DEPRECATED
public static final com.android.tools.lint.detector.api.Issue GRADLE_PLUGIN_COMPATIBILITY
public static final com.android.tools.lint.detector.api.Issue PATH
public static final com.android.tools.lint.detector.api.Issue IDE_SUPPORT
public static final com.android.tools.lint.detector.api.Issue PLUS
public static final com.android.tools.lint.detector.api.Issue GRADLE_GETTER
public static final com.android.tools.lint.detector.api.Issue COMPATIBILITY
public static final com.android.tools.lint.detector.api.Issue STRING_INTEGER
public static final com.android.tools.lint.detector.api.Issue NOT_INTERPOLATED
public static final com.android.tools.lint.detector.api.Issue REMOTE_VERSION
public static final com.android.tools.lint.detector.api.Issue ACCIDENTAL_OCTAL
public static final com.android.tools.lint.detector.api.Issue BUNDLED_GMS
public static final com.android.tools.lint.detector.api.Issue HIGH_APP_VERSION_CODE
public static final com.android.tools.lint.detector.api.Issue DEV_MODE_OBSOLETE
public static final java.lang.String APP_PLUGIN_ID
public static final java.lang.String LIB_PLUGIN_ID
public static final java.lang.String OLD_APP_PLUGIN_ID
public static final java.lang.String OLD_LIB_PLUGIN_ID
public static final java.lang.String GMS_GROUP_ID
public static final java.lang.String FIREBASE_GROUP_ID
public static final java.lang.String GOOGLE_SUPPORT_GROUP_ID
public static final java.lang.String ANDROID_WEAR_GROUP_ID
public void visitBuildScript(@NonNull
com.android.tools.lint.detector.api.Context context,
java.util.Map<java.lang.String,java.lang.Object> sharedData)
visitBuildScript in interface com.android.tools.lint.detector.api.Detector.GradleScannervisitBuildScript in class com.android.tools.lint.detector.api.Detectorprotected static boolean isInterestingBlock(@NonNull
java.lang.String parent,
@Nullable
java.lang.String parentParent)
protected static boolean isInterestingStatement(@NonNull
java.lang.String statement,
@Nullable
java.lang.String parent)
protected static boolean isInterestingProperty(@NonNull
java.lang.String property,
@NonNull
java.lang.String parent,
@Nullable
java.lang.String parentParent)
protected void checkOctal(@NonNull
com.android.tools.lint.detector.api.Context context,
@NonNull
java.lang.String value,
@NonNull
java.lang.Object cookie)
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 valueCookie,
@NonNull
java.lang.Object statementCookie)
protected void checkMethodCall(@NonNull
com.android.tools.lint.detector.api.Context context,
@NonNull
java.lang.String statement,
@Nullable
java.lang.String parent,
@NonNull
java.util.Map<java.lang.String,java.lang.String> namedArguments,
@NonNull
java.util.List<java.lang.String> unnamedArguments,
@NonNull
java.lang.Object cookie)
protected java.io.File getGradleUserHome()
protected java.io.File getArtifactCacheHome()
@Nullable
protected com.android.ide.common.repository.GradleVersion getHighestKnownVersion(@NonNull
com.android.tools.lint.client.api.LintClient client,
@NonNull
com.android.ide.common.repository.GradleCoordinate coordinate)
@Nullable
public static com.android.ide.common.repository.GradleVersion getLatestVersionFromRemoteRepo(@NonNull
com.android.tools.lint.client.api.LintClient client,
@NonNull
com.android.ide.common.repository.GradleCoordinate dependency,
boolean allowPreview)
@NonNull
public static java.util.Collection<com.android.builder.model.AndroidLibrary> getAndroidLibraries(@NonNull
com.android.tools.lint.detector.api.Project project)
@NonNull
public static java.util.Collection<com.android.builder.model.JavaLibrary> getJavaLibraries(@NonNull
com.android.tools.lint.detector.api.Project project)
public void afterCheckProject(@NonNull
com.android.tools.lint.detector.api.Context context)
afterCheckProject in class com.android.tools.lint.detector.api.Detector@NonNull
protected java.lang.Object getPropertyKeyCookie(@NonNull
java.lang.Object cookie)
@NonNull
protected java.lang.Object getPropertyPairCookie(@NonNull
java.lang.Object cookie)
protected int getStartOffset(@NonNull
com.android.tools.lint.detector.api.Context context,
@NonNull
java.lang.Object cookie)
protected com.android.tools.lint.detector.api.Location createLocation(@NonNull
com.android.tools.lint.detector.api.Context context,
@NonNull
java.lang.Object cookie)
@Nullable
public static com.android.builder.model.Dependencies getCompileDependencies(@NonNull
com.android.tools.lint.detector.api.Project project)