<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension
         id="product"
         name="Java IDE"
         point="org.eclipse.core.runtime.products">
      <product
            application="org.eclipse.ui.ide.workbench"
            name="Eclipse">
         <property
               name="preferenceCustomization"
               value="plugin_customization.ini">
         </property>
         <property
               name="appName"
               value="Eclipse">
         </property>
         <property
               name="aboutText"
               value="Eclipse IDE for Java Developers&#x0A;&#x0A;Version: {1}&#x0A;Build id: {0}&#x0A;(c) Copyright Eclipse contributors and others 2000, 2017.  All rights reserved. Eclipse and the Eclipse logo are trademarks of the Eclipse Foundation, Inc., https://www.eclipse.org/. The Eclipse logo cannot be altered without Eclipse's permission. Eclipse logos are provided for use under the Eclipse logo and trademark guidelines, https://www.eclipse.org/logotm/. Oracle and Java are trademarks or registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.&#x0A;&#x0A;This product includes software developed by other open source projects including the Apache Software Foundation, https://www.apache.org/.&#x0A;">
         </property>
         <property
               name="startupForegroundColor"
               value="9c9696">
         </property>
         <property
               name="startupMessageRect"
               value="7,265,320,20">
         </property>
         <property
               name="startupProgressRect"
               value="2,290,448,10">
         </property>
         <property
               name="aboutImage"
               value="epp-java-about.png">
         </property>
         <property
               name="windowImages"
               value="eclipse16.png,eclipse32.png,eclipse48.png,eclipse256.png">
         </property>
         <property
              name="introBrandingImage"
              value="product:intro-eclipse.png">
         </property>
         <property
               name="introTitle"
               value="Welcome to the Eclipse IDE for Java 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.ui.themes/images/"> 
         </property>
      </product>
   </extension>
   <extension
         point="org.eclipse.ui.intro">
      <introProductBinding
            introId="org.eclipse.ui.intro.universal"
            productId="org.eclipse.epp.package.java.product">
      </introProductBinding>
   </extension>

   <extension
         point="org.eclipse.ui.intro.quicklinks">
      <command
            id="org.eclipse.ui.cheatsheets.openCheatSheet(cheatSheetId=org.eclipse.jdt.helloworld)"
            description="%ql.cheatsheet.hw.description"
            label="%ql.cheatsheet.hw.label"
            importance="medium"
            resolution="launchbar">
      </command>
      <command
            id="org.eclipse.ui.newWizard(newWizardId=org.eclipse.jdt.ui.wizards.JavaProjectWizard)"
            description="%ql.newJavaProject.description"
            label="%ql.newJavaProject.label"
            importance="medium"
            resolution="launchbar">
      </command>
      <command
            id="org.eclipse.ui.file.import(importWizardId=org.eclipse.egit.ui.internal.clone.GitCloneWizard)"
            description="%ql.checkoutGitProject.description"
            icon="platform:/plugin/org.eclipse.ui.intro.universal/themes/solstice/graphics/icons/ctool/egit-checkout.png"
            label="%ql.checkoutGitProject.label"
            importance="medium"
            resolution="launchbar">
      </command>
      <command
            id="org.eclipse.ui.file.import(importWizardId=org.eclipse.ui.wizards.import.ExternalProject)"
            description="%ql.importExistingProjects.description"
            icon="platform:/plugin/org.eclipse.ui.intro.universal/themes/solstice/graphics/icons/ctool/import-existing-project.png"
            label="%ql.importExistingProjects.label"
            resolution="launchbar">
      </command>
      <command
            id="org.eclipse.ui.edit.text.openLocalFile"
            description="%ql.openExistingFile.description"
            icon="platform:/plugin/org.eclipse.ui.intro.universal/themes/solstice/graphics/icons/ctool/open-file.png"
            importance="low"
            label="%ql.openExistingFile.label"
            resolution="launchbar">
      </command>
      <command
            id="org.eclipse.oomph.setup.ui.questionnaire"
            importance="high"
            icon="platform:/plugin/org.eclipse.ui.intro.universal/themes/solstice/graphics/icons/ctool/settings.png"
            label="%ql.setupQuestionnaire.label">
      </command>
      <override
            command="org.eclipse.ui.newWizard*"
            icon="platform:/plugin/org.eclipse.ui.intro.universal/themes/solstice/graphics/icons/ctool/new-project.png"
            theme="org.eclipse.ui.intro.universal.solstice">
      </override>
      <command
            id="org.eclipse.epp.mpc.ui.command.showMarketplaceWizard"
            label="%ql.mpc.label"
            description="%ql.mpc.description"
            icon="platform:/plugin/org.eclipse.epp.mpc.ui/intro/css/marketplace.png">
      </command>
   </extension>
</plugin>

