Skip to main content

Aviso: Detectados X arquivos Kotlin no seu projeto que não puderam ser processados sem compilação

Bancos de dados do CodeQL podem ser criados para Java sem compilar o código, porém arquivos Kotlin são excluídos a menos que o código seja compilado.

Nota: A opção de analisar uma linguagem compilada sem compilá-la usando CodeQL está atualmente em versão beta e sujeita a alterações. Durante a versão beta, essa opção é suportada apenas para bases de código Java.

Sobre este aviso

Warning: Detected X Kotlin files in your project that could not be processed without a build. To process these files...

Esse aviso é reportado quando arquivos Kotlin são detectados em um repositório que executou o CodeQL code scanning para Java usando o modo de compilação none (configuração padrão), ou se você executar a CodeQL CLI usando --build-mode none para um repositório contendo arquivos Java e Kotlin.

Confirmar a causa do aviso

Esse aviso só é exibido quando o modo de compilação de none é usado para um repositório com arquivos Java e Kotlin.

A ação CodeQL e a ferramenta CodeQL CLI suportam o modo de compilação none para Java. Isso fornece uma maneira fácil de habilitar a análise para código Java sem compilar a base de código. No entanto, arquivos Kotlin não são incluídos no banco de dados CodeQL resultante.

Você pode verificar a presença de arquivos Kotlin observando o repositório ou pull request que disparou o aviso. O modo de compilação none é usado somente nas seguintes circunstâncias:

  • Code scanning foi habilitado para o repositório antes que o código Kotlin fosse adicionado e depois que o novo modo foi introduzido (anteriormente, teria usado o modo autobuild).
  • O fluxo de trabalho do CodeQL especifica um modo de compilação no-build para o repositório (verifique a presença de build-mode: none).
  • A CodeQL CLI é chamada sem um --command e com --build-mode none.

Corrigir o problema

Talvez você não queira analisar os arquivos Kotlin, nesse caso você pode ignorar a mensagem de aviso.

Se você deseja atualizar a análise para incluir os arquivos Kotlin, o CodeQL precisará compilar o código Java e Kotlin.

Configuração padrão da Code scanning

  1. Aguarde até que o código Kotlin seja mesclado na branch padrão do repositório.
  2. Desative e reative a configuração padrão na página "Configurações" do seu repositório.

Isso vai disparar uma nova análise usando a detecção automática de compilação. Consulte "AUTOTÍTULO" e "Complicação de Java e Kotlin".

Se a detecção automática de compilação falhar, será necessário usar a configuração avançada com os comandos de compilação corretos para o projeto, a fim de analisar as duas linguagens.

Configuração avançada da Code scanning

Se você já usa a configuração avançada, edite o fluxo de trabalho do CodeQL e altere o modo de compilação para java-kotlin de none para autobuild para compilar automaticamente o seu projeto, ou manual para especificar suas próprias etapas de compilação. "Compilação em Java e Kotlin".

Se você precisa converter da configuração padrão para a avançada, siga a configuração avançada na página "Configurações" do seu repositório e crie um fluxo de trabalho do CodeQL. Em seguida, você pode definir um modo de compilação manual para java-kotlin e definir os comandos de compilação para o projeto.

Executando a CodeQL CLI diretamente

Atualize suas chamadas para executar o CodeQL CLI para o repositório e pull requests para substituir --build-mode none por --build-mode autobuild para tentar a detecção automática de compilação. Se a detecção automática de compilação não for bem-sucedida, remova a opção --build-mode e inclua uma ou mais opções --command detalhando o script de compilação ou as etapas necessárias para compilar o projeto.

Leitura adicional