Skip to content

Latest commit

 

History

History
55 lines (41 loc) · 1.85 KB

BUILDS.md

File metadata and controls

55 lines (41 loc) · 1.85 KB

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 MSYSTEM variable
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.g proton-bridge)
    • for windows, the binary will have the file extension .exe (e.g proton-bridge.exe)
    • for darwin, the application will be created with name of the project directory (e.g proton-bridge.app)

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.g proton-bridge)
    • for windows, the binary will have the file extension .exe (e.g proton-bridge.exe)
    • for darwin, the application will be created with name of the project directory (e.g proton-bridge.app)

Useful tests, lints and checks

In order to be able to run following commands please install the development dependencies: make install-dev-dependencies

  • make test will run all unit tests
  • make lint will lint the whole project
  • make -C ./test test will run the integration tests
  • make run will build Bridge without a GUI and start it in CLI mode