1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-01-11 18:24:43 +02:00
joplin/BUILD.md
2017-12-01 18:56:35 +00:00

1.5 KiB

General information

  • All the applications share the same library, which, for historical reasons, is in ReactNativeClient/lib. This library is copied to the relevant directories when builing each app.
  • The translations are built by running CliClient/build-translation.sh. For this reasons, it's generally better to get the CLI app to build first so that everything is setup correctly.

macOS dependencies

brew install yarn node xgettext
echo 'export PATH="/usr/local/opt/gettext/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile

Linux and Windows dependencies

Building the Electron application

cd ElectronClient/app
rsync -a ../../ReactNativeClient/lib/ lib/
npm install
yarn dist

If there's an error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory, run sudo apt-get install libgconf-2-4

That will create the executable file in the dist directory.

From /ElectronClient you can also run run.sh to run the app for testing.

Building the Mobile application

From /ReactNativeClient, run npm install, then react-native run-ios or react-native run-android.

Building the Terminal application

From /CliClient, run npm install then run run.sh. If you get an error about xgettext, comment out the command node build-translation.js --silent in build.sh