undコマンドは大幅な改善により、様々な設定の出力や、GUI環境でしか実施できなかった操作をコマンドから実施できるようになりました。そのような機能拡張の行われているundコマンドの使い方やオプションについて、記事を数回に分けて紹介しようと思います。
第1回の記事では、プロジェクトの新規作成からプロジェクトの設定を変更し、解析まで実行する方法を説明します。
1. Understandのプロジェクトを新規作成します。
プロジェクトを作成するためには、「createコマンド」を使用します。
プロジェクト名、解析言語などを指定できます。
例: und create -languages C++ -db myproject.udb
2. プロジェクトにファイルを追加します。
ファイルやディレクトリを追加するためには、「addコマンド」を使用します。
言語を指定した状態でのファイルの追加やワイルドカードを使用したファイルの追加、サブディレクトリを含めるかなどを細かく設定できます。
例: und -db myproject.udb add file1.cpp file2.cpp
また、追加するファイルが多い場合には、ファイルの一覧を記述したリストファイルを用いることにより、1回のコマンドでまとめて追加することができます。
リストファイル(例、listfile.txt)を使用する場合は、ファイル名の前に@を入れる必要があります。
例: und add @listfile.txt -db myproject.udb
listfile.txtの例:(絶対パス・相対パスのどちらでも指定可能です。)
hoge.c
../foo/foo.c
../header/foo.h
3. プロジェクトのファイル、設定等を表示します。
プロジェクトの情報を取得するためには「listコマンド」を使用します。
プロジェクトに設定した解析対象のファイルを一覧表示
例: und list files -db myproject.udb
プロジェクト設定情報の一覧表示
例: und list -all settings -db myproject.udb
4. プロジェクトの設定を変更します。
プロジェクト設定の変更には「settingsコマンド」を使用します。
設定項目は、以下の4つの文字列を連結させたオプションにて指定します。
1. 接頭辞”-“
2. 設定ヘッダー名(Report, Metrics, C++, など)
3. スペース・クォートを除外した設定名
4. 設定値
先ほど説明した「listコマンド」の出力結果から、指定可能なオプション名を取得し、settingsコマンドでそのオプション名を指定して設定を変更します。
C++言語のプロジェクト設定を取得する場合
例: und list -lang C++ settings -db myproject.udb
出力結果抜粋:
————————–C/C++ Settings—————————
Option Current Setting Available Settings
UseStrict off on/off
Compiler Microsoft Visual C++(Available listed below)
IncludePath %include%
AllowNestedComments off on/off
MaxFileSizeParsed 10 MB
IgnorePreprocessorConditionals off on/off
…
——–
例として、C/C++解析時のオプションを「Fuzzy」から「Strict」に変更するコマンドを実行します。
Fuzzyの場合は UseStrict がoff、Strictの場合は UseStrict がonとなります。
今回の設定変更には、先ほど紹介した設定項目の4つの文字列を以下のように適用します。
1. 接頭辞:-
2. 設定ヘッダー名:C++
3. スペース・クォートを除外した設定名:UseStrict
4. 設定値:on
上記を組み合わせると、「-C++UseStrict on 」のオプション名になり、settingsコマンドを使用し、このオプションを指定します。
例: und settings -C++UseStrict on -db myproject.udb
5. プロジェクトを解析します。
解析を実行するためには「analyzeコマンド」を使用します。
例: und analyze -db myproject.udb
また、今回紹介したコマンドはまとめて実行することも可能です。
例: und create -languages C++ add @listfile.txt settings -C++UseStrict on analyze -db myproject.udb
このコマンドは、以下の4つの動作を実行しています。
- Understandのプロジェクトファイル(myproject.udb)を作成
- listfile.txtに記載されているファイルをUnderstandのプロジェクトに登録
- C/C++解析時のオプションを「Strict」に設定
- 解析の実行
今回紹介したundコマンドはほんの一部です。
詳細は、以下のコマンドでご確認ください。
例: und help
undコマンドのオプションの詳細は以下のコマンドで表示できます。
und help {undコマンドのオプション名}
例: und help add
今回のundコマンドの大幅な改善により、様々な設定の出力や、GUI環境でしか実施できなかった操作をコマンドから実施できるようになりました。
様々な機能強化の行なわれたundコマンドをぜひお試しください。