The INTO-CPS release process is quite simple. The new INTO-CPS App supports downloading the various tools and the download URLs are all looked up on the release site.
## Note to tool suppliers
The download URLs are public so in case of non-free you might want to take this fact into consideration.
## Release JSON format
The first file that is looked up by the download manager part of the INTO-CPS App is simple JSON file listing all currently available INTO-CPS. I might look something like this.
Each specific version JSON contains all the relevant information about each tool, and has the following format:
```
{
"version": "<INTO_CPS_VERSION>",
"tools": {
"<SHORT_TOOL_NAME>": {
"name": "<FULL_TOOL_NAME>",
"version": "<TOOL_VERSION>",
"description": "<TOOL_DESCRIPTION>",
"platforms": {
"PLATFORM": {
"url": "<TOOL_DOWNLOAD_URL>",
"filename": "<FILE_NAME>",
"md5sum": "<MD5_SUM>",
"action": "<INSTALLATION_ACTION>"
},
...
}
},
...
}
}
```
* INTO_CPS_VERSION: The INTO-CPS release version.
* SHORT_TOOL_NAME: A short form of the tool name.
* FULL_TOOL_NAME: The full name of the tool.
* TOOL_VERSION: The tool version.
* PLATFORM: One of: linux32, linux64, windows32, windows64, osx
* TOOL_DOWNLOAD_URL: The tool download URL
* FILE_NAME: The file name of the file the TOOL_DOWNLOAD_URL points to. The file name is not necessarily part of the URL and badly configured sites might not include the name in the header.
* MD5_SUM: The md5sum of the tool installation file.
* INSTALLATION_ACTION: One of: unpack, launch. *unpack* means that file being downloaded is expected to be a zip-file and it well get unpacked into a selected installation directory. *launch* means that the file being downloaded is an executable that simple needs to be launched in order to start the installation.