Maven Plugins Provider Extension Point

org.mevenide.ui.preference

0.2.1

This extension allows Maven plugin provider to add Preferences Page under Maven Preference Node in a strictly declarative way.

<!ELEMENT extension (plugin-provider+)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #REQUIRED

name  CDATA #REQUIRED>


<!ELEMENT plugin-provider (description? , (category+))>

<!ATTLIST plugin-provider

name CDATA #REQUIRED

id   CDATA #REQUIRED>

aggregates specific properties used in the context of a maven plugin.



<!ELEMENT description (#CDATA)>

an optional description of the Maven plugin.



<!ELEMENT property EMPTY>

<!ATTLIST property

name        CDATA #REQUIRED

default     CDATA #IMPLIED

label       CDATA #IMPLIED

required    (true | false)

description CDATA #REQUIRED>

defines a new specific property used by the maven plugin. No validator can be specified yet, but it is definitively on the TODO list.



<!ELEMENT category (property+)>

<!ATTLIST category

name CDATA #REQUIRED>

allows to categorize plugin properties. It is especially useful for plugins that expose quite a number of properties (as does the Maven PDE plugin).



<!-- declare the preference page of type org.mevenide.ui.eclipse.preferences.dynamic.DynamicPreferencePage -->

<extension point=

"org.eclipse.ui.preferencePages"

>

<page category=

"org.mevenide.ui.eclipse.preferences.PluginsRoot"

name=

"PDE Plugin"

class=

"org.mevenide.ui.eclipse.preferences.dynamic.DynamicPreferencePage"

id=

"PDE Plugin "

/>

</extension>

<!-- declare maven plugin properties. name attribute must match the name attribute of the associated preference page -->

<extension point=

"org.mevenide.ui.preference"

>

<plugin-provider id=

"maven-eclipse-plugin-plugin"

name=

"PDE Plugin"

>

<description>

%Plugin.Description

</description>

<category name=

"Build"

>

<property name=

"maven.eclipse.plugin.mode"

label=

"Build Mode"

default=

"bundle"

required=

"false"

description=

"%BuildMode.Description"

/>

<property name=

"maven.eclipse.plugin.dist.dir"

label=

"Distribution Directory"

default=

"${maven.build.dir}/eclipse/dist"

required=

"true"

description=

"%DistDirectory.Description"

/>

</category>

</plugin-provider>

</extension>

Theres no available API for now, so Providers dont have to provide any code for now. In the fututre it will be possible for them to provide validators.