Fork me on GitHub

ivy:start-test-engine

Full name:

com.axonivy.ivy.ci:project-build-plugin:9.1.0:start-test-engine

Description:

Starts the Axon.ivy Engine for integration testing.

After starting the engine, this goal provides the url of the engine as property test.engine.url. You can use this property to configure your 'maven-failsafe-plugin' to work against this test engine. However, in an iar-integration-test lifecycle this is already provided by the 'ivy-integration-test-properties' goal.


<artifactId>maven-failsafe-plugin</artifactId>
  ...
  <configuration>
    <argLine>-Dtest.engine.url=${test.engine.url} 
-Dtest.engine.app=Portal</argLine>
  </configuration>

Attributes:

  • Requires a Maven project to be executed.
  • Since version: 6.2.0.

Required Parameters

Name Type Since Description
<ivyVersion> String 6.2.0 The ivy Engine version or version-range that must be used. Must be equal or higher than MINIMAL_COMPATIBLE_VERSION Examples:
  • "6.1.2" means ivyVersion = 6.1.2
  • "[6.1.0,7.0.0)" means 6.1.0 <= ivyVersion < 7.0.0
  • "(6.0.0,]" means ivyVersion > 6.0.0

Default value is: 9.1.0.
User property is: ivy.engine.version.

Optional Parameters

Name Type Since Description
<additionalClasspath> String 6.2.0 Additional classpath entries for the JVM that runs the Engine
User property is: ivy.engine.start.additional.classpath.
<additionalVmOptions> String 6.2.0 Additional options for the JVM that runs the Engine. To modify the classpath or the max heap use the provided properties.
User property is: ivy.engine.start.additional.vmoptions.
<engineCacheDirectory> File 6.2.0 Location where ivy engines in required version can be extracted to.

If the Engine does not yet exist, it can be automatically downloaded.


Default value is: ${settings.localRepository}/.cache/ivy.
User property is: ivy.engine.cache.directory.
<engineDirectory> File 6.2.0 Location where an unpacked (may pre-configured) ivy Engine in the required version exists.

If parameter is not set it will be a sub-directory of the engineCacheDirectory.

If the Engine does not yet exist, it can be automatically downloaded.


User property is: ivy.engine.directory.
<engineLogFile> File 6.2.0 The file where the engine start is logged
Default value is: ${project.build.directory}/testEngineOut.log.
User property is: ivy.engine.start.log.
<maxmem> String 6.2.0 The maximum heap (-Xmx) that is used for starting and running the Engine
Default value is: 2048m.
User property is: ivy.engine.start.maxmem.
<skipTest> boolean 6.2.0 Set to true to skip the engine start.
Default value is: false.
User property is: maven.test.skip.
<startTimeoutInSeconds> Integer 6.2.0 The maximum amount of seconds that we wait for a engine to start
Default value is: 120.
User property is: ivy.engine.start.timeout.seconds.
<testEngine> String 8.0.4 Configure if the test engine gets copied to the maven target folder. With this you can start each test cycle with a clean engine. Integration tests may leave resources like deployed projects behind which may lead to unwanted side effects on the next test cycle.
  • COPY_FROM_CACHE = copy the engine if it comes from the engineCacheDirectory.
  • MODIFY_EXISTING = don't copy the engine, this could lead to unforeseen behaviour if the same engine is used multiple times.
  • COPY_FROM_TEMPLATE = always copy the engine. If you have a preconfigured engine in the engineDirectory it will be copied as well.
    • Note: that we advise you to move the configuration of such engine to the build cycle itself instead of using a preconfigured one.

Default value is: COPY_FROM_CACHE.
User property is: ivy.test.engine.

Parameter Details

<additionalClasspath>

Additional classpath entries for the JVM that runs the Engine
  • Type: java.lang.String
  • Since: 6.2.0
  • Required: No
  • User Property: ivy.engine.start.additional.classpath

<additionalVmOptions>

Additional options for the JVM that runs the Engine. To modify the classpath or the max heap use the provided properties.
  • Type: java.lang.String
  • Since: 6.2.0
  • Required: No
  • User Property: ivy.engine.start.additional.vmoptions

<engineCacheDirectory>

Location where ivy engines in required version can be extracted to.

If the Engine does not yet exist, it can be automatically downloaded.

  • Type: java.io.File
  • Since: 6.2.0
  • Required: No
  • User Property: ivy.engine.cache.directory
  • Default: ${settings.localRepository}/.cache/ivy

<engineDirectory>

Location where an unpacked (may pre-configured) ivy Engine in the required version exists.

If parameter is not set it will be a sub-directory of the engineCacheDirectory.

If the Engine does not yet exist, it can be automatically downloaded.

  • Type: java.io.File
  • Since: 6.2.0
  • Required: No
  • User Property: ivy.engine.directory

<engineLogFile>

The file where the engine start is logged
  • Type: java.io.File
  • Since: 6.2.0
  • Required: No
  • User Property: ivy.engine.start.log
  • Default: ${project.build.directory}/testEngineOut.log

<ivyVersion>

The ivy Engine version or version-range that must be used. Must be equal or higher than MINIMAL_COMPATIBLE_VERSION Examples:
  • "6.1.2" means ivyVersion = 6.1.2
  • "[6.1.0,7.0.0)" means 6.1.0 <= ivyVersion < 7.0.0
  • "(6.0.0,]" means ivyVersion > 6.0.0
  • Type: java.lang.String
  • Since: 6.2.0
  • Required: Yes
  • User Property: ivy.engine.version
  • Default: 9.1.0

<maxmem>

The maximum heap (-Xmx) that is used for starting and running the Engine
  • Type: java.lang.String
  • Since: 6.2.0
  • Required: No
  • User Property: ivy.engine.start.maxmem
  • Default: 2048m

<skipTest>

Set to true to skip the engine start.
  • Type: boolean
  • Since: 6.2.0
  • Required: No
  • User Property: maven.test.skip
  • Default: false

<startTimeoutInSeconds>

The maximum amount of seconds that we wait for a engine to start
  • Type: java.lang.Integer
  • Since: 6.2.0
  • Required: No
  • User Property: ivy.engine.start.timeout.seconds
  • Default: 120

<testEngine>

Configure if the test engine gets copied to the maven target folder. With this you can start each test cycle with a clean engine. Integration tests may leave resources like deployed projects behind which may lead to unwanted side effects on the next test cycle.
  • COPY_FROM_CACHE = copy the engine if it comes from the engineCacheDirectory.
  • MODIFY_EXISTING = don't copy the engine, this could lead to unforeseen behaviour if the same engine is used multiple times.
  • COPY_FROM_TEMPLATE = always copy the engine. If you have a preconfigured engine in the engineDirectory it will be copied as well.
    • Note: that we advise you to move the configuration of such engine to the build cycle itself instead of using a preconfigured one.
  • Type: java.lang.String
  • Since: 8.0.4
  • Required: No
  • User Property: ivy.test.engine
  • Default: COPY_FROM_CACHE