En los sistemas de integración continua, cada vez que se envía el código, o cada hora, se lanza automáticamente una compilación del código fuente. Este enfoque le permite comprobar las fusiones en el servidor de gestión de código.
A partir de 4D v19, un nuevo comando le permite lanzar la compilación del código, para que pueda configurar este tipo de sistema.
Lanzar una compilación por programación
¿Qué es la integración continua?
La integración continua consiste en comprobar, cada vez que se modifica el código fuente, que el resultado de las modificaciones no produce regresiones en la aplicación desarrollada. El objetivo principal es detectar los problemas de integración lo antes posible durante el desarrollo.
Nuevo comando
El nuevo comando Compile Project permite compilar:
- el proyecto actual
- un proyecto distinto al actual
Si la compilación tiene éxito, el comando devuelve un objeto de estado con una propiedad de éxito. En caso contrario, devuelve un objeto de estado con una lista de errores.
Compilar el proyecto actual
Compilar el proyecto actual con la configuración por defecto es muy sencillo:
var $status : Object
)
$status :=Compile project(
También puede anular las opciones de compilación pasando un objeto con los nuevos valores. Estas son las opciones que puedes anular:
- objetivo de compilación
- inferencia de tipo
- tipo por defecto para numéricos o botones
- generar símbolos
- generar métodos de tipado
- componentes a utilizar en la compilación
Por ejemplo, cada vez que se envía el código en el servidor de control de fuentes, se puede lanzar una simple comprobación de sintaxis para verificar el código fusionado.
var $options; $status: Object
$options :=New object()
$options .targets:=New collection()
$status :=Compile project($options)
Si su aplicación utiliza componentes, tendrá que pasar la lista de componentes compilados en el objeto options.
var $options; $status: Object
var $component : 4D.File
$options :=New object()
$options .components:=Folder("/PACKAGE/Components").files(fk recursive).query("extensión = .4dz")
$status := Compile project($options
)
Compilar otro proyecto
Es posible compilar una aplicación desde otro proyecto. Basta con pasar el archivo del proyecto al comando:
var $file: 4D.File
$file :=Folder(fk documents folder).file("Databases/myApp/Project/myApp.4DProject")
$status :=Compile project($file)
Gestión de errores de compilación
El comando devuelve un objeto de estado que le indica si la compilación ha sido exitosa o no. Si la compilación falla, 4D devuelve la colección de mensajes de error, los métodos implicados y el número de línea del error.
Entonces, gracias al nuevo parámetro del comando METHOD OPEN PATH se puede abrir el método en el editor de código y colocar el cursor en la línea de error.
Por ejemplo, es posible mostrar la colección de errores en un cuadro de lista y luego añadir un botón que abra el método del error seleccionado en la lista:
METHOD OPEN PATH(Form.selected.code.path;Form.selected.line)
¡Manténgase en sintonía! ¡Tenemos más entradas en el blog sobre la integración continua por venir!