Skip to content

genjosanzo/mule-devkit

Repository files navigation

Mule Development Kit

The Mule Development Kit allows the development of Mule Modules using a simple annotation-based system. This kit includes archetypes for cloud connectors, transformers and even transports to accelerate your development.

Creating a Cloud Connector

Creating a cloud connector using the development kit is extremely easy. Just invoke our archetype as follows:

mvn archetype:generate -DinteractiveMode=false
                       -DarchetypeGroupId=org.mule.tools.devkit -DarchetypeArtifactId=mule-devkit-archetype-cloud-connector -DarchetypeVersion=1.0-SNAPSHOT
					   -DgroupId=org.mule.devkit.it -DartifactId=mule-test-module -Dversion=1.0-SNAPSHOT
					   -DmuleVersion=3.1.2 -DmuleModuleName=Test -Dpackage=org.mule.devkit.it

Archetype Parameters:

parameter description
archetypeGroupId The group Id of the archetype. This value is ALWAYS org.mule
archetypeArtifactId The artifact Id of the archetype. This value is ALWAYS mule-devkit-archetype-cloud-connector
archetypeVersion The version of the archetype. This value can change as we release new versions of the archetype. Always use the latest non-SNAPSHOT version is possible.
groupId The group Id of the cloud connector you are creating. A good value would be the reserve name of your company domain name, like: com.mulesoft.modules or org.mule.modules
artifactId The artifact Id of the cloud connector you are creating. Please follow the mule naming pattern which is: mule-module-xxx where xxx is the name of your module.
version The version of your cloud connector. Usually 1.0-SNAPSHOT.
muleVersion The version of Mule for which this module is intended. Always use latest non-SNAPSHOT version.
muleModuleName The last word in the artifact Id. If you named youre module "mule-module-xxx" then "xxx" would be the value of this parameter.
muleModulePackage The package of your module. Usually the same as the group Id.

Creating a Transformer

Here is the command line and a brief description on how to create a transformer using our archetype:

Creating a cloud connector using the development kit is extremely easy. Just invoke our archetype as follows:

mvn archetype:generate -DinteractiveMode=false
                       -DarchetypeGroupId=org.mule.tools.devkit -DarchetypeArtifactId=mule-devkit-archetype-transformer -DarchetypeVersion=1.0-SNAPSHOT
					   -DgroupId=org.mule.devkit.it -DartifactId=mule-test-module -Dversion=1.0-SNAPSHOT
					   -DmuleVersion=3.1.2 -DmuleModuleName=Test -Dpackage=org.mule.devkit.it

Archetype Parameters:

parameter description
archetypeGroupId The group Id of the archetype. This value is ALWAYS org.mule
archetypeArtifactId The artifact Id of the archetype. This value is ALWAYS mule-devkit-archetype-transformer
archetypeVersion The version of the archetype. This value can change as we release new versions of the archetype. Always use the latest non-SNAPSHOT version is possible.
groupId The group Id of the transformer you are creating. A good value would be the reserve name of your company domain name, like: com.mulesoft.modules or org.mule.modules
artifactId The artifact Id of the transformer you are creating. Please follow the mule naming pattern which is: mule-module-xxx where xxx is the name of your module.
version The version of your transformer. Usually 1.0-SNAPSHOT.
muleVersion The version of Mule for which this module is intended. Always use latest non-SNAPSHOT version.
muleModuleName The last word in the artifact Id. If you named youre module "mule-module-xxx" then "xxx" would be the value of this parameter.
muleModulePackage The package of your module. Usually the same as the group Id.

Creating a Mule Application

Creating a mule application using the mule archetype project is extremely easy. Just invoke it as follows:

 mvn archetype:generate -DarchetypeGroupId=org.mule.tools.devkit -DarchetypeArtifactId=mule-devkit-archetype-mule-app \
-DarchetypeVersion=3.3-SNAPSHOT -DgroupId=org.mule -DartifactId=mule-test-archetype -Dversion=1.0-SNAPSHOT \
-DmuleVersion=3.2.1 -Dpackage=org.mule -Dtransports=file,http,jdbc,jms,vm -Dmodules=client,cxf,management,scripting,sxc,xml \
-DstudioNature=false 

Archetype Parameters:

parameter description default since
archetypeGroupId The group Id of the archetype This value must ALWAYS org.mule.tools org.mule.tools 3.3.0
archetypeArtifactId The artifact Id of the archetype This value must ALWAYS mule-archetype-project mule-archetype-project
archetypeVersion The version of the archetype. This value can change as we release new versions of the archetype. Always use the latest non-SNAPSHOT version available. 1.5 3.3.0
groupId The group Id of the application you are creating. A good value would be the reserve name of your company domain name, like: com.mulesoft.app or org.mule.app 3.3.0
artifactId The artifact Id of the application you are creating. 3.3.0
version The version of your application. Usually 1.0-SNAPSHOT. 1.0-SNAPSHOT 3.3.0
muleVersion The version of the mule runtime you are going to use. Mule 2.2.x is no longer supported 3.2.1 3.3.0
addAppToClasspath A flag to either add the src/main/app/ folder as a resource folder to easily access it within your IDE false Deprecated
transports A comma separated list of the transport you are going to use within your application. file,http,jdbc,jms,vm 3.3.0
modules A comma separated list of the modules you are going to use within your application. client,cxf,management,scripting,3.3.0 sxc,xml
studioNature A flag to enable studio nature, in the future will allow you to import the project to Studio false Deprecated
EE A flag to import the EE counterpart of the transports/modules you are using. false 3.3.0

About

Tooling for generating Mule components. Includes support for developing transformers, cloud connectors and a lot more. Successor to the Cloud Connect SDK.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages