214 lines
4.4 KiB
YAML
214 lines
4.4 KiB
YAML
# https://taskfile.dev
|
|
|
|
version: "3"
|
|
|
|
tasks:
|
|
default:
|
|
cmds:
|
|
- task: lint
|
|
- task: test
|
|
- task: build
|
|
|
|
package:
|
|
cmds:
|
|
- rm -fr dist
|
|
- linuxdeploy-x86_64.AppImage --appdir dist
|
|
- cp -v target/release/upend-cli dist/usr/bin/upend
|
|
- cp -r webui/dist dist/usr/bin/webui
|
|
- cp assets/upend.png dist/usr/share/icons/upend.png
|
|
- linuxdeploy-x86_64.AppImage --appdir dist -d build/upend.desktop --output appimage
|
|
env:
|
|
LINUXDEPLOY_OUTPUT_VERSION:
|
|
sh: ./build/get_version.sh
|
|
|
|
lint:
|
|
deps: [lint:frontend, lint:backend, lint:jslib, lint:webext]
|
|
|
|
lint:frontend:
|
|
dir: webui
|
|
deps: [setup:frontend]
|
|
sources:
|
|
- ./**/*.ts
|
|
- ./**/*.svelte
|
|
cmds:
|
|
- pnpm check
|
|
- pnpm lint
|
|
|
|
lint:backend:
|
|
sources:
|
|
- ./**/Cargo.toml
|
|
- ./**/*.rs
|
|
cmds:
|
|
- cargo clippy --workspace
|
|
|
|
lint:jslib:
|
|
deps: [build:jslib]
|
|
dir: tools/upend_js
|
|
sources:
|
|
- ./*.ts
|
|
- ./package.lock
|
|
cmds:
|
|
- pnpm lint
|
|
|
|
lint:webext:
|
|
dir: webext
|
|
deps: [setup:webext]
|
|
sources:
|
|
- ./**/*.ts
|
|
- ./**/*.svelte
|
|
cmds:
|
|
- pnpm lint
|
|
|
|
test:
|
|
deps: [test:backend]
|
|
|
|
test:backend:
|
|
sources:
|
|
- ./**/Cargo.toml
|
|
- ./**/*.rs
|
|
cmds:
|
|
- cargo nextest run --workspace
|
|
|
|
build:
|
|
deps: [build:frontend, build:backend, build:webext]
|
|
|
|
build:backend:
|
|
dir: cli
|
|
sources:
|
|
- ./**/Cargo.toml
|
|
- ./**/*.rs
|
|
cmds:
|
|
- cargo build --release
|
|
|
|
build:frontend:
|
|
dir: webui
|
|
deps: [setup:frontend]
|
|
sources:
|
|
- ./**/*.ts
|
|
- ./**/*.svelte
|
|
cmds:
|
|
- pnpm build
|
|
|
|
build:jslib:
|
|
deps: [build:wasmlib]
|
|
dir: tools/upend_js
|
|
sources:
|
|
- ./*.ts
|
|
- ./package.lock
|
|
cmds:
|
|
- pnpm add upend_wasm@file:../upend_wasm/pkg
|
|
- pnpm install --frozen-lockfile
|
|
- pnpm build
|
|
|
|
build:wasmlib:
|
|
dir: tools/upend_wasm
|
|
sources:
|
|
- ./**/*.rs
|
|
- Cargo.toml
|
|
cmds:
|
|
- wasm-pack build --target web
|
|
|
|
setup:frontend:
|
|
deps: [build:jslib]
|
|
dir: webui
|
|
sources:
|
|
- ../tools/upend_js/*.js
|
|
- package.lock
|
|
cmds:
|
|
- pnpm add upend@file:../tools/upend_js
|
|
- pnpm install --frozen-lockfile
|
|
|
|
build:webext:
|
|
deps: [setup:webext]
|
|
dir: webext
|
|
sources:
|
|
- ./**/*.ts
|
|
- ./**/*.svelte
|
|
cmds:
|
|
- pnpm build
|
|
|
|
build:webext:package-sources:
|
|
deps: [build:webext]
|
|
cmds:
|
|
- mkdir -p webext/web-ext-artifacts/tmp/upend/
|
|
- git ls-files -z tools/upend_js | xargs -0 cp --parents -t webext/web-ext-artifacts/tmp/upend
|
|
- git ls-files -z webext | xargs -0 cp --parents -t webext/web-ext-artifacts/tmp/upend
|
|
- cd webext/web-ext-artifacts/tmp/ && zip -vr ../upend-webext-sources.zip upend
|
|
|
|
setup:webext:
|
|
deps: [build:jslib]
|
|
dir: webext
|
|
sources:
|
|
- ../tools/upend_js/*.js
|
|
- package.lock
|
|
cmds:
|
|
- pnpm install --frozen-lockfile
|
|
|
|
build:docker:
|
|
deps: [build:docker:node, build:docker:rust, build:docker:deploy]
|
|
|
|
build:docker:node:
|
|
dir: build/upend-node
|
|
cmds:
|
|
- docker build --pull -t upend-node -t localhost:5000/upend-node .
|
|
|
|
build:docker:rust:
|
|
dir: build/upend-rust
|
|
cmds:
|
|
- docker build --pull -t upend-rust -t localhost:5000/upend-rust .
|
|
|
|
build:docker:deploy:
|
|
dir: build/upend-deploy
|
|
cmds:
|
|
- docker build --pull -t upend-deploy -t localhost:5000/upend-deploy .
|
|
|
|
dev:update_tool_deps:
|
|
cmds:
|
|
- task: build:jslib
|
|
- cd webui && pnpm add upend@file:../tools/upend_js && cd ..
|
|
- cd webext && pnpm install && cd ..
|
|
|
|
dev:
|
|
deps: [dev:backend, dev:frontend]
|
|
|
|
dev:backend:
|
|
dir: cli
|
|
cmds:
|
|
- cargo run --release -- serve ../example_vault --clean --no-browser --reinitialize
|
|
|
|
dev:frontend:
|
|
dir: webui
|
|
cmds:
|
|
- pnpm dev --open
|
|
|
|
clean:
|
|
deps:
|
|
[clean:backend, clean:frontend, clean:webext, clean:tools, clean:vault]
|
|
|
|
clean:backend:
|
|
cmds:
|
|
- cargo clean
|
|
|
|
clean:frontend:
|
|
cmds:
|
|
- rm -rf webui/node_modules
|
|
- rm -vrf webui/dist webui/public/vendor
|
|
|
|
clean:webext:
|
|
cmds:
|
|
- rm -rf webext/node_modules
|
|
- rm -vrf webext/web-ext-artifacts webext/dist
|
|
|
|
clean:tools:
|
|
cmds:
|
|
- rm -vrf tools/upend_js/*.js
|
|
|
|
clean:vault:
|
|
cmds:
|
|
- rm -vrf example_vault/.upend
|
|
|
|
update-schema:
|
|
cmds:
|
|
- rm -f upend.sqlite3
|
|
- diesel migration run --migration-dir migrations/upend/
|
|
- diesel print-schema > src/database/inner/schema.rs
|