BUILD1 - Creando un Nuevo Proyecto

A lo largo de los tutoriales hasta ahora, hemos tomado el proyecto de tutorial IPF como ejemplo y hemos trabajado a partir de ese ejemplo. Sin embargo, el punto clave aquí es que comenzamos desde un proyecto IPF preexistente que estaba completamente configurado y listo para usar. Ahora consideramos la pregunta - "¿Cómo creamos un nuevo proyecto IPF?"

Para esto, introducimos el IPF Scaffolder.

Presentando el Scaffolder

El andamio es un componente de Java que puede ser llamado a través de Maven para iniciar un proyecto completamente nuevo que tendrá la siguiente estructura:

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

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

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

Ejecutando el Scaffolder

Ejecutemos el andamiaje. 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 una serie de propiedades configurables aquí para que usted las revise:

Nombre de la Propiedad Descripción Valores Permitidos Ejemplo

ipfVersion

La versión de IPF que desea utilizar

2024.3.0

incluirFuncionesEmpresariales

Esto añadirá por defecto las dependencias para incluir las funciones comerciales de IPF en su proyecto.

y / n

n

includeSampleSystems

Esto añadirá por defecto las dependencias para incluir las funciones del sistema de muestra IPF en su proyecto.

y / n

n

includeApplication

Esto añadirá una aplicación de Spring Boot ejecutable a su proyecto.

y / n

n

includeE2E

Esto añadirá por defecto las dependencias para incluir una configuración de entorno docker en su aplicación.

y / n

n

useBuildScripts

Si la aplicación está destinada a ser utilizada como un componente reutilizable en una solución diferente, esto debe ser configurado.

y / n

n

solutionName

El nombre del MPS solución para su proyecto.

ejemplosolución

nombreDelModelo

El nombre del MPS modelo para su proyecto.

examplemodel

groupId

Una configuración estándar de groupId de maven

com.iconsolutions

artifactId

Una configuración estándar de artifactId de maven

ejemplo-proyecto

versión

Una configuración estándar de la versión de maven

0.0.1-SNAPSHOT

outputDir

La ubicación en la que se debe generar el nuevo proyecto (debe ser cualquier directorio vacío)

Cualquier ruta de archivo válida

build/proyecto-ejemplo

 Debe proporcionar la versión de destino tanto del andamio (_sacffolder Version_) como utilizar la versión IPF compatible (_ipf Version_).
Las *versiones deben ser compatibles*, por favor verifique y reemplace los números según xref:reference::release/releases.adoc[la documentación de lanzamiento de IPF] y/o los detalles para su entorno objetivo.

Una vez ejecutado, el andamio se irá y comenzará a generar el proyecto para usted. Cuando esté completo, podrá ir a la ruta de salida que especificó 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, proceda a construirlo. Muévase al directorio base del proyecto y ejecute:

mvn clean install

Al igual que con los proyectos principales del tutorial, esto generará todos nuestros MPS el código junto con las imágenes de docker para la aplicación en sí. Luego, se ejecutarán pruebas contra el entorno de contenedor configurado para asegurarse de que todo esté funcionando correctamente. Después de unos minutos, deberíamos obtener un resultado de compilación exitoso.

Eso es todo, hemos generado con éxito un proyecto IPF y estamos listos para comenzar. El siguiente paso normal sería abrir el flujo en MPS y comience a desarrollarlo. Para hacer esto, simplemente abrimos el <project>-domain/mps carpeta en nuestra MPS instalar.

Conclusiones

En esta sección hemos aprendido cómo crear un proyecto completamente nuevo utilizando el generador de ipf.