Packaging Your Connector for Release
|DevKit is compatible only with Studio 6 and Mule 3. To build Mule 4 connectors, see the Mule SDK documentation.|
When your connector is ready for release to a broad audience, take the following additional steps to ensure user success:
Create a license agreement for your connector.
Develop end-to-end walkthroughs to illustrate performing common use cases with your connector.
This document assumes that you have successfully developed your connectors and documented them in preparation for their release.
During connector installation, Studio presents the user with a license agreement. Customize the contents of this agreement to reflect your terms.
Maven first searches for a
LICENSE.md file in the same directory as the
pom.xml file during the build process.
If this file is not found, Maven goes through the following series of steps to locate a license agreement:
Maven checks for a
LICENSE.txtfile in the same directory as the
pom.xmlfile contains a Licenses section (as described in the Maven documentation), DevKit attempts to to download the text from the license’s URL, then saves the downloaded content as a new
If no license text is found by the above steps, the build fails.
In addition to the global license file, DevKit requires that your source files also contains a license header. In order to apply this license header to every source file in your project, run the following command in a command console at the root of your project (the root of your project should contain the pom.xml file):
The above will go through your whole project and apply the license header defined in the LICENSE_HEADER.txt file to every source file. This includes java files, SQL scripts, XML files, and more.
Running the command below installs your connector in your local Maven repository. However, before doing so, it checks for license headers in each source files. Therefore, it is required that the above Maven command be run before running the install maven goal.
mvn clean install
To enable verbose logging, use:
mvn clean install -Ddevkit.verbose.logging=true
Alternatively you can choose to package the connector instead of installing. This will create an update site that you can use to install the connector in Anypoint Studio. This update site will contain everything that is needed to use the connector inside your Mule applications (icons for the palette, XSDs, source files, etc.) Therefore it is important that your source files have the license headers before packaging. Note that packaging the connector will not check for license headers in your source files. To package your connector, simply run the following command at the root folder:
mvn clean package
Before releasing your connector to the general public, make sure to include sample end-to-end use cases in your connector documentation or repository. These use cases can be extremely useful in helping users succeed with your connector. They should describe and explain in detail the steps required to use the functionality provided by your connector. This will ensure that users learn how to use your connector effectively.
MuleSoft’s program certifies and publishes third party connectors to be distributed to the community on mulesoft.org. For more information about this program, please contact us.
Anypoint Studio identifies each connector by a Feature ID that spans all versions of the connector. In order to expose your connector via the Anypoint Exchange, you will be prompted by the Exchange to provide this Feature ID when uploading your connector asset, as well as a version number.
Follow the steps below to obtain this ID:
Unzip the file containing your connector’s Update Site
In the created folder, look for the
context.xmlfile and open it with a text editor
In this file, search for a string that follows the following pattern:
id=’org.mule.tooling.ui.extension.<connector name>.feature.group’. That entire value is your connector’s Feature ID. As a more concrete example, your Feature ID could be something like ’org.mule.tooling.ui.extension.cloudhub.3.6.0.feature.group’
In this same
context.xml file you will find a tag named version next to the Feature ID. Provide this value in the Connector Version field in Exchange. Consumers will later only see a beautified and simpler version number. For example if the version number you provide is 188.8.131.52606101417, they will just see 2.0.1. The full version number will be displayed ONLY when are editing a specific version.