You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ensure you have accepted the XCode license agreement
We use Sudre packages to create a .pkg installer file
Running SDA
Set this.origin to '*' in app-bridge.ts when running the demo.
Search for // DEMO-APP: and comment that line back in.
Make sure to comment it out again before you commit.
# Install dependencies
npm install
# Build SDA
npm run prebuild
# Run against a POD
npm run dev -- --url=https://corporate.symphony.com
# Run the demo app
npm run demo
Tests
# Run all the tests
npm run compile:spec
npm run test
# Specific Tests
npm run test -- --match=spell*
# Run Unit tests only
npm run test:unit
# Specific Unit tests
npm run test:unit -- --match=spell*
Code Coverage
We capture the Code coverage reports under coverage
To check the test run report, see the out directory
See the tests directory to find all the unit tests
Packaging:
Add Artifactory credentials to your home directory .npmrc file
Execute curl --location --request GET 'https://repo.symphony.com/artifactory/api/npm/auth' --header 'X-JFrog-Art-Api: <token from #3>'
Update ~/.npmrc with:
registry = https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/
//repo.symphony.com/artifactory/api/npm/npm-virtual-dev/:_auth = <auth value from #4>
always-auth = true
Mac 🖥
npm install
npm run dev (to run locally)
To build the macOS app:
Run the command npm run unpacked-mac
The distributable is created in the dist/mac directory
To build mac package (installer):
Run the command npm run packed-mac
The .pkg file will be generated in the installer/mac/build directory
Windows 💻
npm install
npm run dev (to run locally)
To build windows unpacked exe:
Run the command npm run unpacked-win
The distributable is created in the dist/win-unpacked directory
To build windows 64-bit unpacked exe:
Run the command npm run unpacked-win
The distributable is created in the dist/win-unpacked directory
To create msi (installer):
Run the advanced installer script located in installer/win directory
MSI command line options:
To install for all users (admin required): msiexec.exe /i Symphony-x64.msi ALLUSERS=1
To install per user: msiexec.exe /i Symphony-x64.msi ALLUSERS=""
To change default pod url: msiexe.exe /i Symphony-x64.msi POD_URL=my.symphony.com
To change auto start: msiexe.exe /i Symphony-x64.msi AUTO_LAUNCH=true (or false) - if not specified default it true.
To change minimize on close: msiexe.exe /i Symphony-x64.msi MINIMIZE_ON_CLOSE=true (or false) - if not specified default is true.
Any of the above options can be chained together, for example: msiexe.exe /i Symphony-x64.msi MINIMIZE_ON_CLOSE=true AUTO_START=false POD_URL=my.symphony.com
The available values for various settings in the installer is listed below
Run the below docker commands under the project directory
To generate and tag the container
docker build -t linux:6.0.0 --build-arg REPO=https://github.com/symphonyoss/SymphonyElectron --build-arg BRANCH=linux .
To make sure the image is created and tagged correctly
docker images
To run the docker image and generate the linux builds 🎉
docker run --name linux linux:6.0.0
To copy the builds
docker cp linux:/SymphonyElectron/dist/symphony-6.1.0.x86_64.rpm ~/Desktopdocker cp linux:/SymphonyElectron/dist/symphony_6.1.0_amd64.deb ~/Desktop
Other useful docker commands
To connect to the interactive bash
docker run -i -t linux:6.0.0 /bin/bash
To delete all stopper containers
docker system prune -a
To delete the container/image
docker rmi -f linux:6.0.0
Change POD URL
To change the start url (i.e., pod url), edit config/Symphony.config and change 'url' variable. if no protocol provided, then https will be added.
The installer will include file config/Symphony.config next to executable. Changes in this file will affect all
users.
Alternatively, to run against a specific pod, launch Symphony (SDA) with the command line parameter --url=pod_url . With this, you don't have to change the config/Symphony.config file every time.
Troubleshooting
Logging
We enable local logging for dev environments using the module [electron-log](https://www.npmjs.com/package
/electron-log)
On macOS, we store the logs under ~/Library/Logs/Electron/app_<timestamp>.log
On Windows, we store the logs under %USERPROFILE%\AppData\Roaming\Electron\app_<timestamp>.log
On Linux, we store the logs under ~/.config/Electron/logs/app_<timestamp>.log
Customisation
If you need to run against a POD without proper cert use cmd line option: --ignore-certificate-errors
To start an additional instance with custom data directory (if you want seperate user) use cmd line options
: --multiInstance --userDataPath=<path to data dir>