Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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_DIRinternal artifact repository. It should be used in build workflows.


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 Mule Home (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

Mule Home

FDMULE_HOME

If it is not a Maven Project.

Path to a Mule Server Installation

  

Project Properties

If it is not a Maven Project.

Property Name

Property Code

Required

Description

FDMULE_APP_NAMEFDMULE_HOME




  

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

 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.