Replace Makefile with Taskfile
This commit is contained in:
174
Taskfile.yml
Normal file
174
Taskfile.yml
Normal file
@@ -0,0 +1,174 @@
|
||||
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
|
||||
Reference in New Issue
Block a user