Improve the static webapp building & embedding
Some smaller changes to make the webapp building smoother, and also to make sure there are no errors on a clean Git checkout.
This commit is contained in:
parent
b082433757
commit
75723daba2
26
Makefile
26
Makefile
@ -14,6 +14,13 @@ BUILD_FLAGS = -ldflags="${LDFLAGS}"
|
|||||||
PY_API_PKG_NAME=flamenco.manager
|
PY_API_PKG_NAME=flamenco.manager
|
||||||
JS_API_PKG_NAME=manager
|
JS_API_PKG_NAME=manager
|
||||||
|
|
||||||
|
# The directory that will contain the built webapp files, and some other files
|
||||||
|
# that will be served as static files by the Flamenco Manager web server.
|
||||||
|
#
|
||||||
|
# WARNING: THIS IS USED IN `rm -rf ${WEB_STATIC}`, DO NOT MAKE EMPTY OR SET TO
|
||||||
|
# ANY ABSOLUTE PATH.
|
||||||
|
WEB_STATIC=web/static
|
||||||
|
|
||||||
# Prevent any dependency that requires a C compiler, i.e. only work with pure-Go libraries.
|
# Prevent any dependency that requires a C compiler, i.e. only work with pure-Go libraries.
|
||||||
export CGO_ENABLED=0
|
export CGO_ENABLED=0
|
||||||
|
|
||||||
@ -47,14 +54,14 @@ webapp:
|
|||||||
yarn --cwd web/app install
|
yarn --cwd web/app install
|
||||||
|
|
||||||
webapp-static: addon-packer
|
webapp-static: addon-packer
|
||||||
rm -rf web/static
|
$(MAKE) clean-webapp-static
|
||||||
# When changing the base URL, also update the line
|
# When changing the base URL, also update the line
|
||||||
# e.GET("/app/*", echo.WrapHandler(webAppHandler))
|
# e.GET("/app/*", echo.WrapHandler(webAppHandler))
|
||||||
# in `cmd/flamenco-manager/main.go`
|
# in `cmd/flamenco-manager/main.go`
|
||||||
yarn --cwd web/app build --outDir ../static --base=/app/
|
yarn --cwd web/app build --outDir ../static --base=/app/
|
||||||
# yarn --cwd web/app build --outDir ../static --base=/app/ --minify false
|
# yarn --cwd web/app build --outDir ../static --base=/app/ --minify false
|
||||||
./addon-packer -filename web/static/flamenco3-addon.zip
|
./addon-packer -filename ${WEB_STATIC}/flamenco3-addon.zip
|
||||||
@echo "Web app has been installed into web/static"
|
@echo "Web app has been installed into ${WEB_STATIC}"
|
||||||
|
|
||||||
generate: generate-go generate-py generate-js
|
generate: generate-go generate-py generate-js
|
||||||
|
|
||||||
@ -139,11 +146,22 @@ swagger-ui:
|
|||||||
@echo 'Now update pkg/api/static/swagger-ui/index.html to have url: "/api/openapi3.json",'
|
@echo 'Now update pkg/api/static/swagger-ui/index.html to have url: "/api/openapi3.json",'
|
||||||
|
|
||||||
test:
|
test:
|
||||||
|
# Ensure the web-static directory exists, so that `web/web_app.go` can embed something.
|
||||||
|
mkdir -p ${WEB_STATIC}
|
||||||
go test -p 1 -short ${PKG_LIST}
|
go test -p 1 -short ${PKG_LIST}
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@go clean -i -x
|
@go clean -i -x
|
||||||
rm -f flamenco*-v* flamenco-manager flamenco-worker *.exe flamenco-*_race addon-packer
|
rm -f flamenco*-v* flamenco-manager flamenco-worker *.exe flamenco-*_race addon-packer
|
||||||
|
$(MAKE) clean-webapp-static
|
||||||
|
|
||||||
|
clean-webapp-static:
|
||||||
|
# Start with `./` to avoid horrors when WEB_STATIC is absolute (like / or /home/yourname).
|
||||||
|
rm -rf ./${WEB_STATIC}
|
||||||
|
# Make sure there is at least something to embed by Go, or it may cause some errors.
|
||||||
|
mkdir -p ./${WEB_STATIC}
|
||||||
|
touch ${WEB_STATIC}/emptyfile
|
||||||
|
|
||||||
|
|
||||||
package: flamenco-manager flamenco-worker addon-packer
|
package: flamenco-manager flamenco-worker addon-packer
|
||||||
rm -rf dist-build
|
rm -rf dist-build
|
||||||
@ -156,4 +174,4 @@ package: flamenco-manager flamenco-worker addon-packer
|
|||||||
mv dist-build/flamenco-${VERSION}.zip dist
|
mv dist-build/flamenco-${VERSION}.zip dist
|
||||||
rm -rf dist-build
|
rm -rf dist-build
|
||||||
|
|
||||||
.PHONY: application version flamenco-manager flamenco-worker flamenco-manager_race flamenco-worker_race webapp webapp-static generate generate-go generate-py with-deps swagger-ui list-embedded test clean
|
.PHONY: application version flamenco-manager flamenco-worker flamenco-manager_race flamenco-worker_race webapp webapp-static generate generate-go generate-py with-deps swagger-ui list-embedded test clean clean-webapp-static
|
||||||
|
11
web/README-static.md
Normal file
11
web/README-static.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# Static Web Files
|
||||||
|
|
||||||
|
Files in the `static` directory will get embedded into the Flamenco Manager
|
||||||
|
executable, and served as static files via its web server.
|
||||||
|
|
||||||
|
- `make webapp-static` clears it out and builds the webapp there. It also ZIPs
|
||||||
|
the Blender add-on, and places it in there as well.
|
||||||
|
- `make clean-webapp-static` just does the clearing of the files.
|
||||||
|
|
||||||
|
`static/emptyfile` exists just to make sure that `go:embed` inside `web_app.go`
|
||||||
|
has something to work with, even before any static files have been built.
|
0
web/static/emptyfile
Normal file
0
web/static/emptyfile
Normal file
Loading…
Reference in New Issue
Block a user