360 lines
13 KiB
XML
360 lines
13 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>de.assecutor.votianlt</groupId>
|
|
<artifactId>votianlt</artifactId>
|
|
<version>0.9.0</version>
|
|
|
|
<packaging>jar</packaging>
|
|
|
|
<properties>
|
|
<java.version>21</java.version>
|
|
<maven.compiler.source>21</maven.compiler.source>
|
|
<maven.compiler.target>21</maven.compiler.target>
|
|
<maven.compiler.release>21</maven.compiler.release>
|
|
<vaadin.version>24.7.0</vaadin.version>
|
|
<archunit.version>1.3.0</archunit.version>
|
|
</properties>
|
|
|
|
<parent>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-parent</artifactId>
|
|
<version>3.4.3</version>
|
|
<relativePath/>
|
|
</parent>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.vaadin</groupId>
|
|
<artifactId>vaadin-bom</artifactId>
|
|
<version>${vaadin.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<!-- Spring AI BOM -->
|
|
<dependency>
|
|
<groupId>org.springframework.ai</groupId>
|
|
<artifactId>spring-ai-bom</artifactId>
|
|
<version>1.0.0</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<dependencies>
|
|
<!-- Vaadin -->
|
|
<dependency>
|
|
<groupId>com.vaadin</groupId>
|
|
<!-- Replace artifactId with vaadin-core to use only free components -->
|
|
<artifactId>vaadin</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.vaadin</groupId>
|
|
<artifactId>vaadin-spring-boot-starter</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Additional Spring Dependencies -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-actuator</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Spring WebSocket for messaging plugin -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-websocket</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-validation</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-devtools</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-data-mongodb</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Security Dependencies -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-security</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok</artifactId>
|
|
<version>1.18.38</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.github.librepdf</groupId>
|
|
<artifactId>openpdf</artifactId>
|
|
<version>1.3.30</version>
|
|
</dependency>
|
|
|
|
<!-- Spring Boot Mail Starter -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-mail</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Spring WebFlux for direct LLM API calls (like aimailassistant) -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-webflux</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Jackson JSR310 module for Java 8 date/time support -->
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.datatype</groupId>
|
|
<artifactId>jackson-datatype-jsr310</artifactId>
|
|
</dependency>
|
|
|
|
|
|
|
|
<!-- iText8 for PDF generation -->
|
|
<dependency>
|
|
<groupId>com.itextpdf</groupId>
|
|
<artifactId>itext-core</artifactId>
|
|
<version>8.0.5</version>
|
|
<type>pom</type>
|
|
</dependency>
|
|
|
|
<!-- iText8 Kernel (PDF core functionality) -->
|
|
<dependency>
|
|
<groupId>com.itextpdf</groupId>
|
|
<artifactId>kernel</artifactId>
|
|
<version>8.0.5</version>
|
|
</dependency>
|
|
|
|
<!-- iText8 Layout (document layout) -->
|
|
<dependency>
|
|
<groupId>com.itextpdf</groupId>
|
|
<artifactId>layout</artifactId>
|
|
<version>8.0.5</version>
|
|
</dependency>
|
|
|
|
<!-- iText8 HTML to PDF converter -->
|
|
<dependency>
|
|
<groupId>com.itextpdf</groupId>
|
|
<artifactId>html2pdf</artifactId>
|
|
<version>5.0.5</version>
|
|
</dependency>
|
|
|
|
<!-- Spring AI OpenAI (LM Studio kompatibel) -->
|
|
<dependency>
|
|
<groupId>org.springframework.ai</groupId>
|
|
<artifactId>spring-ai-starter-model-openai</artifactId>
|
|
</dependency>
|
|
|
|
<!-- MCP Server mit WebMVC Transport -->
|
|
<dependency>
|
|
<groupId>org.springframework.ai</groupId>
|
|
<artifactId>spring-ai-starter-mcp-server-webmvc</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Test Dependencies -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.security</groupId>
|
|
<artifactId>spring-security-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
|
|
<build>
|
|
<defaultGoal>spring-boot:run</defaultGoal>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.11.0</version>
|
|
<configuration>
|
|
<source>21</source>
|
|
<target>21</target>
|
|
<release>21</release>
|
|
<annotationProcessorPaths>
|
|
<path>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok</artifactId>
|
|
<version>1.18.38</version>
|
|
</path>
|
|
</annotationProcessorPaths>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.diffplug.spotless</groupId>
|
|
<artifactId>spotless-maven-plugin</artifactId>
|
|
<version>2.43.0</version>
|
|
<configuration>
|
|
<java>
|
|
<eclipse>
|
|
<version>4.33</version>
|
|
<file>${project.basedir}/eclipse-formatter.xml</file>
|
|
</eclipse>
|
|
</java>
|
|
<typescript>
|
|
<includes>
|
|
<include>src/main/frontend/**/*.ts</include>
|
|
<include>src/main/frontend/**/*.tsx</include>
|
|
</includes>
|
|
<excludes>
|
|
<exclude>src/main/frontend/generated/**</exclude>
|
|
</excludes>
|
|
<prettier>
|
|
<prettierVersion>3.3.3</prettierVersion>
|
|
<configFile>${project.basedir}/.prettierrc.json</configFile>
|
|
</prettier>
|
|
</typescript>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.vaadin</groupId>
|
|
<artifactId>vaadin-maven-plugin</artifactId>
|
|
<version>${vaadin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>prepare-frontend</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-wrapper-plugin</artifactId>
|
|
<version>3.3.2</version>
|
|
</plugin>
|
|
</plugins>
|
|
<resources>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<filtering>true</filtering>
|
|
<includes>
|
|
<include>application.properties</include>
|
|
</includes>
|
|
</resource>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<filtering>false</filtering>
|
|
<excludes>
|
|
<exclude>application.properties</exclude>
|
|
</excludes>
|
|
</resource>
|
|
</resources>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>production</id>
|
|
<dependencies>
|
|
<!-- Exclude development dependencies from production -->
|
|
<dependency>
|
|
<groupId>com.vaadin</groupId>
|
|
<artifactId>vaadin-core</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.vaadin</groupId>
|
|
<artifactId>vaadin-dev</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
</dependencies>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>com.vaadin</groupId>
|
|
<artifactId>vaadin-maven-plugin</artifactId>
|
|
<version>${vaadin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>build-frontend</goal>
|
|
</goals>
|
|
<phase>compile</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>integration-test</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-failsafe-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>integration-test</goal>
|
|
<goal>verify</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<trimStackTrace>false</trimStackTrace>
|
|
<enableAssertions>true</enableAssertions>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
|
|
<repositories>
|
|
<repository>
|
|
<id>vaadin-directory</id>
|
|
<url>https://maven.vaadin.com/vaadin-addons</url>
|
|
<snapshots>
|
|
<enabled>false</enabled>
|
|
</snapshots>
|
|
</repository>
|
|
<repository>
|
|
<id>vaadin-prereleases</id>
|
|
<url>https://maven.vaadin.com/vaadin-prereleases</url>
|
|
<snapshots>
|
|
<enabled>false</enabled>
|
|
</snapshots>
|
|
</repository>
|
|
<repository>
|
|
<id>spring-milestones</id>
|
|
<name>Spring Milestones</name>
|
|
<url>https://repo.spring.io/milestone</url>
|
|
<snapshots>
|
|
<enabled>false</enabled>
|
|
</snapshots>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<pluginRepositories>
|
|
<pluginRepository>
|
|
<id>vaadin-prereleases</id>
|
|
<url>https://maven.vaadin.com/vaadin-prereleases</url>
|
|
<snapshots>
|
|
<enabled>false</enabled>
|
|
</snapshots>
|
|
</pluginRepository>
|
|
</pluginRepositories>
|
|
</project>
|