diff options
45 files changed, 332 insertions, 158 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/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/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/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/META-INF/MANIFEST.MF b/eclipse/plugins/com.android.ide.eclipse.base/META-INF/MANIFEST.MF index 1a209d5..6a9ba76 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 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.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 b20b692..e3cef1a 100755 --- a/eclipse/scripts/create_all_symlinks.sh +++ b/eclipse/scripts/create_all_symlinks.sh @@ -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/emulator/qtools/Android.mk b/emulator/qtools/Android.mk index 149390c..8b2c25b 100644 --- a/emulator/qtools/Android.mk +++ b/emulator/qtools/Android.mk @@ -6,7 +6,7 @@ LOCAL_PATH:= $(call my-dir) -common_includes := external/qemu +common_includes := external/qemu/include external/qemu common_cflags := -O0 -g include $(CLEAR_VARS) 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 |