PS5 OSS (Open Source Software) Licenses

This application hosts a core TV app, which has its own open source software licenses documented in xtv.html.

The following are additional open source software packages used only by the PS5 application:

client-container-prospero@7.4.200

License: ISC

# client-container-prospero

## Wiki

Check out [this repository's wiki](https://gspcloud.atlassian.net/wiki/spaces/PTC/pages/338067556/PS5+Documentation) for more information.

## Prerequisites

- Yarn
- Node
- A Windows Environment
  - This can be a Windows Device or a VM
- Access to the corporate network
- Access to the [PlayStation DevNet](https://p.siedev.net/)
  - You can request access from edgar.ribeiro@sky.uk or from another PlayStation Admin
- PS5 SDK Download Manager
  - [Download Here](https://p.siedev.net/sdk-manager/download)
  - [Installation Docs](https://p.siedev.net/resources/documents/SDK/0.900/DevKit-Setup_Guide/0003.html#0_Ref529897482)
  - Media SDK(Prospero) is not selected by default when installing from SDK manager! - so select it.
- A PS5 Devkit

## Getting started

Create the build files needed based on a specific proposition, environment and territory using `yarn build`.

```
// Long
$ yarn build --environment=[production/ads-production] --territory=[gb/ie/us] --proposition=[peacock/nowott] --packagingFramework=[ion-release/ion-debug]

// Short
$ yarn build -e=e2e -t=gb -p=nowott -f=ion-release

// See all possible build flags with
$ yarn build --help
```

## Bump Version

To bump the version run:

```bash
yarn bump --version 07.002.200
```

This updates:

- `package.json` -> `version`
- `build-variables/build-variables.json` -> `contentVersion`

## Splash Screens

The splash screen images must use specific bit depths:

- pic0.png: 24-bit
- pic1.png: 24-bit
- pic2.png: 32-bit

Using 32 bit or 24 bit images for all three will cause production builds to fail. Keep this mapping consistent across territories and propositions.

## Available Flags

- proposition `-p` or `--proposition` - `nowott`, `showmax` `skyshowtime` or `peacock`
- territory `-t` or `--territory` - `GB`, `IE`, `IT`, `DE`, `AU`, `EU` or `US`
- environment `-e` or `--environment` - `production`, `preview`, `rc`, `ads-production`, `ads-stable-int`, `ads-proton`
- urloverride `-u`or `--urloverride` - string to override the build with a full URL
- packagingFramework `-f` or `--packagingFramework` - defines which packaging framework to use: `ion-release`, `ion-debug`
- bridgeHostIp `-i` or `--bridgeHostIp` - IP address for the bridge host when debugging ion

### Now Examples

```
// Now - GB - Production
$ yarn build -p=nowott

// Now - GB - ads production
$ yarn build -p=now -e=ads-production

// Wow - DE - Production
$ yarn build --proposition=nowott --territory=de
```

### Peacock Examples

```
// Peacock - US - Production
$ yarn build -p=peacock
```

## Building the Package

Once you've prepared the package, you'll be able to package it all ready for deployment to a PS5. The below command will
only work on Windows.

This will create a `*.pkg` file inside the `dist` folder in the root. This should now be ready for deployment.

```
$ yarn package
```

## Deploying the Package

Once you've created a package using `yarn build` and `yarn package` you can use `yarn deploy` to install the package onto
a PS5 test kit.

1. Add a `src/devices.json` file copying the example in `src/devices.example.json`. This file is local to you and should contain the information from your TVs.
2. Use `yarn package <device id>` to deploy the package. For example `yarn package PS1` or `yarn package Home`

You can also use `yarn package <device id> --open` to have the application immediately open once installed