joplin/BUILD.md

50 lines
1.9 KiB
Markdown
Raw Normal View History

# General information
2017-12-15 00:10:47 +00:00
- All the applications share the same library, which, for historical reasons, is in ReactNativeClient/lib. This library is copied to the relevant directories when building each app.
2017-12-06 23:34:31 +00:00
- The translations are built by running CliClient/build-translation.sh. You normally don't need to run this if you haven't updated the translation since the compiled files are on the repository.
## macOS dependencies
2017-12-06 23:34:31 +00:00
brew install yarn node
echo 'export PATH="/usr/local/opt/gettext/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
If you get a node-gyp related error you might need to manually install it: `npm install -g node-gyp`
2017-12-06 23:34:31 +00:00
## Linux and Windows (WSL) dependencies
2017-11-30 23:02:14 +00:00
- Install yarn - https://yarnpkg.com/lang/en/docs/install/
- Install node v8.x (check with `node --version`) - https://nodejs.org/en/
2017-12-06 23:34:31 +00:00
- If you get a node-gyp related error you might need to manually install it: `npm install -g node-gyp`
# Building the Electron application
2017-11-30 23:02:14 +00:00
```
cd ElectronClient/app
2017-12-14 18:12:14 +00:00
rsync --delete -a ../../ReactNativeClient/lib/ lib/
2017-11-30 23:02:14 +00:00
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
2017-11-30 23:02:14 +00:00
2017-12-15 00:10:47 +00:00
First you need to setup React Native to build projects with native code. For this, follow the instructions on the [Get Started](https://facebook.github.io/react-native/docs/getting-started.html) tutorial, in the "Building Projects with Native Code" tab.
2017-12-15 07:31:57 +00:00
Then, from `/ReactNativeClient`, run `npm install`, then `react-native run-ios` or `react-native run-android`.
2017-11-30 23:02:14 +00:00
# Building the Terminal application
2017-11-30 23:02:14 +00:00
2017-12-15 07:31:57 +00:00
```
cd CliClient
npm install
./build.sh
rsync --delete -aP ../ReactNativeClient/locales/ build/locales/
```
Run `run.sh` to start the application for testing.