(Try to) support taskfile.dev for building

GNU Make syntax gives anyone a huge headache

Signed-off-by: Shin'ya Minazuki <shinyoukai@laidback.moe>
This commit is contained in:
2026-02-18 23:10:04 -03:00
parent b865203ea7
commit 8d9dc84f3a
2 changed files with 64 additions and 0 deletions

1
.gitignore vendored
View File

@@ -127,6 +127,7 @@ prime/
# Emacs
\#*\#
*~
# Vim
*.sw*

63
Taskfile.yml Normal file
View File

@@ -0,0 +1,63 @@
# Copyright (C) 2026 Cocoa Developers
# SPDX-License-Identifier: CDDL-1.0
# https://taskfile.dev
version: '3'
vars:
MAKE_VERSION:
sh: task --version
PROJECT_NAME: "Cocoa"
VERSION:
sh: git describe --tags
tasks:
backend:
desc: "Build backend for {{.PROJECT_NAME}}"
internal: true
cmds:
- go generate -tags "{{.TAGS}}" ./...
- go build -v -ldflags "-s -w -X main.Version={{.VERSION}} -X main.MakeVersion='Task {{.MAKE_VERSION}}' -X main.Tags={{.TAGS}}" -tags "{{.TAGS}}" -o cocoa
vars:
TAGS: "bindata"
build:
desc: "Build {{.PROJECT_NAME}}"
cmds:
- task: frontend
- task: backend
clean:
desc: "Clean up generated artifacts"
cmds:
- rm -f {{.EXE}}
- rm -f modules/migration/bindata.*
- rm -f modules/public/bindata.*
- rm -f modules/options/bindata.*
- rm -f modules/templates/bindata.*
clean-all:
desc: "Remove everything (implies clean)"
cmds:
- task: clean
- rm -rf node_modules
- rm -rf public/assets/css
- rm -rf public/assets/fonts
- rm -rf public/assets/js
default:
cmds:
- task -l
silent: true
frontend:
desc: "Build frontend for {{.PROJECT_NAME}}"
internal: true
cmds:
- pnpm install --frozen-lockfile
- pnpm exec webpack --disable-interpret
env:
BROWSERSLIST_IGNORE_OLD_DATA: "true"
NODE_ENV: "production"
sources:
- web_src/css/*.css
- web_src/js/*.js
generates:
- public/assets/css/*.css
- public/assets/fonts/*
- public/assets/js/*.js