Mule Extensions Generator Maven Plugin

A Maven Plugin to generate Mule Extension Projects

License

License

Categories

Categories

Maven Build Tools
GroupId

GroupId

org.mule.extensions
ArtifactId

ArtifactId

mule-extensions-archetype-maven-plugin
Last Version

Last Version

1.2.0
Release Date

Release Date

Type

Type

maven-plugin
Description

Description

Mule Extensions Generator Maven Plugin
A Maven Plugin to generate Mule Extension Projects
Project Organization

Project Organization

MuleSoft, Inc.

Download mule-extensions-archetype-maven-plugin

How to add to project

<plugin>
    <groupId>org.mule.extensions</groupId>
    <artifactId>mule-extensions-archetype-maven-plugin</artifactId>
    <version>1.2.0</version>
</plugin>

Dependencies

compile (3)

Group / Artifact Type Version
org.apache.maven : maven-plugin-api jar 3.3.9
org.twdata.maven : mojo-executor jar 2.3.0
org.apache.commons : commons-lang3 jar 3.7

provided (1)

Group / Artifact Type Version
org.apache.maven.plugin-tools : maven-plugin-annotations jar 3.3

test (1)

Group / Artifact Type Version
io.qameta.allure : allure-junit4 jar 2.8.1

Project Modules

There are no modules declared in this project.

Mule Extensions Archetype

An archetype is defined as an original pattern or model from which all other things of the same kind are made.

This particular Archetype defines the structure of a Mule Basic Extension trying to provide a system that provides a consistent means of generating Extension projects.

Generate Project

There is a maven plugin with steps and descriptions for the required fields in order to create a new Extension Project

By running the following command you will get prompt for values.

mvn mule-extensions-archetype:generate

Old School Archetype

You can also create a new Extension project by invoking the archetype directly with the following properties.

mvn archetype:generate -DarchetypeGroupId=org.mule.extensions
                       -DarchetypeArtifactId=mule-extensions-archetype
                       -DarchetypeVersion=1.0.0-SNAPSHOT
                       -DgroupId=org.mule.extension.basic
                       -DartifactId=basic-extension
                       -DextensionName=Basic

This is more tedious and we worked to make your life easier :), use the maven plugin.

Smart Connector Archetype

Similarly to the previous example, a smart connector can be done by using the following archetype

mvn archetype:generate                               \
  -DarchetypeGroupId=org.mule.extensions             \
  -DarchetypeArtifactId=mule-extensions-xml-archetype

If you want to disable the interactive mode, just use the following

mvn archetype:generate                                  \
  -DarchetypeGroupId=org.mule.extensions                \
  -DarchetypeArtifactId=mule-extensions-xml-archetype   \
  -DarchetypeVersion=1.2.0-SNAPSHOT                     \
  -DgroupId=org.mule.smart.connector.example            \
  -DartifactId=example-smart-connector                  \
  -Dpackage=org.mule.smart.connector.example            \
  -Dversion=1.0.0-SNAPSHOT                              \
  -DmuleConnectorName=Example

The generated structure after the previous sample will be:

example-smart-connector
├── pom.xml
└── src
    ├── main
    │   └── resources
    │       └── org
    │           └── mule
    │               └── smart
    │                   └── connector
    │                       └── example
    │                           └── module-Hello.xml
    └── test
        └── munit
            └── assertion-munit-test.xml

Where module-Hello.xml will contain the XML of the Smart Connector and assertion-munit-test.xml will contain the assertions to validate the operations of the Smart Connector

org.mule.extensions

Mulesoft

Building awesome software that's connecting the world's applications, data, and devices.

Versions

Version
1.2.0
1.1.2
1.1.1