From 55072acc8b8d3128f1fbf85e1ad90ab5c1ceff23 Mon Sep 17 00:00:00 2001 From: Tor Norbye Date: Thu, 23 Feb 2012 09:59:06 -0800 Subject: 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 --- .../lint_api/src/com/android/tools/lint/client/api/LintDriver.java | 4 ++-- .../lint_api/src/com/android/tools/lint/detector/api/Project.java | 1 - .../lint_checks/src/com/android/tools/lint/checks/ApiDetector.java | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) (limited to 'lint') 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 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; -- cgit v1.2.3