summaryrefslogtreecommitdiff
path: root/pom.xml
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-06-06 08:02:52 +0300
committerPaul Buetow <paul@buetow.org>2025-06-06 08:02:52 +0300
commit1d99762c7965d351510cfb5e08eac25e48d96038 (patch)
treef469493e911878ab9055ccf0494211bf9015922d /pom.xml
parent4d35597bd92607c4d194686e20b125044506c79a (diff)
Modernize project structure, update Maven config, move sources, add logging config, update README and .gitignore
Diffstat (limited to 'pom.xml')
-rw-r--r--pom.xml112
1 files changed, 89 insertions, 23 deletions
diff --git a/pom.xml b/pom.xml
index be76965..e31ec1c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,17 +1,25 @@
+<?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>com.example</groupId>
- <artifactId>verteilte-systeme</artifactId>
+
+ <groupId>org.ds-sim</groupId>
+ <artifactId>ds-sim</artifactId>
<version>1.0-SNAPSHOT</version>
- <name>Verteilte Systeme</name>
- <description>This is the distributed systems simulation/learning environment!</description>
+ <name>DS-Sim</name>
+ <description>Distributed Systems Simulator - A modern Java-based simulator for distributed systems</description>
<properties>
- <maven.compiler.source>1.8</maven.compiler.source>
- <maven.compiler.target>1.8</maven.compiler.target>
+ <java.version>11</java.version>
+ <maven.compiler.source>${java.version}</maven.compiler.source>
+ <maven.compiler.target>${java.version}</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <junit.version>5.9.2</junit.version>
+ <mockito.version>5.3.1</mockito.version>
+ <slf4j.version>2.0.7</slf4j.version>
+ <logback.version>1.4.7</logback.version>
</properties>
<build>
@@ -21,14 +29,13 @@
</resource>
</resources>
<plugins>
-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.1</version>
+ <version>3.11.0</version>
<configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
+ <source>${java.version}</source>
+ <target>${java.version}</target>
<compilerArgs>
<arg>-Xlint:deprecation,unchecked</arg>
</compilerArgs>
@@ -38,12 +45,11 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
- <version>3.2.0</version>
+ <version>3.3.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
- <classpathPrefix>lib/</classpathPrefix>
<mainClass>simulator.VSMain</mainClass>
</manifest>
</archive>
@@ -53,32 +59,92 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>3.2.0</version>
+ <version>3.5.0</version>
<configuration>
- <destDir>${project.basedir}/javadoc</destDir>
+ <doclint>none</doclint>
+ <source>${java.version}</source>
</configuration>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>3.0.0</version>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>3.1.2</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>3.4.1</version>
<executions>
<execution>
+ <phase>package</phase>
<goals>
- <goal>java</goal>
+ <goal>shade</goal>
</goals>
+ <configuration>
+ <transformers>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+ <mainClass>simulator.VSMain</mainClass>
+ </transformer>
+ </transformers>
+ </configuration>
</execution>
</executions>
- <configuration>
- <mainClass>simulator.VSMain</mainClass>
- </configuration>
</plugin>
-
</plugins>
</build>
<dependencies>
- <!-- Add your project dependencies here -->
+ <!-- Testing -->
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-engine</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>${mockito.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- Logging -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${slf4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <version>${logback.version}</version>
+ </dependency>
+
+ <!-- JSON Processing -->
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.15.2</version>
+ </dependency>
+
+ <!-- GUI -->
+ <dependency>
+ <groupId>org.openjfx</groupId>
+ <artifactId>javafx-controls</artifactId>
+ <version>17.0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.openjfx</groupId>
+ <artifactId>javafx-fxml</artifactId>
+ <version>17.0.2</version>
+ </dependency>
</dependencies>
</project>