timefold-solver-core
Used in
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>ai.timefold.solver</groupId> <artifactId>timefold-solver-core</artifactId> <version>1.20.0</version> </dependency>
<?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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>ai.timefold.solver</groupId> <artifactId>timefold-solver-build-parent</artifactId> <version>1.20.0</version> <relativePath>../build/build-parent/pom.xml</relativePath> </parent> <artifactId>timefold-solver-core</artifactId> <name>Timefold Solver core implementation</name> <description> Timefold solves planning problems. This lightweight, embeddable planning engine implements powerful and scalable algorithms to optimize business resource scheduling and planning. This module contains the planning engine itself. </description> <url>https://timefold.ai</url> <properties> <java.module.name>ai.timefold.solver.core</java.module.name> </properties> <dependencies> <!-- Gizmo dependencies --> <dependency> <groupId>io.quarkus.gizmo</groupId> <artifactId>gizmo</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> <optional>true</optional> </dependency> <!-- External dependencies --> <!-- Common utils --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-math3</artifactId> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <scope>test</scope> </dependency> <!-- Logging --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <scope>test</scope> </dependency> <!-- Monitoring --> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-core</artifactId> </dependency> <!-- XML --> <dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> </dependency> <dependency> <groupId>org.glassfish.jaxb</groupId> <artifactId>jaxb-runtime</artifactId> <scope>runtime</scope> </dependency> <!-- Testing --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-params</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.awaitility</groupId> <artifactId>awaitility</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <scope>test</scope> </dependency> <!-- standardized nullness annotations --> <dependency> <groupId>org.jspecify</groupId> <artifactId>jspecify</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.revapi</groupId> <artifactId>revapi-maven-plugin</artifactId> <configuration> <!-- Remove this override when oldTimefoldVersion is >= 1.9.0 --> <oldArtifacts> <artifact>${project.groupId}:timefold-solver-core-impl:${revapi.oldTimefoldVersion}</artifact> </oldArtifacts> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jaxb2-maven-plugin</artifactId> <configuration> <sources> <source>${project.build.sourceDirectory}/ai/timefold/solver/core/config/solver</source> </sources> </configuration> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <!-- Copy the solver.xsd to make sure it's available from the IDE without running maven first. --> <id>copy-solver-xsd</id> <phase>process-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${project.basedir}/src/main/resources</outputDirectory> <resources> <resource> <directory>${project.build.outputDirectory}</directory> <includes> <include>solver.xsd</include> </includes> <targetPath>${project.basedir}/src/main/resources</targetPath> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build> <profiles> <profile> <id>check-xsd-changes</id> <activation> <property> <name>env.CI</name> </property> </activation> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <executions> <execution> <id>check-solver-xsd-changes</id> <phase>test</phase> <goals> <goal>exec</goal> </goals> <configuration> <executable>git</executable> <workingDirectory>${project.basedir}</workingDirectory> <arguments> <argument>diff</argument> <argument>--exit-code</argument> <argument>src/main/resources/solver.xsd</argument> </arguments> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>