doc (contributing): update build instructions

This commit is contained in:
Mickael Kerjean 2020-02-06 12:52:13 +11:00
parent ee0a44ae0b
commit 20dedca9b6

View file

@ -6,67 +6,35 @@ Thanks for taking the time to join our community and start contributing. This gu
### Before you submit a pull request ### Before you submit a pull request
For anything else than a typo or an obvious bug fix, please raise an issue to discuss your proposal before submitting any code. For anything else than a typo or a bug fix, please raise an issue to discuss your proposal before submitting any code.
### License for contributions ### License for contributions
As the copyright owner, you agree to license your contributions under an irrevocable MIT license. As the copyright owner, you agree to license your contributions under an irrevocable MIT license.
## Building from source ### Building from source
### Prerequisites *Prerequisites*: Git, Make, Node, Go
- Git
- Make
- Node
- Go
### Download the source
``` ```
export $GOPATH=/wherever/you/want # Download the source
cd $GOPATH
mkdir -p github.com/mickael-kerjean/ && cd github.com/mickael-kerjean/
git clone https://github.com/mickael-kerjean/filestash git clone https://github.com/mickael-kerjean/filestash
cd filestash cd filestash
```
### Install dependencies # Install dependencies
``` npm install # frontend dependencies
# frontend dependencies make build_init # install the required static libraries
npm install mkdir -p ./dist/data/state/
cp -R config ./dist/data/state/
# backend dependencies # Create the build
go get ./server/...
make build_init # beware this will install the required C headers under /usr/local/include/
```
### Building
*Frontend*:
```
# Production build:
make build_frontend make build_frontend
# Development build:
npm run dev
```
*Backend*:
```
make build_backend make build_backend
```
*Run*: # Run the program
```
./dist/filestash ./dist/filestash
``` ```
*Clear*:
```
# clear the frontend
rm -rf ./dist/data/public/
# clear the entire build
rm -rf ./dist
```
### Tests ### Tests
Our tests aren't open source. This comes as an attempt to restrict opportunistic forks (see [1](https://news.ycombinator.com/item?id=17006902#17009852) and [2](https://www.reddit.com/r/selfhosted/comments/a54axs/annoucing_jellyfin_a_free_software_fork_of_emby/ebk92iu/?utm_source=share&utm_medium=web2x)) from creating a stable release without serious commitment and splitting the community in pieces while I'm on holidays. Also the project welcome serious and willing maintainers. Our tests aren't open source. This comes as an attempt to restrict opportunistic forks (see [1](https://news.ycombinator.com/item?id=17006902#17009852) and [2](https://www.reddit.com/r/selfhosted/comments/a54axs/annoucing_jellyfin_a_free_software_fork_of_emby/ebk92iu/?utm_source=share&utm_medium=web2x)) from creating a stable release without serious commitment and splitting the community in pieces while I'm on holidays. Also the project welcome serious and willing maintainers.