AFFiNE/docs/building-desktop-client-app.md
2023-04-04 07:40:07 -05:00

52 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Building AFFiNE Desktop Client App
## Table of Contents
- [Prerequisites](#prerequisites)
- [Development](#development)
- [Build](#build)
- [CI](#ci)
## Prerequisites
Before you start building AFFiNE Desktop Client Application, please [install Rust toolchain first](https://www.rust-lang.org/learn/get-started).
Note that if you encounter any issues with installing Rust and crates, try following [this guide (zh-CN)](https://course.rs/first-try/slowly-downloading.html) to set up alternative registries.
## Development
To run AFFiNE Desktop Client Application locally, run the following commands:
```sh
# in repo root
yarn install
yarn dev
# in apps/electron
yarn generate-assets
yarn dev
```
Now you should see the Electron app window popping up shortly.
## Build
To build the desktop client application, run `yarn make` in `apps/electron`.
Note: you may want to comment out `osxSign` and `osxNotarize` in `forge.config.js` to avoid signing and notarizing the app.
Once the build is complete, you can find the paths to the binaries in the terminal output.
```
Finished 2 bundles at:
Artifacts available at: <affine-repo>/apps/electron/out/make
```
## CI
Please refer to `.github/workflows/release-desktop-app.yml` for the CI workflow. It will:
- build the app for all supported platforms
- upload the artifacts to GitHub Actions