Fork me on GitHub

Plugin Documentation

Goals available for this plugin:

Goal Description
ivy:compileProject Compiles an ivy Project with an ivyEngine.
ivy:deploy-iar Deprecated. since 7.1.0. Use the deploy-to-engine goal instead.
ivy:deploy-to-engine

Deploys a single project (iar) or a full application (set of projects as zip) to a running Axon Ivy Engine.

Command line invocation is supported.

Local engine (using DIRECTORY deploy method):

mvn com.axonivy.ivy.ci:project-build-plugin:8.0.0:deploy-to-engine
-Divy.deploy.file=myProject.iar
-Divy.deploy.engine.dir=c:/axonivy/engine
-Divy.deploy.engine.app=Portal

Remote Engine (using HTTP deploy method):

mvn com.axonivy.ivy.ci:project-build-plugin:8.0.0:deploy-to-engine 
-Divy.deploy.file=myProject.iar 
-Divy.deploy.method=HTTP 
-Divy.deploy.server.id=AxonIvyEngine
-Divy.deploy.engine.url=http://ivyhost:8080/ivy 
-Divy.deploy.engine.app=portal
ivy:deploy-to-test-engine

Deploys a set of test projects (iar) or a full application (set of projects as zip) to a running test engine.

By default the IAR of the current project plus all declared IAR dependencies will be deployed to the test engine.

ivy:help Display help information on project-build-plugin.
Call mvn ivy:help -Ddetail=true -Dgoal=<goal-name> to display parameter details.
ivy:installEngine Downloads an Axon Ivy Engine from the web if it does not yet exists in the correct version.

Command line invocation is supported. E.g.

mvn com.axonivy.ivy.ci:project-build-plugin:9.1.0:installEngine
-Divy.engine.directory=c:/axonviy/engine
-Divy.engine.version=9.1.0
-Divy.engine.os.arch=Linux_x64
ivy:ivy-integration-test-properties

Shares crucial test engine internals with the forked JVM that runs tests.

The property being set is called argLine and classically used by the 'maven-failsafe-plugin'.

ivy:ivy-test-properties Shares the classpath of the built ivy project and it's engine as public property and tries to auto-configure 'maven-surefire-plugin' to use this classpath.
ivy:maven-dependency Copy maven dependencies to a specific folder.

To reduce the size of your ivy archives, make sure that your dependencies are configured correctly:

ivy:maven-dependency-cleanup Delete copied maven dependencies in the lib/mvn-deps folder.
ivy:pack-iar Packs the compiled project as ivy-archive (IAR).
ivy:share-engine-core-classpath Shares the Engine core classpath with the property: ivy.engine.core.classpath.
ivy:start-test-engine 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>

ivy:stop-test-engine Stops the Axon Ivy Engine after integration testing
ivy:test-compile Compiles the test sources.

System Requirements

The following specifies the minimum requirements to run this Maven plugin:

Maven 3.1
JDK 11
Memory No minimum requirement.
Disk Space No minimum requirement.
ivy engine 8.0

Usage

You should specify the version in your project's plugin configuration:

<project>
  ...
  <build>
    <!-- To define the plugin version in your parent POM -->
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>com.axonivy.ivy.ci</groupId>
          <artifactId>project-build-plugin</artifactId>
          <version>9.2.2</version>
        </plugin>
        ...
      </plugins>
    </pluginManagement>
    <!-- To use the plugin goals in your POM or parent POM -->
    <plugins>
      <plugin>
        <groupId>com.axonivy.ivy.ci</groupId>
        <artifactId>project-build-plugin</artifactId>
        <version>9.2.2</version>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

For more information, see "Guide to Configuring Plug-ins"