aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@google.com>2014-03-06 01:39:08 +0100
committerDavid 'Digit' Turner <digit@google.com>2014-03-06 01:39:22 +0100
commit23328be805adafcce1146ce91d65b032c4736256 (patch)
treed13188108ec61bc8a8eba0b104518ae1cf5f8eb4
parent312b1eb7c4df2b0dbc90576675a6c83fc9c43ca8 (diff)
parent4a218a8b31d712290dce83cc65fc0a529fb10823 (diff)
downloadsdk-23328be805adafcce1146ce91d65b032c4736256.zip
sdk-23328be805adafcce1146ce91d65b032c4736256.tar.gz
sdk-23328be805adafcce1146ce91d65b032c4736256.tar.bz2
Resolve merge conflicts of 4a218a8 to master.
Conflicts: emulator/qtools/Android.mk Change-Id: Ibde8886543893ce78892da57a6ab9f1fc8678432
-rw-r--r--build/tools.atree5
-rw-r--r--eclipse/features/com.android.ide.eclipse.adt.package/feature.xml14
-rw-r--r--eclipse/features/com.android.ide.eclipse.adt/feature.xml2
-rw-r--r--eclipse/features/com.android.ide.eclipse.ddms/feature.xml2
-rw-r--r--eclipse/features/com.android.ide.eclipse.gldebugger/feature.xml2
-rw-r--r--eclipse/features/com.android.ide.eclipse.hierarchyviewer/feature.xml2
-rw-r--r--eclipse/features/com.android.ide.eclipse.ndk/feature.xml2
-rw-r--r--eclipse/features/com.android.ide.eclipse.pdt/feature.xml2
-rw-r--r--eclipse/features/com.android.ide.eclipse.tests/feature.xml2
-rw-r--r--eclipse/features/com.android.ide.eclipse.traceview/feature.xml2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt.overlay/META-INF/MANIFEST.MF2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt.package/META-INF/MANIFEST.MF2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt.package/ide.product2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/.classpath2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/META-INF/MANIFEST.MF4
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtUtils.java52
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/actions/AddSupportJarAction.java83
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java19
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LintOverlay.java3
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/EclipseLintClient.java12
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/LintFix.java4
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/SetAttributeFix.java8
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/BaseClasspathContainerInitializer.java97
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewActivityWizard.java8
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewProjectPage.java3
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewProjectWizard.java23
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewTemplateWizard.java8
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewTemplateWizardState.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateHandler.java122
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateMetadata.java3
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateWizard.java19
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.base/.classpath2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.base/META-INF/MANIFEST.MF4
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.ddms/META-INF/MANIFEST.MF2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.gldebugger.tests/META-INF/MANIFEST.MF2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.gldebugger/META-INF/MANIFEST.MF2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/META-INF/MANIFEST.MF2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.monitor/META-INF/MANIFEST.MF2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.monitor/monitor.product2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.monitor/plugin.properties2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.ndk/META-INF/MANIFEST.MF2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.pdt/META-INF/MANIFEST.MF2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/.classpath2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/META-INF/MANIFEST.MF2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateHandlerTest.java4
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.traceview/META-INF/MANIFEST.MF2
-rwxr-xr-xeclipse/scripts/create_all_symlinks.sh4
-rw-r--r--eclipse/sites/external/site.xml12
-rw-r--r--eclipse/sites/internal/site.xml16
-rw-r--r--files/tools_source.properties2
50 files changed, 372 insertions, 209 deletions
diff --git a/build/tools.atree b/build/tools.atree
index 801c4a6..bc0389d 100644
--- a/build/tools.atree
+++ b/build/tools.atree
@@ -23,9 +23,7 @@
#
prebuilts/devtools/tools/lib tools/lib
-# manual copy of lombok-ast for now
-prebuilts/tools/common/lombok-ast/lombok-ast-0.2.1.jar tools/lib/lombok-ast.jar
-prebuilts/tools/common/lombok-ast/LICENSE.txt tools/lib/lombok-ast-NOTICE.txt
+prebuilts/devtools/notices/NOTICE.txt tools/NOTICE.txt
prebuilts/devtools/tools/android tools/android
prebuilts/devtools/tools/draw9patch tools/draw9patch
@@ -37,7 +35,6 @@ prebuilts/devtools/tools/monkeyrunner tools/monkeyrunner
prebuilts/devtools/tools/traceview tools/traceview
prebuilts/devtools/tools/uiautomatorviewer tools/uiautomatorviewer
-prebuilts/devtools/notices/NOTICE.txt tools/NOTICE.txt
# version files for the SDK updater, from sdk.git
diff --git a/eclipse/features/com.android.ide.eclipse.adt.package/feature.xml b/eclipse/features/com.android.ide.eclipse.adt.package/feature.xml
index ec3843b..5533753 100644
--- a/eclipse/features/com.android.ide.eclipse.adt.package/feature.xml
+++ b/eclipse/features/com.android.ide.eclipse.adt.package/feature.xml
@@ -2,7 +2,7 @@
<feature
id="com.android.ide.eclipse.adt.package"
label="ADT Package"
- version="22.3.0.qualifier"
+ version="22.6.0.qualifier"
provider-name="The Android Open Source Project"
plugin="com.android.ide.eclipse.adt.package">
@@ -73,12 +73,12 @@
<import plugin="org.eclipse.cdt.dsf.gdb.ui"/>
<import plugin="org.eclipse.cdt.launch"/>
<import feature="org.eclipse.egit" />
- <import feature="com.android.ide.eclipse.ddms" version="22.2.0" match="greaterOrEqual" />
- <import feature="com.android.ide.eclipse.adt" version="22.2.0" match="greaterOrEqual" />
- <import feature="com.android.ide.eclipse.gldebugger" version="22.2.0" match="greaterOrEqual" />
- <import feature="com.android.ide.eclipse.hierarchyviewer" version="22.2.0" match="greaterOrEqual" />
- <import feature="com.android.ide.eclipse.ndk" version="22.2.0" match="greaterOrEqual" />
- <import feature="com.android.ide.eclipse.traceview" version="22.2.0" match="greaterOrEqual" />
+ <import feature="com.android.ide.eclipse.ddms" version="22.6.0" match="greaterOrEqual" />
+ <import feature="com.android.ide.eclipse.adt" version="22.6.0" match="greaterOrEqual" />
+ <import feature="com.android.ide.eclipse.gldebugger" version="22.6.0" match="greaterOrEqual" />
+ <import feature="com.android.ide.eclipse.hierarchyviewer" version="22.6.0" match="greaterOrEqual" />
+ <import feature="com.android.ide.eclipse.ndk" version="22.6.0" match="greaterOrEqual" />
+ <import feature="com.android.ide.eclipse.traceview" version="22.6.0" match="greaterOrEqual" />
<!--
The build scripts will pull in the translation plugin if its plugin repository is accessible.
The following line should remain without any modifications as the build script looks for
diff --git a/eclipse/features/com.android.ide.eclipse.adt/feature.xml b/eclipse/features/com.android.ide.eclipse.adt/feature.xml
index f90725c..8e48cbe 100644
--- a/eclipse/features/com.android.ide.eclipse.adt/feature.xml
+++ b/eclipse/features/com.android.ide.eclipse.adt/feature.xml
@@ -2,7 +2,7 @@
<feature
id="com.android.ide.eclipse.adt"
label="Android Development Tools"
- version="22.3.0.qualifier"
+ version="22.6.0.qualifier"
provider-name="The Android Open Source Project"
plugin="com.android.ide.eclipse.adt">
diff --git a/eclipse/features/com.android.ide.eclipse.ddms/feature.xml b/eclipse/features/com.android.ide.eclipse.ddms/feature.xml
index 3efcab4..9392955 100644
--- a/eclipse/features/com.android.ide.eclipse.ddms/feature.xml
+++ b/eclipse/features/com.android.ide.eclipse.ddms/feature.xml
@@ -2,7 +2,7 @@
<feature
id="com.android.ide.eclipse.ddms"
label="Android DDMS"
- version="22.3.0.qualifier"
+ version="22.6.0.qualifier"
provider-name="The Android Open Source Project"
plugin="com.android.ide.eclipse.ddms">
diff --git a/eclipse/features/com.android.ide.eclipse.gldebugger/feature.xml b/eclipse/features/com.android.ide.eclipse.gldebugger/feature.xml
index dda3e0c..9a0ba92 100644
--- a/eclipse/features/com.android.ide.eclipse.gldebugger/feature.xml
+++ b/eclipse/features/com.android.ide.eclipse.gldebugger/feature.xml
@@ -2,7 +2,7 @@
<feature
id="com.android.ide.eclipse.gldebugger"
label="Tracer for OpenGL ES"
- version="22.3.0.qualifier"
+ version="22.6.0.qualifier"
provider-name="The Android Open Source Project">
<description>
diff --git a/eclipse/features/com.android.ide.eclipse.hierarchyviewer/feature.xml b/eclipse/features/com.android.ide.eclipse.hierarchyviewer/feature.xml
index ea14352..404d9e0 100644
--- a/eclipse/features/com.android.ide.eclipse.hierarchyviewer/feature.xml
+++ b/eclipse/features/com.android.ide.eclipse.hierarchyviewer/feature.xml
@@ -2,7 +2,7 @@
<feature
id="com.android.ide.eclipse.hierarchyviewer"
label="Android Hierarchy Viewer"
- version="22.3.0.qualifier"
+ version="22.6.0.qualifier"
provider-name="The Android Open Source Project"
plugin="com.android.ide.eclipse.hierarchyviewer">
diff --git a/eclipse/features/com.android.ide.eclipse.ndk/feature.xml b/eclipse/features/com.android.ide.eclipse.ndk/feature.xml
index 2ca0a61..c2428db 100644
--- a/eclipse/features/com.android.ide.eclipse.ndk/feature.xml
+++ b/eclipse/features/com.android.ide.eclipse.ndk/feature.xml
@@ -2,7 +2,7 @@
<feature
id="com.android.ide.eclipse.ndk"
label="Android Native Development Tools"
- version="22.3.0.qualifier"
+ version="22.6.0.qualifier"
provider-name="The Android Open Source Project">
<description>
diff --git a/eclipse/features/com.android.ide.eclipse.pdt/feature.xml b/eclipse/features/com.android.ide.eclipse.pdt/feature.xml
index bd3f876..f47ca2b 100644
--- a/eclipse/features/com.android.ide.eclipse.pdt/feature.xml
+++ b/eclipse/features/com.android.ide.eclipse.pdt/feature.xml
@@ -2,7 +2,7 @@
<feature
id="com.android.ide.eclipse.pdt"
label="Android Platform Development Tools"
- version="22.3.0.qualifier"
+ version="22.6.0.qualifier"
provider-name="The Android Open Source Project">
<description>
diff --git a/eclipse/features/com.android.ide.eclipse.tests/feature.xml b/eclipse/features/com.android.ide.eclipse.tests/feature.xml
index 932822d..ecbf961 100644
--- a/eclipse/features/com.android.ide.eclipse.tests/feature.xml
+++ b/eclipse/features/com.android.ide.eclipse.tests/feature.xml
@@ -2,7 +2,7 @@
<feature
id="com.android.ide.eclipse.tests"
label="ADT Tests"
- version="22.3.0.qualifier"
+ version="22.6.0.qualifier"
provider-name="The Android Open Source Project">
<copyright>
diff --git a/eclipse/features/com.android.ide.eclipse.traceview/feature.xml b/eclipse/features/com.android.ide.eclipse.traceview/feature.xml
index 37bf9a4..d7e73c7 100644
--- a/eclipse/features/com.android.ide.eclipse.traceview/feature.xml
+++ b/eclipse/features/com.android.ide.eclipse.traceview/feature.xml
@@ -2,7 +2,7 @@
<feature
id="com.android.ide.eclipse.traceview"
label="Android Traceview"
- version="22.3.0.qualifier"
+ version="22.6.0.qualifier"
provider-name="The Android Open Source Project"
plugin="com.android.ide.eclipse.traceview">
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt.overlay/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.adt.overlay/META-INF/MANIFEST.MF
index 8ba1dcd..960fcb5 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt.overlay/META-INF/MANIFEST.MF
+++ b/eclipse/plugins/com.android.ide.eclipse.adt.overlay/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: ADT XML Overlay
Bundle-SymbolicName: overlay.com.android.ide.eclipse.adt.overlay;singleton:=true
-Bundle-Version: 22.3.0.qualifier
+Bundle-Version: 22.6.0.qualifier
Bundle-Vendor: The Android Open Source Project
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.core.resources,
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt.package/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.adt.package/META-INF/MANIFEST.MF
index 010bf28..e7df1c5 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt.package/META-INF/MANIFEST.MF
+++ b/eclipse/plugins/com.android.ide.eclipse.adt.package/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: ADT Package
Bundle-SymbolicName: com.android.ide.eclipse.adt.package;singleton:=true
-Bundle-Version: 22.3.0.qualifier
+Bundle-Version: 22.6.0.qualifier
Bundle-Vendor: The Android Open Source Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.platform,
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt.package/ide.product b/eclipse/plugins/com.android.ide.eclipse.adt.package/ide.product
index b532c53..4038a06 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt.package/ide.product
+++ b/eclipse/plugins/com.android.ide.eclipse.adt.package/ide.product
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>
-<product name="Android Developer Tools" uid="com.android.ide.eclipse.adt.package.product" id="com.android.ide.eclipse.adt.package.product" application="org.eclipse.ui.ide.workbench" version="22.3.0.qualifier" useFeatures="true" includeLaunchers="true">
+<product name="Android Developer Tools" uid="com.android.ide.eclipse.adt.package.product" id="com.android.ide.eclipse.adt.package.product" application="org.eclipse.ui.ide.workbench" version="22.6.0.qualifier" useFeatures="true" includeLaunchers="true">
<configIni use="default">
</configIni>
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/.classpath b/eclipse/plugins/com.android.ide.eclipse.adt/.classpath
index 89b762f..d6e4c2e 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/.classpath
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/.classpath
@@ -12,7 +12,7 @@
<classpathentry exported="true" kind="lib" path="libs/ant-glob.jar"/>
<classpathentry exported="true" kind="lib" path="libs/freemarker-2.3.19.jar"/>
<classpathentry exported="true" kind="lib" path="libs/manifest-merger.jar" sourcepath="/ManifestMerger"/>
- <classpathentry exported="true" kind="lib" path="libs/lombok-ast-0.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="libs/lombok-ast-0.2.2.jar"/>
<classpathentry exported="true" kind="lib" path="libs/propertysheet.jar"/>
<classpathentry exported="true" kind="lib" path="libs/asm-4.0.jar"/>
<classpathentry exported="true" kind="lib" path="libs/asm-analysis-4.0.jar"/>
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.adt/META-INF/MANIFEST.MF
index bd72b31..813b504 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/META-INF/MANIFEST.MF
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Android Development Toolkit
Bundle-SymbolicName: com.android.ide.eclipse.adt;singleton:=true
-Bundle-Version: 22.3.0.qualifier
+Bundle-Version: 22.6.0.qualifier
Bundle-ClassPath: .,
libs/sdkuilib.jar,
libs/ninepatch.jar,
@@ -11,7 +11,7 @@ Bundle-ClassPath: .,
libs/asset-studio.jar,
libs/lint-api.jar,
libs/lint-checks.jar,
- libs/lombok-ast-0.2.jar,
+ libs/lombok-ast-0.2.2.jar,
libs/asm-4.0.jar,
libs/asm-tree-4.0.jar,
libs/asm-analysis-4.0.jar,
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtUtils.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtUtils.java
index 697a0bc..11896d8 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtUtils.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtUtils.java
@@ -20,7 +20,6 @@ import static com.android.SdkConstants.TOOLS_PREFIX;
import static com.android.SdkConstants.TOOLS_URI;
import static org.eclipse.ui.IWorkbenchPage.MATCH_INPUT;
-import com.android.SdkConstants;
import com.android.annotations.NonNull;
import com.android.annotations.Nullable;
import com.android.ide.common.sdk.SdkVersionInfo;
@@ -940,46 +939,25 @@ public class AdtUtils {
* @return a suitable version display name
*/
public static String getAndroidName(int api) {
- // See http://source.android.com/source/build-numbers.html
- switch (api) {
- case 1: return "API 1: Android 1.0";
- case 2: return "API 2: Android 1.1";
- case 3: return "API 3: Android 1.5 (Cupcake)";
- case 4: return "API 4: Android 1.6 (Donut)";
- case 5: return "API 5: Android 2.0 (Eclair)";
- case 6: return "API 6: Android 2.0.1 (Eclair)";
- case 7: return "API 7: Android 2.1 (Eclair)";
- case 8: return "API 8: Android 2.2 (Froyo)";
- case 9: return "API 9: Android 2.3 (Gingerbread)";
- case 10: return "API 10: Android 2.3.3 (Gingerbread)";
- case 11: return "API 11: Android 3.0 (Honeycomb)";
- case 12: return "API 12: Android 3.1 (Honeycomb)";
- case 13: return "API 13: Android 3.2 (Honeycomb)";
- case 14: return "API 14: Android 4.0 (IceCreamSandwich)";
- case 15: return "API 15: Android 4.0.3 (IceCreamSandwich)";
- case 16: return "API 16: Android 4.1 (Jelly Bean)";
- case 17: return "API 17: Android 4.2 (Jelly Bean)";
- // If you add more versions here, also update LintUtils#getBuildCodes and
- // SdkConstants#HIGHEST_KNOWN_API
-
- default: {
- // Consult SDK manager to see if we know any more (later) names,
- // installed by user
- Sdk sdk = Sdk.getCurrent();
- if (sdk != null) {
- for (IAndroidTarget target : sdk.getTargets()) {
- if (target.isPlatform()) {
- AndroidVersion version = target.getVersion();
- if (version.getApiLevel() == api) {
- return getTargetLabel(target);
- }
- }
+ if (api <= SdkVersionInfo.HIGHEST_KNOWN_API) {
+ return SdkVersionInfo.getAndroidName(api);
+ }
+
+ // Consult SDK manager to see if we know any more (later) names,
+ // installed by user
+ Sdk sdk = Sdk.getCurrent();
+ if (sdk != null) {
+ for (IAndroidTarget target : sdk.getTargets()) {
+ if (target.isPlatform()) {
+ AndroidVersion version = target.getVersion();
+ if (version.getApiLevel() == api) {
+ return getTargetLabel(target);
}
}
-
- return "API " + api;
}
}
+
+ return "API " + api;
}
/**
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/actions/AddSupportJarAction.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/actions/AddSupportJarAction.java
index c21c8a4..98e43ab 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/actions/AddSupportJarAction.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/actions/AddSupportJarAction.java
@@ -87,7 +87,12 @@ public class AddSupportJarAction implements IObjectActionDelegate {
private static final String FD_GRIDLAYOUT = "gridlayout"; //$NON-NLS-1$
private static final String FD_V7 = "v7"; //$NON-NLS-1$
private static final String FD_V4 = "v4"; //$NON-NLS-1$
+ private static final String FD_V13 = "v13"; //$NON-NLS-1$
+ private static final String FD_APPCOMPAT = "appcompat"; //$NON-NLS-1$
+ private static final String FD_LIBS = "libs"; //$NON-NLS-1$
private static final String ANDROID_SUPPORT_V4_JAR = "android-support-v4.jar"; //$NON-NLS-1$
+ private static final String ANDROID_SUPPORT_V13_JAR = "android-support-v13.jar";//$NON-NLS-1$
+ private static final String APPCOMPAT_V7_JAR = "android-support-v7-appcompat.jar";//$NON-NLS-1$
private ISelection mSelection;
/**
@@ -238,7 +243,7 @@ public class AddSupportJarAction implements IObjectActionDelegate {
}
}
- return -1;
+ return -1;
}
/**
@@ -278,7 +283,55 @@ public class AddSupportJarAction implements IObjectActionDelegate {
}
// Create workspace copy of the project and add library dependency
- IProject libraryProject = createLibraryProject(libraryPath, project, waitForFinish);
+ IProject libraryProject = createLibraryProject(libraryPath, project,
+ "gridlayout_v7", waitForFinish); //$NON-NLS-1$
+ if (libraryProject != null) {
+ return addLibraryDependency(libraryProject, project, waitForFinish);
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Similar to {@link #install}, but rather than copy a jar into the given
+ * project, it creates a new library project in the workspace for the
+ * support library, and adds a library dependency on the newly
+ * installed library from the given project.
+ *
+ * @param project the project to add a dependency on the library to
+ * @param waitForFinish If true, block until the task has finished
+ * @return true if the installation was successful (or if
+ * <code>waitForFinish</code> is false, if the installation is
+ * likely to be successful - e.g. the user has at least agreed to
+ * all installation prompts.)
+ */
+ public static boolean installAppCompatLibrary(final IProject project, boolean waitForFinish) {
+ final IJavaProject javaProject = JavaCore.create(project);
+ if (javaProject != null) {
+
+ File supportPath = getSupportPackageDir();
+ if (!supportPath.isDirectory()) {
+ File path = installSupport(7);
+ if (path == null) {
+ return false;
+ }
+ assert path.equals(supportPath);
+ }
+ File libraryPath = new File(supportPath, FD_V7 + File.separator + FD_APPCOMPAT);
+ if (!libraryPath.isDirectory()) {
+ // Upgrade support package: it's out of date. The SDK manager will
+ // perform an upgrade to the latest version if the package is already installed.
+ File path = installSupport(-1);
+ if (path == null) {
+ return false;
+ }
+ assert path.equals(libraryPath) : path;
+ }
+
+ // Create workspace copy of the project and add library dependency
+ IProject libraryProject = createLibraryProject(libraryPath, project,
+ "appcompat_v7", waitForFinish); // $NON-NLS-1$
if (libraryProject != null) {
return addLibraryDependency(libraryProject, project, waitForFinish);
}
@@ -343,6 +396,25 @@ public class AddSupportJarAction implements IObjectActionDelegate {
}
/**
+ * Returns a path to the installed jar file for the support library,
+ * or null if it does not exist
+ *
+ * @return a path to the v13.jar or null
+ */
+ @Nullable
+ public static File getSupport13JarFile() {
+ File supportDir = getSupportPackageDir();
+ if (supportDir != null) {
+ File path = new File(supportDir, FD_V13 + File.separator + ANDROID_SUPPORT_V13_JAR);
+ if (path.exists()) {
+ return path;
+ }
+ }
+
+ return null;
+ }
+
+ /**
* Creates a library project in the Eclipse workspace out of the grid layout project
* in the SDK tree.
*
@@ -354,6 +426,7 @@ public class AddSupportJarAction implements IObjectActionDelegate {
private static IProject createLibraryProject(
final File libraryPath,
final IProject project,
+ final String libraryName,
boolean waitForFinish) {
// Install a new library into the workspace. This is a copy rather than
@@ -367,7 +440,7 @@ public class AddSupportJarAction implements IObjectActionDelegate {
IWorkspaceRoot root = workspace.getRoot();
String name = AdtUtils.getUniqueProjectName(
- "gridlayout_v7", "_"); //$NON-NLS-1$ //$NON-NLS-2$
+ libraryName, "_"); //$NON-NLS-1$
newProject = root.getProject(name);
IProjectDescription description = workspace.newProjectDescription(name);
String[] natures = new String[] { AdtConstants.NATURE_DEFAULT, JavaCore.NATURE_ID };
@@ -381,7 +454,7 @@ public class AddSupportJarAction implements IObjectActionDelegate {
sourceDir.copy(destDir, EFS.OVERWRITE, null);
// Make sure the src folder exists
- destDir.getChild("src").mkdir(0, null /*monitor*/);
+ destDir.getChild(SdkConstants.SRC_FOLDER).mkdir(0, null /*monitor*/);
// Set the android platform to the same level as the calling project
ProjectState state = Sdk.getProjectState(project);
@@ -478,7 +551,7 @@ public class AddSupportJarAction implements IObjectActionDelegate {
return Status.OK_STATUS;
} catch (Exception e) {
return new Status(Status.ERROR, AdtPlugin.PLUGIN_ID, Status.ERROR,
- "Failed", e); //$NON-NLS-1$
+ "Failed", e); //$NON-NLS-1$
} finally {
if (monitor != null) {
monitor.done();
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java
index 41361a5..c742fcb 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java
@@ -168,7 +168,6 @@ public final class ProjectCallback extends LegacyCallback {
// RenderSecurityManager
boolean token = RenderSecurityManager.enterSafeRegion(mCredential);
try {
- System.setSecurityManager(null);
mLoader = new ProjectClassLoader(mParentClassLoader, mProject);
} finally {
RenderSecurityManager.exitSafeRegion(token);
@@ -198,7 +197,7 @@ public final class ProjectCallback extends LegacyCallback {
e = e.getCause();
}
- AdtPlugin.log(e, "%1$s failed to instantiate.", className); //$NON-NLS-1$
+ appendToIdeLog(e, "%1$s failed to instantiate.", className); //$NON-NLS-1$
// Add the missing class to the list so that the renderer can print them later.
if (mLogger instanceof RenderLogger) {
@@ -480,11 +479,11 @@ public final class ProjectCallback extends LegacyCallback {
parser.setInput(new StringReader(xmlText));
return parser;
} catch (XmlPullParserException e) {
- AdtPlugin.log(e, null);
+ appendToIdeLog(e, null);
} catch (FileNotFoundException e) {
// Shouldn't happen since we check isFile() above
} catch (IOException e) {
- AdtPlugin.log(e, null);
+ appendToIdeLog(e, null);
}
}
@@ -649,4 +648,16 @@ public final class ProjectCallback extends LegacyCallback {
public void setResourceResolver(ResourceResolver resolver) {
mResourceResolver = resolver;
}
+
+ // Append the given message to the ADT log. Bypass the sandbox if necessary
+ // such that we can write to the log file.
+ private void appendToIdeLog(Throwable exception, String format, Object ... args) {
+ boolean token = RenderSecurityManager.enterSafeRegion(mCredential);
+ try {
+ AdtPlugin.log(exception, format, args);
+ } finally {
+ RenderSecurityManager.exitSafeRegion(token);
+ }
+ }
+
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LintOverlay.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LintOverlay.java
index bce1512..ca74493 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LintOverlay.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LintOverlay.java
@@ -19,6 +19,7 @@ package com.android.ide.eclipse.adt.internal.editors.layout.gle2;
import com.android.ide.eclipse.adt.internal.editors.IconFactory;
import com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate;
import com.android.ide.eclipse.adt.internal.preferences.AdtPrefs;
+import com.google.common.collect.Lists;
import org.eclipse.core.resources.IMarker;
import org.eclipse.swt.graphics.GC;
@@ -29,8 +30,6 @@ import org.w3c.dom.Node;
import java.util.Collection;
-import lombok.ast.libs.org.parboiled.google.collect.Lists;
-
/**
* The {@link LintOverlay} paints an icon over each view that contains at least one
* lint error (unless the view is smaller than the icon)
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/EclipseLintClient.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/EclipseLintClient.java
index 45ae2c5..ce0202f 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/EclipseLintClient.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/EclipseLintClient.java
@@ -1097,11 +1097,13 @@ public class EclipseLintClient extends LintClient implements IDomParser {
EclipseJavaParser() {
if (USE_ECLIPSE_PARSER) {
CompilerOptions options = new CompilerOptions();
- // Read settings from project? Note that this doesn't really matter because
- // we will only be parsing, not actually compiling.
- options.complianceLevel = ClassFileConstants.JDK1_6;
- options.sourceLevel = ClassFileConstants.JDK1_6;
- options.targetJDK = ClassFileConstants.JDK1_6;
+ // Always using JDK 7 rather than basing it on project metadata since we
+ // don't do compilation error validation in lint (we leave that to the IDE's
+ // error parser or the command line build's compilation step); we want an
+ // AST that is as tolerant as possible.
+ options.complianceLevel = ClassFileConstants.JDK1_7;
+ options.sourceLevel = ClassFileConstants.JDK1_7;
+ options.targetJDK = ClassFileConstants.JDK1_7;
options.parseLiteralExpressionsAsConstants = true;
ProblemReporter problemReporter = new ProblemReporter(
DefaultErrorHandlingPolicies.exitOnFirstError(),
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/LintFix.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/LintFix.java
index 401703e..658e409 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/LintFix.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/LintFix.java
@@ -24,7 +24,7 @@ import com.android.tools.lint.checks.DetectMissingPrefix;
import com.android.tools.lint.checks.DosLineEndingDetector;
import com.android.tools.lint.checks.HardcodedValuesDetector;
import com.android.tools.lint.checks.InefficientWeightDetector;
-import com.android.tools.lint.checks.ManifestOrderDetector;
+import com.android.tools.lint.checks.ManifestDetector;
import com.android.tools.lint.checks.MissingIdDetector;
import com.android.tools.lint.checks.ObsoleteLayoutParamsDetector;
import com.android.tools.lint.checks.PxUsageDetector;
@@ -152,7 +152,7 @@ abstract class LintFix implements ICompletionProposal {
LinearLayoutWeightFix.class);
sFixes.put(AccessibilityDetector.ISSUE.getId(), SetAttributeFix.class);
sFixes.put(InefficientWeightDetector.BASELINE_WEIGHTS.getId(), SetAttributeFix.class);
- sFixes.put(ManifestOrderDetector.ALLOW_BACKUP.getId(), SetAttributeFix.class);
+ sFixes.put(ManifestDetector.ALLOW_BACKUP.getId(), SetAttributeFix.class);
sFixes.put(MissingIdDetector.ISSUE.getId(), SetAttributeFix.class);
sFixes.put(HardcodedValuesDetector.ISSUE.getId(), ExtractStringFix.class);
sFixes.put(UselessViewDetector.USELESS_LEAF.getId(), RemoveUselessViewFix.class);
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/SetAttributeFix.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/SetAttributeFix.java
index 627eeb8..ea73b9a 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/SetAttributeFix.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/SetAttributeFix.java
@@ -31,7 +31,7 @@ import com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor;
import com.android.ide.eclipse.adt.internal.editors.descriptors.DescriptorsUtils;
import com.android.tools.lint.checks.AccessibilityDetector;
import com.android.tools.lint.checks.InefficientWeightDetector;
-import com.android.tools.lint.checks.ManifestOrderDetector;
+import com.android.tools.lint.checks.ManifestDetector;
import com.android.tools.lint.checks.MissingIdDetector;
import com.android.tools.lint.checks.SecurityDetector;
import com.android.tools.lint.checks.TextFieldDetector;
@@ -59,7 +59,7 @@ final class SetAttributeFix extends SetPropertyFix {
return ATTR_INPUT_TYPE;
} else if (mId.equals(TranslationDetector.MISSING.getId())) {
return ATTR_TRANSLATABLE;
- } else if (mId.equals(ManifestOrderDetector.ALLOW_BACKUP.getId())) {
+ } else if (mId.equals(ManifestDetector.ALLOW_BACKUP.getId())) {
return ATTR_ALLOW_BACKUP;
} else if (mId.equals(MissingIdDetector.ISSUE.getId())) {
return ATTR_ID;
@@ -90,7 +90,7 @@ final class SetAttributeFix extends SetPropertyFix {
return "Add permission attribute";
} else if (mId.equals(TranslationDetector.MISSING.getId())) {
return "Mark this as a non-translatable resource";
- } else if (mId.equals(ManifestOrderDetector.ALLOW_BACKUP.getId())) {
+ } else if (mId.equals(ManifestDetector.ALLOW_BACKUP.getId())) {
return "Set the allowBackup attribute to true or false";
} else if (mId.equals(MissingIdDetector.ISSUE.getId())) {
return "Set the ID attribute";
@@ -115,7 +115,7 @@ final class SetAttributeFix extends SetPropertyFix {
protected boolean invokeCodeCompletion() {
return mId.equals(SecurityDetector.EXPORTED_SERVICE.getId())
|| mId.equals(TextFieldDetector.ISSUE.getId())
- || mId.equals(ManifestOrderDetector.ALLOW_BACKUP.getId());
+ || mId.equals(ManifestDetector.ALLOW_BACKUP.getId());
}
@Override
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/BaseClasspathContainerInitializer.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/BaseClasspathContainerInitializer.java
index 362fe28..a58f27d 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/BaseClasspathContainerInitializer.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/BaseClasspathContainerInitializer.java
@@ -51,68 +51,53 @@ abstract class BaseClasspathContainerInitializer extends ClasspathContainerIniti
AdtPlugin.printErrorToConsole(project, errorMessage);
}
- try {
- BaseProjectHelper.markProject(project, markerType,
- errorMessage, IMarker.SEVERITY_ERROR, IMarker.PRIORITY_HIGH);
- } catch (CoreException e) {
- // In some cases, the workspace may be locked for modification when we
- // pass here.
- // We schedule a new job to put the marker after.
- final String fmessage = errorMessage;
- Job markerJob = new Job("Android SDK: Resolving error markers") {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- BaseProjectHelper.markProject(project,
- markerType,
- fmessage, IMarker.SEVERITY_ERROR,
- IMarker.PRIORITY_HIGH);
- } catch (CoreException e2) {
- AdtPlugin.log(e2, null);
- // Don't return e2.getStatus(); the job control will then produce
- // a popup with this error, which isn't very interesting for the
- // user.
- }
-
- return Status.OK_STATUS;
+ // Use a job to prevent requiring a workspace lock in this thread.
+ final String fmessage = errorMessage;
+ Job markerJob = new Job("Android SDK: Resolving error markers") {
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ try {
+ BaseProjectHelper.markProject(project,
+ markerType,
+ fmessage, IMarker.SEVERITY_ERROR,
+ IMarker.PRIORITY_HIGH);
+ } catch (CoreException e2) {
+ AdtPlugin.log(e2, null);
+ // Don't return e2.getStatus(); the job control will then produce
+ // a popup with this error, which isn't very interesting for the
+ // user.
}
- };
- // build jobs are run after other interactive jobs
- markerJob.setPriority(Job.BUILD);
- markerJob.setRule(ResourcesPlugin.getWorkspace().getRoot());
- markerJob.schedule();
- }
- } else {
- // no error, remove existing markers.
- try {
- if (project.isAccessible()) {
- project.deleteMarkers(markerType, true,
- IResource.DEPTH_INFINITE);
+ return Status.OK_STATUS;
}
- } catch (CoreException ce) {
- // In some cases, the workspace may be locked for modification when we pass
- // here, so we schedule a new job to put the marker after.
- Job markerJob = new Job("Android SDK: Resolving error markers") {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- if (project.isAccessible()) {
- project.deleteMarkers(markerType, true,
- IResource.DEPTH_INFINITE);
- }
- } catch (CoreException e2) {
- AdtPlugin.log(e2, null);
- }
+ };
- return Status.OK_STATUS;
+ // build jobs are run after other interactive jobs
+ markerJob.setPriority(Job.BUILD);
+ markerJob.setRule(ResourcesPlugin.getWorkspace().getRoot());
+ markerJob.schedule();
+ } else {
+ // Use a job to prevent requiring a workspace lock in this thread.
+ Job markerJob = new Job("Android SDK: Resolving error markers") {
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ try {
+ if (project.isAccessible()) {
+ project.deleteMarkers(markerType, true,
+ IResource.DEPTH_INFINITE);
+ }
+ } catch (CoreException e2) {
+ AdtPlugin.log(e2, null);
}
- };
- // build jobs are run after other interactive jobs
- markerJob.setPriority(Job.BUILD);
- markerJob.schedule();
- }
+ return Status.OK_STATUS;
+ }
+ };
+
+ // build jobs are run after other interactive jobs
+ markerJob.setPriority(Job.BUILD);
+ markerJob.setRule(ResourcesPlugin.getWorkspace().getRoot());
+ markerJob.schedule();
}
}
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewActivityWizard.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewActivityWizard.java
index 101027a..535aa1e 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewActivityWizard.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewActivityWizard.java
@@ -25,6 +25,7 @@ import com.android.annotations.NonNull;
import com.android.ide.eclipse.adt.AdtUtils;
import org.eclipse.core.resources.IProject;
+import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.WizardPage;
@@ -144,6 +145,13 @@ public class NewActivityWizard extends TemplateWizard {
}
@Override
+ @NonNull
+ protected List<Runnable> getFinalizingActions() {
+ TemplateHandler activityTemplate = mActivityValues.getTemplateHandler();
+ return activityTemplate.getFinalizingActions();
+ }
+
+ @Override
protected List<Change> computeChanges() {
return mActivityValues.computeChanges();
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewProjectPage.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewProjectPage.java
index 0b003f3..ebaacfe 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewProjectPage.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewProjectPage.java
@@ -29,6 +29,7 @@ import com.android.ide.eclipse.adt.internal.wizards.newproject.ApplicationInfoPa
import com.android.ide.eclipse.adt.internal.wizards.newproject.ProjectNamePage;
import com.android.sdklib.AndroidVersion;
import com.android.sdklib.IAndroidTarget;
+import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.eclipse.core.resources.IResource;
@@ -63,8 +64,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import lombok.ast.libs.org.parboiled.google.collect.Lists;
-
/**
* First wizard page in the "New Project From Template" wizard
*/
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewProjectWizard.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewProjectWizard.java
index 84de9a4..6331720 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewProjectWizard.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewProjectWizard.java
@@ -38,6 +38,7 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.WizardPage;
@@ -266,6 +267,7 @@ public class NewProjectWizard extends TemplateWizard {
// Generate basic output skeleton
Map<String, Object> paramMap = new HashMap<String, Object>();
addProjectInfo(paramMap);
+ TemplateHandler.addDirectoryParameters(paramMap, getProject());
return template.render(mProject, paramMap);
}
@@ -357,6 +359,17 @@ public class NewProjectWizard extends TemplateWizard {
AdtPlugin.log(e, null);
}
+ // Run finalizing actions
+ // Display.getDefault().asyncExec(new Runnable() {
+ // @Override
+ // public void run() {
+ List<Runnable> finalizingTasks = getFinalizingActions();
+ for (Runnable r : finalizingTasks) {
+ r.run();
+ }
+ // }
+ // });
+
return true;
} catch (Exception ioe) {
AdtPlugin.log(ioe, null);
@@ -391,6 +404,7 @@ public class NewProjectWizard extends TemplateWizard {
// Ensure that activities created as part of a new project are marked as
// launcher activities
parameters.put(IS_LAUNCHER, true);
+ TemplateHandler.addDirectoryParameters(parameters, project);
TemplateHandler activityTemplate = activityValues.getTemplateHandler();
activityTemplate.setBackupMergedFiles(false);
@@ -411,6 +425,9 @@ public class NewProjectWizard extends TemplateWizard {
List<String> filesToOpen = activityTemplate.getFilesToOpen();
projectTemplate.getFilesToOpen().addAll(filesToOpen);
+
+ List<Runnable> finalizingActions = activityTemplate.getFinalizingActions();
+ projectTemplate.getFinalizingActions().addAll(finalizingActions);
}
private void addProjectInfo(Map<String, Object> parameters) {
@@ -423,4 +440,10 @@ public class NewProjectWizard extends TemplateWizard {
parameters.put(ATTR_COPY_ICONS, !mValues.createIcon);
parameters.putAll(mValues.parameters);
}
+
+ @Override
+ @NonNull
+ protected List<Runnable> getFinalizingActions() {
+ return mValues.template.getFinalizingActions();
+ }
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewTemplateWizard.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewTemplateWizard.java
index 098beea..99814f7 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewTemplateWizard.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewTemplateWizard.java
@@ -28,6 +28,7 @@ import com.android.ide.eclipse.adt.AdtUtils;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
+import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.WizardPage;
@@ -140,6 +141,13 @@ public class NewTemplateWizard extends TemplateWizard {
}
@Override
+ @NonNull
+ protected List<Runnable> getFinalizingActions() {
+ TemplateHandler activityTemplate = mValues.getTemplateHandler();
+ return activityTemplate.getFinalizingActions();
+ }
+
+ @Override
protected List<Change> computeChanges() {
return mValues.computeChanges();
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewTemplateWizardState.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewTemplateWizardState.java
index 805399b..2c97003 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewTemplateWizardState.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewTemplateWizardState.java
@@ -161,6 +161,8 @@ public class NewTemplateWizardState {
parameters.put(IS_LIBRARY_PROJECT,
projectState != null ? projectState.isLibrary() : false);
+ TemplateHandler.addDirectoryParameters(parameters, project);
+
List<Change> changes = getTemplateHandler().render(project, parameters);
if (mIconState != null) {
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateHandler.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateHandler.java
index a875712..b393b82 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateHandler.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateHandler.java
@@ -70,6 +70,7 @@ import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.ToolFactory;
import org.eclipse.jdt.core.formatter.CodeFormatter;
import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
import org.eclipse.ltk.core.refactoring.Change;
@@ -99,6 +100,7 @@ import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringWriter;
import java.io.Writer;
+import java.lang.reflect.InvocationTargetException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
@@ -124,9 +126,10 @@ class TemplateHandler {
* proper Booleans. Templates which rely on this should specify format >= 2.
* <li> 3: The wizard infrastructure passes the {@code isNewProject} boolean variable
* to indicate whether a wizard is created as part of a new blank project
+ * <li> 4: The templates now specify dependencies in the recipe file.
* </ul>
*/
- static final int CURRENT_FORMAT = 3;
+ static final int CURRENT_FORMAT = 4;
/**
* Special marker indicating that this path refers to the special shared
@@ -187,11 +190,18 @@ class TemplateHandler {
static final String ATTR_SOURCE_TYPE = "source"; //$NON-NLS-1$
static final String ATTR_CLIPART_NAME = "clipartName";//$NON-NLS-1$
static final String ATTR_TEXT = "text"; //$NON-NLS-1$
+ static final String ATTR_SRC_DIR = "srcDir"; //$NON-NLS-1$
+ static final String ATTR_RES_DIR = "resDir"; //$NON-NLS-1$
+ static final String ATTR_MANIFEST_DIR = "manifestDir";//$NON-NLS-1$
+ static final String ATTR_MAVEN_URL = "mavenUrl"; //$NON-NLS-1$
static final String CATEGORY_ACTIVITIES = "activities";//$NON-NLS-1$
static final String CATEGORY_PROJECTS = "projects"; //$NON-NLS-1$
static final String CATEGORY_OTHER = "other"; //$NON-NLS-1$
+ static final String MAVEN_SUPPORT_V4 = "support-v4"; //$NON-NLS-1$
+ static final String MAVEN_SUPPORT_V13 = "support-v13"; //$NON-NLS-1$
+ static final String MAVEN_APPCOMPAT = "appcompat-v7"; //$NON-NLS-1$
/** Default padding to apply in wizards around the thumbnail preview images */
static final int PREVIEW_PADDING = 10;
@@ -205,6 +215,11 @@ class TemplateHandler {
*/
private final List<String> mOpen = Lists.newArrayList();
+ /**
+ * List of actions to perform after the wizard has finished.
+ */
+ protected List<Runnable> mFinalizingActions = Lists.newArrayList();
+
/** Path to the directory containing the templates */
@NonNull
private final File mRootPath;
@@ -237,7 +252,7 @@ class TemplateHandler {
*/
private TemplateMetadata mTemplate;
- private TemplateManager mManager;
+ private final TemplateManager mManager;
/** Creates a new {@link TemplateHandler} for the given root path */
static TemplateHandler createFromPath(File rootPath) {
@@ -339,6 +354,17 @@ class TemplateHandler {
return paramMap;
}
+ static void addDirectoryParameters(Map<String, Object> parameters, IProject project) {
+ IPath srcDir = project.getFile(SdkConstants.SRC_FOLDER).getProjectRelativePath();
+ parameters.put(ATTR_SRC_DIR, srcDir.toString());
+
+ IPath resDir = project.getFile(SdkConstants.RES_FOLDER).getProjectRelativePath();
+ parameters.put(ATTR_RES_DIR, resDir.toString());
+
+ IPath manifestDir = project.getProjectRelativePath();
+ parameters.put(ATTR_MANIFEST_DIR, manifestDir.toString());
+ }
+
@Nullable
public TemplateMetadata getTemplate() {
if (mTemplate == null) {
@@ -353,7 +379,7 @@ class TemplateHandler {
return new File(mRootPath.getPath(), templateName).getPath();
}
- /**
+ /**
* Load a text resource for the given relative path within the template
*
* @param relativePath relative path within the template
@@ -431,7 +457,7 @@ class TemplateHandler {
@Override
public void startElement(String uri, String localName, String name,
Attributes attributes)
- throws SAXException {
+ throws SAXException {
if (TAG_PARAMETER.equals(name)) {
String id = attributes.getValue(ATTR_ID);
if (!paramMap.containsKey(id)) {
@@ -499,27 +525,27 @@ class TemplateHandler {
String.format(
"%1$s already exists.\nWould you like to replace it?",
file.getPath()),
- MessageDialog.QUESTION, new String[] {
- // Yes will be moved to the end because it's the default
- "Yes", "No", "Cancel", "Yes to All"
- }, 0);
+ MessageDialog.QUESTION, new String[] {
+ // Yes will be moved to the end because it's the default
+ "Yes", "No", "Cancel", "Yes to All"
+ }, 0);
int result = dialog.open();
switch (result) {
- case 0:
- // Yes
- break;
- case 3:
- // Yes to all
- mYesToAll = true;
- break;
- case 1:
- // No
- return false;
- case SWT.DEFAULT:
- case 2:
- // Cancel
- mNoToAll = true;
- return false;
+ case 0:
+ // Yes
+ break;
+ case 3:
+ // Yes to all
+ mYesToAll = true;
+ break;
+ case 1:
+ // No
+ return false;
+ case SWT.DEFAULT:
+ case 2:
+ // Cancel
+ mNoToAll = true;
+ return false;
}
}
@@ -556,7 +582,7 @@ class TemplateHandler {
@Override
public void startElement(String uri, String localName, String name,
Attributes attributes)
- throws SAXException {
+ throws SAXException {
if (mNoToAll) {
return;
}
@@ -592,6 +618,36 @@ class TemplateHandler {
if (relativePath != null && !relativePath.isEmpty()) {
mOpen.add(relativePath);
}
+ } else if (TAG_DEPENDENCY.equals(name)) {
+ String dependencyUrl = attributes.getValue(ATTR_MAVEN_URL);
+ File path;
+ if (dependencyUrl.contains(MAVEN_SUPPORT_V4)) {
+ // We assume the revision requirement has been satisfied
+ // by the wizard
+ path = AddSupportJarAction.getSupportJarFile();
+ } else if (dependencyUrl.contains(MAVEN_SUPPORT_V13)) {
+ path = AddSupportJarAction.getSupport13JarFile();
+ } else if (dependencyUrl.contains(MAVEN_APPCOMPAT)) {
+ path = null;
+ mFinalizingActions.add(new Runnable() {
+ @Override
+ public void run() {
+ AddSupportJarAction.installAppCompatLibrary(mProject, true);
+ }
+ });
+ } else {
+ path = null;
+ System.err.println("WARNING: Unknown dependency type");
+ }
+
+ if (path != null) {
+ IPath to = getTargetPath(FD_NATIVE_LIBS +'/' + path.getName());
+ try {
+ copy(path, to);
+ } catch (IOException ioe) {
+ AdtPlugin.log(ioe, null);
+ }
+ }
} else if (!name.equals("recipe") && !name.equals(TAG_DEPENDENCY)) { //$NON-NLS-1$
System.err.println("WARNING: Unknown template directive " + name);
}
@@ -1002,6 +1058,16 @@ class TemplateHandler {
return mOpen;
}
+ /**
+ * Returns the list of actions to perform when the template has been created
+ *
+ * @return the list of actions to perform
+ */
+ @NonNull
+ public List<Runnable> getFinalizingActions() {
+ return mFinalizingActions;
+ }
+
/** Copy a template resource */
private final void copyTemplateResource(
@NonNull String relativeFrom,
@@ -1034,7 +1100,7 @@ class TemplateHandler {
IResource dest = mProject.getFile(path);
if (dest.exists() && !(dest instanceof IFile)) {// Don't attempt to overwrite a folder
assert false : dest.getClass().getName();
- return;
+ return;
}
IFile file = (IFile) dest;
String targetName = path.lastSegment();
@@ -1134,9 +1200,9 @@ class TemplateHandler {
Constants.BUNDLE_VERSION);
Version version = new Version(versionString);
return new Status(IStatus.ERROR, AdtPlugin.PLUGIN_ID,
- String.format("This template requires a more recent version of the " +
- "Android Eclipse plugin. Please update from version %1$d.%2$d.%3$d.",
- version.getMajor(), version.getMinor(), version.getMicro()));
+ String.format("This template requires a more recent version of the " +
+ "Android Eclipse plugin. Please update from version %1$d.%2$d.%3$d.",
+ version.getMajor(), version.getMinor(), version.getMicro()));
}
int templateMinSdk = template.getMinSdk();
if (templateMinSdk > currentMinSdk && currentMinSdk >= 1) {
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateMetadata.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateMetadata.java
index cb184b8..f5e35ef 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateMetadata.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateMetadata.java
@@ -46,6 +46,7 @@ import com.android.ide.eclipse.adt.internal.assetstudio.CreateAssetSetWizardStat
import com.android.ide.eclipse.adt.internal.editors.IconFactory;
import com.android.ide.eclipse.adt.internal.editors.layout.gle2.ImageUtils;
import com.android.utils.Pair;
+import com.google.common.collect.Lists;
import org.eclipse.core.resources.IProject;
import org.eclipse.swt.graphics.Image;
@@ -64,8 +65,6 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
-import lombok.ast.libs.org.parboiled.google.collect.Lists;
-
/** An ADT template along with metadata */
class TemplateMetadata {
private final Document mDocument;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateWizard.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateWizard.java
index 5f743bb3..7ca32f9 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateWizard.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateWizard.java
@@ -22,6 +22,7 @@ import com.android.ide.eclipse.adt.AdtPlugin;
import com.android.ide.eclipse.adt.internal.assetstudio.ConfigureAssetSetPage;
import com.android.ide.eclipse.adt.internal.assetstudio.CreateAssetSetWizardState;
import com.android.ide.eclipse.adt.internal.editors.IconFactory;
+import com.google.common.collect.Lists;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
@@ -35,13 +36,17 @@ import org.eclipse.jface.wizard.Wizard;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.ltk.core.refactoring.Change;
import org.eclipse.ltk.core.refactoring.CompositeChange;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
+import javax.swing.SwingUtilities;
+
abstract class TemplateWizard extends Wizard implements INewWizard {
private static final String PROJECT_LOGO_LARGE = "android-64"; //$NON-NLS-1$
protected IWorkbench mWorkbench;
@@ -144,6 +149,15 @@ abstract class TemplateWizard extends Wizard implements INewWizard {
protected abstract List<String> getFilesToOpen();
/**
+ * Returns the list of files to open, which might be empty. This method will
+ * only be called <b>after</b> {@link #computeChanges()} has been called.
+ *
+ * @return a list of files to open
+ */
+ @NonNull
+ protected abstract List<Runnable> getFinalizingActions();
+
+ /**
* Computes the changes to the {@link #getProject()} this template should
* perform
*
@@ -173,7 +187,6 @@ abstract class TemplateWizard extends Wizard implements INewWizard {
} catch (CoreException e) {
AdtPlugin.log(e, null);
}
-
return true;
}
@@ -184,11 +197,12 @@ abstract class TemplateWizard extends Wizard implements INewWizard {
getContainer().run(true, false, new IRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor) throws InvocationTargetException,
- InterruptedException {
+ InterruptedException {
boolean ok = performFinish(monitor);
success.set(ok);
}
});
+
} catch (InvocationTargetException e) {
AdtPlugin.log(e, null);
return false;
@@ -200,7 +214,6 @@ abstract class TemplateWizard extends Wizard implements INewWizard {
if (success.get()) {
// Open the primary file/files
NewTemplateWizard.openFiles(getProject(), getFilesToOpen(), mWorkbench);
-
return true;
} else {
return false;
diff --git a/eclipse/plugins/com.android.ide.eclipse.base/.classpath b/eclipse/plugins/com.android.ide.eclipse.base/.classpath
index a81e5b5..b5eb7e1 100644
--- a/eclipse/plugins/com.android.ide.eclipse.base/.classpath
+++ b/eclipse/plugins/com.android.ide.eclipse.base/.classpath
@@ -5,7 +5,7 @@
<classpathentry exported="true" kind="lib" path="libs/commons-codec-1.4.jar"/>
<classpathentry exported="true" kind="lib" path="libs/commons-compress-1.0.jar"/>
<classpathentry exported="true" kind="lib" path="libs/commons-logging-1.1.1.jar"/>
- <classpathentry exported="true" kind="lib" path="libs/guava-13.0.1.jar"/>
+ <classpathentry exported="true" kind="lib" path="libs/guava-15.0.jar"/>
<classpathentry exported="true" kind="lib" path="libs/httpclient-4.1.1.jar"/>
<classpathentry exported="true" kind="lib" path="libs/httpcore-4.1.jar"/>
<classpathentry exported="true" kind="lib" path="libs/kxml2-2.3.0.jar"/>
diff --git a/eclipse/plugins/com.android.ide.eclipse.base/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.base/META-INF/MANIFEST.MF
index 0cc6348..9cfbbf1 100644
--- a/eclipse/plugins/com.android.ide.eclipse.base/META-INF/MANIFEST.MF
+++ b/eclipse/plugins/com.android.ide.eclipse.base/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Common Android Utilities
Bundle-SymbolicName: com.android.ide.eclipse.base;singleton:=true
-Bundle-Version: 22.3.0.qualifier
+Bundle-Version: 22.6.0.qualifier
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime
Bundle-ActivationPolicy: lazy
@@ -12,7 +12,7 @@ Bundle-ClassPath: .,
libs/commons-codec-1.4.jar,
libs/commons-compress-1.0.jar,
libs/commons-logging-1.1.1.jar,
- libs/guava-13.0.1.jar,
+ libs/guava-15.0.jar,
libs/httpclient-4.1.1.jar,
libs/httpcore-4.1.jar,
libs/httpmime-4.1.jar,
diff --git a/eclipse/plugins/com.android.ide.eclipse.ddms/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.ddms/META-INF/MANIFEST.MF
index e956a16..0bbabb4 100644
--- a/eclipse/plugins/com.android.ide.eclipse.ddms/META-INF/MANIFEST.MF
+++ b/eclipse/plugins/com.android.ide.eclipse.ddms/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: com.android.ide.eclipse.ddms;singleton:=true
-Bundle-Version: 22.3.0.qualifier
+Bundle-Version: 22.6.0.qualifier
Bundle-Activator: com.android.ide.eclipse.ddms.DdmsPlugin
Bundle-Vendor: %Bundle-Vendor
Bundle-Localization: plugin
diff --git a/eclipse/plugins/com.android.ide.eclipse.gldebugger.tests/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.gldebugger.tests/META-INF/MANIFEST.MF
index fb7ba7f..83cdf88 100644
--- a/eclipse/plugins/com.android.ide.eclipse.gldebugger.tests/META-INF/MANIFEST.MF
+++ b/eclipse/plugins/com.android.ide.eclipse.gldebugger.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: gldebugger-tests
Bundle-SymbolicName: com.android.ide.eclipse.gldebugger.tests
-Bundle-Version: 22.3.0.qualifier
+Bundle-Version: 22.6.0.qualifier
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Require-Bundle: org.junit4;bundle-version="4.5.0";resolution:=optional,
com.android.ide.eclipse.gldebugger,
diff --git a/eclipse/plugins/com.android.ide.eclipse.gldebugger/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.gldebugger/META-INF/MANIFEST.MF
index 0b7852f..6971f1c 100644
--- a/eclipse/plugins/com.android.ide.eclipse.gldebugger/META-INF/MANIFEST.MF
+++ b/eclipse/plugins/com.android.ide.eclipse.gldebugger/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Tracer for OpenGL ES
Bundle-SymbolicName: com.android.ide.eclipse.gldebugger;singleton:=true
-Bundle-Version: 22.3.0.qualifier
+Bundle-Version: 22.6.0.qualifier
Bundle-Activator: com.android.ide.eclipse.gltrace.GlTracePlugin
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
diff --git a/eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/META-INF/MANIFEST.MF
index 7caacf5..1ad6ac2 100644
--- a/eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/META-INF/MANIFEST.MF
+++ b/eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Hierarchy Viewer
Bundle-SymbolicName: com.android.ide.eclipse.hierarchyviewer;singleton:=true
-Bundle-Version: 22.3.0.qualifier
+Bundle-Version: 22.6.0.qualifier
Bundle-Activator: com.android.ide.eclipse.hierarchyviewer.HierarchyViewerPlugin
Bundle-Vendor: The Android Open Source Project
Bundle-Localization: plugin
diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.monitor/META-INF/MANIFEST.MF
index 689da94..c5482c6 100644
--- a/eclipse/plugins/com.android.ide.eclipse.monitor/META-INF/MANIFEST.MF
+++ b/eclipse/plugins/com.android.ide.eclipse.monitor/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: com.android.ide.eclipse.monitor;singleton:=true
-Bundle-Version: 22.3.0.qualifier
+Bundle-Version: 22.6.0.qualifier
Bundle-Activator: com.android.ide.eclipse.monitor.MonitorPlugin
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/monitor.product b/eclipse/plugins/com.android.ide.eclipse.monitor/monitor.product
index 03376e4..2e5b960 100644
--- a/eclipse/plugins/com.android.ide.eclipse.monitor/monitor.product
+++ b/eclipse/plugins/com.android.ide.eclipse.monitor/monitor.product
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>
-<product name="monitor" uid="com.android.ide.eclipse.monitor.product.config" id="com.android.ide.eclipse.monitor.product" application="com.android.ide.eclipse.monitor.Application" version="22.3.0" useFeatures="false" includeLaunchers="true">
+<product name="monitor" uid="com.android.ide.eclipse.monitor.product.config" id="com.android.ide.eclipse.monitor.product" application="com.android.ide.eclipse.monitor.Application" version="22.6.0" useFeatures="false" includeLaunchers="true">
<configIni use="default">
diff --git a/eclipse/plugins/com.android.ide.eclipse.monitor/plugin.properties b/eclipse/plugins/com.android.ide.eclipse.monitor/plugin.properties
index 4191caf..bda5bc0 100644
--- a/eclipse/plugins/com.android.ide.eclipse.monitor/plugin.properties
+++ b/eclipse/plugins/com.android.ide.eclipse.monitor/plugin.properties
@@ -4,5 +4,5 @@ Bundle-Vendor = The Android Open Source Project
Bundle-Name = Monitor
aboutText = \n\
Android Device Monitor\n\
-Version: 22.3.0 \n\
+Version: 22.6.0 \n\
Copyright 2012, The Android Open Source Project \n\
diff --git a/eclipse/plugins/com.android.ide.eclipse.ndk/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.ndk/META-INF/MANIFEST.MF
index 10e3367..b77d243 100644
--- a/eclipse/plugins/com.android.ide.eclipse.ndk/META-INF/MANIFEST.MF
+++ b/eclipse/plugins/com.android.ide.eclipse.ndk/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: ADT CDT Integration
Bundle-SymbolicName: com.android.ide.eclipse.ndk;singleton:=true
-Bundle-Version: 22.3.0.qualifier
+Bundle-Version: 22.6.0.qualifier
Bundle-Activator: com.android.ide.eclipse.ndk.internal.Activator
Bundle-Vendor: The Android Open Source Project
Require-Bundle: org.eclipse.core.runtime,
diff --git a/eclipse/plugins/com.android.ide.eclipse.pdt/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.pdt/META-INF/MANIFEST.MF
index d2c7fa2..16e07cf 100644
--- a/eclipse/plugins/com.android.ide.eclipse.pdt/META-INF/MANIFEST.MF
+++ b/eclipse/plugins/com.android.ide.eclipse.pdt/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Pdt
Bundle-SymbolicName: com.android.ide.eclipse.pdt;singleton:=true
-Bundle-Version: 22.3.0.qualifier
+Bundle-Version: 22.6.0.qualifier
Bundle-Vendor: The Android Open Source Project
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/.classpath b/eclipse/plugins/com.android.ide.eclipse.tests/.classpath
index 247c1c2..cce7e3c 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/.classpath
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/.classpath
@@ -15,7 +15,7 @@
<classpathentry kind="lib" path="/plugin-adt/libs/lint-api.jar" sourcepath="/lint-api"/>
<classpathentry kind="lib" path="/plugin-adt/libs/lint-checks.jar" sourcepath="/lint-checks"/>
<classpathentry kind="lib" path="/plugin-base/libs/sdk-common.jar"/>
- <classpathentry kind="lib" path="/plugin-adt/libs/lombok-ast-0.2.jar"/>
+ <classpathentry kind="lib" path="/plugin-adt/libs/lombok-ast-0.2.2.jar"/>
<classpathentry kind="lib" path="/plugin-adt/libs/asm-4.0.jar"/>
<classpathentry kind="lib" path="/plugin-adt/libs/asm-analysis-4.0.jar"/>
<classpathentry kind="lib" path="/plugin-adt/libs/asm-tree-4.0.jar"/>
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.tests/META-INF/MANIFEST.MF
index 4e9382c..8dfb4ae 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/META-INF/MANIFEST.MF
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Android Plugin Tests
Bundle-SymbolicName: com.android.ide.eclipse.tests
-Bundle-Version: 22.3.0.qualifier
+Bundle-Version: 22.6.0.qualifier
Bundle-Vendor: The Android Open Source Project
Fragment-Host: com.android.ide.eclipse.adt;bundle-version="21.0.0"
Require-Bundle: org.junit
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateHandlerTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateHandlerTest.java
index 48681d0..9a66985 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateHandlerTest.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/wizards/templates/TemplateHandlerTest.java
@@ -36,7 +36,7 @@ import com.android.sdklib.util.GrabProcessOutput;
import com.android.sdklib.util.GrabProcessOutput.IProcessOutput;
import com.android.sdklib.util.GrabProcessOutput.Wait;
import com.android.tools.lint.checks.BuiltinIssueRegistry;
-import com.android.tools.lint.checks.ManifestOrderDetector;
+import com.android.tools.lint.checks.ManifestDetector;
import com.android.tools.lint.checks.SecurityDetector;
import com.android.tools.lint.client.api.Configuration;
import com.android.tools.lint.client.api.DefaultConfiguration;
@@ -783,7 +783,7 @@ public class TemplateHandlerTest extends SdkLoadingTestCase {
return false;
}
- if (issue == ManifestOrderDetector.TARGET_NEWER) {
+ if (issue == ManifestDetector.TARGET_NEWER) {
// Don't complain about targetSdk < latest: we're deliberately
// testing that (to make sure templates compile etc in compat
// mode)
diff --git a/eclipse/plugins/com.android.ide.eclipse.traceview/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.traceview/META-INF/MANIFEST.MF
index 4686211..b3835cf 100644
--- a/eclipse/plugins/com.android.ide.eclipse.traceview/META-INF/MANIFEST.MF
+++ b/eclipse/plugins/com.android.ide.eclipse.traceview/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Traceview
Bundle-SymbolicName: com.android.ide.eclipse.traceview;singleton:=true
-Bundle-Version: 22.3.0.qualifier
+Bundle-Version: 22.6.0.qualifier
Bundle-Activator: com.android.ide.eclipse.traceview.TraceviewPlugin
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
diff --git a/eclipse/scripts/create_all_symlinks.sh b/eclipse/scripts/create_all_symlinks.sh
index 80eaa54..e3cef1a 100755
--- a/eclipse/scripts/create_all_symlinks.sh
+++ b/eclipse/scripts/create_all_symlinks.sh
@@ -134,7 +134,7 @@ BASE_PLUGIN_LIBS="base:common swt:sdkstats base:sdklib base:dvlib base:layoutlib
BASE_PLUGIN_PREBUILTS="\
prebuilts/tools/common/m2/repository/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar \
prebuilts/tools/common/m2/repository/org/apache/commons/commons-compress/1.0/commons-compress-1.0.jar \
- prebuilts/tools/common/m2/repository/com/google/guava/guava/13.0.1/guava-13.0.1.jar \
+ prebuilts/tools/common/m2/repository/com/google/guava/guava/15.0/guava-15.0.jar \
prebuilts/tools/common/m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar \
prebuilts/tools/common/m2/repository/commons-codec/commons-codec/1.4/commons-codec-1.4.jar \
prebuilts/tools/common/m2/repository/org/apache/httpcomponents/httpclient/4.1.1/httpclient-4.1.1.jar \
@@ -159,7 +159,7 @@ ADT_PREBUILTS="\
prebuilts/tools/common/m2/repository/org/ow2/asm/asm/4.0/asm-4.0.jar \
prebuilts/tools/common/m2/repository/org/ow2/asm/asm-tree/4.0/asm-tree-4.0.jar \
prebuilts/tools/common/m2/repository/org/ow2/asm/asm-analysis/4.0/asm-analysis-4.0.jar \
- prebuilts/tools/common/lombok-ast/lombok-ast-0.2.jar"
+ prebuilts/tools/common/m2/repository/com/android/tools/external/lombok/lombok-ast/0.2.2/lombok-ast-0.2.2.jar"
LIBS="$LIBS $ADT_LIBS"
CP_FILES="$CP_FILES @:$ADT_DEST $ADT_LIBS $ADT_PREBUILTS"
diff --git a/eclipse/sites/external/site.xml b/eclipse/sites/external/site.xml
index 17033d9..8dfc36f 100644
--- a/eclipse/sites/external/site.xml
+++ b/eclipse/sites/external/site.xml
@@ -3,22 +3,22 @@
<description url="https://dl-ssl.google.com/android/eclipse/">
Update Site for Android Development Toolkit
</description>
- <feature url="features/com.android.ide.eclipse.adt_22.3.0.qualifier.jar" id="com.android.ide.eclipse.adt" version="22.3.0.qualifier">
+ <feature url="features/com.android.ide.eclipse.adt_22.6.0.qualifier.jar" id="com.android.ide.eclipse.adt" version="22.6.0.qualifier">
<category name="developer"/>
</feature>
- <feature url="features/com.android.ide.eclipse.ddms_22.3.0.qualifier.jar" id="com.android.ide.eclipse.ddms" version="22.3.0.qualifier">
+ <feature url="features/com.android.ide.eclipse.ddms_22.6.0.qualifier.jar" id="com.android.ide.eclipse.ddms" version="22.6.0.qualifier">
<category name="developer"/>
</feature>
- <feature url="features/com.android.ide.eclipse.hierarchyviewer_22.3.0.qualifier.jar" id="com.android.ide.eclipse.hierarchyviewer" version="22.3.0.qualifier">
+ <feature url="features/com.android.ide.eclipse.hierarchyviewer_22.6.0.qualifier.jar" id="com.android.ide.eclipse.hierarchyviewer" version="22.6.0.qualifier">
<category name="developer"/>
</feature>
- <feature url="features/com.android.ide.eclipse.traceview_22.3.0.qualifier.jar" id="com.android.ide.eclipse.traceview" version="22.3.0.qualifier">
+ <feature url="features/com.android.ide.eclipse.traceview_22.6.0.qualifier.jar" id="com.android.ide.eclipse.traceview" version="22.6.0.qualifier">
<category name="developer"/>
</feature>
- <feature url="features/com.android.ide.eclipse.gldebugger_22.3.0.qualifier.jar" id="com.android.ide.eclipse.gldebugger" version="22.3.0.qualifier">
+ <feature url="features/com.android.ide.eclipse.gldebugger_22.6.0.qualifier.jar" id="com.android.ide.eclipse.gldebugger" version="22.6.0.qualifier">
<category name="developer"/>
</feature>
- <feature url="features/com.android.ide.eclipse.ndk_22.3.0.qualifier.jar" id="com.android.ide.eclipse.ndk" version="22.3.0.qualifier">
+ <feature url="features/com.android.ide.eclipse.ndk_22.6.0.qualifier.jar" id="com.android.ide.eclipse.ndk" version="22.6.0.qualifier">
<category name="ndk"/>
</feature>
<category-def name="developer" label="Developer Tools">
diff --git a/eclipse/sites/internal/site.xml b/eclipse/sites/internal/site.xml
index c91db12..f047bcc 100644
--- a/eclipse/sites/internal/site.xml
+++ b/eclipse/sites/internal/site.xml
@@ -3,32 +3,32 @@
<description url="https://android.corp.google.com/adt/">
Update Site for Android Development Toolkit
</description>
- <feature url="features/com.android.ide.eclipse.adt_22.3.0.qualifier.jar" id="com.android.ide.eclipse.adt" version="22.3.0.qualifier">
+ <feature url="features/com.android.ide.eclipse.adt_22.6.0.qualifier.jar" id="com.android.ide.eclipse.adt" version="22.6.0.qualifier">
<category name="developer"/>
</feature>
- <feature url="features/com.android.ide.eclipse.ddms_22.3.0.qualifier.jar" id="com.android.ide.eclipse.ddms" version="22.3.0.qualifier">
+ <feature url="features/com.android.ide.eclipse.ddms_22.6.0.qualifier.jar" id="com.android.ide.eclipse.ddms" version="22.6.0.qualifier">
<category name="developer"/>
<category name="platform"/>
</feature>
- <feature url="features/com.android.ide.eclipse.hierarchyviewer_22.3.0.qualifier.jar" id="com.android.ide.eclipse.hierarchyviewer" version="22.3.0.qualifier">
+ <feature url="features/com.android.ide.eclipse.hierarchyviewer_22.6.0.qualifier.jar" id="com.android.ide.eclipse.hierarchyviewer" version="22.6.0.qualifier">
<category name="developer"/>
<category name="platform"/>
</feature>
- <feature url="features/com.android.ide.eclipse.tests_22.3.0.qualifier.jar" id="com.android.ide.eclipse.tests" version="22.3.0.qualifier">
+ <feature url="features/com.android.ide.eclipse.tests_22.6.0.qualifier.jar" id="com.android.ide.eclipse.tests" version="22.6.0.qualifier">
<category name="test"/>
</feature>
- <feature url="features/com.android.ide.eclipse.pdt_22.3.0.qualifier.jar" id="com.android.ide.eclipse.pdt" version="22.3.0.qualifier">
+ <feature url="features/com.android.ide.eclipse.pdt_22.6.0.qualifier.jar" id="com.android.ide.eclipse.pdt" version="22.6.0.qualifier">
<category name="platform"/>
</feature>
- <feature url="features/com.android.ide.eclipse.traceview_22.3.0.qualifier.jar" id="com.android.ide.eclipse.traceview" version="22.3.0.qualifier">
+ <feature url="features/com.android.ide.eclipse.traceview_22.6.0.qualifier.jar" id="com.android.ide.eclipse.traceview" version="22.6.0.qualifier">
<category name="developer"/>
<category name="platform"/>
</feature>
- <feature url="features/com.android.ide.eclipse.gldebugger_22.3.0.qualifier.jar" id="com.android.ide.eclipse.gldebugger" version="22.3.0.qualifier">
+ <feature url="features/com.android.ide.eclipse.gldebugger_22.6.0.qualifier.jar" id="com.android.ide.eclipse.gldebugger" version="22.6.0.qualifier">
<category name="developer"/>
<category name="platform"/>
</feature>
- <feature url="features/com.android.ide.eclipse.ndk_22.3.0.qualifier.jar" id="com.android.ide.eclipse.ndk" version="22.3.0.qualifier">
+ <feature url="features/com.android.ide.eclipse.ndk_22.6.0.qualifier.jar" id="com.android.ide.eclipse.ndk" version="22.6.0.qualifier">
<category name="developer"/>
<category name="platform"/>
</feature>
diff --git a/files/tools_source.properties b/files/tools_source.properties
index 7e6337e..3eb53f4 100644
--- a/files/tools_source.properties
+++ b/files/tools_source.properties
@@ -1,3 +1,3 @@
Pkg.UserSrc=false
-Pkg.Revision=22.3
+Pkg.Revision=22.6
Platform.MinPlatformToolsRev=18