cli/cmd/core-demo/build/linux/Taskfile.yml

82 lines
2.3 KiB
YAML
Raw Normal View History

version: '3'
includes:
common: "../Taskfile.yml"
tasks:
build:
summary: Builds the application for Linux
deps:
- task: common:go:mod:tidy
- task: common:build:public
vars:
BUILD_FLAGS:
ref: .BUILD_FLAGS
PRODUCTION:
ref: .PRODUCTION
- task: common:generate:icons
cmds:
- go build {{.BUILD_FLAGS}} -o bin/{{.APP_NAME}}
vars:
BUILD_FLAGS: '{{if eq .PRODUCTION "true"}}-tags production -trimpath -buildvcs=false -ldflags="-w -s"{{else}}-buildvcs=false -gcflags=all="-l"{{end}}'
env:
GOOS: linux
CGO_ENABLED: 1
GOARCH: '{{.ARCH | default "amd64"}}'
PRODUCTION: '{{.PRODUCTION | default "false"}}'
package:
summary: Packages a production build of the application for Linux
deps:
- task: build
vars:
PRODUCTION: "true"
cmds:
- task: create:appimage
- task: create:deb
- task: create:rpm
create:appimage:
summary: Creates an AppImage
dir: "{{.APP_ROOT}}/build/linux/appimage"
deps:
- task: ":build"
vars:
PRODUCTION: "true"
- task: ":generate:dotdesktop"
cmds:
- cp "{{.APP_ROOT}}/bin/{{.APP_NAME}}" .
- cp "{{.APP_ROOT}}/build/appicon.png" "{{.APP_NAME}}.png"
- wails3 generate appimage -binary "{{.APP_NAME}}" -icon "{{.APP_NAME}}.png" -desktopfile "../{{.APP_NAME}}.desktop" -outputdir "{{.APP_ROOT}}/bin" -builddir build
create:deb:
summary: Creates a deb package
deps:
- task: build
vars:
PRODUCTION: "true"
cmds:
- task: generate:dotdesktop
- wails3 tool package -name {{.APP_NAME}} -format deb -config build/linux/nfpm/nfpm.yaml -out bin
create:rpm:
summary: Creates a rpm package
deps:
- task: build
vars:
PRODUCTION: "true"
cmds:
- task: generate:dotdesktop
- wails3 tool package -name {{.APP_NAME}} -format rpm -config build/linux/nfpm/nfpm.yaml -out bin
generate:dotdesktop:
summary: Generates a `.desktop` file
cmds:
- mkdir -p linux/appimage
- wails3 generate .desktop -name "{{.APP_NAME}}" -exec "{{.APP_NAME}}" -icon "{{.APP_NAME}}" -outputfile "linux/{{.APP_NAME}}.desktop" -categories "Development;"
run:
dir: "{{.APP_ROOT}}"
cmds:
- "bin/{{.APP_NAME}}"