# Target Location Provisioners

###### Identifier:

org.eclipse.pde.ui.targetLocationProvisioners

###### Since:

3.8

###### Description:

This extension point is used to register a target location provisioner wizard that will create new target locations. Each plug-in provisioner is listed when the user attempts to add plug-ins to a target definition from the Target Platform Preference Page or Target Editor. The selected provisioner is responsible for providing the target location or locations to add to the target definition.

Clients can provide their own target location implementations through the `org.eclipse.pde.core.targetLocations` extension point. This extension point allows custom location implementations to be added by the user. Additional UI interaction is handled using the adapter framework (see documentation on `org.eclipse.pde.core.target.ITargetDefinition`).

###### Configuration Markup:

<!ELEMENT extension (locationProvider+)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

<!ELEMENT locationProvider (description?)>

<!ATTLIST locationProvider

id CDATA #REQUIRED

name CDATA #REQUIRED

icon CDATA #IMPLIED

class CDATA #REQUIRED>

- id - a unique identifier of the provisioner
- name - human readable name of the provisioner
- icon - a relative path of an icon that will be used to visually represent the provisioner.
- class - a class that provides a wizard for the user to add content to the target. The value of this attribute is the fully qualified name of the Java class that implements `org.eclipse.pde.ui.target.ITargetLocationWizard`.

<!ELEMENT description (#PCDATA)>

human-readable description of the provisioner

###### Examples:

The following is an example of the extension point:

        <extension
             point="org.eclipse.pde.ui.targetLocationProvisioners">
          <locationProvider
                class="org.eclipse.example.exampleTargetWizard"
                icon="icons/obj16/exampleTargetLocation.png"
                id="org.eclipse.example.exampleTargetProvisioner"
                name="%targetLocationProvider.example.name"
             <description>
                %targetLocationProvider.example.description
             </description>
          </locationProvider>
       </extension>

###### API Information:

The wizard contributed by this extension point must implement `org.eclipse.pde.ui.target.ITargetLocationWizard`.

###### Supplied Implementation:

PDE supplies an internal location provisioner implementation to add plug-ins from update sites and p2 repositories. See `org.eclipse.pde.ui.shared.target.InstallableUnitWizard`.

Copyright (c) 2011, 2014 IBM Corporation 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-v20.html/ SPDX-License-Identifier: EPL-2.0.