Qt Gradle Plugin 1.4 (QtGP) が利用可能になりました。これは、Qt Tools for Android Studio や Qt Quick for Android プロジェクト(例:Qt Quick for Android API サンプル)で使用されるツールです。他の Gradle プラグインと同様に、Maven Central 経由で入手可能です。QtGP バージョン 1.3 を逃した場合は、以前の ブログ記事 をご覧ください。それでは、1.4の新機能を見ていきましょう!
従来、qt.path、qt.abiPath、およびABI関連CMake引数の処理では、特にABI変数が部分的に指定された場合や複数の競合するABIソースが使用された場合に、予期しないまたは一貫性のないビルド結果が生じる可能性がありました。ABI選択ロジックを再設計し、予測可能な優先順位に従うようにしました。これにより、シングルABI、マルチABI、および「build-all」シナリオがユーザーの意図通りに動作することを保証します。また、設定が曖昧または矛盾している場合の警告やエラーも改善されました。
build.gradle(.kts) ファイル内のハードコードされた Qt パスは、移植性の問題、頻繁なビルド/同期エラー、特に新規ユーザーにとって不十分な初期状態での体験を引き起こしていました。QtBuild ブロック内での使用は非推奨となりました。APIの例ではパスがハードコードされていましたが、これは後のQtバージョン(最早Qt 6.12.0)で変更される可能性があります。解決策として、QtGP 1.4では代替定義方法を有効化しました。優先順位の高い順に以下に全てを列挙します。
Gradleプロジェクトプロパティ:
詳細はQtGP 1.4ドキュメントを参照してください。
QtGPは、qtPathに基づいてシングルABIビルドとマルチABIビルドのどちらを実行するかを自動的に判断します。QtGPはqtPathが完全なマルチABI Qtインストールを指すか、シングルABIビルドを指すかを検出できるようになりました。
QtGPは、他のQt Quick for AndroidおよびQt for Androidと同様に、Gradleバージョン9.3.0でビルドされるようになりました。
バグの完全なリストについては、QtGP 1.4 Epic の「依存関係」Jira 項目を参照してください。検証とエラー処理の不備に関連する一連の問題を修正しました。概要は以下の通りです。
プラグインに追加してほしい機能はありますか?作業を困難にするバグは?コメント欄へ!作業進捗の追跡やフィードバックはbugreports.qt.ioで可能です。
追記:Maven Centralへの公開はnmcpで行っています。プラグイン公開を非常に容易にしてくれたncmpプロジェクトに心から感謝します。