Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[v3] Improve OnShutdown #3189

Closed
wants to merge 686 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
686 commits
Select commit Hold shift + click to select a range
a428a73
[v3] define Window interface
tmclane Aug 19, 2023
c87489a
[v3] implement Window interface
tmclane Sep 28, 2023
dfe03f1
[v3] WailsEvent expose ToJSON
tmclane Sep 28, 2023
02d7683
[v3 linux] noop: remove spurious print
tmclane Sep 28, 2023
a0953fe
[v3] Merge feature Window interface
tmclane Sep 28, 2023
a9d4a39
[v3 linux] add non-functional activeInstance implementation
tmclane Apr 5, 2023
7e1d685
[v3 js] add and send x-wails-client-id
tmclane Aug 19, 2023
60c44c4
[v3 runtime] updated javascript
tmclane Aug 19, 2023
2449b47
[v3 plugin/server] initial implementation
tmclane Aug 19, 2023
2a83402
[v3 example/server] initial implementation
tmclane Aug 19, 2023
ff2c924
[v3] go.* update
tmclane Sep 14, 2023
74e2a7e
[v3 examples] add server plugin to 'plugins' example
tmclane Sep 28, 2023
2c3216b
Merge branch 'v3-alpha-plugin-server' into v3-alpha
tmclane Sep 28, 2023
1c48d56
[v3] NewWebviewWindow* return *WebviewWindow
tmclane Sep 28, 2023
fa6adad
[v3 linux] wip: systray implementation
tmclane Sep 21, 2023
71fc222
[v3 linux] systray: cleanup + add basic menu
tmclane Sep 21, 2023
efa67cb
[v3 linux] systray implementation
tmclane Sep 28, 2023
92b2648
Merge branch 'v3-alpha-linux-systray' into v3-alpha
tmclane Sep 28, 2023
8e2527a
[v3 linux] implement single_instance plugin
tmclane Sep 28, 2023
29859ce
[v3] correct return types for CurrentWindow
tmclane Sep 28, 2023
2b2828e
[v3] goformat fixes
tmclane Sep 28, 2023
1726cdb
[v3] add ubuntu-latest to workflow
tmclane Sep 28, 2023
5e1b5ca
[v3] typo - missing comma
tmclane Sep 28, 2023
6feab70
[v3 workflow] add libayatana dependency
tmclane Sep 28, 2023
d047c22
[v3] change window back to *WebviewWindow
tmclane Sep 28, 2023
7b84b1c
[v3] Window fallout
tmclane Sep 28, 2023
af54419
[v3] use concrete *WebviewWindow
tmclane Sep 29, 2023
b757292
[v3 darwin] use NativeWindowHandle
Sep 29, 2023
86b6e10
[darwin]AlwaysOnTop: `NSStatusWindowLevel` -> `NSFloatingWindowLevel`
leaanthony Sep 30, 2023
255690e
[darwin] Add webview preferences
leaanthony Sep 30, 2023
5a0cb1b
Fix svelte-ts template
leaanthony Sep 30, 2023
2524f7b
Remove old KitchenSink example
leaanthony Sep 30, 2023
fc593d9
Export Package map
leaanthony Sep 6, 2023
aea0db5
[linux] Fix packagemap
leaanthony Sep 30, 2023
9d61546
[linux] support clipboard
leaanthony Oct 2, 2023
7c98ee3
[v3] move linux clipboard logic to `linux_cgo`
tmclane Oct 2, 2023
757a438
[v3] send dialog results over channels
tmclane Sep 30, 2023
dc8cbcf
[darwin] Refactor events into mac specific files
leaanthony Oct 2, 2023
8ddd29d
[linux] Implement events
leaanthony Oct 2, 2023
1b71fef
Update v3 website frontpage
leaanthony Oct 4, 2023
9b88c8a
Merge branch 'master' into v3-alpha
leaanthony Oct 4, 2023
5958d9c
[windows] Serve assets async
leaanthony Oct 5, 2023
9ac6359
Merge remote-tracking branch 'origin/v3-alpha' into v3-alpha
leaanthony Oct 5, 2023
a49350f
[windows] Remove unused code.
leaanthony Oct 5, 2023
81d7bc2
Fix vue templates
leaanthony Oct 5, 2023
ce6d587
Fix multiple window weirdness. Update deps
leaanthony Oct 5, 2023
d8e27aa
Fix svelte template
leaanthony Oct 5, 2023
dbcf65b
Revert "Merge branch 'v3-alpha-linux-systray' into v3-alpha"
tmclane Oct 5, 2023
78b85ce
[v3 linux] systray not implemented
tmclane Oct 5, 2023
130aab3
[v3 linux] systray stubout
tmclane Oct 5, 2023
a616384
[v3 linux] match windows transparency logic
tmclane Oct 6, 2023
ccccea1
[v3] go mod tidy
tmclane Oct 6, 2023
c77c823
Revert "[linux] Implement events"
leaanthony Oct 7, 2023
48aef46
[darwin] Quick event fix
leaanthony Oct 7, 2023
ebe91ba
[darwin] Disable listener caching. Run `execJS` on main thread.
leaanthony Oct 7, 2023
9ffc06d
Update Task to v3.31.0. Update deps.
leaanthony Oct 8, 2023
bf13afd
[windows] Fix dialog icon
leaanthony Oct 9, 2023
f07e409
[windows] Don't show menu for frameless window
leaanthony Oct 9, 2023
83ed7fd
[windows] Fix production logger. Add alpha assets
leaanthony Oct 9, 2023
602fafa
[windows] Better corner detection for frameless windows
leaanthony Oct 9, 2023
ef8c16d
Fix bindings help text
leaanthony Oct 9, 2023
839a9ff
Update bindings example
leaanthony Oct 9, 2023
13b588b
Update build example
leaanthony Oct 9, 2023
92843c8
Update clipboard example
leaanthony Oct 9, 2023
8d5b86f
Update dialogs example
leaanthony Oct 9, 2023
65d4266
Update systray example
leaanthony Oct 9, 2023
473cf1c
Update window example
leaanthony Oct 9, 2023
2b843fc
Update contextmenus/dev example
leaanthony Oct 9, 2023
740b2b0
Fix windows icon for about box.
leaanthony Oct 9, 2023
3d88bf8
Fix context menu issues.
leaanthony Oct 10, 2023
263e1b5
[v3 linux] lower signal memory usage
tmclane Oct 10, 2023
4c75b28
Add BrowserOpenURL and BrowserOpenFile to App.
leaanthony Oct 11, 2023
e6de878
Move server plugin to experimental dir
leaanthony Oct 11, 2023
0271367
Custom icon shows app icon
leaanthony Oct 11, 2023
0577fef
Remove Browser plugin. Update plugin example
leaanthony Oct 11, 2023
e55ffed
Add example build test
leaanthony Oct 12, 2023
69f05c3
Add example build test
leaanthony Oct 12, 2023
320fc20
Add example build test windows fix
leaanthony Oct 12, 2023
a864167
[v3] fix deadlock when quit (#2982)
5aaee9 Oct 14, 2023
61a7f1f
Reformat changelog
leaanthony Oct 14, 2023
3a23ad1
Fix example building. Update workflow
leaanthony Oct 14, 2023
3b95725
Try caching in workflow
leaanthony Oct 14, 2023
2b478a4
More workflow improvements
leaanthony Oct 15, 2023
439da97
Fix go version
leaanthony Oct 15, 2023
2269f64
Fix build output name
leaanthony Oct 15, 2023
7795a2a
Fix modifier processing on windows.
leaanthony Oct 15, 2023
59273fc
Add basic hardware detection to `wails doctor`
leaanthony Oct 15, 2023
131a6da
Fix resize on windows
leaanthony Oct 16, 2023
8e06713
Mac examples + readme updated
leaanthony Oct 17, 2023
8463c01
[windows] Drag-n-drop support
leaanthony Oct 21, 2023
18746c7
V3 alpha linux dbus (#2996)
tmclane Oct 21, 2023
51f5265
Update go-webview2 version
leaanthony Oct 21, 2023
fb17ec8
Allow Wails3 Doctor recognize globally installed apt packages (#2972)
atterpac Oct 21, 2023
36b4b36
Initial menu item bitmap support
leaanthony Oct 21, 2023
d1c3f8a
[darwin] Fix menu icon
leaanthony Oct 22, 2023
f8250fb
darwin: add event ApplicationShouldHandleReopen (#2991)
5aaee9 Oct 22, 2023
ff08a5c
[windows] html fullscreen support
leaanthony Oct 23, 2023
e661052
[windows] support permissions
leaanthony Oct 23, 2023
3422c40
[windows] ignore mouse events
leaanthony Oct 23, 2023
bc01fd8
[v3 windows] hide go-webview2 from non-windows
tmclane Oct 24, 2023
1650e26
[windows] dnd fixes
leaanthony Oct 25, 2023
1ce8391
Fix permissions build issues
leaanthony Oct 25, 2023
24853a7
Add events README.md
leaanthony Oct 25, 2023
1a1e5b7
[v3 linux] dbus menu icon support
tmclane Oct 25, 2023
afbc09f
[v3 linux] menuItem.setBitmap support
tmclane Oct 26, 2023
ad4c8aa
[v3 linux] keypress handling stubout
tmclane Oct 27, 2023
fa5948f
use windowId to avoid miscompilation
tmclane Oct 27, 2023
e95a918
[v3 linux] noop: cleanup
tmclane Oct 27, 2023
a815811
[v3 linux] menu bitmap update handling
tmclane Oct 27, 2023
d9beb61
Add CNAME
leaanthony Oct 28, 2023
fb7fda2
Upgrade mkdocs
leaanthony Oct 28, 2023
3b50e0c
Update docs
leaanthony Oct 28, 2023
fdd8875
Update docs
leaanthony Oct 28, 2023
82a9c5b
Update docs
leaanthony Oct 28, 2023
ee194f3
Update docs
leaanthony Oct 28, 2023
f00685d
Add CNAME
leaanthony Oct 28, 2023
1735bdc
Update roadmap link
leaanthony Oct 28, 2023
a8e95bf
Add another CNAME file (thanks ghpages :/)
leaanthony Oct 28, 2023
d072393
Add another CNAME file (thanks ghpages :/)
leaanthony Oct 28, 2023
8432ddc
Update installation instructions
leaanthony Oct 29, 2023
dc16d14
Update installation instructions
leaanthony Oct 29, 2023
f88a7a6
Update installation instructions
leaanthony Oct 29, 2023
daec8a9
Update installation instructions
leaanthony Oct 29, 2023
985c5bf
[darwin] Support Ignore mouse events
leaanthony Oct 29, 2023
73384a5
Add Linux Keycodes that match existing strings for keybinds
atterpac Oct 27, 2023
2beb452
Update changelog.md
atterpac Oct 27, 2023
a2fde7f
Merge branch 'linux-keycodes' into v3-alpha
tmclane Oct 30, 2023
b379e3b
Revert "Merge branch 'linux-keycodes' into v3-alpha"
tmclane Oct 31, 2023
01652c7
[v3 linux] update devtools behavior to match win/mac
tmclane Oct 31, 2023
7e63355
[v3 linux] correct type of window
tmclane Oct 31, 2023
c7c4cac
[v3 linux] auto-toggle devtools (if enabled)
tmclane Oct 31, 2023
1b85066
[v3 example/bindings] enable DevTools
tmclane Oct 31, 2023
1445674
[v3 linux] disable noisy onKeyPressEvent handler
tmclane Oct 31, 2023
c6ecbd5
[v3 examples/bindings] correct binding output + example
tmclane Oct 31, 2023
f28c951
Update installation instructions
leaanthony Nov 2, 2023
f49d426
Add todo project list
leaanthony Nov 3, 2023
947d429
Build status table from CSV
leaanthony Nov 5, 2023
dbb7c6e
Update docs workflow
leaanthony Nov 5, 2023
075eb1f
Update parser and bindings generation
leaanthony Nov 5, 2023
857bf40
Update parser and bindings generation
leaanthony Nov 5, 2023
3882201
Add mkdocs-static-i18n dep
leaanthony Nov 5, 2023
36a3e90
Small doc fixes
leaanthony Nov 5, 2023
7c15f90
Add extra check for GPU device info for null pointer (#3032)
PylotLight Nov 6, 2023
8dbbdc4
[v3 linux] sanitize appId more thoroughly
tmclane Nov 1, 2023
7f1706f
[v3 examples/build] Taskfile update
tmclane Nov 1, 2023
efb300c
[v3] update go.sum
tmclane Nov 1, 2023
495da9b
[v3 linux] implement logPlatformInfo
tmclane Nov 1, 2023
46a0030
[v3] noop: gofmt changes
tmclane Nov 1, 2023
0cd64d1
[v3 linux] noop: remove commented code
tmclane Nov 1, 2023
e420900
[v3 examples] go.* update
tmclane Nov 2, 2023
0fc535f
[v3 linux] contextMenus
tmclane Nov 2, 2023
d65f1b1
[v3 docs] update status.md
tmclane Nov 2, 2023
f122db2
Linux Keybinds
Nov 2, 2023
9f6cd35
[v3 linux] stop key-press event propagation
tmclane Nov 2, 2023
1a90b45
add linux status for examples
tmclane Nov 2, 2023
a773da2
[v3 linux] use dbus for monitoring theme changes
tmclane Nov 3, 2023
ca21a3b
[v3 linux] initial pass at event generation
tmclane Nov 3, 2023
f787cf4
[v3 linux] show dev tools if OpenInspectorAtStartup=true
tmclane Nov 6, 2023
d2e0e0e
[v3 windows] avoid casting ApplicationEvent as int
tmclane Nov 6, 2023
0a4c596
[v3 darwin] typecast as ApplicationEventType
tmclane Nov 6, 2023
385b1db
[linux] implement 'script-message-received' handling
tmclane Nov 7, 2023
412c3a5
update windows drag and drop to working (#3039)
PylotLight Nov 8, 2023
6f197f6
[linux] remove deprecated version of webkit callback handling
tmclane Nov 7, 2023
27c4c5e
[v3 linux] bail early if bad dbus message
tmclane Nov 9, 2023
eae73df
Update roadmap.md (#3044)
PylotLight Nov 9, 2023
53ea651
[v3 linux] correct bug in getScreenByIndex
tmclane Nov 10, 2023
965460e
[v3 linux] update status matrix
tmclane Nov 10, 2023
b8d780b
Feature/template consolidation (#3046)
tmclane Nov 11, 2023
1f16655
[linux] Allow devtools by default
leaanthony Nov 11, 2023
0b48c34
[linux] Add webkit version detection + capabilities
leaanthony Nov 11, 2023
ef80562
[chore] fix go.mod
leaanthony Nov 12, 2023
9af1401
[chore] add javascriptcoregtk dep in actions
leaanthony Nov 12, 2023
5b5a4ba
Fix windows build
leaanthony Nov 12, 2023
7333ca6
Change order of steps for build
leaanthony Nov 12, 2023
4593b52
Include javascriptcore lib for build
leaanthony Nov 12, 2023
eefeadc
[darwin] fix hiding in window example
leaanthony Nov 12, 2023
ae38d1e
Fix taskfile in templates. Sanitize the project name
leaanthony Nov 12, 2023
1142e81
[darwin] fix CATransaction errors. Update docs.
leaanthony Nov 12, 2023
3e0ff5e
[darwin] Update docs
leaanthony Nov 12, 2023
df49f49
v3.0.0-alpha.2
leaanthony Nov 12, 2023
250e9f9
[darwin] Wrappers for init, build, dev, package. Refactored default T…
leaanthony Nov 12, 2023
2d30294
[docs] Update alpha2 status
leaanthony Nov 12, 2023
869a6f7
[docs] Update alpha2 status
leaanthony Nov 12, 2023
f84bb6a
chore: update alpha2 status linux
tmclane Nov 13, 2023
4ea6a2d
Support `wails package` on Windows
leaanthony Nov 15, 2023
1fed110
Update bug reporting docs
leaanthony Nov 15, 2023
c89f59d
Update nav
leaanthony Nov 15, 2023
61c8c9e
Improve default taskfile
leaanthony Nov 16, 2023
ea44cf8
Improve default taskfile
leaanthony Nov 16, 2023
9629b14
Improve default taskfile
leaanthony Nov 16, 2023
022baad
Update default taskfile. Update copyright symbol
leaanthony Nov 17, 2023
b9558cc
Update default taskfile. WIP linux packaging
leaanthony Nov 18, 2023
12efb8b
Update default taskfile. WIP linux packaging
leaanthony Nov 18, 2023
814e1ec
[windows] initial wails dev support
leaanthony Nov 27, 2023
8242834
[windows] improvements to dev
leaanthony Nov 27, 2023
659f3fa
Update WSL alpha2 support (#3097)
PylotLight Dec 5, 2023
89b5f0a
v3.0.0-alpha.3
leaanthony Dec 10, 2023
85d68ce
Update csv status
leaanthony Dec 11, 2023
85fc3a3
Update csv status
leaanthony Dec 11, 2023
43c4966
Update Alpha3 bindings status (#3116)
PylotLight Dec 11, 2023
4b04c10
Support bindings, model & enum generation
leaanthony Dec 12, 2023
995d9fd
Update alpha 3 docs
leaanthony Dec 12, 2023
984db86
Support enums in interface generation
leaanthony Dec 12, 2023
ea409a2
Improve documentation
leaanthony Dec 13, 2023
23c2660
Fix relative links
leaanthony Dec 13, 2023
182f430
Improved bindings generation: support JS Models.
leaanthony Dec 16, 2023
371e575
Update bindings example
leaanthony Dec 16, 2023
2b3c96a
Fix hex keys5 (#3140)
leaanthony Dec 17, 2023
e51e184
Merge branch 'master' into v3-alpha
leaanthony Dec 18, 2023
157c5e9
Move v3 updates into v3 changelog
leaanthony Dec 18, 2023
daed414
(v3/linux): Add Taskfile template entry for `run:linux` (#3146)
marcus-crane Dec 19, 2023
51afac4
[v3/windows] Fix dpi scaling on start up (#3145)
almas1992 Dec 19, 2023
472288b
Support generating bindings by name
leaanthony Dec 19, 2023
e0b8da8
[v3] export `SetIcon` method (#3147)
almas1992 Dec 19, 2023
cdf4bdd
Support generating enums from imported package
leaanthony Dec 19, 2023
2bb25b1
Update bindings generator to generate bindings in packages and files.
leaanthony Dec 22, 2023
3e419de
Add permalink to doc headers
leaanthony Dec 22, 2023
cf7537d
Update roadmap documentation
leaanthony Dec 22, 2023
d1255d3
Support TS bindings. Update tests. Tidy up.
leaanthony Dec 22, 2023
b08126d
Radical JS runtime overhaul. New @wailsio/runtime package
leaanthony Dec 28, 2023
0974a3a
Use relative paths in go.mod for replace line.
leaanthony Dec 28, 2023
4c3cbc3
Update Wails runtime and increase version
leaanthony Dec 29, 2023
4a910a7
Update Bindings Generation
leaanthony Dec 29, 2023
7f8c1c8
Remove redundant IPC endpoint.
leaanthony Dec 29, 2023
9f567fe
Application: increase message buffer sizes, process all messages in g…
leaanthony Dec 29, 2023
8a12a32
Vanilla template: Update to use runtime module
leaanthony Dec 29, 2023
46127c8
Support Typescript in JS Runtime module
leaanthony Dec 29, 2023
d8f9ea7
Add NSIS to doctor checks
leaanthony Dec 29, 2023
4151deb
Update milestones
leaanthony Dec 30, 2023
5b51e0f
@wailsio/runtime alpha.9 - Fix call responses.
leaanthony Dec 30, 2023
d423c1c
Fix drag logic
leaanthony Dec 30, 2023
c531c71
Update vanilla+js template and dependencies
leaanthony Dec 30, 2023
6262a4f
Update @wailsio/runtime version to 3.0.0-alpha.10
leaanthony Dec 30, 2023
b37d0f1
[windows] Improved focus handling
stffabi Dec 6, 2023
2f3eb70
[windows] Use msWebView2BrowserHitTransparent for non working NC area…
stffabi Dec 6, 2023
012eeab
[windows] Fix #2359 by not redirecting the accelerators to wndproc
stffabi Dec 7, 2023
40bd612
Better pass through of args to task
leaanthony Jan 2, 2024
34f7f24
Support Vite 5 templates + `@wailsio/runtime` module
leaanthony Dec 30, 2023
1dae9f6
Improved templates
leaanthony Jan 6, 2024
6d8a004
Fixed `Call.ByID` JSDoc + TS type
leaanthony Jan 6, 2024
b6dc199
Update bindings tests
leaanthony Jan 7, 2024
07421ea
@wailsio/[email protected]
leaanthony Jan 7, 2024
3dff6c6
Update alpha.3 support table
leaanthony Jan 7, 2024
df0419a
@wails/[email protected]
leaanthony Jan 8, 2024
68e779d
[darwin] add support for quitting app
leaanthony Jan 8, 2024
1195464
Improve window teardown on termination
leaanthony Jan 8, 2024
68b12d4
Refactored application shutdown process to streamline app termination.
leaanthony Jan 9, 2024
6c3bd12
Added option to disable AssetServer logging.
leaanthony Jan 9, 2024
f759162
Update alpha.3 status
leaanthony Jan 9, 2024
0c24634
[v3] Improve OnShutdown
almas1992 Jan 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
140 changes: 140 additions & 0 deletions .github/workflows/build-and-test-alpha.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
name: Build + Test v3 alpha

on:
push:
branches: [v3-alpha]
paths-ignore:
- 'mkdocs-website/**/*'
workflow_dispatch:

jobs:
test_go:
name: Run Go Tests
if: github.repository == 'wailsapp/wails'
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, macos-latest, ubuntu-latest]
go-version: [1.21]

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Install linux dependencies
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get update -y && sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev javascriptcoregtk-4.1-dev build-essential pkg-config

- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go-version }}

- name: Install Task
uses: arduino/setup-task@v1
with:
version: 3.x
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Build Examples
working-directory: ./v3
run: task test:examples

- name: Run tests (mac)
if: matrix.os == 'macos-latest'
env:
CGO_LDFLAGS: -framework UniformTypeIdentifiers -mmacosx-version-min=10.13
working-directory: ./v3
run: go test -v ./...

- name: Run tests (!mac)
if: matrix.os != 'macos-latest'
working-directory: ./v3
run: go test -v ./...

test_js:
name: Run JS Tests
if: github.repository == 'wailsapp/wails'
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

- name: Install dependencies
run: npm install
working-directory: v2/internal/frontend/runtime

- name: Run tests
run: npm test
working-directory: v2/internal/frontend/runtime

test_templates:
name: Test Templates
needs: test_go
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
template:
[
svelte,
svelte-ts,
vue,
vue-ts,
react,
react-ts,
preact,
preact-ts,
lit,
lit-ts,
vanilla,
vanilla-ts,
]
go-version: [1.21]
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go-version }}

- name: Setup Golang caches
uses: actions/cache@v3
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-golang-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-golang-

- name: Install linux dependencies
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get update -y && sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev javascriptcoregtk-4.1-dev build-essential pkg-config

- name: Build Wails3 CLI
run: |
cd ./v3/cmd/wails3
go install
wails3 -help

- name: Generate template '${{ matrix.template }}'
run: |
go install github.com/go-task/task/v3/cmd/task@latest
mkdir -p ./test-${{ matrix.template }}
cd ./test-${{ matrix.template }}
wails3 init -n ${{ matrix.template }} -t ${{ matrix.template }}
cd ${{ matrix.template }}
wails3 build
35 changes: 35 additions & 0 deletions .github/workflows/v3-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: v3 docs
on:
push:
branches:
- v3-alpha
paths:
- 'mkdocs-website/**/*'
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
if: github.event.repository.fork == false
defaults:
run:
working-directory: ./mkdocs-website
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: 3.x
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@v3
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- run: sudo apt-get install pngquant
- run: pip install pillow cairosvg mkdocs-table-reader-plugin mkdocs-static-i18n
- run: pip install git+https://${GH_TOKEN}@github.com/squidfunk/mkdocs-material-insiders.git
- run: mkdocs build --config-file mkdocs.insiders.yml
- run: mkdocs gh-deploy --force
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v3alpha.wails.io
5 changes: 5 additions & 0 deletions Taskfile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@ includes:
dir: v3
optional: true

docs:
taskfile: mkdocs-website
dir: mkdocs-website
optional: true

tasks:
contributors:check:
cmds:
Expand Down
1 change: 1 addition & 0 deletions mkdocs-website/CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v3alpha.wails.io
45 changes: 45 additions & 0 deletions mkdocs-website/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# v3 Docs

This is the documentation for Wails v3. It is currently a work in progress.

If you do not wish to build it locally, it is available online at
[https://wailsapp.github.io/wails/](https://wailsapp.github.io/wails/).

## Recommended Setup Steps

Install the wails3 CLI if you haven't already:

```shell
go install github.com/wailsapp/wails/v3/cmd/wails3@latest
```

The documentation uses mkdocs, so you will need to install
[Python](https://www.python.org/). Once installed, you can setup the
documentation by running the following command:

```bash
wails3 task docs:setup
```

This will install the required dependencies for you.

If you have installed the wails3 CLI, you can run the following command to build
the documentation and serve it locally:

```bash
wails3 task docs:serve
```

### Manual Setup

To install manually, you will need to do the following:

- Install [Python](https://www.python.org/)
- Run `pip install -r requirements.txt` to install the required dependencies
- Run `mkdocs serve` to serve the documentation locally
- Run `mkdocs build` to build the documentation

## Contributing

If you would like to contribute to the documentation, please feel free to open a
PR!
59 changes: 59 additions & 0 deletions mkdocs-website/Taskfile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# https://taskfile.dev

version: '3'

tasks:

setup:
summary: Setup the project
preconditions:
- sh: python{{exeExt}} --version
msg: "Looks like Python isn't installed. Python is required to build the documentation: https://www.python.org/downloads/"
cmds:
- python -m pip install -r requirements.txt --user

setup:insiders:
summary: Setup the project (insiders)
preconditions:
- sh: python{{exeExt}} --version
msg: "Looks like Python isn't installed. Python is required to build the documentation: https://www.python.org/downloads/"
cmds:
- python -m pip install -r requirements.insiders.txt --user

upgrade:insiders:
summary: Upgrade the project (insiders)
preconditions:
- sh: python{{exeExt}} --version
msg: "Looks like Python isn't installed. Python is required to build the documentation: https://www.python.org/downloads/"
cmds:
- python -m pip install -r requirements.insiders.txt --upgrade --user

build:
summary: Builds the documentation
preconditions:
- sh: mkdocs --version
msg: "Looks like mkdocs isn't installed. Run `wails3 task setup` or `task setup` in the documentation directory to install it."
cmds:
- mkdocs build

serve:
summary: Builds the documentation and serves it locally
preconditions:
- sh: mkdocs --version
msg: "Looks like mkdocs isn't installed. Run `wails3 task setup` or `task setup` in the documentation directory to install it."
cmds:
- mkdocs serve

serve:insiders:
summary: Builds the documentation and serves it locally
preconditions:
- sh: mkdocs --version
msg: "Looks like mkdocs isn't installed. Run `wails3 task setup` or `task setup` in the documentation directory to install it."
cmds:
- mkdocs serve --config-file mkdocs.insiders.yml

update:api:
summary: Updates the API documentation
dir: generate
cmds:
- go run .
1 change: 1 addition & 0 deletions mkdocs-website/docs/CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v3alpha.wails.io
Loading