(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:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -127,6 +127,7 @@ prime/
|
||||
|
||||
# Emacs
|
||||
\#*\#
|
||||
*~
|
||||
|
||||
# Vim
|
||||
*.sw*
|
||||
|
||||
63
Taskfile.yml
Normal file
63
Taskfile.yml
Normal 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
|
||||
Reference in New Issue
Block a user