<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.6"?>
<!--
    Copyright (c) 2010 The Eclipse Foundation and others.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v1.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v10.html
   
    Contributors:
    	The Eclipse Foundation - initial API and implementation
 -->

<plugin>
   <extension-point id="catalog" name="%extension-point.name" schema="schema/catalog.exsd"/>
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.epp.internal.mpc.ui.commands.MarketplaceWizardCommand"
            commandId="org.eclipse.epp.mpc.ui.command.showMarketplaceWizard">
      </handler>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            description="%command.description"
            id="org.eclipse.epp.mpc.ui.command.showMarketplaceWizard"
            name="%command.name">
      </command>
   </extension>
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            allPopups="false"
            locationURI="menu:help?after=additions">
         <command
               commandId="org.eclipse.epp.mpc.ui.command.showMarketplaceWizard"
               icon="icons/marketplace16.png"
               label="%command.label"
               style="push"
               tooltip="%command.tooltip">
         </command>
      </menuContribution>
   </extension>
   <extension
         point="org.eclipse.ui.intro.configExtension">
      <configExtension
            configId="org.eclipse.ui.intro.universalConfig"
            content="intro/default.xml">
      </configExtension>
   </extension>
   <extension
         point="org.eclipse.mylyn.tasks.bugs.support">
		<product featureId="org.eclipse.epp.mpc" id="org.eclipse.epp.mpc" providerId="org.eclipse"/>
		<mapping namespace="org.eclipse.epp.mpc" productId="org.eclipse.epp.mpc">
			<property name="product" value="MPC"/>
			<property name="component" value="wizard"/>
		</mapping>
   </extension>
   <extension
         point="org.eclipse.ui.startup">
      <startup class="org.eclipse.epp.internal.mpc.ui.wizards.MarketplaceDropAdapter"/>
   </extension>
</plugin>
