This content describes the most recent release of the CodeQL CLI. For more information about this release, see https://github.com/github/codeql-cli-binaries/releases.
To see details of the options available for this command in an earlier release, run the command with the --help
option in your terminal.
構文
codeql pack create [--output=<output>] [--threads=<num>] [--ram=<MB>] <options>... -- <dir>
説明
[試験段階] [プラミング] ソース コードから QL パッケージの内容をビルドします。
このコマンドは、元のソース コード、ライブラリの依存関係、コンパイル済みクエリ、パッケージ メタデータなど、QL パッケージの完全な内容をビルドします。
v2.6.0
以降で使用できます。
主なオプション
<dir>
パッケージのルート ディレクトリ。
-o, --output=<output>
ビルドされたパッケージを書き込む出力ディレクトリ。
既定値は ./.codeql/pack
です。
--format=<fmt>
出力形式 (text
(既定値) または json
) を選択します。**
-j, --threads=<num>
この数のスレッドをクエリのコンパイルに使用します。
既定値は 1 です。 0 を渡して、コンピューター上のコアごとに 1 つのスレッドを使用したり、N を渡して、N 個のコアを未使用のままにしたりすることができます (ただし、その場合でも、少なくとも 1 つのスレッドが使用されます)。
-M, --ram=<MB>
コンパイラで使用できる必要がある RAM の合計量を設定します。
--no-precompile
[詳細設定] パック出力ディレクトリでコンパイル キャッシュがプリコンパイルされないようにします。 これにより、パックのサイズが縮小され、作成にかかる時間が短縮されますが、パックを実行する前にコンパイルが必要になります。 クエリ パックに対してのみ意味があります。
--no-validate-extensions
[詳細設定] コンパイル手順の一環としてデータ拡張機能の検証を行わないようにします。
v2.13.3
以降で使用できます。
--no-overwrite
[詳細設定] このコマンドの以前の呼び出しからの既存のコンパイル済み出力が再コンパイルされ上書きされないようにします。
コンパイル環境を設定するためのオプション
--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 では、パスの区切り記号は ;
です)。
--library-path=<dir>[:<dir>...]
[詳細設定] QL ライブラリの生インポート検索パスに追加するオプションのディレクトリ リスト。 これを使う必要があるのは、QL パックとしてパッケージ化されていない QL ライブラリを使用する場合のみです。
(注: Windows では、パスの区切り記号は ;
です)。
--dbscheme=<file>
[詳細設定] どの dbscheme クエリに対してコンパイルする必要があるかを明示的に定義します。 これは、自分が何をしているかを確信している呼び出し元のみが指定する必要があります。
--compilation-cache=<dir>
[詳細設定] コンパイル キャッシュとして使用する追加のディレクトリを指定します。
--no-default-compilation-cache
[詳細設定] クエリを含む QL パックや CodeQL ツールチェーン ディレクトリなどの標準の場所でコンパイル キャッシュを使用しません。
CodeQL パッケージ マネージャーを構成するためのオプション
--registries-auth-stdin
\<registry_url>=\
たとえば、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 をリダイレクトします)。