cucumber-java
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>7.31.0</version>
</dependency><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>
<parent>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-jvm</artifactId>
<version>7.31.0</version>
</parent>
<artifactId>cucumber-java</artifactId>
<packaging>jar</packaging>
<name>Cucumber-JVM: Java</name>
<properties>
<project.Automatic-Module-Name>io.cucumber.java</project.Automatic-Module-Name>
<apiguardian-api.version>1.1.2</apiguardian-api.version>
<hamcrest.version>3.0</hamcrest.version>
<jackson.version>2.20.0</jackson.version>
<junit-jupiter.version>5.14.0</junit-jupiter.version>
<mockito.version>5.20.0</mockito.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-bom</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${junit-jupiter.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>${jackson.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-core</artifactId>
</dependency>
<dependency>
<groupId>org.apiguardian</groupId>
<artifactId>apiguardian-api</artifactId>
<version>${apiguardian-api.version}</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit-platform-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<version>${hamcrest.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.34</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Copy FreeMarker template files for code generation-->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>generate-i18n</id>
<phase>generate-sources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/codegen-classes</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}/src/codegen/resources</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<!-- Make sure to compile code generator before running it -->
<!-- Note: both the code generator and regular classes are compiled -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>generate-i18n</id>
<phase>generate-sources</phase>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<compileSourceRoots>${project.basedir}/src/codegen/java</compileSourceRoots>
<outputDirectory>${project.build.directory}/codegen-classes</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- Run the code generator -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.6.2</version>
<executions>
<execution>
<id>generate-i18n</id>
<phase>generate-sources</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<classpathScope>test</classpathScope>
<addOutputToClasspath>false</addOutputToClasspath>
<addResourcesToClasspath>false</addResourcesToClasspath>
<additionalClasspathElements>${project.build.directory}/codegen-classes</additionalClasspathElements>
<mainClass>GenerateI18n</mainClass>
<arguments>
<argument>${project.build.directory}/generated-sources/i18n</argument>
<argument>io/cucumber/java</argument>
</arguments>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>generate-i18n</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/generated-sources/i18n</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<configuration>
<!-- Use very specific exclusions to avoid excluding non-generated sources by accident -->
<excludes>
<!-- ISO 639-1 Language -->
<exclude>**/io/cucumber/java/??/*</exclude>
<!-- ISO 639-1 Language variants -->
<exclude>**/io/cucumber/java/??_*/*</exclude>
<!-- ISO 639-3 Language -->
<exclude>**/io/cucumber/java/???/*</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>