- Install Golang 1.22.x from here or using preferred package manager
- Follow instructions below for the target systems
Update the tantivy version in go.mod and run:
make download-tantivy-all-force
As of 16.01.23 last protobuf version (21.12) broke the JS plugin support, so you can use the v3 branch:
brew install protobuf@3
To generate Swift protobuf:
brew install swift-protobuf
We need to have protoc binary (3.x version) and libprotoc headers in orderto build the grpc-web plugin
apt install protobuf-compiler libprotoc-dev
Repository provides flake.nix
with devShell
which has all the build dependencies (excluding tentivy-go pre-compiled libraries yet).
nix develop .
Tip
It is also convenient to use nix shell with direnv with nix-direnv,
which enables devShell
when you cd
into directory.
With direnv, you can also switch environments per project in your code editor: emacs-direnv
make setup-protoc
to install grpc-web plugin (see Protogen for additional information)
Build and install for the desktop client
make install-dev-js
to build the local server and copy it and protobuf binding into ../anytype-ts
Parameters:
ANY_SYNC_NETWORK=/path/to/network.yml
— build using self-hosted network configuration
Instructions to set up environment for iOS: here
-
make build-ios
to build the framework intodist/ios
folderParameters:
ANY_SYNC_NETWORK=/path/to/network.yml
— build using self-hosted network configuration
-
make protos-swift
to generate swift protobuf bindings intodist/ios/pb
Instructions to setup environment for Android: here
-
make build-android
to build the library intodist/android
folderParameters:
ANY_SYNC_NETWORK=/path/to/network.yml
— build using self-hosted network configuration
-
make protos-java
to generate java protobuf bindings intodist/android/pb