optaplanner-benchmark
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.optaplanner</groupId> <artifactId>optaplanner-benchmark</artifactId> <version>10.0.0</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- ~ Licensed to the Apache Software Foundation (ASF) under one ~ or more contributor license agreements. See the NOTICE file ~ distributed with this work for additional information ~ regarding copyright ownership. The ASF licenses this file ~ to you under the Apache License, Version 2.0 (the ~ "License"); you may not use this file except in compliance ~ with the License. You may obtain a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable law or agreed to in writing, ~ software distributed under the License is distributed on an ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~ KIND, either express or implied. See the License for the ~ specific language governing permissions and limitations ~ under the License. --> <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>org.optaplanner</groupId> <artifactId>optaplanner-build-parent</artifactId> <version>10.0.0</version> <relativePath>../build/optaplanner-build-parent/pom.xml</relativePath> </parent> <artifactId>optaplanner-benchmark</artifactId> <name>OptaPlanner benchmark</name> <description> OptaPlanner solves planning problems. This lightweight, embeddable planning engine implements powerful and scalable algorithms to optimize business resource scheduling and planning. This module contains the benchmarker toolkit. </description> <url>https://www.optaplanner.org</url> <properties> <java.module.name>org.optaplanner.benchmark</java.module.name> </properties> <dependencies> <!-- Internal dependencies --> <dependency> <groupId>org.optaplanner</groupId> <artifactId>optaplanner-core</artifactId> </dependency> <dependency> <groupId>org.optaplanner</groupId> <artifactId>optaplanner-persistence-common</artifactId> </dependency> <dependency> <groupId>org.optaplanner</groupId> <artifactId>optaplanner-persistence-jaxb</artifactId> </dependency> <dependency> <groupId>org.optaplanner</groupId> <artifactId>optaplanner-core-impl</artifactId> <type>test-jar</type> <scope>test</scope> </dependency> <dependency> <groupId>org.optaplanner</groupId> <artifactId>optaplanner-persistence-common</artifactId> <type>test-jar</type> <scope>test</scope> </dependency> <dependency> <groupId>org.optaplanner</groupId> <artifactId>optaplanner-persistence-jackson</artifactId> <scope>test</scope> </dependency> <!-- External dependencies --> <!-- Common utils --> <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> <!-- 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> <!-- Benchmarker statistics --> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-core</artifactId> </dependency> <dependency> <groupId>org.jfree</groupId> <artifactId>jfreechart</artifactId> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> </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.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <excludes combine.children="append"> <!-- Remove the solver XSD as the JAR file should contain only the benchmark XSD. --> <exclude>${schema.filename.solver}</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <configuration> <excludes combine.children="append"> <!-- Remove the solver XSD as the JAR file should contain only the benchmark XSD. --> <exclude>${schema.filename.solver}</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.revapi</groupId> <artifactId>revapi-maven-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <systemPropertyVariables> <java.awt.headless>true</java.awt.headless> </systemPropertyVariables> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jaxb2-maven-plugin</artifactId> <configuration> <sources> <source>${project.build.sourceDirectory}/org/optaplanner/benchmark/config</source> </sources> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>${version.maven-exec-plugin}</version> <executions> <execution> <!-- Make sure the XSD will be merged after the codebase has been successfully compiled. --> <phase>process-classes</phase> <goals> <goal>java</goal> </goals> <configuration> <!-- Merge the first two XSD files to a standalone benchmark XSD file containing XML types from both of them. --> <mainClass>org.optaplanner.benchmark.impl.xsd.XsdAggregator</mainClass> <arguments> <argument>${project.build.outputDirectory}/${schema.filename.solver}</argument> <argument>${project.build.outputDirectory}/${schema.filename.benchmark}</argument> <argument>${project.build.outputDirectory}/benchmark.xsd</argument> </arguments> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <!-- Copy the benchmark.xsd to make sure it's available from the IDE without running maven first. Use the later phase to copy the resulting benchmark.xsd after it has been merged. --> <id>copy-benchmark-xsd</id> <phase>process-classes</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${project.basedir}/src/main/resources</outputDirectory> <resources> <resource> <directory>${project.build.outputDirectory}</directory> <includes> <include>benchmark.xsd</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <configuration> <ignoredUsedUndeclaredDependencies> <dependency>org.optaplanner:optaplanner-core-impl:jar</dependency> </ignoredUsedUndeclaredDependencies> <ignoredUnusedDeclaredDependencies> <dependency>org.optaplanner:optaplanner-core:jar</dependency> </ignoredUnusedDeclaredDependencies> </configuration> </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> <version>${version.maven-exec-plugin}</version> <executions> <execution> <id>check-benchmark-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/benchmark.xsd</argument> </arguments> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>