-
Notifications
You must be signed in to change notification settings - Fork 170
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
flutter: Rewrite flutter frontend to use only the KDDW layouting
This greatly simplifies the flutter port. KDDW now only drives the layouting and doesn't abstract tabs, windows and DnD anymore, which will now be done in Dart. The amount of over-engineered abstractions in C++ was causing it to be a pain to even do simple bug fixes. The code is now very clean in dart, without needing to go back and forth to C++ land for every mouse click. Allows to get rid of dartagnan which broke whenever shiboken or LLVM was updated. Allows to get rid of qcoro co-routines as tests are no longer driven by C++, no need to mix 2 event loops. The state of the port is still dependent on flutter supporting multi-window, but we're now in a position to move faster, as tons of tech debt have been removed.
- Loading branch information
Showing
274 changed files
with
2,051 additions
and
74,480 deletions.
There are no files selected for viewing
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,67 @@ | ||
# SPDX-FileCopyrightText: 2023 Klarälvdalens Datakonsult AB, a KDAB Group company <[email protected]> | ||
# | ||
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only | ||
|
||
# Builds the flutter frontend | ||
# Doesn't run tests yet though | ||
|
||
name: Flutter-dev | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: true | ||
matrix: | ||
preset: | ||
- name: dev-flutter | ||
isAOT: false | ||
args: [] | ||
# - name: dev-flutter-asan | ||
# isAOT: false | ||
# args: ["--asan"] | ||
# - name: dev-flutter-aot | ||
# isAOT: true | ||
# args: ["--aot"] | ||
# - name: dev-flutter-aot-asan | ||
# isAOT: true | ||
# args: ["--aot", "--asan"] | ||
|
||
steps: | ||
- name: Checkout sources | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install dependencies on Ubuntu | ||
run: | | ||
sudo apt update -qq | ||
sudo apt install libgtk-3-dev libglib2.0-dev ninja-build libspdlog-dev lld xvfb -y | ||
- uses: subosito/flutter-action@v2 | ||
with: | ||
flutter-version: "3.x" | ||
channel: "stable" | ||
|
||
- name: Configure project ${{ matrix.preset.name }} | ||
run: cmake -S . -B ./build-${{ matrix.preset.name }} --preset ${{ matrix.preset.name }} | ||
|
||
- name: Build Project ${{ matrix.preset.name }} | ||
run: cmake --build ./build-${{ matrix.preset.name }} | ||
|
||
- name: Build the example | ||
run: | | ||
cd examples/flutter | ||
flutter build linux | ||
- name: Run tests | ||
run: | | ||
cd src/flutter/dart | ||
flutter pub get | ||
xvfb-run flutter test |
This file was deleted.
Oops, something went wrong.
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
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 |
---|---|---|
|
@@ -113,3 +113,4 @@ kddockwidgets_example.iml | |
|
||
/docs/book/book/ | ||
/book/ | ||
/src/flutter/dart/build/ |
Oops, something went wrong.