<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->
<pluginMetadata>
  <mojos>
    <mojo>
      <goal>installComponent</goal>
      <call>installComponent</call>      
      <requiresProject>true</requiresProject>      
      <description>
        Installs a JBI component to a server
      </description>
      <parameters>          
        <parameter>
          <name>installerFile</name> 
          <property>installerFile</property>
          <required>true</required>
          <readonly>false</readonly>
          <defaultValue>${project.build.directory}/${project.artifactId}-${project.version}-installer.zip</defaultValue>
          <type>java.lang.String</type>
          <description>The location of the component installer file</description>
        </parameter>
        <parameter>
          <name>serverProtocol</name> 
          <property>serverProtocol</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>rmi</defaultValue>
          <type>java.lang.String</type>
          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
        </parameter>
        <parameter>
          <name>host</name> 
          <property>host</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>localhost</defaultValue>
          <type>java.lang.String</type>
          <description>The hostname of the naming server</description>
        </parameter>
        <parameter>
          <name>containerName</name> 
          <property>containerName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>ServiceMix</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the ServiceMix JBI Container to connect to</description>
        </parameter>
        <parameter>
          <name>jmxDomainName</name> 
          <property>jmxDomainName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>org.apache.servicemix</defaultValue>
          <type>java.lang.String</type>
          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
        </parameter>
        <parameter>
          <name>port</name> 
          <property>port</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>1099</defaultValue>
          <type>java.lang.String</type>
          <description>The port the naming server listens for connections on</description>
        </parameter>
        <parameter>
          <name>jndiPath</name> 
          <property>jndiPath</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>/jmxrmi</defaultValue>
          <type>java.lang.String</type>
          <description>The path in the naming server to retrieve the JMX Connection</description>
        </parameter>
        <parameter>
          <name>username</name> 
          <property>username</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The user name for the JMXConnection</description>
        </parameter>
        <parameter>
          <name>password</name> 
          <property>password</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The password for the JMXConnection</description>
        </parameter>
      </parameters>
    </mojo>
    <mojo>
      <goal>uninstallComponent</goal>
      <call>uninstallComponent</call>      
      <requiresProject>true</requiresProject>      
      <description>
        Uninstalled a JBI component from the server
      </description>
      <parameters>          
        <parameter>
          <name>componentName</name> 
          <property>componentName</property>
          <required>true</required>
          <readonly>false</readonly>
          <defaultValue>${project.artifactId}</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the Component to uninstall</description>
        </parameter>
        <parameter>
          <name>serverProtocol</name> 
          <property>serverProtocol</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>rmi</defaultValue>
          <type>java.lang.String</type>
          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
        </parameter>
        <parameter>
          <name>host</name> 
          <property>host</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>localhost</defaultValue>
          <type>java.lang.String</type>
          <description>The hostname of the naming server</description>
        </parameter>
        <parameter>
          <name>containerName</name> 
          <property>containerName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>ServiceMix</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the ServiceMix JBI Container to connect to</description>
        </parameter>
        <parameter>
          <name>jmxDomainName</name> 
          <property>jmxDomainName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>org.apache.servicemix</defaultValue>
          <type>java.lang.String</type>
          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
        </parameter>
        <parameter>
          <name>port</name> 
          <property>port</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>1099</defaultValue>
          <type>java.lang.String</type>
          <description>The port the naming server listens for connections on</description>
        </parameter>
        <parameter>
          <name>jndiPath</name> 
          <property>jndiPath</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>/jmxrmi</defaultValue>
          <type>java.lang.String</type>
          <description>The path in the naming server to retrieve the JMX Connection</description>
        </parameter>
        <parameter>
          <name>username</name> 
          <property>username</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The user name for the JMXConnection</description>
        </parameter>
        <parameter>
          <name>password</name> 
          <property>password</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The password for the JMXConnection</description>
        </parameter>
      </parameters>
    </mojo>
    <mojo>
      <goal>stopComponent</goal>
      <call>stopComponent</call>      
      <requiresProject>true</requiresProject>      
      <description>
        Stops a JBI component on the server
      </description>
      <parameters>          
        <parameter>
          <name>componentName</name> 
          <property>componentName</property>
          <required>true</required>
          <readonly>false</readonly>
          <defaultValue>${project.artifactId}</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the Component to uninstall</description>
        </parameter>
        <parameter>
          <name>serverProtocol</name> 
          <property>serverProtocol</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>rmi</defaultValue>
          <type>java.lang.String</type>
          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
        </parameter>
        <parameter>
          <name>host</name> 
          <property>host</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>localhost</defaultValue>
          <type>java.lang.String</type>
          <description>The hostname of the naming server</description>
        </parameter>
        <parameter>
          <name>containerName</name> 
          <property>containerName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>ServiceMix</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the ServiceMix JBI Container to connect to</description>
        </parameter>
        <parameter>
          <name>jmxDomainName</name> 
          <property>jmxDomainName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>org.apache.servicemix</defaultValue>
          <type>java.lang.String</type>
          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
        </parameter>
        <parameter>
          <name>port</name> 
          <property>port</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>1099</defaultValue>
          <type>java.lang.String</type>
          <description>The port the naming server listens for connections on</description>
        </parameter>
        <parameter>
          <name>jndiPath</name> 
          <property>jndiPath</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>/jmxrmi</defaultValue>
          <type>java.lang.String</type>
          <description>The path in the naming server to retrieve the JMX Connection</description>
        </parameter>
        <parameter>
          <name>username</name> 
          <property>username</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The user name for the JMXConnection</description>
        </parameter>
        <parameter>
          <name>password</name> 
          <property>password</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The password for the JMXConnection</description>
        </parameter>
      </parameters>
    </mojo>
    <mojo>
      <goal>startComponent</goal>
      <call>startComponent</call>      
      <requiresProject>true</requiresProject>      
      <description>
        Starts a JBI component on the server
      </description>
      <parameters>          
        <parameter>
          <name>componentName</name> 
          <property>componentName</property>
          <required>true</required>
          <readonly>false</readonly>
          <defaultValue>${project.artifactId}</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the Component to uninstall</description>
        </parameter>
        <parameter>
          <name>serverProtocol</name> 
          <property>serverProtocol</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>rmi</defaultValue>
          <type>java.lang.String</type>
          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
        </parameter>
        <parameter>
          <name>host</name> 
          <property>host</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>localhost</defaultValue>
          <type>java.lang.String</type>
          <description>The hostname of the naming server</description>
        </parameter>
        <parameter>
          <name>containerName</name> 
          <property>containerName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>ServiceMix</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the ServiceMix JBI Container to connect to</description>
        </parameter>
        <parameter>
          <name>jmxDomainName</name> 
          <property>jmxDomainName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>org.apache.servicemix</defaultValue>
          <type>java.lang.String</type>
          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
        </parameter>
        <parameter>
          <name>port</name> 
          <property>port</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>1099</defaultValue>
          <type>java.lang.String</type>
          <description>The port the naming server listens for connections on</description>
        </parameter>
        <parameter>
          <name>jndiPath</name> 
          <property>jndiPath</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>/jmxrmi</defaultValue>
          <type>java.lang.String</type>
          <description>The path in the naming server to retrieve the JMX Connection</description>
        </parameter>
        <parameter>
          <name>username</name> 
          <property>username</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The user name for the JMXConnection</description>
        </parameter>
        <parameter>
          <name>password</name> 
          <property>password</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The password for the JMXConnection</description>
        </parameter>
      </parameters>
    </mojo>
    <mojo>
      <goal>shutdownComponent</goal>
      <call>shutdownComponent</call>      
      <requiresProject>true</requiresProject>      
      <description>
        Shuts down a JBI component on the server
      </description>
      <parameters>          
        <parameter>
          <name>componentName</name> 
          <property>componentName</property>
          <required>true</required>
          <readonly>false</readonly>
          <defaultValue>${project.artifactId}</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the Component to shut down</description>
        </parameter>
        <parameter>
          <name>serverProtocol</name> 
          <property>serverProtocol</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>rmi</defaultValue>
          <type>java.lang.String</type>
          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
        </parameter>
        <parameter>
          <name>host</name> 
          <property>host</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>localhost</defaultValue>
          <type>java.lang.String</type>
          <description>The hostname of the naming server</description>
        </parameter>
        <parameter>
          <name>containerName</name> 
          <property>containerName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>ServiceMix</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the ServiceMix JBI Container to connect to</description>
        </parameter>
        <parameter>
          <name>jmxDomainName</name> 
          <property>jmxDomainName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>org.apache.servicemix</defaultValue>
          <type>java.lang.String</type>
          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
        </parameter>
        <parameter>
          <name>port</name> 
          <property>port</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>1099</defaultValue>
          <type>java.lang.String</type>
          <description>The port the naming server listens for connections on</description>
        </parameter>
        <parameter>
          <name>jndiPath</name> 
          <property>jndiPath</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>/jmxrmi</defaultValue>
          <type>java.lang.String</type>
          <description>The path in the naming server to retrieve the JMX Connection</description>
        </parameter>
        <parameter>
          <name>username</name> 
          <property>username</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The user name for the JMXConnection</description>
        </parameter>
        <parameter>
          <name>password</name> 
          <property>password</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The password for the JMXConnection</description>
        </parameter>
      </parameters>
    </mojo>
    <mojo>
      <goal>listServiceEngines</goal>
      <call>listServiceEngines</call>      
      <requiresProject>true</requiresProject>      
      <description>
        Lists the service engines on the server, provide either a serviceAssemblyName, serviceEngineName, sharedLibraryName or state
      </description>
      <parameters>          
        <parameter>
          <name>serviceAssemblyName</name> 
          <property>serviceAssemblyName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue></defaultValue>
          <type>java.lang.String</type>
          <description>List service engines that have service units from the given service assembly deployed to them</description>
        </parameter>        
        <parameter>
          <name>sharedLibraryName</name> 
          <property>sharedLibraryName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue></defaultValue>
          <type>java.lang.String</type>
          <description>List the service engines using the given shared library</description>
        </parameter>
        <parameter>
          <name>state</name> 
          <property>state</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue></defaultValue>
          <type>java.lang.String</type>
          <description>Report service assemblies in the given state</description>
        </parameter>
        <parameter>
          <name>serverProtocol</name> 
          <property>serverProtocol</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>rmi</defaultValue>
          <type>java.lang.String</type>
          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
        </parameter>
        <parameter>
          <name>host</name> 
          <property>host</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>localhost</defaultValue>
          <type>java.lang.String</type>
          <description>The hostname of the naming server</description>
        </parameter>
        <parameter>
          <name>containerName</name> 
          <property>containerName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>ServiceMix</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the ServiceMix JBI Container to connect to</description>
        </parameter>
        <parameter>
          <name>jmxDomainName</name> 
          <property>jmxDomainName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>org.apache.servicemix</defaultValue>
          <type>java.lang.String</type>
          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
        </parameter>
        <parameter>
          <name>port</name> 
          <property>port</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>1099</defaultValue>
          <type>java.lang.String</type>
          <description>The port the naming server listens for connections on</description>
        </parameter>
        <parameter>
          <name>jndiPath</name> 
          <property>jndiPath</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>/jmxrmi</defaultValue>
          <type>java.lang.String</type>
          <description>The path in the naming server to retrieve the JMX Connection</description>
        </parameter>
        <parameter>
          <name>username</name> 
          <property>username</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The user name for the JMXConnection</description>
        </parameter>
        <parameter>
          <name>password</name> 
          <property>password</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The password for the JMXConnection</description>
        </parameter>
      </parameters>
    </mojo>
    <mojo>
      <goal>listBindingComponents</goal>
      <call>listBindingComponents</call>      
      <requiresProject>true</requiresProject>      
      <description>
        Lists the binding components on the server, provide either a bindingComponentName, serviceAssemblyName, sharedLibraryName or state
      </description>
      <parameters>          
        <parameter>
          <name>bindingComponentName</name> 
          <property>bindingComponentName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue></defaultValue>
          <type>java.lang.String</type>
          <description>List only the given binding component</description>
        </parameter>
        <parameter>
          <name>serviceAssemblyName</name> 
          <property>serviceAssemblyName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue></defaultValue>
          <type>java.lang.String</type>
          <description>List binding components that have service units from the given service assembly deployed to them</description>
        </parameter>
        <parameter>
          <name>sharedLibraryName</name> 
          <property>sharedLibraryName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue></defaultValue>
          <type>java.lang.String</type>
          <description>List the service engines using the given shared library</description>
        </parameter>
        <parameter>
          <name>state</name> 
          <property>state</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue></defaultValue>
          <type>java.lang.String</type>
          <description>Report service assemblies in the given state</description>
        </parameter>
        <parameter>
          <name>serverProtocol</name> 
          <property>serverProtocol</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>rmi</defaultValue>
          <type>java.lang.String</type>
          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
        </parameter>
        <parameter>
          <name>host</name> 
          <property>host</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>localhost</defaultValue>
          <type>java.lang.String</type>
          <description>The hostname of the naming server</description>
        </parameter>
        <parameter>
          <name>containerName</name> 
          <property>containerName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>ServiceMix</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the ServiceMix JBI Container to connect to</description>
        </parameter>
        <parameter>
          <name>jmxDomainName</name> 
          <property>jmxDomainName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>org.apache.servicemix</defaultValue>
          <type>java.lang.String</type>
          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
        </parameter>
        <parameter>
          <name>port</name> 
          <property>port</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>1099</defaultValue>
          <type>java.lang.String</type>
          <description>The port the naming server listens for connections on</description>
        </parameter>
        <parameter>
          <name>jndiPath</name> 
          <property>jndiPath</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>/jmxrmi</defaultValue>
          <type>java.lang.String</type>
          <description>The path in the naming server to retrieve the JMX Connection</description>
        </parameter>
        <parameter>
          <name>username</name> 
          <property>username</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The user name for the JMXConnection</description>
        </parameter>
        <parameter>
          <name>password</name> 
          <property>password</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The password for the JMXConnection</description>
        </parameter>
      </parameters>
    </mojo>
    <mojo>
      <goal>installSharedLibrary</goal>
      <call>installSharedLibrary</call>      
      <requiresProject>true</requiresProject>      
      <description>
			Installs a shared library
      </description>
      <parameters>          
        <parameter>
          <name>sharedLibraryFile</name> 
          <property>sharedLibraryFile</property>
          <required>true</required>
          <readonly>false</readonly>
          <defaultValue>${project.build.directory}/${project.artifactId}-${project.version}.zip</defaultValue>
          <type>java.lang.String</type>
          <description>The location of the shared library file</description>
        </parameter>
        <parameter>
          <name>serverProtocol</name> 
          <property>serverProtocol</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>rmi</defaultValue>
          <type>java.lang.String</type>
          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
        </parameter>
        <parameter>
          <name>host</name> 
          <property>host</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>localhost</defaultValue>
          <type>java.lang.String</type>
          <description>The hostname of the naming server</description>
        </parameter>
        <parameter>
          <name>containerName</name> 
          <property>containerName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>ServiceMix</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the ServiceMix JBI Container to connect to</description>
        </parameter>
        <parameter>
          <name>jmxDomainName</name> 
          <property>jmxDomainName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>org.apache.servicemix</defaultValue>
          <type>java.lang.String</type>
          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
        </parameter>
        <parameter>
          <name>port</name> 
          <property>port</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>1099</defaultValue>
          <type>java.lang.String</type>
          <description>The port the naming server listens for connections on</description>
        </parameter>
        <parameter>
          <name>jndiPath</name> 
          <property>jndiPath</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>/jmxrmi</defaultValue>
          <type>java.lang.String</type>
          <description>The path in the naming server to retrieve the JMX Connection</description>
        </parameter>
        <parameter>
          <name>username</name> 
          <property>username</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The user name for the JMXConnection</description>
        </parameter>
        <parameter>
          <name>password</name> 
          <property>password</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The password for the JMXConnection</description>
        </parameter>
      </parameters>
    </mojo>
    <mojo>
      <goal>uninstallSharedLibrary</goal>
      <call>uninstallSharedLibrary</call>      
      <requiresProject>true</requiresProject>      
      <description>
			Uninstalls a shared library
      </description>
      <parameters>          
        <parameter>
          <name>sharedLibraryName</name> 
          <property>sharedLibraryName</property>
          <required>true</required>
          <readonly>false</readonly>
          <defaultValue>${project.artifactId}</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the shared library to uninstall</description>
        </parameter>
        <parameter>
          <name>serverProtocol</name> 
          <property>serverProtocol</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>rmi</defaultValue>
          <type>java.lang.String</type>
          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
        </parameter>
        <parameter>
          <name>host</name> 
          <property>host</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>localhost</defaultValue>
          <type>java.lang.String</type>
          <description>The hostname of the naming server</description>
        </parameter>
        <parameter>
          <name>containerName</name> 
          <property>containerName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>ServiceMix</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the ServiceMix JBI Container to connect to</description>
        </parameter>
        <parameter>
          <name>jmxDomainName</name> 
          <property>jmxDomainName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>org.apache.servicemix</defaultValue>
          <type>java.lang.String</type>
          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
        </parameter>
        <parameter>
          <name>port</name> 
          <property>port</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>1099</defaultValue>
          <type>java.lang.String</type>
          <description>The port the naming server listens for connections on</description>
        </parameter>
        <parameter>
          <name>jndiPath</name> 
          <property>jndiPath</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>/jmxrmi</defaultValue>
          <type>java.lang.String</type>
          <description>The path in the naming server to retrieve the JMX Connection</description>
        </parameter>
        <parameter>
          <name>username</name> 
          <property>username</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The user name for the JMXConnection</description>
        </parameter>
        <parameter>
          <name>password</name> 
          <property>password</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The password for the JMXConnection</description>
        </parameter>
      </parameters>
    </mojo>
    <mojo>
      <goal>listSharedLibraries</goal>
      <call>listSharedLibraries</call>      
      <requiresProject>true</requiresProject>      
      <description>
			Lists the currently deployed shared libraries
      </description>
      <parameters>          
        <parameter>
          <name>componentName</name> 
          <property>componentName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue></defaultValue>
          <type>java.lang.String</type>
          <description>List shared libraries that the component depends on</description>
        </parameter>
        <parameter>
          <name>sharedLibraryName</name> 
          <property>sharedLibraryName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue></defaultValue>
          <type>java.lang.String</type>
          <description>List only the given shared library</description>
        </parameter>
        <parameter>
          <name>serverProtocol</name> 
          <property>serverProtocol</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>rmi</defaultValue>
          <type>java.lang.String</type>
          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
        </parameter>
        <parameter>
          <name>host</name> 
          <property>host</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>localhost</defaultValue>
          <type>java.lang.String</type>
          <description>The hostname of the naming server</description>
        </parameter>
        <parameter>
          <name>containerName</name> 
          <property>containerName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>ServiceMix</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the ServiceMix JBI Container to connect to</description>
        </parameter>
        <parameter>
          <name>jmxDomainName</name> 
          <property>jmxDomainName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>org.apache.servicemix</defaultValue>
          <type>java.lang.String</type>
          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
        </parameter>
        <parameter>
          <name>port</name> 
          <property>port</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>1099</defaultValue>
          <type>java.lang.String</type>
          <description>The port the naming server listens for connections on</description>
        </parameter>
        <parameter>
          <name>jndiPath</name> 
          <property>jndiPath</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>/jmxrmi</defaultValue>
          <type>java.lang.String</type>
          <description>The path in the naming server to retrieve the JMX Connection</description>
        </parameter>
        <parameter>
          <name>username</name> 
          <property>username</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The user name for the JMXConnection</description>
        </parameter>
        <parameter>
          <name>password</name> 
          <property>password</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The password for the JMXConnection</description>
        </parameter>
      </parameters>
    </mojo>
    <mojo>
      <goal>deployServiceAssembly</goal>
      <call>deployServiceAssembly</call>      
      <requiresProject>true</requiresProject>      
      <description>
			Deploys a service assembly to the server
      </description>
      <parameters>          
        <parameter>
          <name>serviceAssemblyFile</name> 
          <property>serviceAssemblyFile</property>
          <required>true</required>
          <readonly>false</readonly>
          <defaultValue>${project.build.directory}/${project.artifactId}-${project.version}.jar</defaultValue>
          <type>java.lang.String</type>
          <description>The location of the service assembly installer file</description>
        </parameter>
        <parameter>
          <name>serverProtocol</name> 
          <property>serverProtocol</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>rmi</defaultValue>
          <type>java.lang.String</type>
          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
        </parameter>
        <parameter>
          <name>host</name> 
          <property>host</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>localhost</defaultValue>
          <type>java.lang.String</type>
          <description>The hostname of the naming server</description>
        </parameter>
        <parameter>
          <name>containerName</name> 
          <property>containerName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>ServiceMix</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the ServiceMix JBI Container to connect to</description>
        </parameter>
        <parameter>
          <name>jmxDomainName</name> 
          <property>jmxDomainName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>org.apache.servicemix</defaultValue>
          <type>java.lang.String</type>
          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
        </parameter>
        <parameter>
          <name>port</name> 
          <property>port</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>1099</defaultValue>
          <type>java.lang.String</type>
          <description>The port the naming server listens for connections on</description>
        </parameter>
        <parameter>
          <name>jndiPath</name> 
          <property>jndiPath</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>/jmxrmi</defaultValue>
          <type>java.lang.String</type>
          <description>The path in the naming server to retrieve the JMX Connection</description>
        </parameter>
        <parameter>
          <name>username</name> 
          <property>username</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The user name for the JMXConnection</description>
        </parameter>
        <parameter>
          <name>password</name> 
          <property>password</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The password for the JMXConnection</description>
        </parameter>
      </parameters>
    </mojo>
    <mojo>
      <goal>undeployServiceAssembly</goal>
      <call>undeployServiceAssembly</call>      
      <requiresProject>true</requiresProject>      
      <description>
			Undeploys a service assembly from the server
      </description>
      <parameters>          
        <parameter>
          <name>serviceAssemblyName</name> 
          <property>serviceAssemblyName</property>
          <required>true</required>
          <readonly>false</readonly>
          <defaultValue>${project.artifactId}</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the service assembly</description>
        </parameter>
        <parameter>
          <name>serverProtocol</name> 
          <property>serverProtocol</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>rmi</defaultValue>
          <type>java.lang.String</type>
          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
        </parameter>
        <parameter>
          <name>host</name> 
          <property>host</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>localhost</defaultValue>
          <type>java.lang.String</type>
          <description>The hostname of the naming server</description>
        </parameter>
        <parameter>
          <name>containerName</name> 
          <property>containerName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>ServiceMix</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the ServiceMix JBI Container to connect to</description>
        </parameter>
        <parameter>
          <name>jmxDomainName</name> 
          <property>jmxDomainName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>org.apache.servicemix</defaultValue>
          <type>java.lang.String</type>
          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
        </parameter>
        <parameter>
          <name>port</name> 
          <property>port</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>1099</defaultValue>
          <type>java.lang.String</type>
          <description>The port the naming server listens for connections on</description>
        </parameter>
        <parameter>
          <name>jndiPath</name> 
          <property>jndiPath</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>/jmxrmi</defaultValue>
          <type>java.lang.String</type>
          <description>The path in the naming server to retrieve the JMX Connection</description>
        </parameter>
        <parameter>
          <name>username</name> 
          <property>username</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The user name for the JMXConnection</description>
        </parameter>
        <parameter>
          <name>password</name> 
          <property>password</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The password for the JMXConnection</description>
        </parameter>
      </parameters>
    </mojo>
    <mojo>
      <goal>startServiceAssembly</goal>
      <call>startServiceAssembly</call>      
      <requiresProject>true</requiresProject>      
      <description>
			Starts a service assembly from the server
      </description>
      <parameters>          
        <parameter>
          <name>serviceAssemblyName</name> 
          <property>serviceAssemblyName</property>
          <required>true</required>
          <readonly>false</readonly>
          <defaultValue>${project.artifactId}</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the service assembly</description>
        </parameter>
        <parameter>
          <name>serverProtocol</name> 
          <property>serverProtocol</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>rmi</defaultValue>
          <type>java.lang.String</type>
          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
        </parameter>
        <parameter>
          <name>host</name> 
          <property>host</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>localhost</defaultValue>
          <type>java.lang.String</type>
          <description>The hostname of the naming server</description>
        </parameter>
        <parameter>
          <name>containerName</name> 
          <property>containerName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>ServiceMix</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the ServiceMix JBI Container to connect to</description>
        </parameter>
        <parameter>
          <name>jmxDomainName</name> 
          <property>jmxDomainName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>org.apache.servicemix</defaultValue>
          <type>java.lang.String</type>
          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
        </parameter>
        <parameter>
          <name>port</name> 
          <property>port</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>1099</defaultValue>
          <type>java.lang.String</type>
          <description>The port the naming server listens for connections on</description>
        </parameter>
        <parameter>
          <name>jndiPath</name> 
          <property>jndiPath</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>/jmxrmi</defaultValue>
          <type>java.lang.String</type>
          <description>The path in the naming server to retrieve the JMX Connection</description>
        </parameter>
        <parameter>
          <name>username</name> 
          <property>username</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The user name for the JMXConnection</description>
        </parameter>
        <parameter>
          <name>password</name> 
          <property>password</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The password for the JMXConnection</description>
        </parameter>
      </parameters>
    </mojo>
    <mojo>
      <goal>stopServiceAssembly</goal>
      <call>stopServiceAssembly</call>      
      <requiresProject>true</requiresProject>      
      <description>
			Stops a service assembly from the server
      </description>
      <parameters>          
        <parameter>
          <name>serviceAssemblyName</name> 
          <property>serviceAssemblyName</property>
          <required>true</required>
          <readonly>false</readonly>
          <defaultValue>${project.artifactId}</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the service assembly</description>
        </parameter>
        <parameter>
          <name>serverProtocol</name> 
          <property>serverProtocol</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>rmi</defaultValue>
          <type>java.lang.String</type>
          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
        </parameter>
        <parameter>
          <name>host</name> 
          <property>host</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>localhost</defaultValue>
          <type>java.lang.String</type>
          <description>The hostname of the naming server</description>
        </parameter>
        <parameter>
          <name>containerName</name> 
          <property>containerName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>ServiceMix</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the ServiceMix JBI Container to connect to</description>
        </parameter>
        <parameter>
          <name>jmxDomainName</name> 
          <property>jmxDomainName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>org.apache.servicemix</defaultValue>
          <type>java.lang.String</type>
          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
        </parameter>
        <parameter>
          <name>port</name> 
          <property>port</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>1099</defaultValue>
          <type>java.lang.String</type>
          <description>The port the naming server listens for connections on</description>
        </parameter>
        <parameter>
          <name>jndiPath</name> 
          <property>jndiPath</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>/jmxrmi</defaultValue>
          <type>java.lang.String</type>
          <description>The path in the naming server to retrieve the JMX Connection</description>
        </parameter>
        <parameter>
          <name>username</name> 
          <property>username</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The user name for the JMXConnection</description>
        </parameter>
        <parameter>
          <name>password</name> 
          <property>password</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The password for the JMXConnection</description>
        </parameter>
      </parameters>
    </mojo>
    <mojo>
      <goal>shutdownServiceAssembly</goal>
      <call>shutdownServiceAssembly</call>      
      <requiresProject>true</requiresProject>      
      <description>
			Shutsdown a service assembly from the server
      </description>
      <parameters>          
        <parameter>
          <name>serviceAssemblyName</name> 
          <property>serviceAssemblyName</property>
          <required>true</required>
          <readonly>false</readonly>
          <defaultValue>${project.artifactId}</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the service assembly</description>
        </parameter>
        <parameter>
          <name>serverProtocol</name> 
          <property>serverProtocol</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>rmi</defaultValue>
          <type>java.lang.String</type>
          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
        </parameter>
        <parameter>
          <name>host</name> 
          <property>host</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>localhost</defaultValue>
          <type>java.lang.String</type>
          <description>The hostname of the naming server</description>
        </parameter>
        <parameter>
          <name>containerName</name> 
          <property>containerName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>ServiceMix</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the ServiceMix JBI Container to connect to</description>
        </parameter>
        <parameter>
          <name>jmxDomainName</name> 
          <property>jmxDomainName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>org.apache.servicemix</defaultValue>
          <type>java.lang.String</type>
          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
        </parameter>
        <parameter>
          <name>port</name> 
          <property>port</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>1099</defaultValue>
          <type>java.lang.String</type>
          <description>The port the naming server listens for connections on</description>
        </parameter>
        <parameter>
          <name>jndiPath</name> 
          <property>jndiPath</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>/jmxrmi</defaultValue>
          <type>java.lang.String</type>
          <description>The path in the naming server to retrieve the JMX Connection</description>
        </parameter>
        <parameter>
          <name>username</name> 
          <property>username</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The user name for the JMXConnection</description>
        </parameter>
        <parameter>
          <name>password</name> 
          <property>password</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The password for the JMXConnection</description>
        </parameter>
      </parameters>
    </mojo>
    <mojo>
      <goal>listServiceAssemblies</goal>
      <call>listServiceAssemblies</call>      
      <requiresProject>true</requiresProject>      
      <description>
			Lists the service assemblies from the server
      </description>
      <parameters>          
        <parameter>
          <name>componentName</name> 
          <property>componentName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue></defaultValue>
          <type>java.lang.String</type>
          <description>List the service assemblies that has service units deployed to this component</description>
        </parameter>
        <parameter>
          <name>serviceAssemblyName</name> 
          <property>serviceAssemblyName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue></defaultValue>
          <type>java.lang.String</type>
          <description>List only the given service assembly</description>
        </parameter>
        <parameter>
          <name>state</name> 
          <property>state</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue></defaultValue>
          <type>java.lang.String</type>
          <description>Report service assemblies in the given state</description>
        </parameter>
        <parameter>
          <name>serverProtocol</name> 
          <property>serverProtocol</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>rmi</defaultValue>
          <type>java.lang.String</type>
          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
        </parameter>
        <parameter>
          <name>host</name> 
          <property>host</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>localhost</defaultValue>
          <type>java.lang.String</type>
          <description>The hostname of the naming server</description>
        </parameter>
        <parameter>
          <name>containerName</name> 
          <property>containerName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>ServiceMix</defaultValue>
          <type>java.lang.String</type>
          <description>The name of the ServiceMix JBI Container to connect to</description>
        </parameter>
        <parameter>
          <name>jmxDomainName</name> 
          <property>jmxDomainName</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>org.apache.servicemix</defaultValue>
          <type>java.lang.String</type>
          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
        </parameter>
        <parameter>
          <name>port</name> 
          <property>port</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>1099</defaultValue>
          <type>java.lang.String</type>
          <description>The port the naming server listens for connections on</description>
        </parameter>
        <parameter>
          <name>jndiPath</name> 
          <property>jndiPath</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>/jmxrmi</defaultValue>
          <type>java.lang.String</type>
          <description>The path in the naming server to retrieve the JMX Connection</description>
        </parameter>
        <parameter>
          <name>username</name> 
          <property>username</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The user name for the JMXConnection</description>
        </parameter>
        <parameter>
          <name>password</name> 
          <property>password</property>
          <required>false</required>
          <readonly>false</readonly>
          <defaultValue>smx</defaultValue>
          <type>java.lang.String</type>
          <description>The password for the JMXConnection</description>
        </parameter>
      </parameters>
    </mojo>
  </mojos>
</pluginMetadata>
