GUI packages, examples, and documentation for building desktop applications with Go and web technologies. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
40 lines
1.1 KiB
YAML
40 lines
1.1 KiB
YAML
version: '3'
|
|
|
|
# This file contains the build logic specifically for the Linux platform.
|
|
|
|
includes:
|
|
common: ./common.yml
|
|
|
|
tasks:
|
|
build:
|
|
desc: "Builds the application for Linux."
|
|
dir: "{{.APP_ROOT}}"
|
|
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:
|
|
desc: "Packages the application for Linux."
|
|
dir: "{{.APP_ROOT}}"
|
|
deps:
|
|
- task: build
|
|
vars:
|
|
PRODUCTION: "true"
|
|
cmds:
|
|
- echo "Packaging for Linux... (AppImage, Deb, RPM)"
|
|
# Placeholder for actual packaging commands
|