2017-01-11 6 views
4

再利用可能なQMLコードを書くために、私は(静的コード)チェッカーを探しています。同様QML依存性/再利用性(静的コード)チェッカー

A.qml

Item { 
    id: dependencyId 
    ... 
    delegate: B {} 
} 

B.qml

Item { 
    id: delegateB 
    ... 
    text: dependencyId.text 
} 

:B.qmlはA.qmlから識別子に依存する例を与えるために

B.qmlのテキスト要素はA.qmlの識別子に依存しますが、このコードは適切に再利用できません。

A.qmlのidのIDが変更されない限り、このコードはコンパイル/実行されるため、依存関係は認識されません。 QmlLintを試しましたが、これはエラーを生じません。

これを確認できるQML用の静的コードチェッカーはありますか?

+1

各ファイルに対して 'qmlscene'を使用できます。このような依存関係がある場合、 'ReferenceError'を発生させます。 – derM

+0

まさに私が(qmllintで達成するために)探していたことです、ありがとう! ビルドに組み込むために--quitオプションが追加されました。 – Bartel

答えて

2

は唯一の「参照」エラーの結果をフィルタリングし、各* .qmlファイルのsourceDirectoryランニングqmlsceneでカスタムビルドステップを追加しました。

ありがとうございました。derM qmlsceneの使用に関するヒント。

コマンド:

引数を見つける:。 -name '* .qml' -exec qmlscene --quit {} \; 2> & 1 | grepの-rnis '参照'

作業ディレクトリ:% {SOURCEDIR}

スクリーンショット: enter image description here

(2 & 1は、エラーメッセージがどこにある、標準エラーを解析するために必要とされます>