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/CAMEL, 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-3468

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.
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.

3. 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.

4. 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.

5. 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/SMX4
The issue type should be a "Task". A sample can be found here: https://issues.apache.org/jira/browse/SMX4-723

6. 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)

7. 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 to the Component List wiki page.
Add a new wiki page under the Components wiki page.

8. Run a complete build

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

...