The plug-in package manifest file specifies general information about the plug-in package, the deployment order for the plug-in modules in the package, and any dependencies for the plug-in package.
The metadata in the manifest file follows a specific XML schema. The <pluginPackage> root element encapsulates the entire plug-in package manifest. The <pluginPackage> element can contain the <dependencies> element and the <bundlesOrder> element.
The following example shows an example of a plugin-package.xml manifest file.
<pluginPackage id = "com.vmware.client.myPackage" version="1.0.0" name="My Plugin Name" description="Demo package version 1" vendor="VMware" iconUri="assets/packageIcon.png"> <dependencies> <pluginPackage id = "com.vmware.vsphere.client" version="6.0.0" /> </dependencies> <bundlesOrder> <bundle id="com.mySolution.myDataServicePlugin" /> <bundle id="com.mySolution.myUIViewPlugin" /> <bundle id="com.mySolution.myActionPlugin" /> </bundlesOrder> </pluginPackage>
The <pluginPackage> element is the root element of any plug-in package manifest file. The following attributes of the <pluginPackage> contain information about the entire package.
The <dependencies> element defines any dependencies upon other plug-in packages. In the <dependencies> element, you specify each specific package dependency with a <pluginPackage> element. Each <pluginPackage> element in the <dependencies> element must have the following attributes.
If your vSphere Web Client extension depends on plug-in packages with specific versions and might not be compatible with later versions of these plug-in packages, make sure that you define correctly the dependencies by using the match parameter. Otherwise, your plug-in package will not work and might cause errors in the vSphere Web Client.
For example, you can use the following lines in the manifest file of your plug-in package to define the minimum and maximum supported versions of the vSphere Web Client:
... <dependencies> <pluginPackage id="com.vmware.vsphere.client" version="5.5.0" match=“greaterOrEqual" /> <pluginPackage id="com.vmware.vsphere.client" version=“6.0.0" match=“lessThan" /> </dependencies> ...
If your plug-in package is only compatible with a specific version of the vSphere Web Client, you must use the equal value of the match attribute to specify the version. This ensures that when the vSphere Web Client is upgraded, your plug-in package will not be deployed, and will not cause any errors.
The <bundlesOrder> element specifies the order in which locally hosted plug-in modules are deployed to the vSphere Web Client. If your plug-in package contains both service plug-in modules and user interface plug-in modules, a best practice is to deploy the service plug-in modules first, because the user interface plug-in modules might import those services.
You specify each plug-in module using a <bundle> element inside the <bundlesOrder> element. The id attribute of the <bundle> element contains the unique identifier of the plug-in module. The value of the id attribute must match the Bundle-SymbolicName specified in the plug-in module MANIFEST.MF file included in the WAR bundle.