-
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
a7390d0
commit a007722
Showing
38 changed files
with
2,238 additions
and
493 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
version: '3' | ||
|
||
tasks: | ||
go:mod:tidy: | ||
summary: Runs `go mod tidy` | ||
internal: true | ||
generates: | ||
- go.sum | ||
sources: | ||
- go.mod | ||
cmds: | ||
- go mod tidy | ||
|
||
install:frontend:deps: | ||
summary: Install frontend dependencies | ||
dir: frontend | ||
sources: | ||
- package.json | ||
- package-lock.json | ||
generates: | ||
- node_modules/* | ||
preconditions: | ||
- sh: npm version | ||
msg: "Looks like npm isn't installed. Npm is part of the Node installer: https://nodejs.org/en/download/" | ||
cmds: | ||
- npm install | ||
|
||
build:frontend: | ||
summary: Build the frontend project | ||
dir: frontend | ||
sources: | ||
- "**/*" | ||
generates: | ||
- dist/* | ||
deps: | ||
- task: install:frontend:deps | ||
- task: generate:bindings | ||
cmds: | ||
- npm run build -q | ||
|
||
generate:bindings: | ||
summary: Generates bindings for the frontend | ||
sources: | ||
- "**/*.go" | ||
- go.mod | ||
- go.sum | ||
generates: | ||
- "frontend/bindings/**/*" | ||
cmds: | ||
- wails3 generate bindings -f '{{.BUILD_FLAGS}}'{{if .UseTypescript}} -ts{{end}} | ||
|
||
generate:icons: | ||
summary: Generates Windows `.ico` and Mac `.icns` files from an image | ||
dir: build | ||
sources: | ||
- "appicon.png" | ||
generates: | ||
- "icons.icns" | ||
- "icons.ico" | ||
cmds: | ||
- wails3 generate icons -input appicon.png -macfilename darwin/icons.icns -windowsfilename windows/icons.ico | ||
|
||
dev:frontend: | ||
summary: Runs the frontend in development mode | ||
dir: frontend | ||
deps: | ||
- task: install:frontend:deps | ||
cmds: | ||
- npm run dev -- --port {{.VITE_PORT}} --strictPort | ||
|
||
update:build-assets: | ||
summary: Updates the build assets | ||
dir: build | ||
cmds: | ||
- wails3 update build-assets -name "{{.APP_NAME}}" -binaryname "{{.APP_NAME}}" -config config.yml -dir . |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# This file contains the configuration for this project. | ||
# When you update `info` or `fileAssociations`, run `wails3 task common:update:build-assets` to update the assets. | ||
# Note that this will overwrite any changes you have made to the assets. | ||
version: '3' | ||
|
||
# This information is used to generate the build assets. | ||
info: | ||
companyName: "My Company" # The name of the company | ||
productName: "My Product" # The name of the application | ||
productIdentifier: "com.mycompany.myproduct" # The unique product identifier | ||
description: "A program that does X" # The application description | ||
copyright: "(c) 2024, My Company" # Copyright text | ||
comments: "Some Product Comments" # Comments | ||
version: "v0.0.1" # The application version | ||
|
||
# Dev mode configuration | ||
dev_mode: | ||
root_path: . | ||
log_level: warn | ||
debounce: 1000 | ||
ignore: | ||
dir: | ||
- .git | ||
- node_modules | ||
- frontend | ||
- bin | ||
file: | ||
- .DS_Store | ||
- .gitignore | ||
- .gitkeep | ||
watched_extension: | ||
- "*.go" | ||
git_ignore: true | ||
executes: | ||
- cmd: wails3 task common:install:frontend:deps | ||
type: once | ||
- cmd: wails3 task common:dev:frontend | ||
type: background | ||
- cmd: go mod tidy | ||
type: blocking | ||
- cmd: wails3 task build | ||
type: blocking | ||
- cmd: wails3 task run | ||
type: primary | ||
|
||
# File Associations | ||
# More information at: https://v3alpha.wails.io/noit/done/yet | ||
fileAssociations: | ||
# - ext: wails | ||
# name: Wails | ||
# description: Wails Application File | ||
# iconName: wailsFileIcon | ||
# role: Editor | ||
# - ext: jpg | ||
# name: JPEG | ||
# description: Image File | ||
# iconName: jpegFileIcon | ||
# role: Editor | ||
|
||
# Other data | ||
other: | ||
- name: My Other Data |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
version: '3' | ||
|
||
includes: | ||
common: ../Taskfile.yml | ||
|
||
tasks: | ||
build: | ||
summary: Creates a production build of the application | ||
deps: | ||
- task: common:go:mod:tidy | ||
- task: common:build:frontend | ||
- task: common:generate:icons | ||
cmds: | ||
- go build {{.BUILD_FLAGS}} -o {{.OUTPUT}} | ||
vars: | ||
BUILD_FLAGS: '{{if eq .PRODUCTION "true"}}-tags production,fts5 -trimpath -ldflags="-w -s"{{else}}-tags fts5 -gcflags=all="-N -l"{{end}}' | ||
DEFAULT_OUTPUT: '{{.BIN_DIR}}/{{.APP_NAME}}' | ||
OUTPUT: '{{ .OUTPUT | default .DEFAULT_OUTPUT }}' | ||
env: | ||
GOOS: darwin | ||
CGO_ENABLED: 1 | ||
GOARCH: '{{.ARCH | default ARCH}}' | ||
CGO_CFLAGS: "-mmacosx-version-min=10.15" | ||
CGO_LDFLAGS: "-mmacosx-version-min=10.15" | ||
MACOSX_DEPLOYMENT_TARGET: "10.15" | ||
PRODUCTION: '{{.PRODUCTION | default "false"}}' | ||
|
||
build:universal: | ||
summary: Builds darwin universal binary (arm64 + amd64) | ||
deps: | ||
- task: build | ||
vars: | ||
ARCH: amd64 | ||
OUTPUT: "{{.BIN_DIR}}/{{.APP_NAME}}-amd64" | ||
- task: build | ||
vars: | ||
ARCH: arm64 | ||
OUTPUT: "{{.BIN_DIR}}/{{.APP_NAME}}-arm64" | ||
cmds: | ||
- lipo -create -output "{{.BIN_DIR}}/{{.APP_NAME}}" "{{.BIN_DIR}}/{{.APP_NAME}}-amd64" "{{.BIN_DIR}}/{{.APP_NAME}}-arm64" | ||
- rm "{{.BIN_DIR}}/{{.APP_NAME}}-amd64" "{{.BIN_DIR}}/{{.APP_NAME}}-arm64" | ||
|
||
package: | ||
summary: Packages a production build of the application into a `.app` bundle | ||
deps: | ||
- task: build | ||
vars: | ||
PRODUCTION: "true" | ||
cmds: | ||
- task: create:app:bundle | ||
|
||
package:universal: | ||
summary: Packages darwin universal binary (arm64 + amd64) | ||
deps: | ||
- task: build:universal | ||
cmds: | ||
- task: create:app:bundle | ||
|
||
|
||
create:app:bundle: | ||
summary: Creates an `.app` bundle | ||
cmds: | ||
- mkdir -p {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents/{MacOS,Resources} | ||
- cp build/darwin/icons.icns {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents/Resources | ||
- cp {{.BIN_DIR}}/{{.APP_NAME}} {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents/MacOS | ||
- cp build/darwin/Info.plist {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents | ||
|
||
run: | ||
cmds: | ||
- '{{.BIN_DIR}}/{{.APP_NAME}}' |
File renamed without changes.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
version: '3' | ||
|
||
includes: | ||
common: ../Taskfile.yml | ||
|
||
tasks: | ||
build: | ||
summary: Builds the application for Linux | ||
deps: | ||
- task: common:go:mod:tidy | ||
- task: common:build:frontend | ||
- task: common:generate:icons | ||
cmds: | ||
- go build {{.BUILD_FLAGS}} -o {{.BIN_DIR}}/{{.APP_NAME}} | ||
vars: | ||
BUILD_FLAGS: '{{if eq .PRODUCTION "true"}}-tags production -trimpath -ldflags="-w -s"{{else}}-gcflags=all="-l"{{end}}' | ||
env: | ||
GOOS: linux | ||
CGO_ENABLED: 1 | ||
GOARCH: '{{.ARCH | default ARCH}}' | ||
PRODUCTION: '{{.PRODUCTION | default "false"}}' | ||
|
||
package: | ||
summary: Packages a production build of the application for Linux | ||
deps: | ||
- task: build | ||
vars: | ||
PRODUCTION: "true" | ||
cmds: | ||
- task: create:appimage | ||
- task: create:deb | ||
- task: create:rpm | ||
- task: create:aur | ||
|
||
create:appimage: | ||
summary: Creates an AppImage | ||
dir: build/linux/appimage | ||
deps: | ||
- task: build | ||
vars: | ||
PRODUCTION: "true" | ||
- task: generate:dotdesktop | ||
cmds: | ||
- cp {{.APP_BINARY}} {{.APP_NAME}} | ||
- cp ../../appicon.png appicon.png | ||
- wails3 generate appimage -binary {{.APP_NAME}} -icon {{.ICON}} -desktopfile {{.DESKTOP_FILE}} -outputdir {{.OUTPUT_DIR}} -builddir {{.ROOT_DIR}}/build/linux/appimage/build | ||
vars: | ||
APP_NAME: '{{.APP_NAME}}' | ||
APP_BINARY: '../../../bin/{{.APP_NAME}}' | ||
ICON: '../../appicon.png' | ||
DESKTOP_FILE: '../{{.APP_NAME}}.desktop' | ||
OUTPUT_DIR: '../../../bin' | ||
|
||
create:deb: | ||
summary: Creates a deb package | ||
deps: | ||
- task: build | ||
vars: | ||
PRODUCTION: "true" | ||
cmds: | ||
- task: generate:dotdesktop | ||
- task: generate:deb | ||
|
||
create:rpm: | ||
summary: Creates a rpm package | ||
deps: | ||
- task: build | ||
vars: | ||
PRODUCTION: "true" | ||
cmds: | ||
- task: generate:dotdesktop | ||
- task: generate:rpm | ||
|
||
create:aur: | ||
summary: Creates a arch linux packager package | ||
deps: | ||
- task: build | ||
vars: | ||
PRODUCTION: "true" | ||
cmds: | ||
- task: generate:dotdesktop | ||
- task: generate:aur | ||
|
||
generate:deb: | ||
summary: Creates a deb package | ||
cmds: | ||
- wails3 tool package -name {{.APP_NAME}} -format deb -config ./build/linux/nfpm/nfpm.yaml -out {{.ROOT_DIR}}/bin | ||
|
||
generate:rpm: | ||
summary: Creates a rpm package | ||
cmds: | ||
- wails3 tool package -name {{.APP_NAME}} -format rpm -config ./build/linux/nfpm/nfpm.yaml -out {{.ROOT_DIR}}/bin | ||
|
||
generate:aur: | ||
summary: Creates a arch linux packager package | ||
cmds: | ||
- wails3 tool package -name {{.APP_NAME}} -format archlinux -config ./build/linux/nfpm/nfpm.yaml -out {{.ROOT_DIR}}/bin | ||
|
||
generate:dotdesktop: | ||
summary: Generates a `.desktop` file | ||
dir: build | ||
cmds: | ||
- mkdir -p {{.ROOT_DIR}}/build/linux/appimage | ||
- wails3 generate .desktop -name "{{.APP_NAME}}" -exec "{{.EXEC}}" -icon "{{.ICON}}" -outputfile {{.ROOT_DIR}}/build/linux/{{.APP_NAME}}.desktop -categories "{{.CATEGORIES}}" | ||
vars: | ||
APP_NAME: '{{.APP_NAME}}' | ||
EXEC: '{{.APP_NAME}}' | ||
ICON: 'appicon' | ||
CATEGORIES: 'Development;' | ||
OUTPUTFILE: '{{.ROOT_DIR}}/build/linux/{{.APP_NAME}}.desktop' | ||
|
||
run: | ||
cmds: | ||
- '{{.BIN_DIR}}/{{.APP_NAME}}' |
File renamed without changes.
Oops, something went wrong.