メモ
このコンテンツでは、CodeQL CLI の最新リリースについて説明します。 このリリースについて詳しくは、 https://github.com/github/codeql-cli-binaries/releases をご覧ください。
以前のリリースの、このコマンドで使えるオプションを詳しく確認するには、ターミナルで --help オプションを指定してコマンドを実行してください。
概要
codeql pack resolve-dependencies <options>... -- <dir>
codeql pack resolve-dependencies <options>... -- <dir>
Description
\[プラミング] この QL パックに必要な依存関係のセットを計算します。
このコマンドは、構成済みのレジストリで、必要な依存関係を検索し、解決された依存関係のリストを返します。
v2.6.0 以降で使用できます。
オプション
主なオプション
<dir>
パッケージのルート ディレクトリ。
--format=<fmt>
出力形式に、text(既定値) または json を選択します。
--mode=<mode>
依存関係の解決方法を指定します。
`minimal-update` _(既定値)_: qlpack.yml ファイルの既存の内容に基づいて、codeql-pack.lock.yml を更新または作成します。 既存の codeql-pack.lock.yml で qlpack.yml の現在の依存関係が満たされない場合、ロック ファイルは必要に応じて更新されます。
`upgrade`: qlpack.yml ファイルの制約に従って、すべての依存関係の最新バージョンを使用するように codeql-pack.lock.yml を更新または作成します。
`verify`: qlpack.yml ファイルで指定された依存関係に関して既存の codeql-pack.lock.yml がまだ有効であることを確認します。そうしなければ、ロック ファイルが存在しない場合、失敗します。
`no-lock`: 既存の codeql-pack.lock.yml を無視し、qlpack.yml ファイルに基づいて解決を実行します。 ロック ファイルを作成または更新しません。
`use-lock`: 既存の codeql-pack.lock.yml ファイルを使用して依存関係を解決するか、ロック ファイルが存在しない場合は作成します。
`update`: \[非推奨] qlpack.yml ファイルの制約に従って、すべての依存関係の最新バージョンを使用するように codeql-pack.lock.yml を更新または作成します。 'upgrade' と同等です
--[no-]allow-prerelease
プレリリース バージョン修飾子 (例: X.Y.Z-qualifier) を含むパックの使用を許可します。 このフラグがないと、プレリリース パックは無視されます。
v2.11.3 以降で使用できます。
--no-strict-mode
\[詳細設定] 厳密モードをオフにして、`--additional-packs` からパッケージを解決する際に、警告の表示を回避します
警告が表示されないようにします。 ローカルで解決されたパッケージがダウンロードされることはなく、
パッケージ ロックにも追加されません。
--lock-override=<file>
\[詳細設定] 依存関係の解決への入力として使用する代替のロック ファイルを指定します。
--lock-output=<file>
\[詳細設定] 依存関係の解決が生成したロック ファイルを保存する代替場所を指定します。
v2.14.1 以降で使用できます。
パッケージ レジストリの外部で QL パックを解決するためのオプション
--search-path=<dir>[:<dir>...]
QL パックが見つかる可能性があるディレクトリのリスト。 各ディレクトリは、QL パック (またはルートに .codeqlmanifest.json ファイルを含むパックのバンドル)、または 1 つ以上のこのようなディレクトリの直接の親ディレクトリのいずれかです。
パスに複数のディレクトリを含める場合は、それらの順序で、それらの間の優先順位を定義します。解決する必要があるパック名が複数のディレクトリ ツリーで一致する場合は、最初に指定したものが優先されます。
オープンソースの CodeQL リポジトリのチェックアウトでこれを指定すると、そこにある言語の 1 つを照会するときに機能するはずです。
CodeQL リポジトリを、アンパックされた CodeQL ツールチェーンの兄弟としてチェックアウトしている場合、このオプションを指定する必要はありません。このような兄弟ディレクトリは、他の方法では見つからない QL パックについて常に検索されます (この既定値が機能しない場合、ユーザーごとの構成ファイルで --search-path を一度にすべて設定することを強くお勧めします)。
(注: Windows ではパスの区切りは ; です)。
--additional-packs=<dir>[:<dir>...]
このディレクトリの一覧が指定されている場合、パックは、--search-path 内のディレクトリの前に、これらのディレクトリで検索されます。 これらの間の順序は重要ではありません。このリストの 2 か所でパック名が見つかった場合は、エラーです。
これは、既定のパスにも表示される新しいバージョンのパックを一時的に開発している場合に役立ちます。 一方、構成ファイルでこのオプションを上書きすることは "お勧めしません"。一部の内部アクションでは、このオプションをオンザフライで追加し、構成された値がオーバーライドされます。__
(注: Windows ではパスの区切りは ; です)。
CodeQL パッケージ マネージャーを構成するためのオプション
--registries-auth-stdin
<registry_url>=<token> ペアのコンマ区切りリストを渡すことで、GitHub Enterprise Server コンテナー レジストリに対して認証を行います。
たとえば、https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2 を渡して、
2 つの GitHub Enterprise Server インスタンスに対して認証を行うことができます。
これは、CODEQL_REGISTRIES_AUTH and GITHUB_TOKEN 環境変数をオーバーライドします。 github.com コンテナー レジストリに対する認証のみが必要な場合は、代わりに、より単純な --github-auth-stdin オプションを使って認証できます。
--github-auth-stdin
標準入力を介して github.com GitHub Apps トークンまたは個人用アクセス トークンを渡して、github.com コンテナー レジストリに対して認証を行います。
GitHub Enterprise Server コンテナー レジストリに対して認証を行うには、--registries-auth-stdin を渡すか、CODEQL_REGISTRIES_AUTH 環境変数を使ってください。
これは、GITHUB_TOKEN 環境変数をオーバーライドします。
共通オプション
-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 以降で使用できます。