1
0
mirror of https://github.com/hrfee/jfa-go.git synced 2024-11-24 11:20:10 +00:00

Updated Build (markdown)

Harvey Tindall 2020-09-03 21:53:21 +01:00
parent a29b138b71
commit 3cc65890e1

@ -1,14 +1,16 @@
To build, you need to generate email templates, css, and config files. The build scripts were mostly ripped out of jf-accounts, so you'll need similar dependencies: To build, you need to generate email templates, css, and config files. The build scripts were mostly ripped out of jf-accounts, so you'll need similar dependencies:
``` ```
git
python >= 3.6 python >= 3.6
pip (to install libsass) pip (to install libsass)
node.js and npm (for bootstrap4/5, autoprefixer, cleancss, mjml, and postcss) node.js and npm (for bootstrap4/5, autoprefixer, cleancss, mjml, and postcss)
upx (optional, to compress the executable)
``` ```
### Makefile ### Makefile
A Makefile is provided, which requires the `make` command. Simply clone the repository and run `make all` (or `make headless` for a non-interactive mode) to grab all necessary dependencies for go/python/node, compile everything and place the executable and app data inside `build/`. A Makefile is provided, which requires the `make` command. Simply clone the repository and run `make all` (or `make headless` for a non-interactive mode) to grab all necessary dependencies for go/python/node, compile everything and place the executable and app data inside `build/`. You can optionally compress the executable by running `make compress` after.
### Goreleaser ### Goreleaser
[goreleaser](https://github.com/goreleaser/goreleaser) is used to publish the packages seen in the release section. [goreleaser](https://github.com/goreleaser/goreleaser) is used to publish the packages seen in the release section.
* To generate executables for multiple platforms, run `goreleaser build --snapshot --rm-dist`. They will be stored in `dist/`. The `data` directory must be copied into the same directory as the executable for it to run. * To generate executables for multiple platforms, run `goreleaser build --snapshot --rm-dist`. They will be stored in `dist/`. The `data` directory must be manually copied into the same directory as the executable for it to run.
* To generate package archives that include `data`, run `goreleaser --snapshot --skip-publish --rm-dist`. * To generate package archives that include `data`, run `goreleaser --snapshot --skip-publish --rm-dist`.