camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [CONF] Apache Camel > Add new component guide
Date Sun, 02 Jan 2011 12:31:00 GMT
    <base href="">
            <link rel="stylesheet" href="/confluence/s/1810/9/1/_/styles/combined.css?spaceKey=CAMEL&amp;forWysiwyg=true"
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="">Add
new component guide</a></h2>
    <h4>Page  <b>added</b> by             <a href="">Christian
    <div class="notificationGreySide">
         <h1><a name="Addnewcomponentguide-Howtoaddanewcomponent"></a>How
to add a new component</h1>

<h2><a name="Addnewcomponentguide-1.OpenanJIRAissue"></a>1. Open an JIRA
<p>Open an JIRA issue at <a href="" class="external-link"
rel="nofollow"></a>, if its not already
The issue type should be a "New Feature". A sample can be found here: <a href=""
class="external-link" rel="nofollow"></a></p>

<h2><a name="Addnewcomponentguide-2.Checkthelicenseofalldependencies"></a>2.
Check the license of all dependencies</h2>
<p>You have to check whether or not all required dependencies have an Apache complied
Please refer to <a href=""
class="external-link" rel="nofollow">Third-Party Licensing Policy</a> for detailed
information and accepted license.<br/>
This <b>doesn't</b> mean, if one of the dependencies are not complied with the
Apache license we cann't accept this component. In this case, maybe we have to add this component
to the <a href="" class="external-link" rel="nofollow">Camel-Extra</a>

<h2><a name="Addnewcomponentguide-3.Providingapatch"></a>3. Providing a
<p>If you like to contribute a new component as a patch (we love contributions), please
refer to <a href="" class="external-link" rel="nofollow">Contributing</a>
(look for <tt>Creating patches</tt>) for how it works.</p>

<h2><a name="Addnewcomponentguide-3.Addthenewcomponent"></a>3. Add the new
<p>Add the new component into the components pom modules section (note the alphabetical
order of the project names).<br/>
After that, add the new component to the components folder.</p>

<h2><a name="Addnewcomponentguide-4.Checkthesourcesandresources"></a>4.
Check the sources and resources</h2>
<p>The sources and resources has to follow some Apache/Camel coding rules:</p>
<ul class="alternate" type="square">
	<li>Make sure every added source and resource contains the Apache license header.</li>
	<li>Make sure the new component has an adequate test coverage.</li>
	<li>Run a build with checkstyle to ensure the sources are conform with the Apache Camel
coding rules: <a href="" class="external-link" rel="nofollow">Building
Camel</a> (look for <tt>Building with checkstyle</tt>)</li>
	<li>Make sure the log output is adequate on the INFO log level.</li>

<h2><a name="Addnewcomponentguide-5.CheckwhetheralldependenciesareavailableasOSGIbundles"></a>5.
Check whether all dependencies are available as OSGI bundles</h2>
<p>If a dependency is not provided as an OSGI bundle, ask the Apache Servicemix guys
for an OSGI-fied version of this dependency. You should do this by open an JIRA issue at <a
href="" class="external-link" rel="nofollow"></a><br/>
The issue type should be a "Task". A sample can be found here: <a href=""
class="external-link" rel="nofollow"></a></p>

<h2><a name="Addnewcomponentguide-6.Addanewfeature"></a>6. Add a new feature</h2>
<p>Add a new feature definition for this component to the feature file (under platforms/karaf/features).<br/>
After this, validate the correctness of this feature file as discribed in <a href=""
class="external-link" rel="nofollow">Working with features</a> (look for <tt>Working
with features</tt>)</p>

<h2><a name="Addnewcomponentguide-7.Addthewikipage"></a>7. Add the wiki
<p>Each component requires its own wiki page to document the component. If you don't
have the <b>karma</b> to edit the wiki pages, plese refer to <a href=""
class="external-link" rel="nofollow">how do I edit the website</a>.<br/>
Add the new component to the <a href=""
class="external-link" rel="nofollow">Component List</a> wiki page.<br/>
Add a new wiki page under the <a href=""
class="external-link" rel="nofollow">Components</a> wiki page.</p>

<h2><a name="Addnewcomponentguide-8.Runacompletebuild"></a>8. Run a complete
<p>To ensure you do not break the build, run a complete build from the new component
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
mvn clean install
    <div id="commentsSection" class="wiki-content pageSection">
       <div style="float: right;">
            <a href=""
class="grey">Change Notification Preferences</a>
       <a href="">View
       <a href=";showCommentArea=true#addcomment">Add

View raw message