forked from Silverfish/proton-bridge
2.2 KiB
2.2 KiB
Building ProtonMail Bridge and Import-Export 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
- GCC (linux, windows) or Xcode (macOS)
- Windres (windows)
- libglvnd and libsecret development files (linux)
To enable the sending of crash reports using Sentry please set the
main.DSNSentry value with the client key of your sentry project before build.
Otherwise, the sending of crash reports will be disabled.
Build
- for Windows please unset the
MSYSTEMvariable
export MSYSTEM=
Build Bridge
- in project root run
make build
- The result will be stored in
./cmd/Destop-Bridge/deploy/${GOOS}/- for
linux, the binary will have the name of the project directory (e.gproton-bridge) - for
windows, the binary will have the file extension.exe(e.gproton-bridge.exe) - for
darwin, the application will be created with name of the project directory (e.gproton-bridge.app)
- for
Build Import-Export
- in project root run
make build-ie
- The result will be stored in
./cmd/Import-Export/deploy/${GOOS}/- for
linux, the binary will have the name of the project directory (e.gproton-bridge) - for
windows, the binary will have the file extension.exe(e.gproton-bridge.exe) - for
darwin, the application will be created with name of the project directory (e.gproton-bridge.app)
- for
Tags
Note that repository contains both Bridge and Import-Export apps and they are
not released together. Therefore, each app has own tag prefix. Bridge tags
starts with br- and Import-Export tags starts with ie-. Both tags continues
with semantic versioning MAJOR.MINOR.PATCH. An example of full tag is
br-1.4.4 or ie-1.1.2 (current versions in October 2020).
Useful tests, lints and checks
In order to be able to run following commands please install the development dependencies:
make install-dev-dependencies
make testwill run all unit testsmake lintwill lint the whole projectmake -C ./test testwill run the integration testsmake runwill build Bridge without a GUI and start it in CLI mode