diff options
| author | Tor Norbye <tnorbye@google.com> | 2014-02-20 20:34:09 +0000 | 
|---|---|---|
| committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-02-20 20:34:09 +0000 | 
| commit | 05ba8b400c5e147d15b571b83f59690f4a4fc506 (patch) | |
| tree | 491c97747cd8a4f340dd7cb1441454f9a059c75a /eclipse/plugins | |
| parent | 136ca3f926b9a446e47875793f7d928578efdb84 (diff) | |
| parent | 8002bb7712ae50da779c2e10668f60dd8efd768f (diff) | |
| download | sdk-05ba8b400c5e147d15b571b83f59690f4a4fc506.zip sdk-05ba8b400c5e147d15b571b83f59690f4a4fc506.tar.gz sdk-05ba8b400c5e147d15b571b83f59690f4a4fc506.tar.bz2 | |
Merge "Check that build tools are 19.x or later for KitKat language features" into idea133
Diffstat (limited to 'eclipse/plugins')
2 files changed, 34 insertions, 4 deletions
| diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/ResourceManagerBuilder.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/ResourceManagerBuilder.java index c850a2a..8e01cca 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/ResourceManagerBuilder.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/ResourceManagerBuilder.java @@ -24,7 +24,9 @@ import com.android.ide.eclipse.adt.internal.preferences.AdtPrefs;  import com.android.ide.eclipse.adt.internal.preferences.AdtPrefs.BuildVerbosity;  import com.android.ide.eclipse.adt.internal.project.BaseProjectHelper;  import com.android.ide.eclipse.adt.internal.project.ProjectHelper; +import com.android.ide.eclipse.adt.internal.sdk.ProjectState;  import com.android.ide.eclipse.adt.internal.sdk.Sdk; +import com.android.sdklib.BuildToolInfo;  import com.android.sdklib.IAndroidTarget;  import com.android.utils.Pair; @@ -123,6 +125,19 @@ public class ResourceManagerBuilder extends BaseBuilder {                          errorMessage = "Using 1.7 requires compiling with Android 4.4 " +                                  "(KitKat); currently using " + target.getVersion();                      } + +                    ProjectState projectState = Sdk.getProjectState(project); +                    if (projectState != null) { +                        BuildToolInfo buildToolInfo = projectState.getBuildToolInfo(); +                        if (buildToolInfo == null) { +                            buildToolInfo = currentSdk.getLatestBuildTool(); +                        } +                        if (buildToolInfo != null && buildToolInfo.getRevision().getMajor() < 19) { +                            errorMessage = "Using 1.7 requires using Android Build Tools " + +                                    "version 19 or later; currently using " + +                                    buildToolInfo.getRevision(); +                        } +                    }                  }              } diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/ProjectHelper.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/ProjectHelper.java index 44827a0..a32b4ca 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/ProjectHelper.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/ProjectHelper.java @@ -28,6 +28,7 @@ import com.android.ide.eclipse.adt.internal.build.builders.PreCompilerBuilder;  import com.android.ide.eclipse.adt.internal.preferences.AdtPrefs;  import com.android.ide.eclipse.adt.internal.sdk.ProjectState;  import com.android.ide.eclipse.adt.internal.sdk.Sdk; +import com.android.sdklib.BuildToolInfo;  import com.android.sdklib.IAndroidTarget;  import com.android.utils.Pair; @@ -875,13 +876,27 @@ public final class ProjectHelper {          }          if (JavaCore.VERSION_1_7.equals(optionValue)) { -            // Requires API 19 +            // Requires API 19 and buildTools 19              Sdk currentSdk = Sdk.getCurrent();              if (currentSdk != null) { -                IAndroidTarget target = currentSdk.getTarget(project.getProject()); -                if (target != null && target.getVersion().getApiLevel() >= 19) { -                    return true; +                IProject p = project.getProject(); +                IAndroidTarget target = currentSdk.getTarget(p); +                if (target == null || target.getVersion().getApiLevel() < 19) { +                    return false;                  } + +                ProjectState projectState = Sdk.getProjectState(p); +                if (projectState != null) { +                    BuildToolInfo buildToolInfo = projectState.getBuildToolInfo(); +                    if (buildToolInfo == null) { +                        buildToolInfo = currentSdk.getLatestBuildTool(); +                    } +                    if (buildToolInfo == null || buildToolInfo.getRevision().getMajor() < 19) { +                        return false; +                    } +                } + +                return true;              }          } | 
