diff options
author | Siva Velusamy <vsiva@google.com> | 2014-06-16 17:14:43 -0700 |
---|---|---|
committer | Siva Velusamy <vsiva@google.com> | 2014-06-30 17:12:55 -0700 |
commit | 621d44b5d81de3a772034cf2d6c755dc96a3c750 (patch) | |
tree | d22ab5ddf4f63a60a6459d5354977ddc02746301 | |
parent | 2ac5b9c76d99fc457026cad8a636265f8947f84e (diff) | |
download | sdk-621d44b5d81de3a772034cf2d6c755dc96a3c750.zip sdk-621d44b5d81de3a772034cf2d6c755dc96a3c750.tar.gz sdk-621d44b5d81de3a772034cf2d6c755dc96a3c750.tar.bz2 |
Set default product
This CL fixes a bunch of issues in the packaging of the ADT product.
Specifically:
- the correct default product is now used giving us the correct
initial Java perspective
- the dependencies go one way (ADT package -> ADT), and this allows
upgrading of ADT without upgrading the ADT package.
Change-Id: I9a1b85e0bee8d073e27067e7450ce08a88609c3c
9 files changed, 52 insertions, 235 deletions
diff --git a/eclipse/artifacts/bundles/ide.product b/eclipse/artifacts/bundles/ide.product index 81d7c9d..b64b9d0 100644 --- a/eclipse/artifacts/bundles/ide.product +++ b/eclipse/artifacts/bundles/ide.product @@ -1,20 +1,28 @@ <?xml version="1.0" encoding="UTF-8"?> <?pde version="3.5"?> -<product name="eclipse" uid="adtproduct" id="adtproduct" application="org.eclipse.ui.ide.workbench" version="23.0.1.qualifier" useFeatures="true" includeLaunchers="true"> +<product name="Eclipse IDE for Android Developers" uid="adtproduct" id="com.android.ide.eclipse.adt.package.adtproduct" application="org.eclipse.ui.ide.workbench" version="23.0.1.qualifier" useFeatures="true" includeLaunchers="true"> + + <aboutInfo> + <image path="/plugin-adt-package/adt-about.png"/> + <text> + Specified in the plugin.xml of the branding plugin. + </text> + </aboutInfo> <configIni use="default"> </configIni> <launcherArgs> - <programArgs>-product adtproduct</programArgs> - <programArgsWin>--launcher.XXMaxPermSize 256M</programArgsWin> - <vmArgs>-Dosgi.requiredJavaVersion=1.6 -Xms40m -Xmx768m</vmArgs> - <vmArgsLin>-XX:MaxPermSize=256m</vmArgsLin> + <programArgs>-product com.android.ide.eclipse.adt.package.adtproduct</programArgs> + <vmArgs>-Dosgi.requiredJavaVersion=1.6 +-XX:MaxPermSize=256m +-Xms512m +-Xmx1024m</vmArgs> <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac> </launcherArgs> - <windowImages/> + <windowImages i16="/plugin-adt-package/icons/adt16.png" i32="/plugin-adt-package/icons/adt32.png" i48="/plugin-adt-package/icons/adt48.png"/> <splash location="com.android.ide.eclipse.adt.package" /> @@ -25,6 +33,7 @@ </win> </launcher> + <vm> <linux include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6</linux> <macos include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6</macos> @@ -36,17 +45,13 @@ <features> <feature id="com.android.ide.eclipse.adt.package.feature" version="23.0.1.qualifier"/> - <feature id="com.android.ide.eclipse.adt.feature" version="23.0.1.qualifier"/> - <feature id="com.android.ide.eclipse.ddms.feature" version="23.0.1.qualifier"/> - <feature id="com.android.ide.eclipse.gldebugger.feature" version="23.0.1.qualifier"/> - <feature id="com.android.ide.eclipse.hierarchyviewer.feature" version="23.0.1.qualifier"/> - <feature id="com.android.ide.eclipse.ndk.feature" version="23.0.1.qualifier"/> - <feature id="com.android.ide.eclipse.traceview.feature" version="23.0.1.qualifier"/> </features> <configurations> - <property name="eclipse.buildId" value="${unqualifiedVersion}.${buildQualifier}" /> - <property name="eclipse.product" value="adtproduct" /> + <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" /> + <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="0" /> + <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="0" /> + <property name="eclipse.product" value="com.android.ide.eclipse.adt.package.adtproduct" /> <property name="org.eclipse.update.reconcile" value="false" /> <property name="osgi.bundles.defaultStartLevel" value="4" /> <property name="osgi.splashPath" value="platform\:/base/plugins/com.android.ide.eclipse.adt.package" /> 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 d3320fa..80e2153 100644 --- a/eclipse/features/com.android.ide.eclipse.adt.package/feature.xml +++ b/eclipse/features/com.android.ide.eclipse.adt.package/feature.xml @@ -11,26 +11,27 @@ </description> <copyright> - Copyright (C) 2007-2012 The Android Open Source Project + Copyright (C) 2007-2014 The Android Open Source Project </copyright> <license url="http://www.eclipse.org/org/documents/epl-v10.php"> Note: kxml2-2.3.0.jar is under the BSD license rather ... </license> - <url> - <update label="Android Update Site" url="https://dl-ssl.google.com/android/eclipse/"/> - </url> - <requires> + <import plugin="com.android.ide.eclipse.adt" version="22.3.0" match="greaterOrEqual"/> + <import plugin="com.android.ide.eclipse.base" version="22.3.0" match="greaterOrEqual"/> + <import plugin="com.android.ide.eclipse.ddms" version="22.3.0" match="greaterOrEqual"/> + <import plugin="com.android.ide.eclipse.gldebugger" version="22.3.0" match="greaterOrEqual"/> + <import plugin="com.android.ide.eclipse.hierarchyviewer" version="22.3.0" match="greaterOrEqual"/> + <import plugin="com.android.ide.eclipse.traceview" version="22.3.0" match="greaterOrEqual"/> + <import plugin="overlay.com.android.ide.eclipse.adt.overlay"/> <import feature="org.eclipse.equinox.p2.user.ui"/> - <import feature="org.eclipse.help"/> - <import feature="org.eclipse.jdt"/> - <import feature="org.eclipse.cdt"/> <import feature="org.eclipse.platform"/> <import feature="org.eclipse.rcp"/> <import feature="org.eclipse.egit"/> <import feature="org.eclipse.egit.import"/> + <import feature="org.eclipse.cdt"/> </requires> <plugin diff --git a/eclipse/features/com.android.ide.eclipse.adt/feature.xml b/eclipse/features/com.android.ide.eclipse.adt/feature.xml index 599045c..333c107 100644 --- a/eclipse/features/com.android.ide.eclipse.adt/feature.xml +++ b/eclipse/features/com.android.ide.eclipse.adt/feature.xml @@ -158,10 +158,4 @@ This Agreement is governed by the laws of the State of New York and the intellec version="0.0.0" unpack="false"/> - <plugin - id="com.android.ide.eclipse.adt.package" - download-size="0" - install-size="0" - version="0.0.0"/> - </feature> diff --git a/eclipse/plugins/com.android.ide.eclipse.adt.package/.classpath b/eclipse/plugins/com.android.ide.eclipse.adt.package/.classpath deleted file mode 100644 index 522e779..0000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt.package/.classpath +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="output" path="bin"/> -</classpath> - diff --git a/eclipse/plugins/com.android.ide.eclipse.adt.package/.project b/eclipse/plugins/com.android.ide.eclipse.adt.package/.project index 50d3fd1..eedf4c6 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt.package/.project +++ b/eclipse/plugins/com.android.ide.eclipse.adt.package/.project @@ -6,11 +6,6 @@ </projects> <buildSpec> <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> <name>org.eclipse.pde.ManifestBuilder</name> <arguments> </arguments> @@ -23,6 +18,5 @@ </buildSpec> <natures> <nature>org.eclipse.pde.PluginNature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> </natures> </projectDescription> 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 53e4501..1b9790a 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 @@ -7,12 +7,4 @@ Bundle-Vendor: The Android Open Source Project Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Eclipse-BundleShape: dir Require-Bundle: org.eclipse.platform, - org.eclipse.equinox.app, - org.eclipse.ui.intro, - org.eclipse.ui.workbench, - org.eclipse.swt, - org.eclipse.core.runtime, - org.eclipse.core.commands, - org.eclipse.ui.forms, - org.eclipse.jface, - com.android.ide.eclipse.adt + org.eclipse.equinox.app diff --git a/eclipse/plugins/com.android.ide.eclipse.adt.package/about.mappings b/eclipse/plugins/com.android.ide.eclipse.adt.package/about.mappings deleted file mode 100644 index c77017a..0000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt.package/about.mappings +++ /dev/null @@ -1 +0,0 @@ -0=buildId
\ No newline at end of file diff --git a/eclipse/plugins/com.android.ide.eclipse.adt.package/plugin.xml b/eclipse/plugins/com.android.ide.eclipse.adt.package/plugin.xml index ed4f265..7974659 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt.package/plugin.xml +++ b/eclipse/plugins/com.android.ide.eclipse.adt.package/plugin.xml @@ -3,24 +3,24 @@ <plugin> <extension id="adtproduct" + name="ADT Bundle" point="org.eclipse.core.runtime.products"> <product application="org.eclipse.ui.ide.workbench" - description="Android Developer Tools" - name="ADT"> + name="Eclipse"> <property name="preferenceCustomization" value="plugin_customization.ini" /> <property name="appName" - value="ADT" /> + value="Eclipse" /> <property name="aboutImage" value="adt-about.png"> </property> <property name="aboutText" - value="Android Developer Tools

Build: {0}

This product includes Eclipse Platform, JDT, CDT, EMF, GEF and WTP,
all of which are Copyright (c) Eclipse contributors and others.
Visit http://eclipse.org/

Android Developer Tools are Copyright (c) The Android Open Source Project.
Visit http://developer.android.com"> + value="Android Developer Tools

This product includes Eclipse Platform, JDT, CDT, EMF, GEF and WTP, all of which are
Copyright (c) Eclipse contributors and others.
Visit http://eclipse.org/

Android Developer Tools are Copyright (c) The Android Open Source Project.
Visit http://developer.android.com"> </property> <property name="startupProgressRect" @@ -36,28 +36,36 @@ value="icons/adt16.png,icons/adt32.png,icons/adt48.png"> </property> <property + name="introBrandingImage" + value="product:intro-eclipse.png"> + </property> + <property + name="introTitle" + value="Welcome to the Eclipse IDE for Android Developers"> + </property> + <property + name="introBrandingImageText" + value="Eclipse Project"> + </property> + <property + name="applicationXMI" + value="org.eclipse.platform/LegacyIDE.e4xmi"> + </property> + <property name="cssTheme" value="org.eclipse.e4.ui.css.theme.e4_default"> </property> <property name="applicationCSSResources" - value="platform:/plugin/org.eclipse.platform/images/"> + value="platform:/plugin/org.eclipse.ui.themes/images/"> </property> </product> </extension> <extension point="org.eclipse.ui.intro"> - <intro - class="com.android.ide.eclipse.adt.internal.AdtIntro" - icon="icons/adt16.png" - id="com.android.ide.eclipse.adt.intro" - label="Android IDE"/> - </extension> - <extension - point="org.eclipse.ui.intro"> <introProductBinding - introId="com.android.ide.eclipse.adt.intro" - productId="adtproduct"> + introId="org.eclipse.ui.intro.universal" + productId="com.android.ide.eclipse.adt.package.product"> </introProductBinding> </extension> </plugin> diff --git a/eclipse/plugins/com.android.ide.eclipse.adt.package/src/com/android/ide/eclipse/adt/internal/AdtIntro.java b/eclipse/plugins/com.android.ide.eclipse.adt.package/src/com/android/ide/eclipse/adt/internal/AdtIntro.java deleted file mode 100644 index 27e758c..0000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt.package/src/com/android/ide/eclipse/adt/internal/AdtIntro.java +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Copyright (C) 2013 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.ide.eclipse.adt.internal; - -import com.android.ide.eclipse.adt.AdtPlugin; -import com.android.ide.eclipse.adt.internal.wizards.actions.NewProjectAction; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.browser.IWebBrowser; -import org.eclipse.ui.browser.IWorkbenchBrowserSupport; -import org.eclipse.ui.forms.events.HyperlinkAdapter; -import org.eclipse.ui.forms.events.HyperlinkEvent; -import org.eclipse.ui.forms.events.IHyperlinkListener; -import org.eclipse.ui.forms.widgets.FormToolkit; -import org.eclipse.ui.forms.widgets.Hyperlink; -import org.eclipse.ui.forms.widgets.ScrolledForm; -import org.eclipse.ui.forms.widgets.Section; -import org.eclipse.ui.intro.IIntroPart; -import org.eclipse.ui.part.IntroPart; - -import java.net.URL; - -public class AdtIntro extends IntroPart implements IIntroPart { - private static final int TEXT_WIDTH = 600; - - private FormToolkit mToolkit; - private ScrolledForm mForm; - - @Override - public void standbyStateChanged(boolean standby) { - } - - @Override - public void createPartControl(Composite parent) { - mToolkit = new FormToolkit(parent.getDisplay()); - mForm = mToolkit.createScrolledForm(parent); - - mForm.setText("Welcome!"); - mToolkit.decorateFormHeading(mForm.getForm()); - mForm.getToolBarManager().update(true); - - //TableWrapLayout layout = new TableWrapLayout(); - //layout.numColumns = 2; - GridLayout layout = new GridLayout(1, false); - mForm.getBody().setLayout(layout); - - createText(mForm.getBody(), - "The Android Developer Tools provide a first-class development environment for " + - "building Android apps. This integrated development environment is set up with " + - "the latest version of the Android platform and system image so you can " + - "immediately begin building apps and running them on the Android emulator." - ); - - Button newProject = mToolkit.createButton(mForm.getBody(), - "New Android Application...", - SWT.PUSH); - newProject.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - NewProjectAction npwAction = new NewProjectAction(); - npwAction.run(null /*action*/); - PlatformUI.getWorkbench().getIntroManager().closeIntro(AdtIntro.this); - } - }); - - Section section = mToolkit.createSection(mForm.getBody(), - Section.SHORT_TITLE_BAR | Section.CLIENT_INDENT); - section.setText("Tutorials"); - - Composite c = mToolkit.createComposite(section); - c.setLayout(new GridLayout(2, false)); - - createHyperlink(c, "Build Your First App", - "http://developer.android.com/training/basics/firstapp/index.html"); - createText(c, "If you're new to Android, follow this class to learn the fundamental " + - "Android APIs for creating a user interface that responds to input."); - - createHyperlink(c, "Design Your App", "http://developer.android.com/design/index.html"); - createText(c, - "Before you begin developing your app, be sure you understand the design patterns " - + "that Android users expect from your app."); - - createHyperlink(c, "Test Your App", - "http://developer.android.com/tools/testing/testing_android.html"); - createText(c, "The Android Framework provides tools that help you test every aspect of " - + "your app to be sure it behaves as expected under various conditions."); - - section.setClient(c); - - mForm.reflow(true); - } - - private void createText(Composite body, String text) { - Label l = mToolkit.createLabel(body, text, SWT.WRAP); - GridData gd = new GridData(); - gd.widthHint = TEXT_WIDTH; - l.setLayoutData(gd); - } - - private void createHyperlink(Composite c, String text, String url) { - Hyperlink link = mToolkit.createHyperlink(c, text, SWT.WRAP); - link.setHref(url); - link.addHyperlinkListener(sHyperLinkListener); - GridData gd = new GridData(); - gd.verticalAlignment = SWT.TOP; - link.setLayoutData(gd); - } - - private static final IHyperlinkListener sHyperLinkListener = new HyperlinkAdapter() { - @Override - public void linkActivated(HyperlinkEvent e) { - if (!(e.getHref() instanceof String)) { - return; - } - - String url = (String) e.getHref(); - if (url.isEmpty()) { - return; - } - - IWorkbenchBrowserSupport support = PlatformUI.getWorkbench().getBrowserSupport(); - IWebBrowser browser; - try { - browser = support.getExternalBrowser(); - browser.openURL(new URL(url)); - } catch (Exception ex) { - AdtPlugin.log(ex, "Error launching browser for URL: %1$s", url); - } - } - }; - - @Override - public void setFocus() { - mForm.setFocus(); - } - - @Override - public void dispose() { - if (mToolkit != null) { - mToolkit.dispose(); - mToolkit = null; - } - - super.dispose(); - } -} |