Skip to main content

ファイルを解決する

[ディープ プラミング] ファイル包含/除外 glob のセットを拡張します。

この機能を使用できるユーザーについて

GitHub CodeQL は、インストール時にユーザーごとにライセンスされます。 CodeQL は、ライセンスの制限の下で特定のタスクでのみ使用できます。 詳しくは、「CodeQL CLI について」を参照してください。

GitHub Advanced Security ライセンスがある場合は、CodeQL を使用して、自動分析、継続的インテグレーション、継続的デリバリーを行うことができます。 詳しくは、「GitHub Advanced Security について」を参照してください。

この記事の内容

このコンテンツでは、CodeQL CLI の最新リリースについて説明します。 このリリースについて詳しくは、 https://github.com/github/codeql-cli-binaries/releases をご覧ください。

以前のリリースの、このコマンドで使えるオプションを詳しく確認するには、ターミナルで --help オプションを指定してコマンドを実行してください。

構文

Shell
codeql resolve files <options>... -- <dir>

説明

[ディープ プラミング] ファイル包含/除外 glob のセットを拡張します。

このプラミング コマンドは、パスで識別される複数のファイルを操作するサブコマンドのコマンド ライン パラメーターを拡張する役割を果たします。 既定では、すべてのファイルが含まれるため、このコマンドをフィルター引数なしで実行すると、ディレクトリ内のすべてのファイルが収集されます。

--include--exclude--prune のオプションはすべて、glob パターンを受け入れ、次のワイルドカード文字を使うことができます。

  • 1 個の "?" は、スラッシュまたはバックスラッシュ以外の任意の 1 文字に一致します。
  • 1 個の "*" は、スラッシュまたはバックスラッシュ以外の任意の数の文字に一致します。
  • パターン "**" は、0 個以上の完全なディレクトリ コンポーネントに一致します。

[オプション]

主なオプション

<dir>

検索するディレクトリ。

--format=<fmt>

出力形式 (text "(既定値)" または json) を選びます。__

収集ファイルのセットを制限するためのオプション

--include-extension=<.ext>

検索ディレクトリ ツリー内の指定した拡張子を持つすべてのファイルを含めます。 通常は、拡張子の前にドットを含める必要があります。 たとえば、--include-extension .xml を渡して、拡張子が ".xml" のすべてのファイルを含めます。 このオプションは、否定の --include オプションとは互換性がありません。

--include=<glob>

各ファイルとディレクトリの検索ディレクトリからの相対パスを使って、その検索ディレクトリ内の指定した glob に一致するすべてのファイルとディレクトリを含めます。 glob を ! 文字で始めると、逆に、一致するファイルとディレクトリを除外します。

--include オプションは順番に処理され、後にあるオプションが前にあるオプションをオーバーライドします。 たとえば、--include ** --include !sub/*.ts --include sub/main.* と指定すると、sub/main.ts は含まれ (sub/main.* によって含まれるため)、sub/index.ts は除外され (!sub/*.ts によって除外されるため)、sub/test.js は含まれます (** によって含まれ、その後除外されないため)。

--also-match=<glob>

各ファイルとディレクトリの検索ディレクトリからの相対パスを使って、すべての結果が指定した glob にも一致するように要求します。 このオプションは、--include と構造が同じで、解釈も同じですが、--include と組み合わせて適用される glob の別のシーケンスを指定します。

--exclude=<glob>

各ファイルとディレクトリの検索ディレクトリからの相対パスを使って、指定した glob に一致するファイルとディレクトリをすべて除外します。 このオプションを使って、すべての include オプションをオーバーライドします。 このオプションは、否定の --include オプションとは互換性がありません。

--prune=<glob>

各ファイルとディレクトリの検索ディレクトリからの相対パスを使って、指定した glob に一致するファイルとディレクトリをすべて除外します。 このオプションを使って、すべての include オプションをオーバーライドします。 このオプションは、否定の --include オプションとは互換性がありません。

--size-limit=<bytes>

指定したサイズ制限を超えるファイルをすべて除外します。 サイズ制限はバイト単位、またはサフィックス "k" のキビバイト (KiB) 単位、サフィックス "m" のメビバイト (MiB)、サフィックス "g" のギビバイト (GiB) 単位です。 このオプションを使って、すべての include オプションをオーバーライドします。

--total-size-limit=<bytes>

解決されるすべてのファイルの合計サイズが指定した制限を超える場合、コマンドをエラーで終了させます。 サイズ制限はバイト単位、またはサフィックス "k" のキビバイト (KiB) 単位、サフィックス "m" のメビバイト (MiB)、サフィックス "g" のギビバイト (GiB) 単位です。

シンボリック リンクがあればそのターゲットまでたどります。

--[no-]find-any

(すべての一致ではなく) 最大 1 個の一致を検索します。

v2.11.3 以降で使用できます。

共通オプション

-h, --help

このヘルプ テキストを表示します。

-J=<opt>

[詳細設定] コマンドを実行している JVM にオプションを指定します

(スペースを含むオプションは正しく処理されないことに注意してください)。

-v, --verbose

出力される進行状況メッセージの数を段階的に増やします。

-q, --quiet

出力される進行状況メッセージの数を段階的に減らします。

--verbosity=<level>

[詳細設定] 詳細レベルを、errors、warnings、progress、progress+、progress++、progress+++ のいずれかに明示的に設定します。 -v-q がオーバーライドされます。

--logdir=<dir>

[詳細設定] タイムスタンプと実行中のサブコマンドの名前を含む生成された名前を使用して、指定されたディレクトリ内の 1 つまたは複数のファイルに詳細なログを書き込みます

(完全に制御できる名前でログ ファイルを書き込むには、代わりに --log-to-stderr を指定し、必要に応じて stderr をリダイレクトします)。

--common-caches=<dir>

[[詳細設定] ダウンロードした QL パックやコンパイル済みクエリ プランなど、CLI の複数の実行間に保持される、ディスク上でキャッシュされたデータの場所を制御します。 明示的に設定されない場合、デフォルトではユーザーのホーム ディレクトリに名前が付けられた .codeql ディレクトリになります。まだ存在しない場合は作成されます。

v2.15.2 以降で使用できます。