444 lines
17 KiB
XML
444 lines
17 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>auctiora</groupId>
|
|
<artifactId>auctiora</artifactId>
|
|
<version>1.0-SNAPSHOT</version>
|
|
<packaging>jar</packaging>
|
|
|
|
<name>Troostwijk Auction Scraper</name>
|
|
<description>Web scraper for Troostwijk Auctions with object detection and notifications</description>
|
|
<repositories>
|
|
<repository>
|
|
<id>jitpack.io</id>
|
|
<url>https://jitpack.io</url>
|
|
</repository>
|
|
</repositories>
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<maven.compiler.source>25</maven.compiler.source>
|
|
<maven.compiler.target>25</maven.compiler.target>
|
|
<maven.compiler.release>25</maven.compiler.release>
|
|
<jackson.version>2.17.0</jackson.version>
|
|
<opencv.version>4.9.0-0</opencv.version>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<quarkus.platform.version>3.17.7</quarkus.platform.version>
|
|
<asm.version>9.8</asm.version>
|
|
<lombok.version>1.18.40</lombok.version>
|
|
<!--this is not a bug, its feature-->
|
|
<lombok-version>${lombok.version}</lombok-version>
|
|
<lombok-maven-version>1.18.20.0</lombok-maven-version>
|
|
<maven-compiler-plugin-version>3.14.0</maven-compiler-plugin-version>
|
|
<versions-maven-plugin.version>2.19.0</versions-maven-plugin.version>
|
|
<jandex-maven-plugin-version>3.5.0</jandex-maven-plugin-version>
|
|
<maven.compiler.args>
|
|
--enable-native-access=ALL-UNNAMED
|
|
--add-opens java.base/sun.misc=ALL-UNNAMED
|
|
-Xdiags:verbose
|
|
-Xlint:all
|
|
</maven.compiler.args>
|
|
<uberJar>true</uberJar> <!-- Your existing properties... -->
|
|
<quarkus.package.jar.type>uber-jar</quarkus.package.jar.type>
|
|
<quarkus.package.jar.enabled>true</quarkus.package.jar.enabled>
|
|
<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss z</maven.build.timestamp.format>
|
|
</properties>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>io.quarkus.platform</groupId>
|
|
<artifactId>quarkus-bom</artifactId>
|
|
<version>${quarkus.platform.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<!-- Override ASM to support Java 25 -->
|
|
<dependency>
|
|
<groupId>org.ow2.asm</groupId>
|
|
<artifactId>asm</artifactId>
|
|
<version>${asm.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.ow2.asm</groupId>
|
|
<artifactId>asm-commons</artifactId>
|
|
<version>${asm.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.ow2.asm</groupId>
|
|
<artifactId>asm-tree</artifactId>
|
|
<version>${asm.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.ow2.asm</groupId>
|
|
<artifactId>asm-util</artifactId>
|
|
<version>${asm.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-bom</artifactId>
|
|
<version>4.1.124.Final</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<!-- Force consistent versions -->
|
|
<dependency>
|
|
<groupId>org.opentest4j</groupId>
|
|
<artifactId>opentest4j</artifactId>
|
|
<version>1.3.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>2.0.9</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.github.vladimir-bukhtoyarov.bucket4j</groupId>
|
|
<artifactId>bucket4j-core</artifactId>
|
|
<version>7.6.0</version>
|
|
</dependency>
|
|
<!-- https://mvnrepository.com/artifact/io.github.bucket4j/bucket4j -->
|
|
<!--<dependency>
|
|
<groupId>io.github.bucket4j</groupId>
|
|
<artifactId>bucket4j</artifactId>
|
|
<version>8.9.0</version>
|
|
</dependency>-->
|
|
<!-- JSoup for HTML parsing and HTTP client -->
|
|
<dependency>
|
|
<groupId>org.jsoup</groupId>
|
|
<artifactId>jsoup</artifactId>
|
|
<version>1.17.2</version>
|
|
</dependency>
|
|
|
|
<!-- Jackson for JSON parsing -->
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-databind</artifactId>
|
|
<version>${jackson.version}</version>
|
|
</dependency>
|
|
|
|
<!-- SQLite JDBC driver -->
|
|
<dependency>
|
|
<groupId>org.xerial</groupId>
|
|
<artifactId>sqlite-jdbc</artifactId>
|
|
<version>3.45.1.0</version>
|
|
</dependency>
|
|
<!-- Lombok -->
|
|
<dependency>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok</artifactId>
|
|
<version>${lombok.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok-maven</artifactId>
|
|
<version>${lombok-maven-version}</version>
|
|
<type>pom</type>
|
|
</dependency>
|
|
<!-- JavaMail API for email notifications -->
|
|
<dependency>
|
|
<groupId>com.sun.mail</groupId>
|
|
<artifactId>javax.mail</artifactId>
|
|
<version>1.6.2</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.microsoft.playwright</groupId>
|
|
<artifactId>playwright</artifactId>
|
|
<version>1.40.0</version>
|
|
</dependency>
|
|
|
|
<!-- SLF4J API and implementation for logging -->
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>2.0.9</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-simple</artifactId>
|
|
<version>2.0.9</version>
|
|
</dependency>
|
|
<!-- JUnit 5 for testing -->
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
<version>5.10.1</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- Mockito for mocking in tests -->
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<version>5.8.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- Mockito JUnit Jupiter integration -->
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-junit-jupiter</artifactId>
|
|
<version>5.8.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- AssertJ for fluent assertions (optional but recommended) -->
|
|
<dependency>
|
|
<groupId>org.assertj</groupId>
|
|
<artifactId>assertj-core</artifactId>
|
|
<version>3.24.2</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.vladsch.flexmark</groupId>
|
|
<artifactId>flexmark-all</artifactId>
|
|
<version>0.64.8</version>
|
|
</dependency>
|
|
<!-- Quarkus Core Dependencies -->
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-rest-jackson</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-arc</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-scheduler</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>*</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<!-- Explicitly add cron-utils with slf4j excluded to avoid path warning -->
|
|
<dependency>
|
|
<groupId>com.cronutils</groupId>
|
|
<artifactId>cron-utils</artifactId>
|
|
<version>9.2.1</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<!-- Force Netty 4.1.124.Final to avoid sun.misc.Unsafe warnings -->
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-common</artifactId>
|
|
<version>4.1.124.Final</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-handler</artifactId>
|
|
<version>4.1.124.Final</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-buffer</artifactId>
|
|
<version>4.1.124.Final</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-transport</artifactId>
|
|
<version>4.1.124.Final</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-codec</artifactId>
|
|
<version>4.1.124.Final</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-codec-http</artifactId>
|
|
<version>4.1.124.Final</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-codec-http2</artifactId>
|
|
<version>4.1.124.Final</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-resolver</artifactId>
|
|
<version>4.1.124.Final</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-resolver-dns</artifactId>
|
|
<version>4.1.124.Final</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-smallrye-health</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-config-yaml</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-undertow</artifactId>
|
|
</dependency>
|
|
|
|
<!-- OSGi annotations -->
|
|
<dependency>
|
|
<groupId>org.osgi</groupId>
|
|
<artifactId>org.osgi.annotation.bundle</artifactId>
|
|
<version>2.0.0</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<!-- Test dependencies -->
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-junit5</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.rest-assured</groupId>
|
|
<artifactId>rest-assured</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.openpnp</groupId>
|
|
<artifactId>opencv</artifactId>
|
|
<version>4.9.0-0</version>
|
|
<!--<classifier>windows-x86_64</classifier>-->
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<resources>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<filtering>true</filtering>
|
|
</resource>
|
|
</resources>
|
|
<plugins>
|
|
|
|
<plugin>
|
|
<groupId>io.quarkus.platform</groupId>
|
|
<artifactId>quarkus-maven-plugin</artifactId>
|
|
<version>${quarkus.platform.version}</version>
|
|
<extensions>true</extensions>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>build</goal>
|
|
<goal>generate-code</goal>
|
|
<goal>generate-code-tests</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<properties>
|
|
<build.timestamp>${maven.build.timestamp}</build.timestamp>
|
|
</properties>
|
|
<jvmArgs>--enable-native-access=ALL-UNNAMED --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED -Dio.netty.tryReflectionSetAccessible=true</jvmArgs>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok-maven-plugin</artifactId>
|
|
<version>${lombok-maven-version}</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>delombok</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- Maven Exec Plugin for running with native access -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>${maven-compiler-plugin-version}</version>
|
|
<configuration>
|
|
<release>${maven.compiler.release}</release>
|
|
<annotationProcessorPaths>
|
|
<path>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok</artifactId>
|
|
<version>${lombok-version}</version>
|
|
</path>
|
|
<path>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-extension-processor</artifactId>
|
|
<version>${quarkus.platform.version}</version>
|
|
</path>
|
|
</annotationProcessorPaths>
|
|
<compilerArgs>
|
|
<arg>-Xdiags:verbose</arg>
|
|
<arg>-Xlint:all</arg>
|
|
</compilerArgs>
|
|
<fork>true</fork>
|
|
<excludes>
|
|
<exclude>module-info.java</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>versions-maven-plugin</artifactId>
|
|
<version>${versions-maven-plugin.version}</version>
|
|
</plugin>
|
|
<!-- Maven Surefire Plugin for tests with native access -->
|
|
<plugin>
|
|
<groupId>io.smallrye</groupId>
|
|
<artifactId>jandex-maven-plugin</artifactId>
|
|
<version>${jandex-maven-plugin-version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>make-index</id>
|
|
<goals>
|
|
<goal>jandex</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>3.2.5</version>
|
|
<configuration>
|
|
<!-- Enable ByteBuddy experimental mode for Java 25 support -->
|
|
<!-- Mockito requires this for Java 24+ -->
|
|
<argLine>
|
|
-Dnet.bytebuddy.experimental=true
|
|
--add-opens java.base/java.lang=ALL-UNNAMED
|
|
--add-opens java.base/java.util=ALL-UNNAMED
|
|
</argLine>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
<!-- In your pom.xml, alongside <build> and <dependencies> -->
|
|
<distributionManagement>
|
|
<repository>
|
|
<id>gitea</id>
|
|
<url>https://git.appmodel.nl/api/packages/Tour/maven</url>
|
|
</repository>
|
|
<snapshotRepository>
|
|
<id>gitea</id>
|
|
<url>https://git.appmodel.nl/api/packages/Tour/maven</url>
|
|
</snapshotRepository>
|
|
</distributionManagement>
|
|
</project>
|