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's title. CAST recommends using a meaningful title. For example:
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-Release versions is encoded inside the version itself, following the Semantic Versioning conventions also:
For CAST User Community extensions CAST recommends not using intermediate version numbering such as: alphas, betas and functional releases - a simple version number (such as 1.3.0) is sufficient (the versions provided by the User Community do not follow a standard product development process with the release of the alphas, betas etc versions therefore this numbering is not necessary).
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 the following values are recommended:
|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.
The documentation, stored in a separate page (which MUST BE FREELY AVAILABLE ON THE INTERNET) 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: