Skip to main content

Advertencia: se detectaron X archivos Kotlin en el proyecto que no se pudieron procesar sin una compilación

Se pueden crear bases de datos de CodeQL para Java sin compilar el código, pero los archivos Kotlin se excluirán a menos que se compile el código.

Nota: la opción de analizar un lenguaje compilado sin compilarlo con CodeQL está actualmente en versión beta y está sujeto a cambios. Durante la versión beta, esta opción solo se admite para las variables códigos base de Java.

Acerca de esta advertencia

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

Esta advertencia se notifica cuando se detectan archivos Kotlin en un repositorio que ejecutó CodeQL code scanning para Java mediante el modo de compilación none (configuración predeterminada), o si ejecuta CodeQL CLI mediante --build-mode none para un repositorio que contiene archivos Java y Kotlin.

Confirmación de la causa de la advertencia

Esta advertencia solo se muestra cuando se usa el modo de compilación de none para un repositorio con archivos Java y Kotlin.

La acción de CodeQL y CodeQL CLI admiten un modo de compilación none para Java. Esto proporciona una manera sencilla de habilitar el análisis de código Java sin compilar el código base. Sin embargo, los archivos Kotlin no se incluyen en la base de datos resultante de CodeQL.

Puede verificar la presencia de archivos Kotlin examinando el repositorio o la solicitud de incorporación de cambios que desencadenó la advertencia. El modo de compilación none solo se usa en las siguientes circunstancias:

  • Code scanning se ha habilitado para el repositorio antes de agregar código Kotlin y después de introducir el nuevo modo (anteriormente habría usado el modo autobuild).
  • El flujo de trabajo de CodeQL especifica un modo de compilación none para el repositorio (compruebe build-mode: none).
  • Se llama a CodeQL CLI sin --command y con --build-mode none.

Solución del problema

Es posible que no desee analizar los archivos Kotlin, en cuyo caso puede ignorar el mensaje de advertencia.

Si desea actualizar el análisis para incluir también archivos Kotlin, CodeQL deberá compilar el código Java y Kotlin.

Configuración predeterminada de Code scanning

  1. Espere hasta que el código Kotlin se combine en la rama predeterminada del repositorio.
  2. Inhabilite y vuelva a habilitar la configuración predeterminada en la página "Configuración" del repositorio.

Esto desencadenará un nuevo análisis mediante la detección automática de compilación. Consulte "Establecimiento de la configuración predeterminada para el examen del código" y "Compilación de Java y Kotlin".

Si se produce un error en la detección automática de compilaciones, deberá usar la configuración avanzada con los comandos de compilación correctos para que el proyecto analice ambos lenguajes.

Configuración avanzada de Code scanning

Si ya usa la configuración avanzada, puede editar el flujo de trabajo de CodeQL y cambiar el modo de compilación para java-kotlin de none a autobuild para compilar automáticamente el proyecto o a manual para especificar sus propios pasos de compilación. "Compilación de Java y Kotlin".

Para pasar de la configuración predeterminada a la configuración avanzada, necesita habilitar la configuración avanzada en la página "Configuración" del repositorio y crear un flujo de trabajo de CodeQL. A continuación, puede definir un modo de compilación manual para java-kotlin y definir los comandos de compilación para el proyecto.

Ejecución CodeQL CLI directamente

Actualice las llamadas para ejecutar CodeQL CLI para el repositorio y las solicitudes de incorporación de cambios para reemplazar --build-mode none por --build-mode autobuild para probar la detección automática de compilaciones. Si la detección automática de compilaciones no es correcta, elimine la opción --build-mode e incluya una o varias opciones --command que detallen el script de compilación o los pasos necesarios para compilar el proyecto.

Información adicional