Refinement

This commit is contained in:
Philipp Heckel 2022-03-18 17:18:52 -04:00
parent 1f75498dca
commit 2edb722c0e
2 changed files with 17 additions and 10 deletions

View file

@ -127,7 +127,7 @@ you can simply run `make build`:
$ make build $ make build
... ...
# This builds web app, docs, and the ntfy binary (for amd64, armv7 and arm64). # This builds web app, docs, and the ntfy binary (for amd64, armv7 and arm64).
# This will be SLOW (1+ minutes on my laptop). Maybe look at the other make targets? # This will be SLOW (5+ minutes on my laptop on the first run). Maybe look at the other make targets?
``` ```
You'll see all the outputs in the `dist/` folder afterwards: You'll see all the outputs in the `dist/` folder afterwards:
@ -178,21 +178,28 @@ $ make server-amd64 install-amd64
$ ntfy serve $ ntfy serve
``` ```
During development of the main app, you can also just use `go run main.go` (as long as you run `make server-deps-static-sites` **During development of the main app, you can also just use `go run main.go`**, as long as you run
at least once), otherwise you'll see this: `make server-deps-static-sites`at least once and `CGO_ENABLED=1`:
``` shell ``` shell
# Error because docs/web folder is missing $ export CGO_ENABLED=1
$ go run main.go serve
server/server.go:85:13: pattern docs: no matching files found
# Works!
$ make server-deps-static-sites $ make server-deps-static-sites
$ go run main.go serve $ go run main.go serve
2022/03/18 08:43:55 Listening on :2586[http] 2022/03/18 08:43:55 Listening on :2586[http]
...
``` ```
If you don't run `server-deps-static-sites`, you may see an error *`pattern ...: no matching files found`*:
```
$ go run main.go serve
server/server.go:85:13: pattern docs: no matching files found
```
This is because we use `go:embed` to embed the documentation and web app, so the Go code expects files to be
present at `server/docs` and `server/site`. If they are not, you'll see the above error. The `server-deps-static-sites`
target creates dummy files that ensures that you'll be able to build.
### Build the web app ### Build the web app
The sources for the web app live in `web/`. As long as you have `npm` installed (see above), building the web app The sources for the web app live in `web/`. As long as you have `npm` installed (see above), building the web app
is really simple. Just type `make web` and you're in business: is really simple. Just type `make web` and you're in business: