データの更新
ソースデータをプロジェクトに初めて追加した後、ソースコードに変更を加えると、Imagix 4Dデータベースがソフトウェアと同期しなくなる場合があります。これの症状として、行番号の変更によりImagix 4Dファイルエディタでシンボルが色付けされなくなることがあります。プロジェクトデータベースをソースコードに再同期する際には、ソースコードの解析を強制するか、まずソースファイルに変更があるかを確認するかを選択できます。さらに、手動と自動の両方の方法で、プロジェクト内の情報をソフトウェアの実際の状態に保つことができます。
これらのアプローチを組み合わせて使用することも可能です。例えば、日中に誰かがソースファイルを変更したかどうかわからないときには手動でプロジェクトデータの更新を実行し、データベース情報が最新であることを確認するために夜間のcronジョブの一部として強制データ収集コマンドを自動的に実行することができます。
条件付き更新 vs 強制更新
データソースが変更された場合にのみデータを再収集する条件付きデータ収集は、メニュー項目を通じて利用できます。
このチェックはプロジェクトのデータベースに現在記録されているソースファイルに基づいて行われます。各ソースファイルのタイムスタンプが、ソースコードが最後に解析された時点のプロジェクトのタイムスタンプと比較されます。ソースファイルのいずれかが新しい変更日を持っている場合、またはそのソースファイルのいずれかがプロジェクトデータベースに記録されている場所に存在しない場合、プロジェクト全体のソースコードが再解析されます。
このチェックではソフトウェアの変更が検出されない状況もあります。ソースファイルをソフトウェアに追加した場合、Visual Studioデータソースとしてインポートしており、Visual Studioプロジェクトまたはソリューション定義を変更した場合、またはソースファイルが含むがプロジェクトに保存されていないシステムヘッダファイルを変更した場合などです。これらのケースでは、メニュー項目を使用してソースコードの再解析を強制することで、ソフトウェアが完全に再解析されることを保証します。
この確実性のためのトレードオフは、[プロジェクトデータを更新]が不必要な再解析を回避し、作業の中断を防ぐことができる一方で、コードの変更を見逃す可能性があることです。[プロジェクトデータを更新]を実行し、チェックがソースコードに変更がないことを示しても、プロファイルデータまたは他のデータソースとして読み込まれたファイルが最新でない場合は、ソースコードの再解析なしでプロジェクトデータが再読み込みされます。
手動更新と自動更新
Imagix 4Dプロジェクトデータの更新を手動で行うには、プロジェクトメニュー項目およびを使用します。あるいは、再コンパイルや夜間のビルドプロセスの一環としてデータソースを自動的に再収集することもできます。これにより、オフラインで再収集が行われ、誰も待つ必要がなくなります。
自動データ収集の最も簡単な方法は、Imagix 4D自体を起動するための-cmmdオプションを使用することです。これにより、Imagix 4Dはコマンドラインバッチモードで動作し、起動後に指定された一連のコマンドを実行し、その後終了します。Imagix 4Dでプロジェクトを開き、すべてのプロジェクトデータを再生成する一連のコマンドを指定することで、プロジェクトデータがソフトウェアと再同期されます。
このアプローチでは、cronジョブや夜間ビルドスクリプトに`imagix -cmmd cmmdfile`というコマンドを追加します。バッチモードやcmmdfileの形式については、付録B. バッチモード・コマンドを参照してください。
コードの読み込みに[Makefileにターゲットを追加] オプションを使用していて、何らかの理由でバッチコマンドのアプローチを避けたい場合には、別の方法もあります。Makefileに追加されたmakeターゲットには`imagix`というターゲットがあります。これにより、コードの完全な再解析が行われます。このアプローチでは、cronジョブや夜間ビルドスクリプトに`make -f makefile imagix`というコマンドを追加します。
|