step
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>ch.exense.step</groupId>
<artifactId>step</artifactId>
<version>3.29.4</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) exense GmbH -->
<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>
<groupId>ch.exense.step</groupId>
<artifactId>step</artifactId>
<version>3.29.4</version>
<packaging>pom</packaging>
<!-- required metadata for maven central -->
<name>${project.groupId}:${project.artifactId}</name>
<description>Step: the first open-source automation platform for unified agile testing</description>
<url>https://github.com/exense/step</url>
<licenses>
<license>
<name>The GNU Affero General Public License, Version 3</name>
<url>https://www.gnu.org/licenses/#AGPL</url>
</license>
</licenses>
<developers>
<developer>
<name>Exense GmbH</name>
<organization>Exense GmbH</organization>
<organizationUrl>https://exense.ch</organizationUrl>
<email>support@exense.ch</email>
</developer>
</developers>
<scm>
<connection>scm:git:https://github.com/exense/step.git</connection>
<developerConnection>scm:git:https://github.com/exense/step.git</developerConnection>
<url>https://github.com/exense/step</url>
</scm>
<!-- metadata end -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- compiler settings -->
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.release>11</maven.compiler.release>
<!-- internal dependencies -->
<dependencies.version>2025.6.25</dependencies.version>
<step-grid.version>2.5.1</step-grid.version>
<step-framework.version>2.5.3</step-framework.version>
<!-- external, non-transitive, dependencies -->
<dep.groovy.version>3.0.23</dep.groovy.version>
<dep.apache-jmeter.version>5.4.3</dep.apache-jmeter.version>
<dep.apache-poi.version>5.2.3</dep.apache-poi.version>
<dep.aether.version>1.1.0</dep.aether.version>
<!-- maven build dependencies -->
<dep.mvn.assembly.version>3.7.1</dep.mvn.assembly.version>
<dep.mvn.clean.version>3.1.0</dep.mvn.clean.version>
<dep.mvn.compiler.version>3.14.0</dep.mvn.compiler.version>
<dep.mvn.dependency.version>3.1.1</dep.mvn.dependency.version>
<dep.mvn.dependency-check.version>10.0.3</dep.mvn.dependency-check.version>
<dep.mvn.deploy.version>3.0.0-M1</dep.mvn.deploy.version>
<dep.mvn.download.version>1.2.1</dep.mvn.download.version>
<dep.mvn.enforcer.version>3.1.0</dep.mvn.enforcer.version>
<dep.mvn.gpg.version>1.6</dep.mvn.gpg.version>
<dep.mvn.jacoco.version>0.8.12</dep.mvn.jacoco.version>
<dep.mvn.jar.version>3.1.1</dep.mvn.jar.version>
<dep.mvn.javadoc.version>3.3.2</dep.mvn.javadoc.version>
<dep.mvn.resources.version>3.1.0</dep.mvn.resources.version>
<dep.mvn.shade.version>3.1.0</dep.mvn.shade.version>
<dep.mvn.source.version>3.0.1</dep.mvn.source.version>
<dep.mvn.surefire.version>2.22.1</dep.mvn.surefire.version>
<excluded.jmeter.group>step.junit.categories.LocalJMeter</excluded.jmeter.group>
</properties>
<repositories>
<!-- staging nexus -->
<repository>
<id>nexus-staging</id>
<url>https://nexus-enterprise-staging.stepcloud-test.ch/repository/staging-maven/</url>
</repository>
<!-- private nexus -->
<repository>
<id>nexus-exense</id>
<url>https://nexus-enterprise.exense.ch/repository/exense/</url>
</repository>
</repositories>
<modules>
<module>step-commons</module>
<module>step-agent</module>
<module>step-constants</module>
<module>step-core-model</module>
<module>step-core</module>
<module>step-automation-packages</module>
<module>step-functions</module>
<module>step-functions-plugins</module>
<module>step-plans</module>
<module>step-controller</module>
<module>step-controller-plugins</module>
<module>step-maven-plugin</module>
<module>step-repositories</module>
<module>step-ide</module>
<module>step-libs-maven-client</module>
<module>step-json-schema</module>
<module>step-cli</module>
<module>step-livereporting</module>
</modules>
<!-- available dependencies, can be used in modules and dependent projects WITHOUT specifying a version number -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>ch.exense.step</groupId>
<artifactId>step-framework</artifactId>
<version>${step-framework.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>ch.exense.step</groupId>
<artifactId>step-grid</artifactId>
<version>${step-grid.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- For some reason, the groovy-all does not contain everything (e.g. dateutil) -->
<!-- Conversely, groovy-bom does not include groovy-all. Go figure :-) -->
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-bom</artifactId>
<version>${dep.groovy.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>${dep.groovy.version}</version>
<type>pom</type>
<exclusions>
<exclusion>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
</exclusion>
<exclusion>
<groupId>org.junit.jupiter</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>org.junit.platform</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.21</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_core</artifactId>
<version>${dep.apache-jmeter.version}</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_components</artifactId>
<version>${dep.apache-jmeter.version}</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_http</artifactId>
<version>${dep.apache-jmeter.version}</version>
</dependency>
<dependency>
<groupId>org.ldaptive</groupId>
<artifactId>ldaptive</artifactId>
<version>2.3.2</version>
<exclusions>
<exclusion>
<groupId>io.netty</groupId>
<artifactId>netty-handle</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-handler</artifactId>
<version>4.1.118.Final</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20240303</version>
</dependency>
<dependency>
<groupId>org.openjdk.nashorn</groupId>
<artifactId>nashorn-core</artifactId>
<version>15.4</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.5.0-rc1</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.python</groupId>
<artifactId>jython</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-api</artifactId>
<version>${dep.aether.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-spi</artifactId>
<version>${dep.aether.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-impl</artifactId>
<version>${dep.aether.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-connector-basic</artifactId>
<version>${dep.aether.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-transport-file</artifactId>
<version>${dep.aether.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-transport-http</artifactId>
<version>${dep.aether.version}</version>
</dependency>
<dependency>
<groupId>javax.json</groupId>
<artifactId>javax.json-api</artifactId>
<version>1.1.4</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${dep.apache-poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${dep.apache-poi.version}</version>
</dependency>
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-sheets</artifactId>
<version>v4-rev20250211-2.0.0</version>
</dependency>
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-drive</artifactId>
<version>v3-rev20250216-2.0.0</version>
</dependency>
<dependency>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client-jackson2</artifactId>
<version>1.46.1</version>
</dependency>
<dependency>
<groupId>org.everit.json</groupId>
<artifactId>org.everit.json.schema</artifactId>
<version>1.5.1</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>9.7</version>
</dependency>
<!-- plexus stuff is mostly referred to by maven classes -->
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-interpolation</artifactId>
<version>1.26</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-annotations</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-classworlds</artifactId>
<version>2.6.0</version>
</dependency>
<!-- referred to by google guava and api-client -->
<dependency>
<groupId>com.google.j2objc</groupId>
<artifactId>j2objc-annotations</artifactId>
<version>3.0.0</version>
</dependency>
<!-- used by Jmeter and json-path -->
<dependency>
<groupId>net.minidev</groupId>
<artifactId>json-smart</artifactId>
<version>2.5.2</version>
</dependency>
<dependency>
<groupId>net.minidev</groupId>
<artifactId>accessors-smart</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-util</artifactId>
<version>1.1.0</version> <!-- seems to be the final version since 2016 -->
</dependency>
<!-- mostly JMeter -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.16</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore-nio</artifactId>
<version>4.4.16</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.14</version>
</dependency>
<!-- These are not for the maven builds, but for the actual sources implementing maven functionality -->
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-aether-provider</artifactId>
<version>3.3.9</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings-builder</artifactId>
<version>3.8.6</version>
</dependency>
<!-- quick-fixes, these should be upstreamed to exense-dependencies -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.27.1</version>
</dependency>
</dependencies>
</dependencyManagement>
<!-- actually used dependencies, exported to all modules (but not externally referring projects) -->
<dependencies>
<!-- common dependencies, thus automatically available in all modules (but not external projects) -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<!-- Unit Tests -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<!-- Central maven plugins versions management -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>${dep.mvn.assembly.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>${dep.mvn.clean.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${dep.mvn.compiler.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${dep.mvn.dependency.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>${dep.mvn.deploy.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${dep.mvn.enforcer.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${dep.mvn.gpg.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${dep.mvn.jar.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${dep.mvn.javadoc.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${dep.mvn.resources.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${dep.mvn.shade.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${dep.mvn.source.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${dep.mvn.surefire.version}</version>
</plugin>
<!--This plugin's configuration is used to store Eclipse m2e settings
only. It has no influence on the Maven build itself. -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<versionRange>[1.6.0,)</versionRange>
<goals>
<goal>exec</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${dep.mvn.jacoco.version}</version>
<configuration>
<excludes>
<exclude>*.jar</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-banned-dependencies</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<bannedDependencies>
<excludes>
<exclude>org.junit.jupiter</exclude>
<exclude>org.junit.platform</exclude>
<exclude>org.testng</exclude>
</excludes>
</bannedDependencies>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
</plugin>
<!-- Source -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Javadoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<header><![CDATA[<meta name='viewport' content='width=device-width, initial-scale=1.0'>]]></header>
<!-- detectLinks MUST NOT be set to true in a production context, as it derives random domain names
from package names, then tries to download data from those random URLs. -->
<detectLinks>false</detectLinks>
<!-- detectOfflineLinks SHOULD also be set to false, because: -->
<!-- a) it cannot generate meaningful links to the javadoc from other projects, anyway -->
<!-- b) it causes unnecessarily scary ERROR messages at build time -->
<detectOfflineLinks>false</detectOfflineLinks>
<quiet>true</quiet>
<source>11</source>
<additionalOptions>
<additionalOption>-Xdoclint:none</additionalOption>
</additionalOptions>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<!-- this file must be available in the classpath, it is currently located in the step-common resources -->
<logback.configurationFile>logback-for-test.xml</logback.configurationFile>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>SkipJMeterTests</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<excluded.jmeter.group>step.junit.categories.LocalJMeter</excluded.jmeter.group>
</properties>
</profile>
<profile>
<!-- Skip javadoc generation -->
<id>SkipJavadoc</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<maven.javadoc.skip>true</maven.javadoc.skip>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludedGroups>ch.exense.commons.test.categories.PerformanceTest,${excluded.jmeter.group}</excludedGroups>
<systemPropertyVariables>
<!-- this file must be available in the classpath, it is currently located in the step-common resources -->
<logback.configurationFile>logback-for-test.xml</logback.configurationFile>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>PerformanceTest</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludedGroups>${excluded.jmeter.group}</excludedGroups>
<systemPropertyVariables>
<!-- this file must be available in the classpath, it is currently located in the step-common resources -->
<logback.configurationFile>logback-for-test.xml</logback.configurationFile>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>DependencyCheck</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<!-- Profile use for checking security issues in external dependencies. -->
<!-- This may take a LOOONG time (possibly multiple minutes), even when using an API key -->
<!-- To quickly check the results, run this (in the project directory):
find . -name dependency-check-report.csv | xargs wc -l
-->
<!-- Anything that returns more than 1 line (the CSV header line) is potentially vulnerable. -->
<build>
<plugins>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>${dep.mvn.dependency-check.version}</version>
<configuration>
<formats>HTML,CSV</formats>
<skipDependencyManagement>false</skipDependencyManagement>
<!-- <nvdApiKey>KEY_HERE</nvdApiKey>-->
<failOnError>false</failOnError>
</configuration>
<executions>
<execution>
<phase>
verify
</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>SignedBuild</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludedGroups>ch.exense.commons.test.categories.PerformanceTest,${excluded.jmeter.group}</excludedGroups>
<systemPropertyVariables>
<!-- this file must be available in the classpath, it is currently located in the step-common resources -->
<logback.configurationFile>logback-for-test.xml</logback.configurationFile>
</systemPropertyVariables>
</configuration>
</plugin>
<!-- Signature -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
<!-- Disable old maven-deploy plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<!-- Publish directly to central instead -->
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.8.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>sonatype</publishingServerId>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>