diff options
author | Darin Swanson | 2003-01-09 23:00:03 +0000 |
---|---|---|
committer | Darin Swanson | 2003-01-09 23:00:03 +0000 |
commit | 62daa02b0f2f795fc1eff59d2c0b1ae5db375f8c (patch) | |
tree | 605b1e0648ae7da18855f1d99ea9c7d503b8ef38 | |
parent | 776c153d6ab9b46a60290acf5f4add2e3b704932 (diff) | |
download | eclipse.platform.debug-62daa02b0f2f795fc1eff59d2c0b1ae5db375f8c.tar.gz eclipse.platform.debug-62daa02b0f2f795fc1eff59d2c0b1ae5db375f8c.tar.xz eclipse.platform.debug-62daa02b0f2f795fc1eff59d2c0b1ae5db375f8c.zip |
Bug 29153 - Migrate extension point schema ownership
17 files changed, 1587 insertions, 13 deletions
diff --git a/org.eclipse.debug.core/.project b/org.eclipse.debug.core/.project index 39bc07d38..2612d6e76 100644 --- a/org.eclipse.debug.core/.project +++ b/org.eclipse.debug.core/.project @@ -14,8 +14,14 @@ <arguments> </arguments> </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> </buildSpec> <natures> <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> </natures> </projectDescription> diff --git a/org.eclipse.debug.core/build.properties b/org.eclipse.debug.core/build.properties index 2696ed9f8..7cdabb1e2 100644 --- a/org.eclipse.debug.core/build.properties +++ b/org.eclipse.debug.core/build.properties @@ -4,4 +4,4 @@ bin.includes = .options,\ *.jar,\ about.html source.dtcore.jar = core/ -src.includes=about.html +src.includes=about.html, schema/ diff --git a/org.eclipse.debug.core/plugin.xml b/org.eclipse.debug.core/plugin.xml index 6be76b718..e529f6df1 100644 --- a/org.eclipse.debug.core/plugin.xml +++ b/org.eclipse.debug.core/plugin.xml @@ -21,12 +21,12 @@ </runtime> <!-- Extension points --> -<extension-point id="launchers" name="%launcherExtensionPointName"/> -<extension-point id="breakpoints" name="%breakpointExtensionPointName"/> -<extension-point id="launchConfigurationTypes" name="%launchConfigurationTypeNameExtensionPointName"/> -<extension-point id="launchConfigurationComparators" name="%launchConfigurationComparatorsExtensionPointName"/> -<extension-point id="statusHandlers" name="%statusHandlerExtensionPointName"/> -<extension-point id="sourceLocators" name="%sourceLocatorsExtensionPointName"/> +<extension-point id="breakpoints" name="%breakpointExtensionPointName" schema= "schema/breakpoints.exsd"/> +<extension-point id="launchConfigurationComparators" name="%launchConfigurationComparatorsExtensionPointName" schema= "schema/launchConfigurationComparators.exsd"/> +<extension-point id="launchConfigurationTypes" name="%launchConfigurationTypeNameExtensionPointName" schema= "schema/launchConfigurationTypes.exsd"/> +<extension-point id="launchers" name="%launcherExtensionPointName" schema= "schema/launchers.exsd"/> +<extension-point id="sourceLocators" name="%sourceLocatorsExtensionPointName" schema= "schema/sourceLocators.exsd"/> +<extension-point id="statusHandlers" name="%statusHandlerExtensionPointName" schema= "schema/statusHandlers.exsd"/> <!-- Extensions --> <extension id="breakpointMarker" point="org.eclipse.core.resources.markers"> diff --git a/org.eclipse.debug.core/schema/breakpoints.exsd b/org.eclipse.debug.core/schema/breakpoints.exsd new file mode 100644 index 000000000..12240e87e --- /dev/null +++ b/org.eclipse.debug.core/schema/breakpoints.exsd @@ -0,0 +1,122 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.debug.core"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.debug.core" id="breakpoints" name="Breakpoints"/> + </appInfo> + <documentation> + This extension point defines a mechanism for defining new types of breakpoints. + </documentation> +</annotation> + + <element name="extension"> + <complexType> + <sequence> + <element ref="breakpoint" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <element name="breakpoint"> + <complexType> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + specifies a unique identifier for this breakpoint type. + </documentation> + </annotation> + </attribute> + <attribute name="markerType" type="string" use="required"> + <annotation> + <documentation> + specifies the fully qualified identifier (id) of the corresponding marker definition for breakpoints of this type. + </documentation> + </annotation> + </attribute> + <attribute name="class" type="string" use="required"> + <annotation> + <documentation> + specifies the fully qualified name of the java class that implements <samp>IBreakpoint</samp>. + </documentation> + <appInfo> + <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.Breakpoint"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="examples"/> + </appInfo> + <documentation> + The following is an example of a launch configuration type extension point: + +<p> +<pre> + <extension point="org.eclipse.debug.core.breakpoint"> + <breakpoint + id="com.example.ExampleBreakpoint" + markerType="com.example.ExampleBreakpointMarker" + class="com.example.ExampleBreakpointImpl"> + </breakpoint> + </extension> +</pre> +</p> + +In the example above, the specified type of breakpoint is implemented by the class "com.example.BreakpointImpl". +There is an associated marker definition for "com.example.ExampleBreakpointMarker", defining the attributes of this breakpoint. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="apiInfo"/> + </appInfo> + <documentation> + Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.debug.core.model.IBreakpoint</b>. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="implementation"/> + </appInfo> + <documentation> + [Enter information about supplied implementation of this extension point.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="copyright"/> + </appInfo> + <documentation> + + </documentation> + </annotation> + +</schema> diff --git a/org.eclipse.debug.core/schema/launchConfigurationComparators.exsd b/org.eclipse.debug.core/schema/launchConfigurationComparators.exsd new file mode 100644 index 000000000..b77afbc43 --- /dev/null +++ b/org.eclipse.debug.core/schema/launchConfigurationComparators.exsd @@ -0,0 +1,124 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.debug.core"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.debug.core" id="launchConfigurationComparators" name="Launch Configuration Comparators"/> + </appInfo> + <documentation> + This extension point provides a configurable mechanism for comparing specific attributes of a launch configuration. +In general, launch configuration attributes can be compared for equality via the default implementation of <samp>java.lang.Object.equals(Object)</samp>. +However, attributes that require special handling should implement this extension point. +For example, when an attribute is stored as XML, it is possible that two strings representing an equivalent attribute have different whitespace formatting. + </documentation> +</annotation> + + <element name="extension"> + <complexType> + <sequence> + <element ref="launchConfigurationComparator" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <element name="launchConfigurationComparator"> + <complexType> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + specifies a unique identifier for this extension. + </documentation> + </annotation> + </attribute> + <attribute name="attribute" type="string" use="required"> + <annotation> + <documentation> + specifies the launch configuration attribute name that this comparator compares. + </documentation> + </annotation> + </attribute> + <attribute name="class" type="string" use="required"> + <annotation> + <documentation> + specifies a fully-qualified name of a class that implements <samp>java.util.Comparator</samp>. + </documentation> + <appInfo> + <meta.attribute kind="java" basedOn="java.util.Comparator"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="examples"/> + </appInfo> + <documentation> + The following is an example of a launch configuration comparator extension point: + +<p> +<pre> + <extension point="org.eclipse.debug.core.launchConfigurationComparators"> + <launchConfigurationComparator + id="com.example.ExampleIdentifier" + attribute="com.example.ExampleAttributeName" + class="com.example.ComparatorImplementation"> + </launchConfigurationComparator> + </extension> +</pre> +</p> + +In the example above, the specified type of launch configuration comparator will be consulted when comparing the equality of attributes keyed with name <samp>com.example.ExampleAttributeName</samp>. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="apiInfo"/> + </appInfo> + <documentation> + Value of the attribute <b>class</b> must be a fully-qualified name of a Java class that implements the interface <b>java.util.Comparator</b>. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="implementation"/> + </appInfo> + <documentation> + [Enter information about supplied implementation of this extension point.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="copyright"/> + </appInfo> + <documentation> + + </documentation> + </annotation> + +</schema> diff --git a/org.eclipse.debug.core/schema/launchConfigurationTypes.exsd b/org.eclipse.debug.core/schema/launchConfigurationTypes.exsd new file mode 100644 index 000000000..665bed32e --- /dev/null +++ b/org.eclipse.debug.core/schema/launchConfigurationTypes.exsd @@ -0,0 +1,170 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.debug.core"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.debug.core" id="launchConfigurationTypes" name="Launch Configuration Types"/> + </appInfo> + <documentation> + This extension point provides a configurable mechanism for launching applications. +Each launch configuration type has a name, supports one or more modes (run and/or debug), and specifies a delegate +responsible for the implementation of launching an application. + </documentation> +</annotation> + + <element name="extension"> + <complexType> + <sequence> + <element ref="launchConfigurationType" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <element name="launchConfigurationType"> + <annotation> + <appInfo> + <meta.element labelAttribute="name"/> + </appInfo> + </annotation> + <complexType> + <sequence> + <element ref="fileExtension" minOccurs="1" maxOccurs="unbounded"/> + </sequence> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + specifies a unique identifier for this launch configuration type. + </documentation> + </annotation> + </attribute> + <attribute name="delegate" type="string" use="required"> + <annotation> + <documentation> + specifies the fully qualified name of the Java class that implements <samp>ILaunchConfigurationDelegate</samp>. +Launch configuration instances of this type will delegate to instances of this class to perform launching. + </documentation> + <appInfo> + <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.ILaunchConfigurationDelegate"/> + </appInfo> + </annotation> + </attribute> + <attribute name="modes" type="string" use="required"> + <annotation> + <documentation> + specifies a comma-separated list of the modes this type of lauch configuration supports - "run" and/or "debug". + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string" use="required"> + <annotation> + <documentation> + specifies a human-readable name for this type of launch configuration. + </documentation> + </annotation> + </attribute> + <attribute name="public" type="boolean"> + <annotation> + <documentation> + specifies whether this launch configuration type is accessible by users. Defaults to true if not specified. + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <element name="fileExtension"> + <complexType> + <attribute name="extension" type="string" use="required"> + <annotation> + <documentation> + specifies a file extension that this launch configuration type +can be used for. + </documentation> + </annotation> + </attribute> + <attribute name="default" type="boolean"> + <annotation> + <documentation> + specifies whether this launch configuration type should be the default launch configuration type for the specified file extension. Defaults to false if not specified. + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="examples"/> + </appInfo> + <documentation> + The following is an example of a launch configuration type extension point: + +<p> +<pre> + <extension point="org.eclipse.debug.core.launchConfigurationTypes"> + <launchConfigurationType + id="com.example.ExampleIdentifier" + delegate="com.example.ExampleLaunchConfigurationDelegate" + modes="run,debug" + name="Example Application"> + <fileExtension extension="txt" default="true"/> + <fileExtension extension="gif" default="false"/> + </launchConfigurationType> + </extension> +</pre> +</p> + +In the example above, the specified type of launch configuration supports both run and debug modes. +The launch configuration is applicable to .txt and .gif files, and is the default launch configuration for .txt files. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="apiInfo"/> + </appInfo> + <documentation> + Value of the attribute <b>delegate</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.debug.core.model.ILaunchConfigurationDelegate</b>. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="implementation"/> + </appInfo> + <documentation> + [Enter information about supplied implementation of this extension point.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="copyright"/> + </appInfo> + <documentation> + + </documentation> + </annotation> + +</schema> diff --git a/org.eclipse.debug.core/schema/launchers.exsd b/org.eclipse.debug.core/schema/launchers.exsd new file mode 100644 index 000000000..69bc6bb64 --- /dev/null +++ b/org.eclipse.debug.core/schema/launchers.exsd @@ -0,0 +1,215 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.debug.core"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.debug.core" id="launchers" name="Launcher"/> + </appInfo> + <documentation> + This extension point allows tools to contribute launchers. +A launcher is responsible for initiating a debug session +or running a program and registering the result with the +launch manager. + </documentation> +</annotation> + + <element name="extension"> + <complexType> + <sequence> + <element ref="launcher" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <element name="launcher"> + <annotation> + <appInfo> + <meta.element labelAttribute="label" iconName="icon"/> + </appInfo> + </annotation> + <complexType> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + a unique identifier that can be used to reference +this launcher. + </documentation> + </annotation> + </attribute> + <attribute name="class" type="string" use="required"> + <annotation> + <documentation> + fully qualified name of the class that implements +<samp>org.eclipse.debug.core.model.ILauncherDelegate</samp>. + </documentation> + <appInfo> + <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.ILauncherDelegate"/> + </appInfo> + </annotation> + </attribute> + <attribute name="modes" type="string" use="required"> + <annotation> + <documentation> + A comma separated list of modes this launcher supports. +The two supported modes are "run" and "debug" - +as defined in <samp>org.eclipse.debug.core.ILaunchManager</samp>. +A launcher may be capable of launching in one or both modes. + </documentation> + </annotation> + </attribute> + <attribute name="label" type="string" use="required"> + <annotation> + <documentation> + a label to use for the launcher. This attribute is used by the debug UI. + </documentation> + </annotation> + </attribute> + <attribute name="wizard" type="string"> + <annotation> + <documentation> + fully qualified name of the class that implements +<samp>org.eclipse.debug.ui.ILaunchWizard</samp>. +This attribute is used by the debug UI. A launcher +may contribute a wizard that allows users to configure +and launch specific attributes. + </documentation> + <appInfo> + <meta.attribute kind="java" basedOn="org.eclipse.jface.wizard.Wizard:org.eclipse.debug.ui.ILaunchWizard"/> + </appInfo> + </annotation> + </attribute> + <attribute name="public" type="boolean"> + <annotation> + <documentation> + whether a launcher is publically visible in the debug UI. +If "true", the launcher will be available from the +debug UI - the launcher will appear as a choice +for a default launcher, launches created by this +launcher will appear in the launch history, and the +launcher will be available from the drop-down run/debug +toolbar actions. + </documentation> + </annotation> + </attribute> + <attribute name="description" type="string"> + <annotation> + <documentation> + a description of the launcher. Currently only used +if the wizard attribute is specified. + </documentation> + </annotation> + </attribute> + <attribute name="perspective" type="string"> + <annotation> + <documentation> + the identifier of the perspective that will be switched +to on a successful launch. Default value is the +identifier for the debug perspective. This attribute +is used by the debug UI. + </documentation> + </annotation> + </attribute> + <attribute name="icon" type="string"> + <annotation> + <documentation> + a relative path of an icon that will represent the launcher +in the UI if specified. + </documentation> + <appInfo> + <meta.attribute kind="resource"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="examples"/> + </appInfo> + <documentation> + The following is an example of a launcher extension point: +<p> +<pre> + <extension + point = "org.eclipse.debug.core.launchers"> + <launcher + id = "com.example.ExampleLauncher" + class = "com.example.launchers.ExampleLauncher" + modes = "run, debug" + label = "Example Launcher" + wizard = "com.example.launchers.ui.ExampleLaunchWizard" + public = "true" + description = "Launches example programs" + perspective= "com.example.JavaPerspective"> + </launcher> + </extension> +</pre> +</p> +In the example above, the specified launcher supports +both run and debug modes. Following a successful launch, +the debug UI will change to the Java perspective. When +the debug UI presents the user with a list of launchers +to choose from, "Example Launcher" will appear as one of +the choices with the "Launches example programs" as the +description, and the wizard specified by +<samp>com.example.launchers.ui.ExampleLaunchWizard</samp> +will be used to configure any launch specific details. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="apiInfo"/> + </appInfo> + <documentation> + Value of the attribute <samp>class</samp> must be a fully +qualified class name of a Java class that implements +the interface +<samp>org.eclipse.debug.core.ILauncherDelegate</samp>. +Value of the attribute <samp>wizard</samp> must be a +fully qualified class name of a Java class that +implements <samp>org.eclipse.debug.ui.ILaunchWizard</samp>. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="implementation"/> + </appInfo> + <documentation> + + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="copyright"/> + </appInfo> + <documentation> + + </documentation> + </annotation> + +</schema> diff --git a/org.eclipse.debug.core/schema/sourceLocators.exsd b/org.eclipse.debug.core/schema/sourceLocators.exsd new file mode 100644 index 000000000..dbdaf65f4 --- /dev/null +++ b/org.eclipse.debug.core/schema/sourceLocators.exsd @@ -0,0 +1,124 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.debug.core"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.debug.core" id="sourceLocators" name="Source Locators"/> + </appInfo> + <documentation> + This extension point provides a mechanism specifying a source locator to be used with a launch configuration. + </documentation> +</annotation> + + <element name="extension"> + <complexType> + <sequence> + <element ref="sourceLocator" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <element name="sourceLocator"> + <annotation> + <appInfo> + <meta.element labelAttribute="name"/> + </appInfo> + </annotation> + <complexType> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + specifies a unique identifier for this source locator. + </documentation> + </annotation> + </attribute> + <attribute name="class" type="string" use="required"> + <annotation> + <documentation> + specifies the fully qualified name of the Java class that implements IPersistableSourceLocator. + </documentation> + <appInfo> + <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.IPersistableSourceLocator"/> + </appInfo> + </annotation> + </attribute> + <attribute name="name" type="string" use="required"> + <annotation> + <documentation> + a human-readable name, describing the type of this source locator. + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="examples"/> + </appInfo> + <documentation> + The following is an example of a source locator extension point: + +<p> +<pre> + <extension point="org.eclipse.debug.core.sourceLocators"> + <sourceLocator + id="com.example.ExampleIdentifier" + class="com.example.ExampleSourceLocator" + name="Example Source Locator"> + </sourceLocator> + </extension> +</pre> +</p> + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="apiInfo"/> + </appInfo> + <documentation> + Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.debug.core.model.IPersistableSourceLocator</b>. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="implementation"/> + </appInfo> + <documentation> + [Enter information about supplied implementation of this extension point.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="copyright"/> + </appInfo> + <documentation> + + </documentation> + </annotation> + +</schema> diff --git a/org.eclipse.debug.core/schema/statusHandlers.exsd b/org.eclipse.debug.core/schema/statusHandlers.exsd new file mode 100644 index 000000000..94558fc43 --- /dev/null +++ b/org.eclipse.debug.core/schema/statusHandlers.exsd @@ -0,0 +1,132 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.debug.core"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.debug.core" id="statusHandlers" name="Status Handlers"/> + </appInfo> + <documentation> + This extension point provides a mechanism for separating the generation and resolution of an error. +The interaction between the source of the error and the resolution is client-defined. +It is a client responsibility to look up and delegate to status handlers when an error condition occurs. + </documentation> +</annotation> + + <element name="extension"> + <complexType> + <sequence> + <element ref="statusHandler" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <element name="statusHandler"> + <complexType> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + specifies a unique identifier for this status handler. + </documentation> + </annotation> + </attribute> + <attribute name="class" type="string" use="required"> + <annotation> + <documentation> + specifies the fully qualified name of the Java class that implements IStatusHandler. + </documentation> + <appInfo> + <meta.attribute kind="java" basedOn="org.eclipse.debug.core.IStatusHandler"/> + </appInfo> + </annotation> + </attribute> + <attribute name="plugin" type="string" use="required"> + <annotation> + <documentation> + Plug-in identifier that corresponds to the plug-in of the status this handler is registered for. (i.e. IStatus.getPlugin()). + </documentation> + </annotation> + </attribute> + <attribute name="code" type="string" use="required"> + <annotation> + <documentation> + specifies the status code this handler is registered for. + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="examples"/> + </appInfo> + <documentation> + The following is an example of a status handler extension point: + +<p> +<pre> + <extension point="org.eclipse.debug.core.statusHandlers"> + <statusHandler + id="com.example.ExampleIdentifier" + class="com.example.ExampleStatusHandler" + plugin="com.example.ExamplePluginId" + code="123"> + </statusHandler> + </extension> +</pre> +</p> + +In the example above, the specified status handler will be registered for to handle status objects with a plug-in identifier of +<samp>com.example.ExamplePluginId</samp> and a status code of <samp>123</samp>. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="apiInfo"/> + </appInfo> + <documentation> + Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interfact <b>org.eclipse.debug.core.IStatusHandler</b>. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="implementation"/> + </appInfo> + <documentation> + [Enter information about supplied implementation of this extension point.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="copyright"/> + </appInfo> + <documentation> + + </documentation> + </annotation> + +</schema> diff --git a/org.eclipse.debug.ui/.project b/org.eclipse.debug.ui/.project index 05c20cbbc..976484b4a 100644 --- a/org.eclipse.debug.ui/.project +++ b/org.eclipse.debug.ui/.project @@ -16,8 +16,14 @@ <arguments> </arguments> </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> </buildSpec> <natures> <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> </natures> </projectDescription> diff --git a/org.eclipse.debug.ui/build.properties b/org.eclipse.debug.ui/build.properties index 8a1b9051f..cf9da54f2 100644 --- a/org.eclipse.debug.ui/build.properties +++ b/org.eclipse.debug.ui/build.properties @@ -6,4 +6,4 @@ bin.includes = icons/,\ about.html source.dtui.jar = ui/ -src.includes=about.html +src.includes=about.html, schema/ diff --git a/org.eclipse.debug.ui/plugin.xml b/org.eclipse.debug.ui/plugin.xml index 51837dd79..af99ada0c 100644 --- a/org.eclipse.debug.ui/plugin.xml +++ b/org.eclipse.debug.ui/plugin.xml @@ -23,14 +23,14 @@ </runtime> <!-- Extension points --> -<extension-point id="debugModelPresentations" name="%DebugModelPresentationExtensionName"/> -<extension-point id="launchShortcuts" name="%LaunchShortcutsName"/> -<extension-point id="launchConfigurationTabGroups" name="%LaunchConfigurationTabGroupExtensionName"/> -<extension-point id="launchConfigurationTypeImages" name="%LaunchConfigurationTypeImageExtensionName"/> -<extension-point id="debugActionGroups" name="%DebugActionGroupsExtensionName"/> <extension-point id="consoleColorProviders" name="%ConsoleColorProvidersExtensionName"/> <extension-point id="consoleLineTrackers" name="%ConsoleLineTrackersExtensionName"/> +<extension-point id="debugActionGroups" name="%DebugActionGroupsExtensionName" schema= "schema/debugActionGroups.exsd"/> +<extension-point id="debugModelPresentations" name="%DebugModelPresentationExtensionName" schema= "schema/debugModelPresentations.exsd"/> +<extension-point id="launchConfigurationTabGroups" name="%LaunchConfigurationTabGroupExtensionName" schema= "schema/launchConfigurationTabGroups.exsd"/> +<extension-point id="launchConfigurationTypeImages" name="%LaunchConfigurationTypeImageExtensionName" schema= "schema/launchConfigurationTypeImages.exsd"/> <extension-point id="launchGroups" name="%LaunchGroupsExtensionName"/> +<extension-point id="launchShortcuts" name="%LaunchShortcutsName" schema= "schema/launchShortcuts.exsd"/> <!-- Extensions --> <extension diff --git a/org.eclipse.debug.ui/schema/debugActionGroups.exsd b/org.eclipse.debug.ui/schema/debugActionGroups.exsd new file mode 100644 index 000000000..15afca1d5 --- /dev/null +++ b/org.eclipse.debug.ui/schema/debugActionGroups.exsd @@ -0,0 +1,142 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.debug.ui"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.debug.ui" id="debugActionGroups" name="Debug Action Groups"/> + </appInfo> + <documentation> + This extension point provides a mechanism to specify the visibility of action groups. +Any view that returns an instance of IDebugView when queried with #getAdapter(IDebugView.class) will have its context menu +and toolbar affected by the visibility of the action groups. + </documentation> +</annotation> + + <element name="extension"> + <complexType> + <sequence> + <element ref="debugActionGroup" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <element name="debugActionGroup"> + <annotation> + <appInfo> + <meta.element labelAttribute="name"/> + </appInfo> + </annotation> + <complexType> + <sequence> + <element ref="action" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + specifies a unique identifier for this debug action group. + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string" use="required"> + <annotation> + <documentation> + a translatable name that will be used for the debug action group label. + </documentation> + </annotation> + </attribute> + <attribute name="visible" type="boolean"> + <annotation> + <documentation> + an optional attribute indicating the visibility of the group. If omitted, the group is set to be visible. + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <element name="action"> + <complexType> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + the unique identifier of an action that will be added to the debug action group. + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="examples"/> + </appInfo> + <documentation> + The following is an example of a debug action group extension point. In all debug views (views that return +an instance of IDebugView when queried with #getAdapter(IDebugView.class)), the actions listed will not +be visible in the toolbar or context menu of the view. + +<p> +<pre> + <extension point="org.eclipse.debug.ui.debugActionGroups"> + <debugActionGroup + id="org.eclipse.jdt.debug.ui.javaDebugActionGroup" + visible="false" + name="Java Debug"> + <action id="org.eclipse.jdt.ui.actions.RunToLineToolbar"/> + <action id="org.eclipse.jdt.ui.breakpointViewActions.ShowQualified"/> + </debugActionGroup> + </extension> +</pre> +</p> + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="apiInfo"/> + </appInfo> + <documentation> + [Enter API information here.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="implementation"/> + </appInfo> + <documentation> + [Enter information about supplied implementation of this extension point.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="copyright"/> + </appInfo> + <documentation> + + </documentation> + </annotation> + +</schema> diff --git a/org.eclipse.debug.ui/schema/debugModelPresentations.exsd b/org.eclipse.debug.ui/schema/debugModelPresentations.exsd new file mode 100644 index 000000000..8e88595bf --- /dev/null +++ b/org.eclipse.debug.ui/schema/debugModelPresentations.exsd @@ -0,0 +1,124 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.debug.ui"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.debug.ui" id="debugModelPresentations" name="Debug Model Presentation"/> + </appInfo> + <documentation> + This extension point allows tools to handle the +presentation aspects of a debug model. +A debug model presentation is responsible for +providing labels, images, and editors for elements +in a specific debug model. + </documentation> +</annotation> + + <element name="extension"> + <complexType> + <sequence> + <element ref="debugModelPresentation" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <element name="debugModelPresentation"> + <complexType> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + the identifier of the debug model this presentation is responsible for + </documentation> + </annotation> + </attribute> + <attribute name="class" type="string" use="required"> + <annotation> + <documentation> + fully qualifed name of a Java class that implements the +<samp>org.eclipse.debug.ui.IDebugModelPresentation</samp> +interface. + </documentation> + <appInfo> + <meta.attribute kind="java" basedOn="org.eclipse.debug.ui.IDebugModelPresentation"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="examples"/> + </appInfo> + <documentation> + The following is an example of a view filter extension point: + +<p> +<pre> + <extension point = "org.eclipse.debug.ui.debugModelPresentations"> + <debugModelPresentation + class = "com.example.JavaModelPresentation" + id = "com.example.JavaDebugModel" + </debugModelPresentation> + </extension> +</pre> +</p> +In the example above, the class +<samp>com.example.JavaModelPresentation</samp> will be +used to render and present debug elements originating +from the debug model identified by +<samp>com.example.JavaDebugModel</samp>. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="apiInfo"/> + </appInfo> + <documentation> + Value of the action attribute <samp>class</samp> must be a fully +qualified class name of a Java class that implements +<samp>org.eclipse.debug.ui.IDebugModelPresentation</samp>. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="implementation"/> + </appInfo> + <documentation> + + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="copyright"/> + </appInfo> + <documentation> + + </documentation> + </annotation> + +</schema> diff --git a/org.eclipse.debug.ui/schema/launchConfigurationTabGroups.exsd b/org.eclipse.debug.ui/schema/launchConfigurationTabGroups.exsd new file mode 100644 index 000000000..9e18f47f2 --- /dev/null +++ b/org.eclipse.debug.ui/schema/launchConfigurationTabGroups.exsd @@ -0,0 +1,125 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.debug.ui"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.debug.ui" id="launchConfigurationTabGroups" name="Launch Configuration Tab Groups"/> + </appInfo> + <documentation> + This extension point provides a mechanism for contributing a group of tabls to the launch configuration +dialog for a type of launch configuration. + </documentation> +</annotation> + + <element name="extension"> + <complexType> + <sequence> + <element ref="launchConfigurationTabGroup" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <element name="launchConfigurationTabGroup"> + <complexType> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + specifies a unique identifier for this launch configuration tab group. + </documentation> + </annotation> + </attribute> + <attribute name="type" type="string" use="required"> + <annotation> + <documentation> + specifies a launch configuration type that this tab group is applicable to (corresponds to the id of a +launch configuration type extension). + </documentation> + </annotation> + </attribute> + <attribute name="class" type="string" use="required"> + <annotation> + <documentation> + specifies a fully qualified name of a Java class that implements <samp>ILaunchConfigurationTabGroup</samp>. + </documentation> + <appInfo> + <meta.attribute kind="java" basedOn="org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="examples"/> + </appInfo> + <documentation> + The following is an example of a launch configuration tab group extension point: + +<p> +<pre> + <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups"> + <launchConfigurationTabGroup + id="com.example.ExampleTabGroup" + type="com.example.ExampleLaunchConfigurationTypeIdentifier" + class="com.example.ExampleLaunchConfigurationTabGroupClass"> + </launchConfigurationTabGroup> + </extension> +</pre> +</p> + +In the above example, the contributed tab group will be shown for the launch configuration type with +identifier <samp>com.example.ExampleLaunchConfigurationTypeIdentifier</samp>. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="apiInfo"/> + </appInfo> + <documentation> + Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the +interface <b>org.eclipse.debug.ui.ILaunchConfigurationTabGroup</b>. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="implementation"/> + </appInfo> + <documentation> + [Enter information about supplied implementation of this extension point.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="copyright"/> + </appInfo> + <documentation> + + </documentation> + </annotation> + +</schema> diff --git a/org.eclipse.debug.ui/schema/launchConfigurationTypeImages.exsd b/org.eclipse.debug.ui/schema/launchConfigurationTypeImages.exsd new file mode 100644 index 000000000..cb1e73ef1 --- /dev/null +++ b/org.eclipse.debug.ui/schema/launchConfigurationTypeImages.exsd @@ -0,0 +1,119 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.debug.ui"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.debug.ui" id="launchConfigurationTypeImages" name="Launch Configuration Type Images"/> + </appInfo> + <documentation> + This extension point provides a way to associate an image with a launch configuration type. + </documentation> +</annotation> + + <element name="extension"> + <complexType> + <sequence> + <element ref="launchConfigurationTypeImage" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <element name="launchConfigurationTypeImage"> + <complexType> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + specifies a unique identifier for this launch configuration type image. + </documentation> + </annotation> + </attribute> + <attribute name="configTypeID" type="string" use="required"> + <annotation> + <documentation> + specifies the fully qualified ID of a launch configuration type. + </documentation> + </annotation> + </attribute> + <attribute name="icon" type="string" use="required"> + <annotation> + <documentation> + specifies the plugin-relative path of an image file. + </documentation> + <appInfo> + <meta.attribute kind="resource"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="examples"/> + </appInfo> + <documentation> + The following is an example of a launch configuration type image extension point: + +<p> +<pre> + <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages"> + <launchConfigurationTypeImage + id="com.example.FirstLaunchConfigurationTypeImage" + configTypeID="com.example.FirstLaunchConfigurationType" + icon="icons/FirstLaunchConfigurationType.gif"> + </launchConfigurationTypeImage> + </extension> +</pre> +</p> + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="apiInfo"/> + </appInfo> + <documentation> + [Enter API information here.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="implementation"/> + </appInfo> + <documentation> + [Enter information about supplied implementation of this extension point.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="copyright"/> + </appInfo> + <documentation> + + </documentation> + </annotation> + +</schema> diff --git a/org.eclipse.debug.ui/schema/launchShortcuts.exsd b/org.eclipse.debug.ui/schema/launchShortcuts.exsd new file mode 100644 index 000000000..8ab3d5758 --- /dev/null +++ b/org.eclipse.debug.ui/schema/launchShortcuts.exsd @@ -0,0 +1,165 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.debug.ui"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.debug.ui" id="launchShortcuts" name="Launch Shortcuts"/> + </appInfo> + <documentation> + This extension point provides support for selective sensitive launching. Extensions register a shortcut which +appears in the run and/or debug cascade menus to launch the workbench selection or active editor. + </documentation> +</annotation> + + <element name="extension"> + <complexType> + <sequence> + <element ref="shortcut" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <element name="shortcut"> + <annotation> + <appInfo> + <meta.element labelAttribute="label"/> + </appInfo> + </annotation> + <complexType> + <sequence> + <element ref="perspective" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + specifies a unique identifier for this launch shortcut. + </documentation> + </annotation> + </attribute> + <attribute name="modes" type="string" use="required"> + <annotation> + <documentation> + specifies a comma-separated list of modes this shortcut supports. + </documentation> + </annotation> + </attribute> + <attribute name="class" type="string" use="required"> + <annotation> + <documentation> + specifies the fully qualified name of a class which implements +<samp>org.eclipse.debug.ui.ILaunchShortcut</samp>. + </documentation> + <appInfo> + <meta.attribute kind="java" basedOn="org.eclipse.debug.ui.ILaunchShortcut"/> + </appInfo> + </annotation> + </attribute> + <attribute name="label" type="string" use="required"> + <annotation> + <documentation> + specifies a label used to render this shortcut. + </documentation> + </annotation> + </attribute> + <attribute name="icon" type="string" use="required"> + <annotation> + <documentation> + specifies a plugin-relative path to an image used to render this shortcut. + </documentation> + <appInfo> + <meta.attribute kind="resource"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <element name="perspective"> + <complexType> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + the unique identifier of a perspective in which a menu shortcut for this launch shortcut will appear. + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="examples"/> + </appInfo> + <documentation> + The following is an example of a launch shortcut extension point: + +<p> +<pre> + <extension point="org.eclipse.debug.ui.launchShortcuts"> + <shortcut + id="com.example.ExampleLaunchShortcutId" + modes="run,debug" + class="com.example.ExampleLaunchShortcutImpl" + label="Example Launch Shortcut" + icon="icons/examples.gif"> + <perspective id="org.eclipse.jdt.ui.JavaPerspective"/> + <perspective id="org.eclipse.debug.ui.DebugPerspective"/> + </shortcut> + </extension> +</pre> +</p> + +In the above example, a launch shortcut will be shown in the run and debug cascade menus with the label +"Example Launch Shortcut", in the JavaPerspective and the DebugPerspective. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="apiInfo"/> + </appInfo> + <documentation> + [Enter API information here.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="implementation"/> + </appInfo> + <documentation> + [Enter information about supplied implementation of this extension point.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="copyright"/> + </appInfo> + <documentation> + + </documentation> + </annotation> + +</schema> |