-
-
Notifications
You must be signed in to change notification settings - Fork 33
Expand file tree
/
Copy pathelectron-builder.yml
More file actions
132 lines (132 loc) · 4.16 KB
/
Copy pathelectron-builder.yml
File metadata and controls
132 lines (132 loc) · 4.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
appId: io.solidtime.desktop
productName: solidtime
directories:
buildResources: build
files:
- '!**/.vscode/*'
- '!src/*'
- '!electron.vite.config.{js,ts,mjs,cjs}'
- '!{.eslintignore,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}'
- '!{.env,.env.*,.npmrc,pnpm-lock.yaml}'
- '!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}'
asarUnpack:
- resources/**
- node_modules/@miniben90/**
- node_modules/better-sqlite3/**
extraResources:
- from: drizzle
to: drizzle
- from: build/vc_redist.arm64.exe
to: vc_redist.arm64.exe
filter:
- '**/*'
protocols:
name: solidtime
schemes:
- solidtime
win:
publish:
- provider: github
channel: latest-${arch}
executableName: solidtime
target:
- nsis
nsis:
include: build/installer.nsh
artifactName: ${name}-setup-${arch}.${ext}
shortcutName: ${productName}
uninstallDisplayName: ${productName}
createDesktopShortcut: always
mac:
publish:
- provider: github
channel: latest-${arch}
entitlementsInherit: build/entitlements.mac.plist
target: default
extendInfo:
- NSCameraUsageDescription: Application requests access to the device's camera.
- NSMicrophoneUsageDescription: Application requests access to the device's microphone.
- NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder.
- NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder.
- NSScreenCaptureUsageDescription: Application requests access to screen recording to track window activity for time tracking purposes.
notarize: true
dmg:
artifactName: ${name}-${arch}.${ext}
linux:
artifactName: ${name}-${arch}.${ext}
icon: build/icon.icns
executableName: solidtime
target:
- deb
- tar.gz
- rpm
desktop:
entry:
Name: solidtime
MimeType: x-scheme-handler/solidtime
maintainer: solidtime <hello@solidtime.io>
category: Utility
mimeTypes:
- x-scheme-handler/solidtime
flatpak:
# Flatpak is not in the default linux.target list because building it
# requires `flatpak` and `flatpak-builder` on the host — trigger builds
# explicitly via `npm run build:linux:flatpak`.
runtime: org.freedesktop.Platform
runtimeVersion: '25.08'
sdk: org.freedesktop.Sdk
base: org.electronjs.Electron2.BaseApp
baseVersion: '25.08'
useWaylandFlags: true
category: Utility
finishArgs:
# --- Defaults matching electron-builder's built-in Flatpak config ---
- --socket=wayland
- --socket=x11
- --share=ipc
- --device=dri
- --socket=pulseaudio
- --filesystem=home
- --share=network
- --talk-name=org.freedesktop.Notifications
# --- solidtime-specific additions ---
# KWin activity backend (KDE Plasma Wayland): the persistent KWin script
# is loaded via org.kde.KWin.Scripting and calls back into a DBus service
# exported by this process (see src/main/activity/kwinBackend.ts).
- --talk-name=org.kde.KWin
- --own-name=io.solidtime.desktop.ActivityTracker
# System tray icon via SNI / libappindicator — KDE and GNOME
# implementations both expose these well-known names.
- --talk-name=org.kde.StatusNotifierWatcher
- --talk-name=com.canonical.AppMenu.Registrar
- --talk-name=org.freedesktop.portal.Desktop
deb:
depends:
- libgtk-3-0 | libgtk-3-0t64
- libnotify4
- libnss3
- libxss1
- libxtst6
- xdg-utils
- libatspi2.0-0 | libatspi2.0-0t64
- libuuid1
- libsecret-1-0
- libgbm1
- libasound2 | libasound2t64
- libegl1
- libdrm2
- libx11-xcb1
- libxcb-dri3-0
- libxcomposite1
- libxdamage1
- libxfixes3
- libxrandr2
rpm:
fpm:
- --rpm-rpmbuild-define
- _build_id_links none
appImage:
artifactName: ${name}.${ext}
npmRebuild: true
publish:
provider: github