Add Flutter GUI tool integration to midicci #72
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Flutter GUI Tool Integration for MIDI-CI
This PR adds a complete Flutter GUI tool integration to the midicci repository, providing a cross-platform alternative to the existing Qt tool.
Overview
The Flutter MIDI-CI tool (
tools/flutter-ci-tool/) integrates with the existing C++ business logic through the primary entry points:Key Features
✅ CMake Integration - Flutter builds are triggered by custom CMake commands from the top-level build system
✅ Optional Build - Flutter tool is only built when Flutter SDK is detected, following the same pattern as the Qt tool
✅ Cross-Platform Support - Supports Linux, macOS, Windows, Android, iOS, and Web
✅ C++ Wrapper Library - Clean platform channel integration with
midicci-toolinglibrary✅ 4-Screen Interface - Complete UI matching the original Kotlin Compose Multiplatform app:
Architecture
Build Integration
The Flutter tool follows the same CMake integration pattern as the existing Qt tool:
Custom CMake targets:
flutter-pub-get- Install Flutter dependenciesflutter-build- Build Flutter applicationflutter-run- Run Flutter app in development modeTesting
✅ Flutter Analysis - All Flutter code passes
flutter analyzewith no issues✅ CMake Build - Successfully integrates with midicci build system
✅ Dependency Resolution - Flutter dependencies install correctly via CMake
✅ C++ Wrapper - Compiles and links with midicci-tooling library
Files Added
tools/flutter-ci-tool/- Complete Flutter applicationtools/flutter-ci-tool/CMakeLists.txt- CMake configurationtools/flutter-ci-tool/native/- C++ wrapper for platform channelstools/flutter-ci-tool/lib/- Flutter UI implementationtools/CMakeLists.txt- Added Flutter tool integrationVerification
The implementation has been verified to:
Link to Devin run: https://app.devin.ai/sessions/98cd60952f66496aaec0341c23ec0288
Requested by: Atsushi Eno (atsushieno@gmail.com)