| <?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <groupId>org.acme</groupId> |
| <artifactId>optaplanner-hello-world-school-timetabling-quickstart</artifactId> |
| <version>1.0-SNAPSHOT</version> |
| |
| <properties> |
| <maven.compiler.release>11</maven.compiler.release> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <jar.with.dependencies.name>hello-world-run</jar.with.dependencies.name> |
| |
| <version.org.optaplanner>9.38.0-SNAPSHOT</version.org.optaplanner> |
| <version.org.assertj>3.24.2</version.org.assertj> |
| <version.org.junit.jupiter>5.9.0</version.org.junit.jupiter> |
| <version.org.logback>1.2.11</version.org.logback> |
| |
| <version.compiler.plugin>3.10.1</version.compiler.plugin> |
| <version.surefire.plugin>3.0.0-M8</version.surefire.plugin> |
| <version.assembly.plugin>3.4.2</version.assembly.plugin> |
| </properties> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.optaplanner</groupId> |
| <artifactId>optaplanner-bom</artifactId> |
| <version>${version.org.optaplanner}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit</groupId> |
| <artifactId>junit-bom</artifactId> |
| <version>${version.org.junit.jupiter}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <version>${version.org.logback}</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.optaplanner</groupId> |
| <artifactId>optaplanner-core</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <scope>runtime</scope> |
| </dependency> |
| |
| <!-- Testing --> |
| <dependency> |
| <groupId>org.optaplanner</groupId> |
| <artifactId>optaplanner-test</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.assertj</groupId> |
| <artifactId>assertj-core</artifactId> |
| <version>${version.org.assertj}</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${version.compiler.plugin}</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${version.surefire.plugin}</version> |
| </plugin> |
| <plugin> <!-- For the purposes of integration testing only. --> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <version>${version.surefire.plugin}</version> |
| <configuration> |
| <systemPropertyVariables> |
| <artifactName>${jar.with.dependencies.name}</artifactName> |
| </systemPropertyVariables> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>${version.assembly.plugin}</version> |
| <configuration> |
| <finalName>${jar.with.dependencies.name}</finalName> |
| <appendAssemblyId>false</appendAssemblyId> |
| <descriptors> <!-- Builds a JAR with dependencies that correctly merges META-INF/service descriptors. --> |
| <descriptor>src/assembly/jar-with-dependencies-and-services.xml</descriptor> |
| </descriptors> |
| <archive> |
| <manifestEntries> |
| <Main-Class>org.acme.schooltimetabling.TimeTableApp</Main-Class> |
| <Multi-Release>true</Multi-Release> <!-- Some of our dependencies are multi-release JARs. --> |
| </manifestEntries> |
| </archive> |
| </configuration> |
| <executions> |
| <execution> |
| <id>make-assembly</id> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <repositories> |
| <repository> |
| <id>jboss-public-repository-group</id> |
| <url>https://repository.jboss.org/nexus/content/groups/public/</url> |
| <releases> |
| <!-- Get releases only from Maven Central which is faster. --> |
| <enabled>false</enabled> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </repository> |
| </repositories> |
| </project> |