293 lines
11 KiB
XML
293 lines
11 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>
|
|
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<maven.compiler.source>25</maven.compiler.source>
|
|
<maven.compiler.target>25</maven.compiler.target>
|
|
<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>
|
|
</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>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<dependencies>
|
|
<!-- 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>
|
|
|
|
<!-- JavaMail API for email notifications -->
|
|
<dependency>
|
|
<groupId>com.sun.mail</groupId>
|
|
<artifactId>javax.mail</artifactId>
|
|
<version>1.6.2</version>
|
|
</dependency>
|
|
|
|
<!-- OpenCV for image processing and object detection -->
|
|
<dependency>
|
|
<groupId>org.openpnp</groupId>
|
|
<artifactId>opencv</artifactId>
|
|
<version>${opencv.version}</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>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-smallrye-health</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-config-yaml</artifactId>
|
|
</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>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<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>
|
|
</plugin>
|
|
<!-- Maven Compiler Plugin -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.11.0</version>
|
|
<configuration>
|
|
<source>25</source>
|
|
<target>25</target>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Maven Exec Plugin for running with native access -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
<version>3.1.0</version>
|
|
<configuration>
|
|
<mainClass>com.auction.TroostwijkAuctionExtractor</mainClass>
|
|
<cleanupDaemonThreads>false</cleanupDaemonThreads>
|
|
<arguments>
|
|
<argument>--max-visits</argument>
|
|
<argument>3</argument>
|
|
</arguments>
|
|
<additionalClasspathElements>
|
|
<!--suppress MavenModelInspection -->
|
|
<additionalClasspathElement>${project.build.outputDirectory}</additionalClasspathElement>
|
|
</additionalClasspathElements>
|
|
<commandlineArgs>--enable-native-access=ALL-UNNAMED</commandlineArgs>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>java</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Maven Surefire Plugin for tests with native access -->
|
|
<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>
|
|
<!-- <plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>3.2.0</version>
|
|
<configuration>
|
|
<archive>
|
|
<manifest>
|
|
<mainClass>com.auction.Main</mainClass>
|
|
</manifest>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>-->
|
|
<!-- Maven Assembly Plugin for creating executable JAR with dependencies -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<version>3.6.0</version>
|
|
<configuration>
|
|
<archive>
|
|
<manifest>
|
|
<mainClass>com.auction.Main</mainClass>
|
|
</manifest>
|
|
</archive>
|
|
<descriptorRefs>
|
|
<descriptorRef>jar-with-dependencies</descriptorRef>
|
|
</descriptorRefs>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>make-assembly</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|