¿Cómo uso los scripts de build?
¿Qué es un script de build?
Un script de build es un tipo de solución MPS que se utiliza para generar un archivo zip que puede incluirse en proyectos descendentes. Esto nos permite vincular proyectos MPS y reutilizar uno en otro.
¿Cuándo necesitaría un script de build?
Necesitas usar un script de build si quieres exportar los componentes de tu DSL para que pueda usarse en otros proyectos. Por lo tanto, las bibliotecas reutilizables necesitan scripts de build, pero los proyectos finales de flujos no.
¿Cómo obtengo un script de build?
La forma más sencilla es, al usar el generador (scaffolder) para generar un proyecto nuevo, incluir la opción 'useBuildScripts'. Esto lo configurará todo por ti y no hay nada extra o especial que necesites hacer.
¿Por qué no todos los proyectos tienen scripts de build?
Los scripts de build deben mantenerse actualizados con las dependencias utilizadas en tu proyecto, por lo que si agregas dependencias tendrás que refrescar el script de build. Aunque es trivial hacerlo, si no necesitas las extracciones del zip entonces es más simple no tener la confusión de un script de build. ¡Siempre puedes añadirlo más tarde!
¿Qué pasa si necesito añadir un script de build a un proyecto existente?
Si necesitas añadir un script de build (es decir, si construiste tu proyecto inicial sin él y ahora quieres añadir uno) simplemente sigue estos pasos:
Creando el script de build
Haz clic derecho en tu proyecto en MPS y selecciona 'New' > 'Build Solution'.
Una vez construido, selecciona el script de build en el navegador
En la parte superior de tu script de build verás esto:
Haz clic derecho en 'build.xml' y selecciona inspeccionar nodo (o presiona Ctrl+ALT+I). Luego, en el panel del inspector, cambia la ubicación de build de Ant para incluir la ruta de build como sigue:
En la sección de macros necesitamos configurar las definiciones como abajo:
En la estructura del proyecto, establece el nombre y el nombre de carpeta para usar la nueva variable solutionName que acabas de crear.
En la sección del grupo mps, necesitas añadir una entrada para la nueva solución de build. Esto debe referenciar el load from path desde el directorio relevante en la carpeta solutions como abajo:
Ahora, si vuelves a la sección de estructura del proyecto, puedes añadir la nueva entrada que has creado:
NOTA: Probablemente necesitarás recargar las dos entradas en la sección 'mps group'. Para hacer esto, simplemente haz clic derecho en la entrada (que estará subrayada en rojo) y selecciona recargar desde disco.
Finalmente, al final del archivo, necesitamos cambiar para crear una solución de plugin. Borra la entrada que está ahí y reemplázala con una entrada como se muestra a continuación:
Ahora deberías poder reconstruir la solución en IntelliJ. Si luego revisas tus archivos deberías ver un directorio 'build' que contiene el build.xml bajo el directorio mps.
Usando el script de build
Ahora que tienes el script de build, para invocarlo simplemente necesitamos cambiar las definiciones de tiles en el mps pom.xml
<tiles> <tile>com.iconsolutions.ipf.core.flow:flo-mps-tile:${icon-flo.version}</tile> <tile>com.iconsolutions.ipf.core.flow:flo-mps-archive-tile:${icon-flo.version}</tile> </tiles>
Aquí hemos reemplazado el flo-mps-plugin-tile con dos tiles nuevos.