<?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 IDE">
         <property
               name="preferenceCustomization"
               value="plugin_customization.ini">
         </property>
         <property
               name="appName"
               value="Eclipse">
         </property>
         <property
               name="aboutText"
               value="Eclipse IDE for Java Developers (includes Incubating components)&#x0A;&#x0A;Version: {1}&#x0A;Build id: {0}&#x0A;(c) Copyright Eclipse contributors and others 2000, 2022.  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="ffffff">
         </property>
         <property
               name="startupMessageRect"
               value="7,265,320,20">
         </property>
         <property
               name="startupProgressRect"
               value="2,290,448,10">
         </property>
         <property
               name="aboutImage"
               value="eclipse_lg.png">
         </property>
         <property
               name="windowImages"
               value="eclipse16.png,eclipse32.png,eclipse48.png,eclipse256.png">
         </property>
         <property
              name="introBrandingImage"
              value="product:intro-eclipse.svg">
         </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>
         <property
               name="buildIdLocation"
               value="0,220">
         </property>
         <property
               name="buildIdSize"
               value="293,40">
         </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(trigger=welcome)"
            label="%ql.mpc.label"
            description="%ql.mpc.description"
            icon="platform:/plugin/org.eclipse.epp.mpc.ui/intro/css/marketplace.png">
      </command>
   </extension>
</plugin>

