diff options
author | Tor Norbye <tnorbye@google.com> | 2012-02-23 09:59:06 -0800 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2012-02-23 09:59:06 -0800 |
commit | 55072acc8b8d3128f1fbf85e1ad90ab5c1ceff23 (patch) | |
tree | e6412cf6041fa9e507a08ad7b447d38f543bc2c9 /lint | |
parent | f20c7c7e502fcd4df97e6ba2597ccfe3c5962873 (diff) | |
download | sdk-55072acc8b8d3128f1fbf85e1ad90ab5c1ceff23.tar.gz sdk-55072acc8b8d3128f1fbf85e1ad90ab5c1ceff23.tar.bz2 sdk-55072acc8b8d3128f1fbf85e1ad90ab5c1ceff23.zip |
Lint API check should use main project's SDK version
When the Lint API check is analyzing code in a library project, it
should use the min sdk version from the main project (unless you are
linting just a library project without including a main project).
Change-Id: I6d09f2d3e406213014df55832e781813c96aedfd
Diffstat (limited to 'lint')
3 files changed, 3 insertions, 4 deletions
diff --git a/lint/libs/lint_api/src/com/android/tools/lint/client/api/LintDriver.java b/lint/libs/lint_api/src/com/android/tools/lint/client/api/LintDriver.java index 3f32727ac..a749aceb8 100644 --- a/lint/libs/lint_api/src/com/android/tools/lint/client/api/LintDriver.java +++ b/lint/libs/lint_api/src/com/android/tools/lint/client/api/LintDriver.java @@ -676,14 +676,14 @@ public class LintDriver { private void runFileDetectors(@NonNull Project project, @Nullable Project main) { // Look up manifest information (but not for library projects) File manifestFile = project.getManifestFile(); - if (!project.isLibrary() && manifestFile != null) { + if (manifestFile != null) { XmlContext context = new XmlContext(this, project, main, manifestFile, null); IDomParser parser = mClient.getDomParser(); context.document = parser.parseXml(context); if (context.document != null) { project.readManifest(context.document); - if (mScope.contains(Scope.MANIFEST)) { + if (!project.isLibrary() && mScope.contains(Scope.MANIFEST)) { List<Detector> detectors = mScopeDetectors.get(Scope.MANIFEST); if (detectors != null) { XmlVisitor v = new XmlVisitor(parser, detectors); diff --git a/lint/libs/lint_api/src/com/android/tools/lint/detector/api/Project.java b/lint/libs/lint_api/src/com/android/tools/lint/detector/api/Project.java index d0de34c3e..d11fd7e99 100644 --- a/lint/libs/lint_api/src/com/android/tools/lint/detector/api/Project.java +++ b/lint/libs/lint_api/src/com/android/tools/lint/detector/api/Project.java @@ -421,7 +421,6 @@ public class Project { * @param document the DOM document for the manifest XML document */ public void readManifest(@NonNull Document document) { - assert !mLibrary; // Should call readManifest on the master project, not the library Element root = document.getDocumentElement(); if (root == null) { return; diff --git a/lint/libs/lint_checks/src/com/android/tools/lint/checks/ApiDetector.java b/lint/libs/lint_checks/src/com/android/tools/lint/checks/ApiDetector.java index 7299fccc7..7c8154e13 100644 --- a/lint/libs/lint_checks/src/com/android/tools/lint/checks/ApiDetector.java +++ b/lint/libs/lint_checks/src/com/android/tools/lint/checks/ApiDetector.java @@ -219,7 +219,7 @@ public class ApiDetector extends ResourceXmlDetector implements Detector.ClassSc private int getMinSdk(Context context) { if (mMinApi == -1) { - mMinApi = context.getProject().getMinSdk(); + mMinApi = context.getMainProject().getMinSdk(); } return mMinApi; |