Files
SCM-Manager/docs/en/dtd/plugin/2.0.0-01.dtd
2020-05-06 12:22:42 +02:00

113 lines
2.9 KiB
XML

<?xml version='1.0' encoding='UTF-8' ?>
<!--
TODO define vocabulary identification
PUBLIC ID: -//scm-manager//plugin//EN
SYSTEM ID: https://download.scm-manager.org/dtd/plugin/2.0.0-01.dtd
-->
<!--
Plugin Descriptor
The plugin descriptor contains informations and instructions for the
scm-manager to integrate the plugin. The descriptor is located at
META-INF/scm/plugin.xml in the package of a plugin.
<?xml version="1.0"?>
<!DOCTYPE plugin SYSTEM "https://download.scm-manager.org/dtd/plugin/2.0.0-01.dtd">
<plugin>
...
</plugin>
-->
<!--- root element of the plugin descriptor -->
<!ELEMENT plugin (scm-version|information|child-first-classloader|conditions|resources|dependencies|optional-dependencies|extension|extension-point|rest-resource|subscriber)*>
<!--- major scm-manager version -->
<!ELEMENT scm-version (#PCDATA)>
<!--- contains informations of the plugin for the plugin backend -->
<!ELEMENT information (author|category|description|name|version|displayName|avatarUrl)*>
<!--- plugin author -->
<!ELEMENT author (#PCDATA)>
<!--- category of the plugin -->
<!ELEMENT category (#PCDATA)>
<!--- description of the plugin -->
<!ELEMENT description (#PCDATA)>
<!--- name of the plugin or the name of the os condition -->
<!ELEMENT name (#PCDATA)>
<!--- the current version of the plugin -->
<!ELEMENT version (#PCDATA)>
<!--- plugin displayName -->
<!ELEMENT displayName (#PCDATA)>
<!--- url of the plugin avatar -->
<!ELEMENT avatarUrl (#PCDATA)>
<!--- true if the plugin should load child classes first, the default is false -->
<!ELEMENT child-first-classloader (#PCDATA)>
<!--- plugin conditions -->
<!ELEMENT conditions (arch|min-version|os)*>
<!--- Processor architecture (x86/amd64) -->
<!ELEMENT arch (#PCDATA)>
<!--- Minimum version of SCM-Manager -->
<!ELEMENT min-version (#PCDATA)>
<!--- Operation System -->
<!ELEMENT os (name)*>
<!--- contains resources for the web interface (stylesheets and JavaScript files) -->
<!ELEMENT resources (script|stylesheet)*>
<!--- JavaScript file for the web interface -->
<!ELEMENT script (#PCDATA)>
<!--- Stylesheet for the web interface -->
<!ELEMENT stylesheet (#PCDATA)>
<!--- contains plugin dependencies -->
<!ELEMENT dependencies (dependency)*>
<!--- contains optional plugin dependencies -->
<!ELEMENT optional-dependencies (dependency)*>
<!--- single plugin dependency -->
<!ELEMENT dependency (#PCDATA)>
<!-- generated entries -->
<!--- extension -->
<!ELEMENT extension (description|class|requires)*>
<!--- requires value -->
<!ELEMENT requires (#PCDATA)>
<!--- class value -->
<!ELEMENT class (#PCDATA)>
<!--- rest resource -->
<!ELEMENT rest-resource (description|value|class)*>
<!--- generic value -->
<!ELEMENT value (#PCDATA)>
<!--- subscriber -->
<!ELEMENT subscriber (class|event|description)*>
<!--- event value -->
<!ELEMENT event (#PCDATA)>
<!--- extension point -->
<!ELEMENT extension-point (class|description)*>