CodeQL の構成ファイルでのコマンド オプションの指定について
コマンドの既定のオプションまたは頻繁に使われるオプションを、ユーザーごとの構成ファイルに保存できます。
CodeQL CLI のコマンド オプションは、次の 2 つの方法で指定できます。
- 適切なフラグを使って、コマンド ラインで直接。
- コマンドを実行するたびに CodeQL によって関連するオプションがスキャンされる構成 (
config
) ファイルで。
コマンドを実行するたびに変わる可能性が高いオプションの場合は、コマンド ラインで値を指定するのが、情報を CodeQL に渡す最も便利な方法です。 config
ファイルにオプションを保存するのは、頻繁に使うオプションを指定するのによい方法です。 また、検索パスに対して通常使用するカスタム CodeQL パックを追加するのにも適した方法です。
CodeQL の構成ファイルを使用する
config
ファイルは、ホーム (Linux と macOS) またはユーザー プロファイル (Windows) ディレクトリの下の .config/codeql/
サブディレクトリに保存する必要があります。 たとえば、「 $HOME/.config/codeql/config
」のように入力します。
オプションを指定する構文は次のとおりです。
<command> <subcommand> <option> <value>
同じオプションを複数のコマンドに適用するには、次のようにできます。
<subcommand>
を省略すると、関連するすべての<subcommand>
にオプションが指定されます。<command>
と<subcommand>
の両方を省略すると、関連するすべての<command>
と<subcommand>
にオプションがグローバルに指定されます。
Note
config
ファイルでスペースを使用できるのは、オプション フラグと値の間だけです。=
を使ってオプション値を指定すると、CodeQL でエラーがスローされます。- コマンド ラインでオプションを指定すると、
config
でそのオプションに定義されている値がオーバーライドされます。 <command>
、<subcommand>
、またはグローバルに複数のオプションを指定したい場合は、オプションごとに 1 行を使います。
例
-
codeql database analyze
によって生成されたすべての分析結果を CSV 形式で出力するには、次のように指定します。database analyze --format csv
ここでは、
database analyze
の間に実行される低レベルのコマンドに同じ--format
オプションが渡されるのを防ぐため、コマンドとサブコマンドを指定する必要があります。 -
CodeQL コマンドの実行時に使う RAM (4,096 MB) とスレッド数 (4) を定義するには、個別の行で以下を指定します。
--ram 4096 --threads 4
-
CodeQL が CodeQL パックをスキャンするディレクトリをグローバルに指定するには (インストール ディレクトリの兄弟ではない場合)、以下を使います。
--search-path <path-to-directory>