<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?><!--
    Copyright (c) 2009 Tasktop Technologies and others.

    This program and the accompanying materials
    are made available under the terms of the Eclipse Public License 2.0
    which accompanies this distribution, and is available at
    https://www.eclipse.org/legal/epl-2.0/

    SPDX-License-Identifier: EPL-2.0
   
    Contributors:
         Tasktop Technologies - initial API and implementation
 -->

<plugin>
   <extension
         point="org.eclipse.mylyn.discovery.core.connectorDiscovery">
      <connectorCategory
            description="%connectorCategory.description"
            id="org.eclipse.mylyn.discovery.tests.connectorCategory1"
            name="%connectorCategory.name">
      </connectorCategory>
      <connectorDescriptor
            categoryId="org.eclipse.mylyn.discovery.tests.connectorCategory1"
            description="a fictitious test connector that does nothing"
            id="org.eclipse.mylyn.discovery.tests.connectorDescriptor1"
            kind="task"
            license="UTL (Unit Test License)"
            name="Test Connector"
            provider="UnitTesting"
            siteUrl="http://foo.nodomain/site">
      </connectorDescriptor>
      <connectorDescriptor
            categoryId="org.eclipse.mylyn.discovery.tests.connectorCategory1"
            description="Connector with id org.eclipse.mylyn.discovery.test1"
            id="org.eclipse.mylyn.discovery.test1"
            kind="task"
            license="License"
            name="Installable Test Connector"
            provider="Eclipse Mylyn"
            siteUrl="http://localhost/discovery/">
      </connectorDescriptor>
      <connectorDescriptor
            categoryId="org.eclipse.mylyn.discovery.tests.connectorCategory1"
            description="Connector with id org.eclipse.mylyn.discovery.2tests"
            id="org.eclipse.mylyn.discovery.2tests"
            kind="task"
            license="License"
            name="2 Installable Test Connector"
            provider="Eclipse Mylyn"
            siteUrl="http://localhost/discovery/">
         <iu
               id="org.eclipse.mylyn.discovery.test1">
         </iu>
         <iu
               id="org.eclipse.mylyn.discovery.test2">
         </iu>
      </connectorDescriptor>
      <certification
            id="org.eclipse.mylyn.discovery.tests.certification1"
            name="%certification.name"
            url="%certification.url">
         <description>
            %certification.description
         </description>
      </certification>
      <connectorDescriptor
            categoryId="org.eclipse.mylyn.discovery.tests.connectorCategory1"
            description="Tagged as Custom"
            id="org.eclipse.mylyn.discovery.test.tagged"
            kind="Custom"
            license="License"
            name="Tagged Connector"
            provider="Eclipse Mylyn"
            siteUrl="http://localhost/discovery/">
      </connectorDescriptor>
   </extension>
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="menu:help?after=additions">
         <command
               commandId="org.eclipse.equinox.p2.ui.discovery.commands.ShowBundleCatalog"
               label="Show Bundle Catalog..."
               style="push">
            <parameter
                  name="org.eclipse.equinox.p2.ui.discovery.commands.DirectoryParameter"
                  value="http://www.eclipse.org/mylyn/discovery/directory-3.3.xml">
            </parameter>
            <parameter
                  name="org.eclipse.equinox.p2.ui.discovery.commands.TagsParameter"
                  value="document=Documents,task=Tasks,vcs=Version Control">
            </parameter>
         </command>
         <command
               commandId="org.eclipse.equinox.p2.ui.discovery.commands.ShowRepositoryCatalog"
               label="Show Repository Catalog..."
               style="push">
            <parameter
                  name="org.eclipse.equinox.p2.ui.discovery.commands.RepositoryParameter"
                  value="http://download.eclipse.org/tools/mylyn/update/e3.4">
            </parameter>
         </command>
      </menuContribution>
   </extension>

</plugin>
