Versions Compared

Key

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

How to add a new component

1. Open an JIRA issue

Open an a JIRA issue at https://issues.apache.org/jira/browse/CAMELImage Removed, if its does not already exist.
The issue type should be a "New Feature". A sample can be found here: https://issues.apache.org/jira/browse/CAMEL-3468Image Removed

2. Check the license of all dependencies

You have to check whether or not all required dependencies have an Apache complied compatible license.
Please refer to Third-Party Licensing Policy for detailed information and accepted licenseacceptable licenses (see especially about excluded licenses).
This doesn't mean, if one of the dependencies are not complied compatible with the Apache license we canncan't accept this the component. In this case, maybe we might have to add this the component to the Camel-Extra repository.

3. Providing a patch

If you would like to contribute a new component as a patch (we love contributions), please refer to Contributing (look for Creating patches) for how it worksinstructions.

...

4. Add the new component

Add the new component into the components pom modules section (note the alphabetical order of the project names).
After that, add the new component to the components folder.

...

5. Check the sources and resources

The sources source and resources has have to follow some Apache/Camel coding rules:

  • Make sure every added source and resource contains the Apache license header.
  • Make sure the new component has an adequate test coverage.
  • Run a build with checkstyle to ensure the sources are conform with the Apache Camel coding rules: Building Camel (look for Building with checkstyle)
  • Make sure the log output is adequate on the INFO log level.

...

6. Check whether all dependencies are available as OSGI bundles

If a dependency is not provided available as an OSGI bundle, ask the Apache Servicemix guys for an OSGI-fied version of this dependency. You should do this by open an opening a JIRA issue at https://issues.apache.org/jira/browse/SMX4Image Removed
The issue type should be a "Task". A sample can be found here: https://issues.apache.org/jira/browse/SMX4-723Image Removed

...

7. Add a new feature

Add a new feature definition for this component to the feature file (under platforms/karaf/features).
After this Next, validate the correctness of this feature file as discribed described in Working with features (look for Working with features)

...

8. Add the wiki page

Each component requires its own wiki page to document the component. If you don't have the karma to edit the wiki pages, plese refer to how do I edit the website.
Add the new component wiki page to the Components list by editing Component List wiki page.
Add a reference to the new component to the Manual wiki page under the Components wiki page.

...

.
Update the release notes for the version the development is in progress.
Check whether other sites needs to be updated.

9. Run a complete build

To ensure you do not break the build, run a complete build from the new component directory:

Code Block
mvn clean install

10. Add the component to distribution

Add the new component to the following files

  • parent/pom.xml
  • apache-camel/src/main/descriptors/common-bin.xml

Build the kit by running the following maven goal from the apache-camel directory:

Code Block
mvn clean install

Check the generated .zip file in the target folder contains the new component.