buildMule

The buildMule operation allows for building Mule projects, whether they are Maven projects or not. It automatically copies the completed zip file over to the FD_ARTIFACTS_DIR.


Maven ProjectsNon-Maven Projects

 If a pom.xml is found in the projectPath, it will be run with Maven, using  the package lifecycle. Any tests will be run during the build process. The output of the tests will be in the plugin execution log.

If more control over the lifecycles or arguments is required, the runMaven operation works exactly the same, except that it doesn't save the artifact to the artifact repository automatically. This can be done with the File - saveArtifacts operation.

This operation should run on the Mule server where the project will be deployed. This allows the project's build to be a more complete test of the environment.

If the project is not a Maven project, it will be built using javac and other command line tools.

Make sure that the JDK HOME specified on the endpoint is a JDK of the required version.

The FDMULE_HOME property is used to find the libraries that are necessary to compile the Mule project.


Environment/Instance Properties

Property Name

Property Code

Required

Description

Added in version

Maven Home

FDMVN_MAVEN_HOME

No

If it is desired to use an external Maven, fill in the Maven Home here. Otherwise, the internal Maven 3.05 will be used.

The folder should have a bin folder inside it with the maven executable (mvn or mvn.cmd)

4.0.3.37
Maven Environment ScriptFDMVN_MAVEN_ENV_SCRIPTNo

If necessary, provide a script to source variables for use by the operation.

This script can refer to other scripts, or be the scripts itself.

(e.g. . /home/oracle/.bash_profile)

or

(e.g. MAVEN_HOME=/opt/apache/maven/3.3.3;M2_HOME=/opt/apache/maven/home)

4.0.3.37

Project Properties

Property Name

Property Code

Required

Description

Mule HomeFDMULE_HOMEIf it is not a Maven Project.Path to the Mule Standalone Install

Inputs

Input Name

Input Code

Required

Description

Mule Project PathFDMULE_PROJECT_PATHNoThis is the folder that typically is named for your application and contains your [src] folder. Relative paths are sourced from the FD_TEMP_DIR.
http.portFDMULE_HTTP_PORTNo

HTTP port to use when running Maven tests. This should be a different number than the one that is usually used to run the application on the server. This only works if
${http.port} is used in your HTTP Connector.

Outputs

Output Name

Required

Description




Artifacts

This operation produces artifacts that will be stored in the artifacts repository.

Endpoint Selection

This operation will select all available endpoints associated to the environment/instance.

Endpoint Execution

This operation will execute on any one of the selected endpoints and will be random in the determination of which one.