camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Camel > Add new component guide
Date Sun, 02 Jan 2011 12:31:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/1810/9/1/_/styles/combined.css?spaceKey=CAMEL&amp;forWysiwyg=true"
type="text/css">
    </head>
<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="https://cwiki.apache.org/confluence/display/CAMEL/Add+new+component+guide">Add
new component guide</a></h2>
    <h4>Page  <b>added</b> by             <a href="https://cwiki.apache.org/confluence/display/~muellerc">Christian
Mueller</a>
    </h4>
         <br/>
    <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
issue</h2>
<p>Open an JIRA issue at <a href="https://issues.apache.org/jira/browse/CAMEL" class="external-link"
rel="nofollow">https://issues.apache.org/jira/browse/CAMEL</a>, if its not already
exist.<br/>
The issue type should be a "New Feature". A sample can be found here: <a href="https://issues.apache.org/jira/browse/CAMEL-3468"
class="external-link" rel="nofollow">https://issues.apache.org/jira/browse/CAMEL-3468</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
license.<br/>
Please refer to <a href="http://www.apache.org/legal/3party.html#define-thirdpartywork"
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="http://code.google.com/p/camel-extra/" class="external-link" rel="nofollow">Camel-Extra</a>
repository.</p>

<h2><a name="Addnewcomponentguide-3.Providingapatch"></a>3. Providing a
patch</h2>
<p>If you like to contribute a new component as a patch (we love contributions), please
refer to <a href="http://camel.apache.org/contributing.html" 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
component</h2>
<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="http://camel.apache.org/building.html" 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>
</ul>


<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="https://issues.apache.org/jira/browse/SMX4" class="external-link" rel="nofollow">https://issues.apache.org/jira/browse/SMX4</a><br/>
The issue type should be a "Task". A sample can be found here: <a href="https://issues.apache.org/jira/browse/SMX4-723"
class="external-link" rel="nofollow">https://issues.apache.org/jira/browse/SMX4-723</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="http://camel.apache.org/building.html"
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
page</h2>
<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="http://camel.apache.org/how-do-i-edit-the-website.html"
class="external-link" rel="nofollow">how do I edit the website</a>.<br/>
Add the new component to the <a href="https://cwiki.apache.org/confluence/display/CAMEL/Component+List"
class="external-link" rel="nofollow">Component List</a> wiki page.<br/>
Add a new wiki page under the <a href="https://cwiki.apache.org/confluence/display/CAMEL/Components"
class="external-link" rel="nofollow">Components</a> wiki page.</p>

<h2><a name="Addnewcomponentguide-8.Runacompletebuild"></a>8. Run a complete
build</h2>
<p>To ensure you do not break the build, run a complete build from the new component
directory:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
mvn clean install
</pre>
</div></div>
    </div>
    <div id="commentsSection" class="wiki-content pageSection">
       <div style="float: right;">
            <a href="https://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
       </div>
       <a href="https://cwiki.apache.org/confluence/display/CAMEL/Add+new+component+guide">View
Online</a>
              |
       <a href="https://cwiki.apache.org/confluence/display/CAMEL/Add+new+component+guide?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
           </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message