2011-11-14 16 views
0

GWT Generatorフレームワークを使用してソースコードを生成している場合、どのジェネレータが別のジェネレータを先に実行するかを確認するにはどうすればよいですか。GWT Generatorのシーケンシング

たとえば、私がuibinderコードを生成している場合、どのようにして私の発電機がuibinderの前に実行されるのを確認できますか?

+0

例を挙げてください。ジェネレータはGWT.create()で実行されるので、あるジェネレータでGWT.create()を生成すると、他のジェネレータが呼び出されます。ジェネレータが別のジェネレータによって生成されている他のコードに依存している場合は、問題があります。順序付けに頼るのではなく、両方のジェネレータが共通のコードを生成するように、コードをリファクタリングします。 –

答えて

2

あなたはそれを確認する必要はありません。ジェネレータは次のように動作します。 generateメソッドが呼び出されると、ジェネレータは新しいクラスの名前を返し、新しいソースを作成します。このGWTの後に、新しく作成されたソースをプリコンパイルしようとします。新しいクラスにGWT.createが含まれていれば、このジェネレータに再バインドされますが、このジェネレータも呼び出されます。

など。あなたの場合、ジェネレータは1つのJavaクラス(通常のuibinderのもの)と* .ui.xmlファイルを作成する必要があります。 GWTが新しく作成したクラスをプリコンパイルすると、最後にUiBinderジェネレータが呼び出されます。

0

ジェネレータクラスは他のジェネレータトリガクラスの前にコンパイルする必要があります。

私は、依存モジュールに生成されたパッケージを含めたり、生成されたクラスファイルをあなたのuibinderファイルの前にコンパイルすることをお勧めします。

例では、MyGenerator.javaはコンパイラ段階でMyView.javaの前に表示されます。