175 lines
4.5 KiB
YAML
175 lines
4.5 KiB
YAML
version: '3'
|
|
|
|
vars:
|
|
BINARY_NAME: linking-tool
|
|
BUILD_DIR: bin
|
|
|
|
tasks:
|
|
default:
|
|
desc: Show available tasks
|
|
cmds:
|
|
- task --list
|
|
|
|
dev:
|
|
desc: Run development servers (Go & SvelteKit)
|
|
cmds:
|
|
- pnpm install
|
|
- pnpm run dev
|
|
|
|
build:
|
|
desc: Build the single binary web server
|
|
cmds:
|
|
- pnpm install
|
|
- pnpm run build
|
|
- mkdir -p {{.BUILD_DIR}}
|
|
- CGO_ENABLED=0 go build -ldflags="-s -w" -o {{.BUILD_DIR}}/{{.BINARY_NAME}} main.go
|
|
|
|
package:
|
|
desc: Package the application
|
|
deps: [build]
|
|
|
|
release:
|
|
desc: Build binaries for all platforms
|
|
deps: [build]
|
|
cmds:
|
|
- task: build-linux-amd64
|
|
- task: build-linux-arm64
|
|
- task: build-linux-armv6
|
|
- task: build-linux-armv7
|
|
- task: build-windows-amd64
|
|
- task: build-darwin-amd64
|
|
- task: build-darwin-arm64
|
|
- task: build-freebsd-amd64
|
|
|
|
build-linux-amd64:
|
|
desc: Build Linux AMD64 binary
|
|
cmds:
|
|
- GOOS=linux GOARCH=amd64 go build -o {{.BUILD_DIR}}/{{.BINARY_NAME}}-linux-amd64 main.go
|
|
|
|
build-linux-arm64:
|
|
desc: Build Linux ARM64 binary
|
|
cmds:
|
|
- GOOS=linux GOARCH=arm64 go build -o {{.BUILD_DIR}}/{{.BINARY_NAME}}-linux-arm64 main.go
|
|
|
|
build-linux-armv6:
|
|
desc: Build Linux ARMv6 binary
|
|
cmds:
|
|
- GOOS=linux GOARCH=arm GOARM=6 go build -o {{.BUILD_DIR}}/{{.BINARY_NAME}}-linux-armv6 main.go
|
|
|
|
build-linux-armv7:
|
|
desc: Build Linux ARMv7 binary
|
|
cmds:
|
|
- GOOS=linux GOARCH=arm GOARM=7 go build -o {{.BUILD_DIR}}/{{.BINARY_NAME}}-linux-armv7 main.go
|
|
|
|
build-windows-amd64:
|
|
desc: Build Windows AMD64 binary
|
|
cmds:
|
|
- GOOS=windows GOARCH=amd64 go build -o {{.BUILD_DIR}}/{{.BINARY_NAME}}-windows-amd64.exe main.go
|
|
|
|
build-darwin-amd64:
|
|
desc: Build Darwin AMD64 binary
|
|
cmds:
|
|
- GOOS=darwin GOARCH=amd64 go build -o {{.BUILD_DIR}}/{{.BINARY_NAME}}-darwin-amd64 main.go
|
|
|
|
build-darwin-arm64:
|
|
desc: Build Darwin ARM64 binary
|
|
cmds:
|
|
- GOOS=darwin GOARCH=arm64 go build -o {{.BUILD_DIR}}/{{.BINARY_NAME}}-darwin-arm64 main.go
|
|
|
|
build-freebsd-amd64:
|
|
desc: Build FreeBSD AMD64 binary
|
|
cmds:
|
|
- GOOS=freebsd GOARCH=amd64 go build -o {{.BUILD_DIR}}/{{.BINARY_NAME}}-freebsd-amd64 main.go
|
|
|
|
docker-build:
|
|
desc: Build Docker image
|
|
cmds:
|
|
- docker build -f docker/Dockerfile -t {{.BINARY_NAME}} .
|
|
|
|
docker-run:
|
|
desc: Run Docker container
|
|
cmds:
|
|
- docker run -p 8080:8080 {{.BINARY_NAME}}
|
|
|
|
docker-builder:
|
|
desc: Build and extract binaries using Docker
|
|
cmds:
|
|
- docker build -f docker/Dockerfile.build -t {{.BINARY_NAME}}-build .
|
|
- docker create --name {{.BINARY_NAME}}-temp {{.BINARY_NAME}}-build
|
|
- mkdir -p {{.BUILD_DIR}}
|
|
- docker cp {{.BINARY_NAME}}-temp:/bin/. {{.BUILD_DIR}}/
|
|
- docker cp {{.BINARY_NAME}}-temp:/desktop-bin/. {{.BUILD_DIR}}/
|
|
- docker rm {{.BINARY_NAME}}-temp
|
|
|
|
desktop-build:
|
|
desc: Build desktop application
|
|
deps: [build]
|
|
cmds:
|
|
- rm -rf desktop/frontend_dist/*
|
|
- cp -r build/* desktop/frontend_dist/
|
|
- cd desktop && wails build -s
|
|
|
|
desktop-windows:
|
|
desc: Build desktop application for Windows
|
|
deps: [build]
|
|
cmds:
|
|
- rm -rf desktop/frontend_dist/*
|
|
- cp -r build/* desktop/frontend_dist/
|
|
- cd desktop && wails build -s -platform windows/amd64
|
|
|
|
desktop-darwin:
|
|
desc: Build desktop application for Darwin
|
|
deps: [build]
|
|
cmds:
|
|
- rm -rf desktop/frontend_dist/*
|
|
- cp -r build/* desktop/frontend_dist/
|
|
- cd desktop && wails build -s -platform darwin/universal
|
|
|
|
desktop-dev:
|
|
desc: Run desktop application in development mode
|
|
deps: [build]
|
|
cmds:
|
|
- rm -rf desktop/frontend_dist/*
|
|
- cp -r build/* desktop/frontend_dist/
|
|
- cd desktop && wails dev
|
|
|
|
clean:
|
|
desc: Clean build artifacts
|
|
cmds:
|
|
- rm -rf .svelte-kit build node_modules node_modules/.vite dist package linking-tool tmp {{.BUILD_DIR}}
|
|
|
|
install:
|
|
desc: Install dependencies
|
|
cmds:
|
|
- pnpm install
|
|
|
|
preview:
|
|
desc: Preview production build
|
|
cmds:
|
|
- pnpm run preview
|
|
|
|
check:
|
|
desc: Run type checking
|
|
cmds:
|
|
- pnpm run check
|
|
|
|
lint:
|
|
desc: Run linter
|
|
cmds:
|
|
- pnpm run lint
|
|
|
|
format:
|
|
desc: Format code
|
|
cmds:
|
|
- pnpm run format
|
|
|
|
version:minor:
|
|
desc: Bump minor version in package.json
|
|
cmds:
|
|
- pnpm version minor --no-git-tag-version
|
|
|
|
version:major:
|
|
desc: Bump major version in package.json
|
|
cmds:
|
|
- pnpm version major --no-git-tag-version
|