On this page:
|Summary: this page provides an explanation about the CAST Extension Downloader.|
CAST provides a range of extensions to provide support for a wide range of technologies, both in terms of analysis and also in terms of source code extraction and discovery. These extensions have a release life cycle that is different to the CAST AIP life cycle, in other words new releases of extensions can be made public at any time.
To support the automated download of these extensions from CAST, CAST provides users with a tool called the Extension Downloader. This page provides an explanation of the Extension Downloader.
|Note that some extensions are not available for download via the CAST Extension Downloader - see Extensions not available via the CAST Extension Downloader.|
The CAST Extension Downloader (ExtensionDownloader.exe) is part of CAST AIP 8.x and above and is installed by its setup. You can find it at the root of the CAST AIP installation folder.
|While the version of the CAST Extension Downloader provided with existing CAST AIP setups and specifically for CAST AIP 7.3.x as a separate download, will continue to function in the short to medium term, CAST highly recommends that you replace this version with the standalone version (≥ 1.1.0) of the CAST Extension Downloader which is available for download from https://confluence.castsoftware.com/display/download/Extension+Downloader. This standalone version provides additional features (such as authentication) that are not available in the CAST Extension Downloader distributed with existing releases of CAST AIP - in addition it is supported for use from CAST AIP 7.3.x onwards.|
The options Installed / Available / Updates function as follows - clicking an option will refresh the content list (i.e. list of extensions):
This option displays all the extensions that have already been downloaded on to the local machine. Extensions are downloaded to:
|Available||This option displays all the extensions that are available on the remote server that have not already been downloaded to the local machine.|
|Updates||This option displays all extensions that are available on the remote server that are a more recent version of an extension that has already been downloaded to the local machine.|
The Preferences button enables you to configure a new remote download server:
By default, a remote download server will already be pre-programmed into the CAST Extension Downloader (as shown above). A tick in the check box next to the remote download server indicates that the server is being used (you can tick multiple remote download servers if necessary).
If you need to use an alternative remote server, then you can use this option to add it:
To remove an existing remote download server:
The two check boxes provide the following display filtering options:
|Latest versions only||Displays only the latest version of a given extension - in other words an extension will only appear once in the list and this will be the most recent version of it. For example: if versions 1.0, 1.1 and 2.0 have been published on the server, only version 2.0 will be displayed.|
|Long term support only|
Displays only versions that have been released with Long Term Support. For example: if long term support versions 1.0, 1.1 and 2.0 have been published on the server as well as beta release 2.5, only 1.0, 1.1 and 2.0 will be displayed.
Use the Search box to filter extensions by name in the display list. Any extensions containing the search string will be displayed.
When an extension is selected in the display list, information about the extension is shown as in the example above:
The CAST Extension Downloader (ExtensionDownloader.exe) can also function in command line mode as follows:
This option is used to specify either the remote server you want to connect to or a folder on disk which contains a .nupkg file.
For example https://extend.castsoftware.com:443/V2/api/v2.
When connecting to a server that requires authentication (for example
Use this option to produce a list of the extensions as follows:
Use this option to specify an extension that you want to download on to your machine. Note that you may also need to specify the --username and --password options if the remote server requires authentication
Use this option to specify an extension that you have downloaded to your machine and that you now want to remove from your machine:
List all extensions that are available on the remote servers defined in thethat have not already been downloaded to the local machine:
ExtensionDownloader.exe list available
List all extensions that are available on a specific remote server that are a more recent version of an extension that has already been downloaded to the local machine:
ExtensionDownloader.exe --server https://extend.castsoftware.com:443/V2/api/v2 list upgradable
Download the most recent version of a specific extension on a specific remote server with authentication:
ExtensionDownloader.exe --server https://extend.castsoftware.com:443/V2/api/v2 --username JHU --password xxxxxx install com.castsoftware.test
Download a specific version of a specific extension on a specific remote server with authentication:
ExtensionDownloader.exe --server https://extend.castsoftware.com:443/V2/api/v2 --username JHU --password xxxxxx install com.castsoftware.test --version 1.2.0-funcrel
Download a specific version of a specific extension on a specific remote server with authentication and do not download any dependencies:
ExtensionDownloader.exe --server https://extend.castsoftware.com:443/V2/api/v2 --username JHU --password xxxxxx install com.castsoftware.test --version 1.2.0-funcrel --ignore-dependencies
Remove the most recent version of a specific extension from the local machine:
ExtensionDownloader.exe uninstall com.castsoftware.test
Remove a specific version of a specific extension from the local machine:
ExtensionDownloader.exe uninstall com.castsoftware.test --version 1.2.0-funcrel
Unpack a .nupkg file on disk
ExtensionDownloader.exe --server D:\USER_DATA\Downloads install com.castsoftware.test
The CAST Extension Downloader automatically creates a local cache of downloaded extensions in the following location on the local hard drive:
As a result, if you attempt to use the CAST Extension Downloader without credentials (in CLI mode), or with incorrect credentials (CLI or GUI mode) and the requested extension has already been downloaded and is present in the cache, the extension will be copied from the local cache to the extension download location (%PROGRAMDATA%\CAST\CAST\Extensions).