Each extension must contain a description file that contains the information required for each extension to function correctly. The requirements for this file are listed below:
Description file name
The description file must be named plugin.nuspec.
Description file location
Please place the plugin.nuspec file at the root of your extensions folder:
Description file content
The plugin.nuspec file should be encoded in utf-8 without BOM and must contain the following elements:
- The complete nuspec format documentation is available here : http://docs.nuget.org/create/nuspec-reference
- Please note that this file is mandatory and all the fields are required.
The id of the extension. CAST recommends using the same name as you have designated for the extension's folder.
Maximum length is 99.
The extension' title. CAST recommends using a meaningful title.
The extension version number. This must use the format defined by Semantic Versioning 2.0.0. For example: 1.0.0. Please follow the versioning policy defined within your own team.
Maximum length is 30.
The Stable versus Pre-Releaseversions is encoded inside the version itself, following the Semantic Versioning conventions also:
For Example :
The author of the extension using an email address. Multiple email addresses should be separated by a comma. However in the case of CAST provided extensions it is recomended to have the following values:
|owners||The owner of the extension. In the case of official CAST extensions the owner is always "CAST".|
Each extension must include a link to the related extension documentation.
It is mandatory to have documentation available from internet.
The documentation, stored in a separate page, must include the following information:
|description||A quick description of the extension. This description is displayed in the CAST Extension Downloader, therefore cannot exceed 200 characters. The description must contain a few details about the extension, which scenarios the extension can be used in, what results should be expected and how the results generated by the extension impact the results of the entire analysis.|
|releaseNotes||A link to a a description of the changes made in each release of the package. This field only shows up when the _Updates_ tab is selected and the package is an update to a previously installed package. It is displayed where the Description would normally be displayed.|
This element configured the dependencies required by the extension - i.e. which other extensions must be installed and which release of CAST AIP is required (this is mandatory). For example if an extension is compliant with CAST AIP 7.3.6 and/or 8.0.0 then this should be added here.
This element also provides the possibility to declare dependencies between extensions.
|licenseUrl||This concerns the type of license. In the case of CAST extensions provided by the Product team the license is a CAST standard license. In all the other cases, the author must add a link to a chosen license.|
|tags||A space-delimited list of tags and keywords that describe the package. This information is used to help make sure users can find the package using searches. Some important tags to add are the technology, the language, the framework, CAST AIP release, components in CAST AIP that are impacted by the use of the extension. Other tags can be added as well.|
Example description file
Please find below an example plugin.nuspec file:
CAST Product extensions
Please find below an example plugin.nuspec file that is used with "official" CAST AIP extensions created by CAST R&D:
CAST Labs extensions
Please find below an example plugin.nuspec file that should be used with custom CAST AIP extensions created by CAST Labs:
CAST User Community extensions
Please find below an example plugin.nuspec file that should be used with custom CAST AIP extensions created by the CAST User Community: