Documentation for a newer release is available. View Latest

BUILD1 - Crear un proyecto nuevo

A lo largo de los tutoriales hasta ahora, hemos tomado el proyecto de ejemplo del tutorial IPF y hemos trabajado nuestro ejemplo sobre esa base. El punto clave aquí, sin embargo, es que partimos de un proyecto IPF preexistente que ya estaba configurado y listo para usarse. Ahora nos planteamos la pregunta: «¿Cómo creamos un proyecto IPF completamente nuevo?».

Para esto presentamos el IPF Scaffolder.

Presentación del Scaffolder

El scaffolder es un componente Java que puede invocarse vía Maven para bootstrapear un proyecto completamente nuevo que tendrá la siguiente estructura:

  • Un módulo <project>-domain que contiene toda la configuración de MPS. Como parte de esto, se genera para ti un flujo de ejemplo muy básico (¡el mismo que vimos en la solución inicial del tutorial!).

  • Un módulo <project>-app que contiene un proyecto de arranque basado en Spring Boot con la clase de aplicación ejecutable.

  • Un módulo <project>-service que contendrá toda la implementación Java para tu solución DSL, incluidas las definiciones de dominio y adaptadores.

Ejecutar el Scaffolder

Ejecutemos el scaffolder. Para ello, ejecutamos este comando:

mvn com.iconsolutions.ipf.build:ipf-project-scaffolder-maven:1.0.5:scaffold \
-DipfVersion=2024.3.0 \
-DincludeBusinessFunctions=n \
-DincludeSampleSystems=n \
-DincludeApplication=y \
-DincludeE2E=n \
-DuseBuildScripts=y \
-DsolutionName=examplesolution \
-DmodelName=examplemodel \
-DgroupId=com.iconsolutions \
-Dversion=0.0.1-SNAPSHOT \
-DartifactId=example-project \
-DoutputDir=build/example-project

Hay varias propiedades configurables aquí para revisar:

Nombre de propiedad Descripción Valores permitidos Ejemplo

ipfVersion

La versión de IPF que deseas usar

2024.3.0

includeBusinessFunctions

De forma predeterminada añade las dependencias para incluir las funciones de negocio de IPF en tu proyecto

y / n

n

includeSampleSystems

De forma predeterminada añade las dependencias para incluir los sistemas de ejemplo de IPF en tu proyecto

y / n

n

includeApplication

Añade una aplicación Spring Boot ejecutable a tu proyecto

y / n

n

includeE2E

De forma predeterminada añade las dependencias para incluir una configuración de entorno docker en tu aplicación

y / n

n

useBuildScripts

Si la aplicación pretende usarse como un componente reutilizable en una solución distinta, debe activarse.

y / n

n

solutionName

El nombre de la solución MPS para tu proyecto.

examplesolution

modelName

El nombre del modelo MPS para tu proyecto.

examplemodel

groupId

Un ajuste estándar de groupId de Maven

com.iconsolutions

artifactId

Un ajuste estándar de artifactId de Maven

example-project

version

Un ajuste estándar de version de Maven

0.0.1-SNAPSHOT

outputDir

La ubicación en la que debe generarse el nuevo proyecto (debe ser un directorio vacío)

Cualquier ruta de archivo válida

build/example-project

Debes suministrar la versión objetivo tanto del scaffolder (sacffolderVersion) como usar la versión de IPF compatible (ipfVersion). Las versiones deben ser compatibles; por favor verifica y sustituye los números según la documentación de versiones de IPF y/o los detalles de tu entorno objetivo.

Una vez ejecutado, el scaffolder comenzará a generar el proyecto por ti; cuando termine podrás ir a la ruta de salida especificada y ver el código generado:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.243 s
[INFO] Finished at: 2024-08-14T14:10:04+01:00
[INFO] ------------------------------------------------------------------------
➜  /build cd example-project
➜  example-project ls -ltr
total 20
drwxrwxr-x 8 icon0377 icon0377 4096 Aug 14 14:10 example-project-domain
drwxrwxr-x 3 icon0377 icon0377 4096 Aug 14 14:10 example-project-service
drwxrwxr-x 3 icon0377 icon0377 4096 Aug 14 14:10 example-project-app
-rw-rw-r-- 1 icon0377 icon0377 2404 Aug 14 14:10 Readme.md
-rw-rw-r-- 1 icon0377 icon0377 2234 Aug 14 14:10 pom.xml

Habiendo generado nuestro proyecto, vamos a construirlo. Ve al directorio base del proyecto y ejecuta:

mvn clean install

Como con los proyectos principales del tutorial, esto generará todo nuestro código MPS junto con las imágenes de docker para la propia aplicación. Después ejecutará tests contra el entorno de contenedores configurado para asegurarse de que todo está en marcha correctamente. Tras unos minutos, deberíamos obtener un resultado de build satisfactorio.

Eso es todo: hemos generado correctamente un proyecto IPF y estamos listos para empezar. El siguiente paso normal sería abrir el flujo en MPS y comenzar a desarrollarlo. Para ello, simplemente abre la carpeta <project>-domain/mps en tu instalación de MPS.

Conclusiones

En esta sección hemos aprendido a crear un proyecto completamente nuevo utilizando el ipf scaffolder.