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: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:8.0.0:installEngine
-Divy.engine.directory=c:/axonviy/engine
-Divy.engine.version=8.0.0
-Divy.engine.os.arch=Linux_x64
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: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 the plugin provides the url of the engine in the ${test.engine.url} property. You can use this property to configure your maven-surefire-plugin to work against this test engine.

<artifactId>maven-surefire-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>8.0.4-SNAPSHOT</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>8.0.4-SNAPSHOT</version>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

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