forked from Silverfish/proton-bridge
39 lines
1.3 KiB
Markdown
39 lines
1.3 KiB
Markdown
# Building ProtonMail Bridge app
|
|
|
|
## Prerequisites
|
|
* Go 1.13
|
|
* Bash with basic build utils: make, gcc, sed, find, grep, …
|
|
* For Windows it is recommended to use MinGW 64bit shell from [MSYS2](https://www.msys2.org/)
|
|
* GCC (linux, windows) or Xcode (macOS)
|
|
* Windres (windows)
|
|
|
|
To enable the sending of crash reports using Sentry please set the
|
|
`main.DSNSentry` value with client key of your sentry project before build.
|
|
Otherwise sending of crash reports will be disabled.
|
|
|
|
## Build
|
|
* for Windows please unset the `MSYSTEM` variable
|
|
|
|
```bash
|
|
export MSYSTEM=
|
|
```
|
|
|
|
* in project root run
|
|
|
|
```bash
|
|
make build
|
|
```
|
|
|
|
* The result will be stored in `./cmd/Destop-Bridge/deploy/${GOOS}/`
|
|
* for `linux` binary will the name of project directory e.g `bridge`
|
|
* for `windows` the binary has extension `.exe` e.g `bridge.exe`
|
|
* for `darwin` the application will be created with name of project directory e.g `bridge.app`
|
|
|
|
## Usefull tests, lints and checks
|
|
In order to be able to run following commands please install development dependencies: `make install-dev-dependencies`
|
|
|
|
* `make test` will run unit test for whole project
|
|
* `make lint` will run liter for whole project
|
|
* `make -C ./tests test` will run integration tests for Bridge application
|
|
* `make run` will compile without GUI and start Bridge application in CLI mode
|