注: CodeQL を使用してビルドせずにコンパイル型言語を分析するオプションは、現在ベータ版であり、変更される可能性があります。 ベータ期間中、このオプションは Java および C# コードベースでのみサポートされます。
この警告について
Warning: Detected X Kotlin files in your project that could not be processed without a build. To process these files...
この警告は、ビルド モード none
(既定のセットアップ) を使用して Java の CodeQL code scanning を実行したリポジトリで Kotlin ファイルが検出された場合、または --build-mode none
を使用して Java ファイルと Kotlin ファイルを含むリポジトリに対して CodeQL CLI を実行した場合に報告されます。
警告の原因を確認する
この警告は、Java ファイルと Kotlin ファイルの両方を含むリポジトリに対してビルド モード none
が使用されている場合にのみ表示されます。
CodeQL アクションと CodeQL CLI では、Java および C# のビルド モード none
がサポートされます。 これにより、コードベースをビルドしなくても Java コードの分析を簡単に有効にできます。 ただし、Kotlin ファイルは、結果として生成される CodeQL データベースには含まれません。
警告をトリガーしたリポジトリまたは pull request を調べることで、Kotlin ファイルの存在を確認できます。 none
ビルド モードは、次の状況でのみ使用されます。
- Code scanning は、Kotlin コードが追加される前、および新しいモードが導入された後に (以前は
autobuild
モードを使用)、リポジトリに対して有効になりました。 - CodeQL ワークフローでは、リポジトリのビルド モード
none
が指定されます (build-mode: none
を確認)。 - CodeQL CLI の呼び出しには、
--command
ではなく--build-mode none
を使用します。
問題を修正する
Kotlin ファイルを分析する必要がない場合は、警告メッセージを無視できます。
Kotlin ファイルも含むように分析を更新する場合は、CodeQL で Java コードと Kotlin コードをビルドする必要があります。
Code scanning の既定の設定
- Kotlin コードがリポジトリの既定のブランチにマージされるまで待機します。
- リポジトリの [設定] ページで既定のセットアップを無効にしてから、再度有効にします。
これにより、ビルドの自動検出を使用した新しい分析がトリガーされます。 「コード スキャンの既定セットアップの構成」と「Java と Kotlin のビルド」を参照してください。
ビルドの自動検出が失敗した場合は、プロジェクトの正しいビルド コマンドを備えた高度なセットアップを使用して、両方の言語を分析する必要があります。
Code scanning の高度なセットアップ
既に高度なセットアップを使用している場合は、CodeQL ワークフローを編集し、java-kotlin
のビルド モードを none
から autobuild
に変更してプロジェクトを自動的にビルドするか、manual
に変更して独自のビルド ステップを指定することができます。 「Java と Kotlin のビルド。」
既定のセットアップから高度なセットアップに変換する必要がある場合は、リポジトリの [設定] ページで高度なセットアップを有効にし、CodeQL ワークフローを作成する必要があります。 次に、java-kotlin
の manual
ビルド モードを定義すると、プロジェクトのビルド コマンドを定義できます。
CodeQL CLI を直接実行する
リポジトリと pull request の CodeQL CLI を実行するように呼び出しを更新し、--build-mode none
を --build-mode autobuild
に置き換えてビルドの自動検出を試行します。 ビルドの自動検出が失敗した場合は、--build-mode
オプションを削除し、プロジェクトのビルドに必要なビルド スクリプトやビルド ステップの詳細を示す 1 つ以上の --command
オプションを含めます。