| <?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-kotlin-quarkus-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> |
| |
| <version.io.quarkus>3.0.0.Final</version.io.quarkus> |
| <version.kotlin>1.8.20</version.kotlin> |
| <version.org.optaplanner>9.37.0-SNAPSHOT</version.org.optaplanner> |
| |
| <version.compiler.plugin>3.8.1</version.compiler.plugin> |
| <version.surefire.plugin>3.0.0-M8</version.surefire.plugin> |
| </properties> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <!-- Alternatively, use <artifactId>quarkus-universe-bom</artifactId> |
| which includes both quarkus-bom and optaplanner-bom. --> |
| <artifactId>quarkus-bom</artifactId> |
| <version>${version.io.quarkus}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.optaplanner</groupId> |
| <artifactId>optaplanner-bom</artifactId> |
| <version>${version.org.optaplanner}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.jetbrains.kotlin</groupId> |
| <artifactId>kotlin-stdlib-jdk8</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-kotlin</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-resteasy</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-resteasy-jackson</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-hibernate-orm-panache</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-hibernate-orm-panache-kotlin</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-jdbc-h2</artifactId> |
| </dependency> |
| <!-- TODO Add RoomResource etc to add/remove rooms, timeslots and lessons --> |
| <!-- Blocked by https://github.com/quarkusio/quarkus/issues/12235 --> |
| <!-- <dependency>--> |
| <!-- <groupId>io.quarkus</groupId>--> |
| <!-- <artifactId>quarkus-hibernate-orm-rest-data-panache</artifactId>--> |
| <!-- </dependency>--> |
| <!-- <dependency>--> |
| <!-- <groupId>io.quarkus</groupId>--> |
| <!-- <artifactId>quarkus-hibernate-orm-rest-data-panache-kotlin</artifactId>--> |
| <!-- </dependency>--> |
| <dependency> |
| <groupId>org.optaplanner</groupId> |
| <artifactId>optaplanner-quarkus</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.optaplanner</groupId> |
| <artifactId>optaplanner-quarkus-jackson</artifactId> |
| </dependency> |
| |
| <!-- Testing --> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-junit5</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-test-h2</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>io.rest-assured</groupId> |
| <artifactId>kotlin-extensions</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.optaplanner</groupId> |
| <artifactId>optaplanner-test</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.awaitility</groupId> |
| <artifactId>awaitility</artifactId> |
| <scope>test</scope> |
| </dependency> |
| |
| <!-- UI --> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-webjars-locator</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.webjars</groupId> |
| <artifactId>bootstrap</artifactId> |
| <version>4.5.3</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.webjars</groupId> |
| <artifactId>jquery</artifactId> |
| <version>3.5.1</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.webjars</groupId> |
| <artifactId>font-awesome</artifactId> |
| <version>5.15.1</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.webjars.npm</groupId> |
| <artifactId>js-joda</artifactId> |
| <version>1.11.0</version> |
| <scope>runtime</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <sourceDirectory>src/main/kotlin</sourceDirectory> |
| <testSourceDirectory>src/test/kotlin</testSourceDirectory> |
| <plugins> |
| <plugin> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-maven-plugin</artifactId> |
| <version>${version.io.quarkus}</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>generate-code</goal> |
| <goal>generate-code-tests</goal> |
| <goal>build</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${version.compiler.plugin}</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${version.surefire.plugin}</version> |
| <configuration> |
| <systemPropertyVariables> |
| <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager> |
| </systemPropertyVariables> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.jetbrains.kotlin</groupId> |
| <artifactId>kotlin-maven-plugin</artifactId> |
| <version>${version.kotlin}</version> |
| <executions> |
| <execution> |
| <id>compile</id> |
| <goals> |
| <goal>compile</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>test-compile</id> |
| <goals> |
| <goal>test-compile</goal> |
| </goals> |
| </execution> |
| </executions> |
| <dependencies> |
| <dependency> |
| <groupId>org.jetbrains.kotlin</groupId> |
| <artifactId>kotlin-maven-allopen</artifactId> |
| <version>${version.kotlin}</version> |
| </dependency> |
| </dependencies> |
| <configuration> |
| <javaParameters>true</javaParameters> |
| <jvmTarget>11</jvmTarget> |
| <compilerPlugins> |
| <plugin>all-open</plugin> |
| </compilerPlugins> |
| <pluginOptions> |
| <option>all-open:annotation=jakarta.ws.rs.Path</option> |
| <option>all-open:annotation=jakarta.enterprise.context.ApplicationScoped</option> |
| <option>all-open:annotation=io.quarkus.test.junit.QuarkusTest</option> |
| </pluginOptions> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| <profiles> |
| <profile> |
| <id>native</id> |
| <activation> |
| <property> |
| <name>native</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <version>${version.surefire.plugin}</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| <configuration> |
| <systemPropertyVariables> |
| <native.image.path>${project.build.directory}/${project.build.finalName}-runner</native.image.path> |
| </systemPropertyVariables> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| <properties> |
| <quarkus.package.type>native</quarkus.package.type> |
| <!-- To allow application.properties to avoid using the in-memory database for native builds. --> |
| <quarkus.profile>native</quarkus.profile> |
| </properties> |
| </profile> |
| <profile> |
| <id>openshift-native</id> <!-- Optional for use in OpenShift. --> |
| <activation> |
| <property> |
| <name>openshift-native</name> |
| </property> |
| </activation> |
| <properties> |
| <quarkus.package.type>native</quarkus.package.type> |
| <quarkus.profile>openshift-native</quarkus.profile> |
| </properties> |
| <dependencies> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-openshift</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-jdbc-postgresql</artifactId> |
| </dependency> |
| </dependencies> |
| </profile> |
| </profiles> |
| |
| <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> |