<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension
         point="org.eclipse.core.expressions.propertyTesters">
	    <propertyTester
	      	id="org.eclipse.wst.jsdt.js.bower.tester"
	      	type="org.eclipse.core.resources.IResource"
	      	namespace="org.eclipse.wst.jsdt.js.bower"
	      	properties="isBowerInit"
	      	class="org.eclipse.wst.jsdt.js.bower.internal.launch.tester.BowerTester">
	    </propertyTester>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchShortcuts">
      <shortcut
            class="org.eclipse.wst.jsdt.js.bower.internal.launch.shortcut.BowerUpdate"
            id="org.eclipse.wst.jsdt.js.bower.update"
            label="Bower Update"
            icon="icons/bower_16.png"
            modes="run">
        <contextualLaunch>
            <enablement>
                <with variable="selection">
                    <count value="1"/>
                    <iterate>
                        <adapt  type="org.eclipse.core.resources.IResource">
	                        <test property="org.eclipse.wst.jsdt.js.bower.isBowerInit" 
	                           	forcePluginActivation="true"/>
                        </adapt> 
                    </iterate>
                </with>
            </enablement>
         </contextualLaunch>
      </shortcut>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchShortcuts">
      <shortcut
            class="org.eclipse.wst.jsdt.js.bower.internal.launch.shortcut.BowerInstall"
            id="org.eclipse.wst.jsdt.js.bower.install"
            label="Bower Install"
            icon="icons/bower_16.png"
            modes="run">
        <contextualLaunch>
            <enablement>
                <with variable="selection">
                    <count value="1"/>
                    <iterate>
                        <adapt  type="org.eclipse.core.resources.IResource">
	                        <test property="org.eclipse.wst.jsdt.js.bower.isBowerInit" 
	                           	forcePluginActivation="true"/>
                        </adapt> 
                    </iterate>
                </with>
            </enablement>
         </contextualLaunch>
      </shortcut>
   </extension>
   <extension
      point = "org.eclipse.ui.newWizards">
      <wizard
            id="org.eclipse.wst.jsdt.js.wizards.bower.init"
            name="Bower Init"
            class="org.eclipse.wst.jsdt.js.bower.internal.wizard.BowerInitWizard"
            category="org.eclipse.wst.jsdt.ui.java"
            icon="icons/bower_16.png">
            <description>Bower Init</description>
            <selection class="org.eclipse.core.resources.IResource"/>
      </wizard>
   </extension>
   <extension
       point="org.eclipse.debug.core.launchConfigurationTypes">
    <launchConfigurationType
          id="org.eclipse.wst.jsdt.js.bower.bowerLaunchConfigurationType"
          delegate="org.eclipse.wst.jsdt.js.bower.internal.launch.BowerLaunchConfigurationDelegate"
          modes="run"
          name=""
     	  public="false">
    </launchConfigurationType>
 </extension>
</plugin>
