<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
    Copyright (c) 2010,2014 Tasktop Technologies 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:
        Tasktop Technologies - initial API and implementation
        Maarten Meijer       - added handler to delete Servers bug#340986
 -->
<plugin>
   <extension-point id="connectors" name="Build Connectors" schema="schema/connectors.exsd"/>
   <extension-point id="startup" name="Build Framework UI Startup" schema="schema/startup.exsd"/>

   <extension
         point="org.eclipse.ui.views">
      <view
            category="org.eclipse.mylyn.ui"
            class="org.eclipse.mylyn.internal.builds.ui.view.BuildsView"
            icon="icons/eview16/build-view.png"
            id="org.eclipse.mylyn.builds.navigator.builds"
            name="Builds">
      </view>
      <!--
      <category
            id="org.eclipse.mylyn.builds.ui.views.BuildsCategory"
            name="Builds">
      </category>
      -->
   </extension>
    <extension point="org.eclipse.ui.preferencePages">
		<page name="Builds"
			category="org.eclipse.mylyn.preferencePages.Mylyn"
			class="org.eclipse.mylyn.internal.builds.ui.BuildsPreferencesPage"
			id="org.eclipse.mylyn.builds.preferences.BuildsPage">
	    	<keywordReference id="org.eclipse.mylyn.builds.preferences.keywords"/>
		</page>
    </extension>
	<extension point="org.eclipse.ui.keywords">
	    <keyword
	          id="org.eclipse.mylyn.builds.preferences.keywords"
	          label="interval polling build status">
	    </keyword>
	</extension>
 <extension
       point="org.eclipse.core.runtime.preferences">
    <initializer
          class="org.eclipse.mylyn.internal.builds.ui.BuildsPreferencesInitializer">
    </initializer>
 </extension>
 <extension
       point="org.eclipse.ui.navigator.navigatorContent">
    <navigatorContent
          contentProvider="org.eclipse.mylyn.internal.builds.ui.navigator.BuildNavigatorContentProvider"
          icon="icons/eview16/build-view.png"
          id="org.eclipse.mylyn.builds.ui.navigator.BuildRepositories"
          labelProvider="org.eclipse.mylyn.internal.builds.ui.view.BuildLabelProvider"
          name="Build Repositories">
       <possibleChildren>
          <instanceof
                value="org.eclipse.mylyn.builds.core.IBuildElement">
          </instanceof>
       </possibleChildren>
       <triggerPoints>
          <instanceof
                value="org.eclipse.mylyn.commons.repositories.core.RepositoryCategory">
          </instanceof>
       </triggerPoints>
       <actionProvider
             class="org.eclipse.mylyn.internal.builds.ui.navigator.BuildNavigatorActionProvider">
       </actionProvider>
    </navigatorContent>
 </extension>
 <extension
       point="org.eclipse.ui.navigator.viewer">
    <viewerContentBinding
          viewerId="org.eclipse.mylyn.commons.repositories.ui.navigator.Repositories">
       <includes>
          <contentExtension
                pattern="org.eclipse.mylyn.builds.ui.navigator.BuildRepositories">
          </contentExtension>
       </includes>
    </viewerContentBinding>
 </extension>
 <extension
       point="org.eclipse.ui.commands">
    <category
          id="org.eclipse.mylyn.builds.ui.category.Commands"
          name="Builds">
    </category>
    <command
          categoryId="org.eclipse.mylyn.builds.ui.category.Commands"
          defaultHandler="org.eclipse.mylyn.internal.builds.ui.commands.OpenHandler"
          id="org.eclipse.mylyn.builds.ui.commands.OpenBuildElement"
          name="Open Build Element">
       <commandParameter
             id="element"
             name="Element"
             optional="true">
       </commandParameter>
    </command>
    <command
          categoryId="org.eclipse.mylyn.builds.ui.category.Commands"
          defaultHandler="org.eclipse.mylyn.internal.builds.ui.commands.OpenWithBrowserHandler"
          id="org.eclipse.mylyn.builds.ui.commands.OpenBuildElementWithBrowser"
          name="Open Build with Browser">
       <commandParameter
             id="element"
             name="Element"
             optional="true">
       </commandParameter>
    </command>
    <command
          categoryId="org.eclipse.mylyn.builds.ui.category.Commands"
          defaultHandler="org.eclipse.mylyn.internal.builds.ui.commands.CopyDetailsHandler"
          id="org.eclipse.mylyn.builds.ui.commands.CopyDetails"
          name="Copy Details">
       <commandParameter
             id="kind"
             name="Kind"
             optional="true"
             values="org.eclipse.mylyn.internal.builds.ui.commands.CopyDetailsParameterValues">
       </commandParameter>
       <commandParameter
             id="element"
             name="Element"
             optional="true">
       </commandParameter>
    </command>
    <command
          categoryId="org.eclipse.mylyn.builds.ui.category.Commands"
          defaultHandler="org.eclipse.mylyn.internal.builds.ui.commands.RunBuildHandler"
          id="org.eclipse.mylyn.builds.ui.command.RunBuild"
          name="Run Build">
    </command>
    <command
          categoryId="org.eclipse.mylyn.builds.ui.category.Commands"
          defaultHandler="org.eclipse.mylyn.internal.builds.ui.commands.ShowBuildOutputHandler"
          id="org.eclipse.mylyn.builds.ui.command.ShowBuildOutput"
          name="Show Build Output">
    </command>
    <command
          categoryId="org.eclipse.mylyn.builds.ui.category.Commands"
          id="org.eclipse.mylyn.builds.ui.command.ShowTestResults"
          name="Show Test Results">
    </command>
    <command
          categoryId="org.eclipse.mylyn.builds.ui.category.Commands"
          defaultHandler="org.eclipse.mylyn.internal.builds.ui.commands.NewTaskFromBuildHandler"
          id="org.eclipse.mylyn.builds.ui.command.NewTaskFromBuild"
          name="New Task From Build">
    </command>
    <command
          categoryId="org.eclipse.mylyn.builds.ui.category.Commands"
          defaultHandler="org.eclipse.mylyn.internal.builds.ui.commands.NewTaskFromTestHandler"
          id="org.eclipse.mylyn.builds.ui.command.NewTaskFromTest"
          name="New Task From Test">
    </command>
 </extension>
 <extension
       point="org.eclipse.ui.commandImages">
    <image
          commandId="org.eclipse.mylyn.builds.ui.command.ShowBuildOutput"
          icon="icons/etool16/console.gif">
    </image>
    <image
          commandId="org.eclipse.mylyn.builds.ui.command.ShowTestResults"
          icon="icons/eview16/junit.gif">
    </image>
    <image
          commandId="org.eclipse.mylyn.builds.ui.command.RunBuild"
          disabledIcon="icons/dtool16/run_exc.gif"
          icon="icons/etool16/run_exc.gif">
    </image>
    <image
          commandId="org.eclipse.mylyn.builds.ui.command.NewTaskFromBuild"
          icon="icons/etool16/task-new.gif">
    </image>
    <image
          commandId="org.eclipse.mylyn.builds.ui.command.NewTaskFromTest"
          icon="icons/etool16/task-new.gif">
    </image>
 </extension>
 <extension
       point="org.eclipse.ui.handlers">
    <handler
          class="org.eclipse.mylyn.internal.builds.ui.commands.ShowTestResultsHandler"
          commandId="org.eclipse.mylyn.builds.ui.command.ShowTestResults">
       <enabledWhen>
          <iterate
                operator="and">
             <adapt
                   type="org.eclipse.mylyn.builds.core.IBuild">
                <test
                      property="org.eclipse.mylyn.builds.ui.test.build.hasTests">
                </test>
             </adapt>
          </iterate>
       </enabledWhen>
    </handler>
 </extension>
 <extension
       point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.mylyn.internal.builds.ui.commands.BuildElementPropertiesHandler"
            commandId="org.eclipse.ui.file.properties">
         <activeWhen>
			<with variable="activePartId">
			    <equals value="org.eclipse.mylyn.builds.navigator.builds"/>
			</with>
         </activeWhen>
         <enabledWhen>
            <and>
               <count
                     value="1">
               </count>
               <iterate>
                  <and>
                     <instanceof
                           value="org.eclipse.mylyn.builds.core.IBuildElement">
                     </instanceof>
                  </and>
               </iterate>
            </and>
         </enabledWhen>
      </handler>
      <handler
            class="org.eclipse.mylyn.internal.builds.ui.commands.BuildElementPropertiesHandler"
            commandId="org.eclipse.ui.file.properties">
         <activeWhen>
            <and>
               <with
                     variable="activePartId">
                  <equals
                        value="org.eclipse.mylyn.commons.repositories.ui.navigator.Repositories">
                  </equals>
               </with>
               <count
                     value="1">
               </count>
               <iterate>
                  <and>
                     <instanceof
                           value="org.eclipse.mylyn.builds.core.IBuildElement">
                     </instanceof>
                  </and>
               </iterate>
            </and>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.mylyn.internal.builds.ui.commands.DeleteBuildElementHandler"
            commandId="org.eclipse.ui.edit.delete">
         <activeWhen>
            <and>
               <with
                     variable="activePartId">
                  <equals
                        value="org.eclipse.mylyn.commons.repositories.ui.navigator.Repositories">
                  </equals>
               </with>
               <count
                     value="1">
               </count>
               <iterate>
                  <and>
                     <instanceof
                           value="org.eclipse.mylyn.builds.core.IBuildElement">
                     </instanceof>
                  </and>
               </iterate>
            </and>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.mylyn.internal.builds.ui.commands.RefreshHandler"
            commandId="org.eclipse.ui.file.refresh">
         <activeWhen>
            <with
                  variable="activePartId">
               <equals
                     value="org.eclipse.mylyn.builds.navigator.builds">
               </equals>
            </with>
         </activeWhen>
         <enabledWhen>
            <and>
               <iterate
                     ifEmpty="true"
                     operator="and">
                  <or>
                     <instanceof
                           value="org.eclipse.mylyn.builds.core.IBuildServer">
                     </instanceof>
                     <instanceof
                           value="org.eclipse.mylyn.builds.core.IBuildPlan">
                     </instanceof>
                  </or>
               </iterate>
            </and>
         </enabledWhen>
      </handler>
    <handler
          class="org.eclipse.mylyn.internal.builds.ui.commands.DeleteBuildElementHandler"
          commandId="org.eclipse.ui.edit.delete">
       <activeWhen>
          <and>
             <with
                   variable="activePartId">
                <equals
                      value="org.eclipse.mylyn.builds.navigator.builds">
                </equals>
             </with>
             <count
                   value="1">
             </count>
             <iterate>
                <and>
                   <instanceof
                         value="org.eclipse.mylyn.builds.core.IBuildServer">
                   </instanceof>
                </and>
             </iterate>
          </and>
       </activeWhen>
    </handler>
 </extension>
 <extension
       point="org.eclipse.ui.startup">
    <startup
          class="org.eclipse.mylyn.internal.builds.ui.BuildsStartup"></startup>
 </extension>
 <extension
       point="org.eclipse.mylyn.commons.repositories.ui.newWizards">
    <category
          id="org.eclipse.mylyn.builds.ui.category.Builds"
          name="Builds">
    </category>
 </extension>
 <extension
       point="org.eclipse.ui.editors">
    <editor
          class="org.eclipse.mylyn.internal.builds.ui.editor.BuildEditor"
          contributorClass="org.eclipse.mylyn.internal.builds.ui.editor.BuildEditorActionContribution"
          default="false"
          icon="icons/eview16/build-view.png"
          id="org.eclipse.mylyn.builds.ui.editors.Build"
          name="Build Editor">
    </editor>
 </extension>
 <extension
       point="org.eclipse.ui.menus">
    <menuContribution
          locationURI="popup:org.eclipse.mylyn.builds.navigator.builds?after=group.open">
       <command
             commandId="org.eclipse.mylyn.builds.ui.commands.OpenBuildElement"
             label="Open Last Build"
             style="push">
          <parameter
                name="element"
                value="lastBuild">
          </parameter>
          <visibleWhen
                checkEnabled="false">
             <iterate
                   ifEmpty="false"
                   operator="and">
                <adapt
                      type="org.eclipse.mylyn.builds.core.IBuild">
                </adapt>
             </iterate>
          </visibleWhen>
       </command>
       <!--
       <command
             commandId="org.eclipse.mylyn.builds.ui.commands.OpenBuildElement"
             label="Open"
             style="push">
          <visibleWhen
                checkEnabled="false">
             <iterate
                   ifEmpty="false"
                   operator="and">
                <instanceof
                      value="org.eclipse.mylyn.builds.core.IBuildPlan">
                </instanceof>
             </iterate>
          </visibleWhen>
       </command>
       -->
       <menu
             id="org.eclipse.mylyn.builds.ui.menus.LastBuild"
             label="Last Build">
          <separator
                name="group.open"
                visible="true">
          </separator>
          <separator
                name="group.edit"
                visible="true">
          </separator>
          <separator
                name="group.file"
                visible="true">
          </separator>
          <separator
                name="group.refresh"
                visible="true">
          </separator>
          <separator
                name="group.properties"
                visible="true">
          </separator>
          <visibleWhen
                checkEnabled="false">
             <iterate
                   ifEmpty="false"
                   operator="and">
                <adapt
                      type="org.eclipse.mylyn.builds.core.IBuild">
                </adapt>
             </iterate>
          </visibleWhen>
       </menu>
       <menu
             id="org.eclipse.mylyn.builds.ui.menus.Plan"
             label="Plan">
          <separator
                name="group.open"
                visible="true">
          </separator>
          <command
                commandId="org.eclipse.mylyn.builds.ui.commands.OpenBuildElementWithBrowser"
                label="Open with Browser"
                style="push">
          </command>
          <separator
                name="group.edit"
                visible="true">
          </separator>
          <menu
                label="Copy Details">
             <command
                   commandId="org.eclipse.mylyn.builds.ui.commands.CopyDetails"
                   label="&amp;ID"
                   style="push">
                <parameter
                      name="kind"
                      value="KEY">
                </parameter>
             </command>
             <command
                   commandId="org.eclipse.mylyn.builds.ui.commands.CopyDetails"
                   label="&amp;URL"
                   style="push">
                <parameter
                      name="kind"
                      value="URL">
                </parameter>
             </command>
             <visibleWhen
                   checkEnabled="false">
                <iterate
                      ifEmpty="false">
                </iterate>
             </visibleWhen>
          </menu>
          <separator
                name="group.file"
                visible="true">
          </separator>
          <separator
                name="group.refresh"
                visible="true">
          </separator>
          <separator
                name="group.properties"
                visible="true">
          </separator>
          <visibleWhen
                checkEnabled="false">
             <iterate
                   ifEmpty="false">
             </iterate>
          </visibleWhen>
       </menu>
    </menuContribution>
    <menuContribution
          locationURI="popup:org.eclipse.mylyn.builds.navigator.builds?after=group.edit">
    </menuContribution>
    <menuContribution
          locationURI="popup:org.eclipse.mylyn.builds.navigator.builds?after=group.run">
       <command
             commandId="org.eclipse.mylyn.builds.ui.command.RunBuild"
             label="Run Build"
             style="push">
          <visibleWhen
                checkEnabled="false">
             <iterate
                   ifEmpty="false"
                   operator="and">
                <instanceof
                      value="org.eclipse.mylyn.builds.core.IBuildPlan">
                </instanceof>
             </iterate>
          </visibleWhen>
       </command>
       <command
             commandId="org.eclipse.ui.navigate.showIn"
             label="History"
             style="push">
          <parameter
                name="org.eclipse.ui.navigate.showIn.targetId"
                value="org.eclipse.team.ui.GenericHistoryView">
          </parameter>
          <visibleWhen
                checkEnabled="false">
             <iterate
                   ifEmpty="false"
                   operator="and">
                <instanceof
                      value="org.eclipse.mylyn.builds.core.IBuildPlan">
                </instanceof>
             </iterate>
          </visibleWhen>
       </command>
    </menuContribution>
    <menuContribution
          locationURI="popup:org.eclipse.mylyn.builds.navigator.builds?after=group.refresh">
       <command
             commandId="org.eclipse.ui.file.refresh"
             label="Refresh"
             style="push">
       </command>
    </menuContribution>
    <menuContribution
          locationURI="popup:org.eclipse.mylyn.builds.navigator.builds?after=group.properties">
       <command
             commandId="org.eclipse.ui.file.properties"
             label="Properties"
             style="push">
       </command>
    </menuContribution>
     <menuContribution
          allPopups="true"
          locationURI="popup:org.eclipse.mylyn.builds.navigator.builds?after=group.refresh">
       <command
             commandId="org.eclipse.ui.edit.delete"
             label="Delete Build Server"
             style="push">
          <visibleWhen
                checkEnabled="true">
          </visibleWhen>
       </command>
    </menuContribution>
 </extension>
 <extension
       point="org.eclipse.ui.menus">
    <menuContribution
          locationURI="popup:org.eclipse.mylyn.builds.ui.menus.LastBuild?after=group.open">
       <!--
       <command
             commandId="org.eclipse.mylyn.builds.ui.commands.OpenBuildElement"
             label="Open"
             style="push">
          <parameter
                name="element"
                value="lastBuild">
          </parameter>
       </command>
       -->
       <command
             commandId="org.eclipse.mylyn.builds.ui.commands.OpenBuildElementWithBrowser"
             label="Open with Browser"
             style="push">
          <parameter
                name="element"
                value="lastBuild">
          </parameter>
       </command>
    </menuContribution>
    <menuContribution
          locationURI="popup:org.eclipse.mylyn.builds.ui.menus.LastBuild?after=group.edit">
       <menu
             label="Copy Details">
          <command
                commandId="org.eclipse.mylyn.builds.ui.commands.CopyDetails"
                label="&amp;ID"
                style="push">
             <parameter
                   name="kind"
                   value="KEY">
             </parameter>
             <parameter
                   name="element"
                   value="lastBuild">
             </parameter>
          </command>
          <command
                commandId="org.eclipse.mylyn.builds.ui.commands.CopyDetails"
                label="&amp;URL"
                style="push">
             <parameter
                   name="kind"
                   value="URL">
             </parameter>
             <parameter
                   name="element"
                   value="lastBuild">
             </parameter>
          </command>
       </menu>
       <command
             commandId="org.eclipse.mylyn.builds.ui.command.NewTaskFromBuild"
             label="New Task From Build..."
             style="push">
       </command>
    </menuContribution>
    <menuContribution
          locationURI="popup:org.eclipse.mylyn.builds.ui.menus.LastBuild?after=group.file">
       <command
             commandId="org.eclipse.mylyn.builds.ui.command.ShowBuildOutput"
             label="Show Output"
             style="push">
          <visibleWhen
                checkEnabled="false">
             <test
                   args="console"
                   property="org.eclipse.mylyn.builds.ui.test.element.available">
             </test>
          </visibleWhen>
       </command>
       <command
             commandId="org.eclipse.mylyn.builds.ui.command.ShowTestResults"
             label="Show Test Results"
             style="push">
          <visibleWhen
                checkEnabled="false">
             <test
                   args="junit"
                   property="org.eclipse.mylyn.builds.ui.test.element.available">
             </test>
          </visibleWhen>
       </command>
    </menuContribution>
 </extension>
 <extension
       point="org.eclipse.ui.menus">
    <menuContribution
          locationURI="menu:org.eclipse.mylyn.builds.navigator.builds?after=group.navigate">
       <command
             commandId="org.eclipse.ui.views.showView"
             icon="icons/eview16/repositories.gif"
             label="Show Team Repositories View"
             style="push">
          <parameter
                name="org.eclipse.ui.views.showView.viewId"
                value="org.eclipse.mylyn.commons.repositories.ui.navigator.Repositories">
          </parameter>
       </command>
    </menuContribution>
 </extension>
 <extension
       point="org.eclipse.ui.menus">
    <menuContribution
          locationURI="popup:org.eclipse.mylyn.builds.ui.editor.menu.TestResult?after=group.open">
       <command
             commandId="org.eclipse.mylyn.builds.ui.command.NewTaskFromTest"
             label="New Task From Test..."
             style="push">
       </command>
    </menuContribution>
 </extension>
   <extension
         point="org.eclipse.ui.console.consolePatternMatchListeners">
      <consolePatternMatchListener
            class="org.eclipse.jdt.internal.debug.ui.console.JavaConsoleTracker"
            regex="\(\S*${java_extensions_regex}\S*\)"
            qualifier="${java_extensions_regex}"
            id="org.eclipse.builds.ui.console.JavaConsoleTracker">
         <enablement>
            <or>
			  <test property="org.eclipse.ui.console.consoleTypeTest" value="org.eclipse.mylyn.builds.ui.console.BuildConsole"/>
            </or>
         </enablement>
      </consolePatternMatchListener>
      <consolePatternMatchListener
            class="org.eclipse.jdt.internal.debug.ui.console.JavaNativeConsoleTracker"
            regex="\(Native Method\)"
            qualifier="Native Method"
            id="org.eclipse.builds.ui.console.JavaNativeConsoleTracker">
         <enablement>
            <or>
			  <test property="org.eclipse.ui.console.consoleTypeTest" value="org.eclipse.mylyn.builds.ui.console.BuildConsole"/>
            </or>
         </enablement>
      </consolePatternMatchListener>
            <consolePatternMatchListener
            class="org.eclipse.jdt.internal.debug.ui.console.JavaExceptionConsoleTracker"
            regex="\w[^\(\s]+Exception[\s|:]"
            qualifier="Exception"
            id="org.eclipse.builds.ui.console.JavaExceptionConsoleTracker">
         <enablement>
            <or>
			  <test property="org.eclipse.ui.console.consoleTypeTest" value="org.eclipse.mylyn.builds.ui.console.BuildConsole"/>
            </or>
         </enablement>
      </consolePatternMatchListener>
            <consolePatternMatchListener
                  class="org.eclipse.mylyn.internal.builds.ui.console.UrlPatternMatchListener"
                  id="org.eclipse.builds.ui.console.UrlConsoleTracker"
                  qualifier="://"
                  regex="([a-zA-Z][a-zA-Z+.-]{0,10}://[a-zA-Z0-9%._~!$&amp;?#&apos;()*+,;:@/=-]*[a-zA-Z0-9%_~!$&amp;?#&apos;(*+;:@/=-])">
               <enablement>
                  <or>
                     <test
                           property="org.eclipse.ui.console.consoleTypeTest"
                           value="org.eclipse.mylyn.builds.ui.console.BuildConsole">
                     </test>
                  </or>
               </enablement>
            </consolePatternMatchListener>
   </extension>
 <extension
       point="org.eclipse.ui.console.consolePageParticipants">
    <consolePageParticipant
          class="org.eclipse.mylyn.internal.builds.ui.console.BuildConsolePageParticipant"
          id="org.eclipse.mylyn.builds.ui.console.BuildOutputPageParticipant">
       <enablement>
           <test property="org.eclipse.ui.console.consoleTypeTest" value="org.eclipse.mylyn.builds.ui.console.BuildConsole"/>
       </enablement>
    </consolePageParticipant>
 </extension>
 <extension
       point="org.eclipse.mylyn.commons.notifications.ui.notifications">
    <event
          categoryId="org.eclipse.mylyn.builds.ui.category.Builds"
          id="org.eclipse.mylyn.builds.ui.events.PlanStatusChanged"
          label="Plan Status Changed">
       <description>
          This event is triggered when the status of a build plan changes, e.g. when a successful build plan changes its status to failed.
       </description>
       <defaultHandler
             sinkId="org.eclipse.mylyn.commons.notifications.sink.Popup">
       </defaultHandler>
    </event>
    <event
          categoryId="org.eclipse.mylyn.builds.ui.category.Builds"
          id="org.eclipse.mylyn.builds.ui.events.BuildServiceChanged"
          label="Build Service Changed">
       <description>
          This event is triggered when the status of a build service is changed. For instance a new server is discovered or is no longer available.
       </description>
       <defaultHandler
             sinkId="org.eclipse.mylyn.builds.ui.sink.View">
       </defaultHandler>
    </event>
    <category
          icon="icons/eview16/build-view.png"
          id="org.eclipse.mylyn.builds.ui.category.Builds"
          label="Builds">
    </category>
    <sink
          class="org.eclipse.mylyn.internal.builds.ui.view.NotificationSinkProxy"
          id="org.eclipse.mylyn.builds.ui.sink.View"
          label="Builds View">
    </sink>
 </extension>
 <extension
       point="org.eclipse.core.expressions.propertyTesters">
    <propertyTester
          class="org.eclipse.mylyn.internal.builds.ui.BuildElementPropertyTester"
          id="org.eclipse.mylyn.builds.ui.propertyTester.BuildElement"
          namespace="org.eclipse.mylyn.builds.ui.test.element"
          properties="available"
          type="java.lang.Object">
    </propertyTester>
    <propertyTester
          class="org.eclipse.mylyn.internal.builds.ui.BuildPlanPropertyTester"
          id="org.eclipse.mylyn.builds.ui.propertyTester.BuildPlan"
          namespace="org.eclipse.mylyn.builds.ui.test.plan"
          properties="hasBuild"
          type="org.eclipse.mylyn.builds.core.IBuildPlan">
    </propertyTester>
    <propertyTester
          class="org.eclipse.mylyn.internal.builds.ui.BuildPropertyTester"
          id="org.eclipse.mylyn.builds.ui.propertyTester.Build"
          namespace="org.eclipse.mylyn.builds.ui.test.build"
          properties="hasConsole,hasTests"
          type="org.eclipse.mylyn.builds.core.IBuild">
    </propertyTester>
 </extension>
 <extension
       point="org.eclipse.core.runtime.adapters">
    <factory
          adaptableType="org.eclipse.mylyn.internal.builds.ui.editor.BuildEditorInput"
          class="org.eclipse.mylyn.internal.builds.ui.BuildsAdapterFactory">
       <adapter
             type="org.eclipse.team.ui.history.IHistoryPageSource">
       </adapter>
    </factory>
    <factory
          adaptableType="org.eclipse.mylyn.builds.core.IBuild"
          class="org.eclipse.mylyn.internal.builds.ui.BuildsAdapterFactory">
       <adapter
             type="org.eclipse.team.ui.history.IHistoryPageSource">
       </adapter>
    </factory>
    <factory
          adaptableType="org.eclipse.mylyn.builds.core.IBuildPlan"
          class="org.eclipse.mylyn.internal.builds.ui.BuildsAdapterFactory">
       <adapter
             type="org.eclipse.mylyn.builds.core.IBuild">
       </adapter>
       <adapter
             type="org.eclipse.team.ui.history.IHistoryPageSource">
       </adapter>
    </factory>
    <factory
          adaptableType="org.eclipse.mylyn.builds.core.IBuildElement"
          class="org.eclipse.mylyn.internal.builds.ui.BuildsAdapterFactory">
       <adapter
             type="org.eclipse.mylyn.builds.core.IBuildServer">
       </adapter>
    </factory>
 </extension>
 <extension
       point="org.eclipse.mylyn.commons.workbench.urlHandlers">
    <handler
          class="org.eclipse.mylyn.internal.builds.ui.util.BuildsUrlHandler"
          id="org.eclipse.mylyn.builds.ui.urlHandler.BuildsUrlHandler">
    </handler>
 </extension>
</plugin>
