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 él. 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 scaffolder es un java componente 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 spring boot proyecto base que contiene la clase de aplicación ejecutable.

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

Ejecutando el Scaffolder

Ejecutemos el scaffolder. Para hacerlo, 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á un ejecutable spring boot aplicación a su proyecto

y / n

n

includeE2E

Esto añadirá por defecto las dependencias para incluir un docker configuración del entorno para 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

modelName

El nombre del MPS modelo para su proyecto.

examplemodel

groupId

Un estándar maven configuración de groupId

com.iconsolutions

artifactId

Un estándar maven configuración de artifactId

ejemplo-proyecto

versión

Un estándar maven configuración de versión

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 objetivo de ambos los scaffolder(_sacffolder Version_) y utilice la versión de 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 scaffolder 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 código junto con el docker imágenes para la aplicación en sí. Luego, ejecutará 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 ipf.scaffolder.