Building from Source
Openza Tasks is built with Flutter and can be compiled for Linux and Windows.
Prerequisites
- Flutter SDK 3.7.0 or later
- Dart SDK 3.7.0 or later
- Rust toolchain (stable)
- Git
Platform Dependencies
- Visual Studio 2022 with “Desktop development with C++” workload
- Install Rust: rustup.rs
- Install Inno Setup (for installer):
Terminal window winget install JRSoftware.InnoSetup
sudo apt install clang cmake ninja-build pkg-config \ libgtk-3-dev libsecret-1-dev libjsoncpp-devsudo dnf install clang cmake ninja-build \ gtk3-devel libsecret-devel jsoncpp-develsudo pacman -S clang cmake ninja gtk3 libsecret jsoncppRust Toolchain
Install Rust using rustup:
Download and run rustup-init.exe
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shsource ~/.cargo/envBuild Steps
-
Clone the repository
Terminal window git clone https://github.com/openza/tasks.gitcd tasks -
Install dependencies
Terminal window flutter pub get -
Generate code
Terminal window dart run build_runner build --delete-conflicting-outputs -
Build Rust sync engine
Terminal window cd rust; cargo build --release; cd ..copy rust\target\release\openza_sync.dll . -
Build the application
Terminal window flutter build windows --release -
Create installer
Terminal window dart run inno_bundle --release --no-app
The installer will be in build/windows/x64/installer/Release/.
-
Clone the repository
Terminal window git clone https://github.com/openza/tasks.gitcd tasks -
Install dependencies
Terminal window flutter pub get -
Generate code
Terminal window dart run build_runner build --delete-conflicting-outputs -
Build Rust sync engine
Terminal window cd rust && cargo build --release && cd .. -
Build the application
Terminal window flutter build linux --release
The built application will be in build/linux/x64/release/bundle/.
Creating an AppImage
./scripts/build-appimage.shCreating a Flatpak
./scripts/build-flatpak.shDevelopment Mode
For development with hot reload:
flutter run -d windowsflutter run -d linux