Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 34 Next »

On this page:

Summary: this page provides an explanation about the CAST Extension Downloader.

Introduction

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.

Where can I find the 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.

GUI

Installed / Available / Updates

The options Installed / Available / Updates function as follows - clicking an option will refresh the content list (i.e. list of extensions):

OptionDescription
Installed

This option displays all the extensions that have already been downloaded on to the local machine. Extensions are downloaded to:

AIP 8.x.x: %PROGRAMDATA%\CAST\CAST\Extensions
AIP 7.3.x <CAST_installation_folder>\CustomPlugins
Note that for CAST AIP 8.x.x and above, you can modify the download location as described in Download an extension.
AvailableThis option displays all the extensions that are available on the remote server that have not already been downloaded to the local machine.
UpdatesThis 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.

Preferences button

The Preferences button enables you to configure a new remote download server:

By default, various remote download servers 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).

Adding a new remote download server

If you need to use an alternative remote server, then you can use this option to add it:

  • Click New to add a new blank server - a new line will appear:

  • Select the blank server, and then enter the details for the new remote download server in the Name and Address fields:

  • The new server will be displayed in the list and will be ticked to indicate that it will be contacted.

Deleting an existing remote download server

To remove an existing remote download server:

  • Select the server and click the Delete button to remove it:

Toolbar options

The two check boxes provide the following display filtering options:

OptionDescription
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.

See Release types for more information about the Long Term Support releases status.

Use the Search box to filter extensions by name in the display list. Any extensions containing the search string will be displayed.

Authentication

If you are connecting to a server that requires authentication (in the vast majority of circumstances, this will be when connecting to the CAST Extend server (https://extend.castsoftware.com:443/V2/api/v2), you will be presented with a login window as a popup. Enter the corresponding account credentials (User Name/Password) and then click the Login button to begin the download.

Note that:

  • the authentication popup is ONLY available in 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 and in the CAST Extension Downloader provided in the CAST AIP ≥ 8.3.x. Authentication is not available in other releases of the CAST Extension Downloader.
  • you will require an account on the remote server to authenticate - if you are using CAST Extend (https://extend.castsoftware.com:443/V2/api/v2) you can find out about registering for an account in CAST Extend website.

Extension information

When an extension is selected in the display list, information about the extension is shown as in the example above:

  • Author
  • Dependencies (any extensions which will be downloaded at the same time)
  • A brief description and a link to the documentation where applicable
  • Tags to aid search

CLI

The CAST Extension Downloader (ExtensionDownloader.exe) can also function in command line mode as follows:

CommandSub-commandDescription
[--server <uri>]-

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. If you do not use this command (it is not mandatory), all remote servers specified in the %programdata%\CAST\CAST\Extensions\ServerList.xml file will be used.

Remote Server

For example https://extend.castsoftware.com:443/product.

Folder - note that this option is to be used if you have a raw .nupkg file that requires unpacking

D:\USER_DATA\Downloads

[--username <username>]-

When connecting to a server that requires authentication (for example https://extend.castsoftware.com:443/V2/api/v2) to download an extension (with the install option), use these two options to specify your credentials.

Note that:

  • these two commands are ONLY available in 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. The commands are not available in the CAST Extension Downloader provided in the CAST AIP setup or the custom release specifically for CAST AIP 7.3.x.
  • you will require an account on the remote server to use these commands - if you are using CAST Extend (https://extend.castsoftware.com:443/V2/api/v2) you can find out about registering for an account in CAST Extend website.
[--password <password>]-
listavailable|installed|upgradable|all

Use this option to produce a list of the extensions as follows:

OptionDescription
availableThis option displays all the extensions that are available on the remote server that have not already been downloaded to the local machine.
installed

This option displays all the extensions that have already been downloaded on to the local machine. Extensions are downloaded to:

AIP 8.x.x: %PROGRAMDATA%\CAST\CAST\Extensions
AIP 7.3.x <CAST_installation_folder>\CustomPlugins
Note that for CAST AIP 8.x.x and above, you can modify the download location as described in Download an extension.
upgradableThis 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.
allThis option displays all extensions on the specified remote server, regardless of whether they have already been downloaded to the local machine or their CAST AIP version compatibility.
install

<extensionId>

[--version <version>]

[--ignore-dependencies]


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

OptionDescription
<extensionId>

This option allows you to specify a particular extension for download using its ID - this is a mandatory option. The ID of a CAST AIP extension always takes the form com.castsoftware.<name>, without any version numbers. You can determine the ID of an extension using the CAST Extension Downloader in GUI mode:

Note that the most recent versions of an extension's dependencies will always be downloaded alongside the extension, unless you are using the [--ignore-dependencies] option - see below.
[--version <version>]

This option allows you to specify a specific version of the extension for download using its version number. You can determine the ID of an extension using the CAST Extension Downloader in GUI mode:

This option is not mandatory. When not included, the most recent version of the extension you require will always be downloaded.
[--ignore-dependencies]

This option allows you to download an extension without any dependencies. CAST only recommends using this option if you understand the implication - an extension will not function correctly without its dependencies.

This option is not mandatory. When not included, the most recent versions of an extension's dependencies will always be downloaded.
uninstall

extensionId

[--version <version>]

Use this option to specify an extension that you have downloaded to your machine and that you now want to remove from your machine:

OptionDescription
extensionIdThis option allows you to specify a particular extension for removal using its ID - this is a mandatory option. The ID of a CAST AIP extension always takes the form com.castsoftware.<name>, without any version numbers. You can determine the ID of an extension using the CAST Extension Downloader in GUI mode - see same option described above.
[--version <version>]

This option allows you to specify a specific version of the extension for download using its version number. You can determine the ID of an extension using the CAST Extension Downloader in GUI mode - see same option described above.

This option is not mandatory. When not included, the most recent version of the extension you require will always be deleted from your machine.

Note that:

  • removing an extension will only delete the extension files on the local machine. It does not remove the extension from any CAST AIP databases/schemas that it has been installed to.
  • removing an extension only removes the specific extension. Any dependencies are left on the machine as other extensions may require them.
  • removing an extension from your machine will cause the following log message to be displayed in CAST Server Manager when CAST AIP databases/schemas that use the extension are detected:
Extension com.castsoftware.test version : 1.2.0-funcrel is not present on this machine,
and some schemas are using it. Please use ExtensionDownloader to download it and rerun Servman.

CLI examples

List all extensions that are available on the remote servers defined in the %programdata%\CAST\CAST\Extensions\ServerList.xml file that 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.entity
  • No labels