incubator-celix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r889821 - in /websites/staging/celix/trunk/content: ./ celix/documentation/releasing.html
Date Tue, 10 Dec 2013 09:08:01 GMT
Author: buildbot
Date: Tue Dec 10 09:08:01 2013
New Revision: 889821

Log:
Staging update by buildbot for celix

Modified:
    websites/staging/celix/trunk/content/   (props changed)
    websites/staging/celix/trunk/content/celix/documentation/releasing.html

Propchange: websites/staging/celix/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Dec 10 09:08:01 2013
@@ -1 +1 @@
-1549781
+1549790

Modified: websites/staging/celix/trunk/content/celix/documentation/releasing.html
==============================================================================
--- websites/staging/celix/trunk/content/celix/documentation/releasing.html (original)
+++ websites/staging/celix/trunk/content/celix/documentation/releasing.html Tue Dec 10 09:08:01
2013
@@ -188,20 +188,52 @@ for more information. This updated file 
 <p>Besides this information, the version needs to be bumped. Even though every bundle
has its own version, a release is made with one overall version. This version
 is defined in the top-level CMakeLists.txt file.
 Update the following pieces:</p>
-<ul>
-<li>SET(CELIX_MAJOR "X")</li>
-<li>SET(CELIX_MINOR "Y")</li>
-<li>SET(CELIX_MICRO "Z")</li>
-<li>SET(CELIX_QUALIFIER "incubating")</li>
-</ul>
+<div class="codehilite"><pre><span class="n">SET</span><span class="p">(</span><span
class="n">CELIX_MAJOR</span> &quot;<span class="n">X</span>&quot;<span
class="p">)</span>
+<span class="n">SET</span><span class="p">(</span><span class="n">CELIX_MINOR</span>
&quot;<span class="n">Y</span>&quot;<span class="p">)</span>
+<span class="n">SET</span><span class="p">(</span><span class="n">CELIX_MICRO</span>
&quot;<span class="n">Z</span>&quot;<span class="p">)</span>
+<span class="n">SET</span><span class="p">(</span><span class="n">CELIX_QUALIFIER</span>
&quot;<span class="n">incubating</span>&quot;<span class="p">)</span>
+</pre></div>
+
+
 <p>While Celix is in incubation, the qualifier should (at least) always contain "incubating"
as text.</p>
 <p>Note: The DEFAULT_VERSION property is used as default version for new bundles and
as such does not need to be updated when making a release.</p>
 <h2 id="compile-and-test">Compile and test</h2>
 <p>Before creating a branch, be sure that the source compiles and tests run successfully.
If there are any known shortcomings, make sure they are listed in the 
 RELEASE_NOTES. Details for compiling and testing are available in the BUILDING file.</p>
+<div class="codehilite"><pre><span class="c1">// Create a directory as
sibling of the celix release directory</span>
+<span class="o">&gt;</span> <span class="n">mkdir</span> <span
class="n">celix</span><span class="o">-</span><span class="n">build</span>
+<span class="o">&gt;</span> <span class="n">cd</span> <span
class="n">celix</span><span class="o">-</span><span class="n">build</span>
+<span class="c1">// Run CMake to generate the makefiles. Enable all BUILD options.</span>
+<span class="o">&gt;</span> <span class="n">ccmake</span> <span
class="p">..</span><span class="o">/</span><span class="n">celix</span>
+<span class="o">&gt;</span> <span class="n">make</span>
+<span class="o">&gt;</span> <span class="n">make</span> <span
class="n">deploy</span>
+<span class="o">&gt;</span> <span class="n">make</span> <span
class="n">test</span>
+</pre></div>
+
+
 <p>Also verify that the provides examples work as expected. If needed ask other committers
to test parts, eg the GTK examples.</p>
+<div class="codehilite"><pre><span class="c1">// Go to the deploy directory
to see all examples</span>
+<span class="o">&gt;</span> <span class="n">cd</span> <span
class="n">deploy</span>
+<span class="c1">// Test the different examples, eg</span>
+<span class="o">&gt;</span> <span class="n">cd</span> <span
class="n">hello_world</span>
+<span class="o">&gt;</span> <span class="n">sh</span> <span
class="n">run</span><span class="p">.</span><span class="n">sh</span>
+<span class="c1">// Depending on the example the output might be different. Most examples
provide a shell to inspect the framework.</span>
+<span class="c1">// To list the commands use the &quot;help&quot; command.</span>
+<span class="o">-&gt;</span> <span class="n">help</span>
+<span class="p">....</span>
+</pre></div>
+
+
 <p>After verifying the build, run Apache RAT to check for any licensing problems. If
Apache RAT is configured in the CMake build the "rat" target can be used to run
-the check: make rat </p>
+the check.</p>
+<div class="codehilite"><pre><span class="c1">// From the celix-build directory</span>
+<span class="c1">// Run CMake to set the APACHE_RAT library (path to the JAR file).</span>
+<span class="o">&gt;</span> <span class="n">ccmake</span> <span
class="p">..</span><span class="o">/</span><span class="n">celix</span>
+<span class="c1">// Run RAT</span>
+<span class="o">&gt;</span> <span class="n">make</span> <span
class="n">rat</span>
+</pre></div>
+
+
 <p>Apache RAT should not raise any concers, if there are, check the source files for

 a license header. If it is a false positive update the rat-excludes.txt file in the root
of the project. Be sure it is a false positive! If in doubt, ask the 
 mailing list! Third party licenses may need to be mentioned in the NOTICE file.</p>
@@ -209,7 +241,12 @@ mailing list! Third party licenses may n
 <p>After changing all files a tag for the new release must be made. Before doing so,
make sure all changed files are committed.</p>
 <p>The tag should be named like this: celix-X.Y.Z.incubating</p>
 <p>To make a tag use the following command:</p>
-<p>svn copy http://svn.apache.org/repos/asf/incubator/celix/trunk/ http://svn.apache.org/repos/asf/incubator/celix/tags/celix-X.Y.Z.incubating
-m "X.Y.Z release of the Apache Celix project."</p>
+<div class="codehilite"><pre><span class="n">svn</span> <span
class="n">copy</span> <span class="n">http</span><span class="p">:</span><span
class="o">//</span><span class="n">svn</span><span class="p">.</span><span
class="n">apache</span><span class="p">.</span><span class="n">org</span><span
class="o">/</span><span class="n">repos</span><span class="o">/</span><span
class="n">asf</span><span class="o">/</span><span class="n">incubator</span><span
class="o">/</span><span class="n">celix</span><span class="o">/</span><span
class="n">trunk</span><span class="o">/</span> <span class="o">\</span>
+    <span class="n">http</span><span class="p">:</span><span class="o">//</span><span
class="n">svn</span><span class="p">.</span><span class="n">apache</span><span
class="p">.</span><span class="n">org</span><span class="o">/</span><span
class="n">repos</span><span class="o">/</span><span class="n">asf</span><span
class="o">/</span><span class="n">incubator</span><span class="o">/</span><span
class="n">celix</span><span class="o">/</span><span class="n">tags</span><span
class="o">/</span><span class="n">celix</span><span class="o">-</span><span
class="n">X</span><span class="p">.</span><span class="n">Y</span><span
class="p">.</span><span class="n">Z</span><span class="p">.</span><span
class="n">incubating</span> <span class="o">\</span>
+    <span class="o">-</span><span class="n">m</span> &quot;<span
class="n">X</span><span class="p">.</span><span class="n">Y</span><span
class="p">.</span><span class="n">Z</span> <span class="n">release</span>
<span class="n">of</span> <span class="n">the</span> <span class="n">Apache</span>
<span class="n">Celix</span> <span class="n">project</span><span
class="p">.</span>&quot;
+</pre></div>
+
+
 <p>Note: Make sure there are no new changes made on trunk while working on the release.
Discuss: Use a branch for staging the release and the files? Or possibly use a revision nr?</p>
 <h2 id="create-sign-and-publish-artefacts">Create, sign and publish artefacts</h2>
 <p>Since Celix only releases source artefacts, creating the artefact is simple and
straightforward</p>
@@ -238,45 +275,51 @@ mailing list! Third party licenses may n
 <p>Before a release is official a vote has to be held. More information on voting can
be found on <a href="http://www.apache.org/foundation/voting.html">Apache Voting Process</a>.
 Since Apache Celix is still in incubation, both the PPMC and the IPMC have to vote for it.</p>
 <p>The first vote has to be done on the public mailinglist of the project itself (celix-dev@incubator.apache.org).
The following template must be used for this vote:</p>
-<p>================================================================================================================
-To: celix-dev@incubator.apache.org
-Subject: [VOTE] Release Celix version X.Y.Z</p>
-<p>This is the release vote for Apache Celix, version X.Y.Z.</p>
-<p>It fixes the following issues: 
-{Create Release Note link using <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12323511">Apache
Celix Jira</a>}</p>
-<p>Source files:
-https://dist.apache.org/repos/dist/dev/incubator/celix/celix-X.Y.Z-incubating/</p>
-<p>The tag to be voted upon:
-http://svn.apache.org/repos/asf/incubator/celix/tags/celix-X.Y.Z-incubating/</p>
-<p>Celix's keys can be found at:
-https://dist.apache.org/repos/dist/dev/incubator/celix/KEYS</p>
-<p>Information for voting on a release can be found at http://www.apache.org/dev/release.html#approving-a-release</p>
-<p>Please vote to approve this release:</p>
-<p>[ ] +1 Approve the release</p>
-<p>[ ] -1 Disapprove the release (please provide specific comments)</p>
-<p>This vote will be open for at least 72 hours.</p>
+<p>================================================================================================================</p>
+<div class="codehilite"><pre><span class="n">To</span><span class="o">:</span>
<span class="n">celix</span><span class="o">-</span><span class="n">dev</span><span
class="err">@</span><span class="n">incubator</span><span class="o">.</span><span
class="na">apache</span><span class="o">.</span><span class="na">org</span>
+<span class="n">Subject</span><span class="o">:</span> <span class="o">[</span><span
class="n">VOTE</span><span class="o">]</span> <span class="n">Release</span>
<span class="n">Celix</span> <span class="n">version</span> <span
class="n">X</span><span class="o">.</span><span class="na">Y</span><span
class="o">.</span><span class="na">Z</span>
+
+<span class="n">This</span> <span class="k">is</span> <span class="n">the</span>
<span class="n">release</span> <span class="n">vote</span> <span
class="k">for</span> <span class="n">Apache</span> <span class="n">Celix</span><span
class="o">,</span> <span class="n">version</span> <span class="n">X</span><span
class="o">.</span><span class="na">Y</span><span class="o">.</span><span
class="na">Z</span><span class="o">.</span>
+
+<span class="n">It</span> <span class="n">fixes</span> <span class="n">the</span>
<span class="n">following</span> <span class="n">issues</span><span
class="o">:</span> 
+<span class="o">{</span><span class="n">Create</span> <span class="n">Release</span>
<span class="n">Note</span> <span class="n">link</span> <span class="n">using</span>
<span class="n">https</span><span class="o">://</span><span class="n">issues</span><span
class="o">.</span><span class="na">apache</span><span class="o">.</span><span
class="na">org</span><span class="sr">/jira/secure/</span><span class="n">ReleaseNote</span><span
class="o">.</span><span class="na">jspa</span><span class="o">?</span><span
class="n">version</span><span class="o">=</span><span class="mi">12323511</span><span
class="o">}</span>
+
+<span class="n">Source</span> <span class="n">files</span><span
class="o">:</span>
+<span class="n">https</span><span class="o">://</span><span class="n">dist</span><span
class="o">.</span><span class="na">apache</span><span class="o">.</span><span
class="na">org</span><span class="sr">/repos/dist/dev/incubator/celix/celix-X.Y.Z-incubating/</span>
+
+<span class="n">The</span> <span class="n">tag</span> <span class="n">to</span>
<span class="n">be</span> <span class="n">voted</span> <span class="n">upon</span><span
class="o">:</span>
+<span class="n">http</span><span class="o">://</span><span class="n">svn</span><span
class="o">.</span><span class="na">apache</span><span class="o">.</span><span
class="na">org</span><span class="sr">/repos/asf/incubator/celix/tags/celix-X.Y.Z-incubating/</span>
+
+<span class="n">Celix</span><span class="err">&#39;</span><span
class="n">s</span> <span class="n">keys</span> <span class="n">can</span>
<span class="n">be</span> <span class="n">found</span> <span class="n">at</span><span
class="o">:</span>
+<span class="n">https</span><span class="o">://</span><span class="n">dist</span><span
class="o">.</span><span class="na">apache</span><span class="o">.</span><span
class="na">org</span><span class="sr">/repos/dist/dev/incubator/celix/</span><span
class="n">KEYS</span>
+
+<span class="n">Information</span> <span class="k">for</span> <span
class="n">voting</span> <span class="n">on</span> <span class="n">a</span>
<span class="n">release</span> <span class="n">can</span> <span
class="n">be</span> <span class="n">found</span> <span class="n">at</span>
<span class="n">http</span><span class="o">://</span><span class="n">www</span><span
class="o">.</span><span class="na">apache</span><span class="o">.</span><span
class="na">org</span><span class="sr">/dev/</span><span class="n">release</span><span
class="o">.</span><span class="na">html</span><span class="err">#</span><span
class="n">approving</span><span class="o">-</span><span class="n">a</span><span
class="o">-</span><span class="n">release</span>
+
+<span class="n">Please</span> <span class="n">vote</span> <span
class="n">to</span> <span class="n">approve</span> <span class="k">this</span>
<span class="n">release</span><span class="o">:</span>
+
+<span class="o">[</span> <span class="o">]</span> <span class="o">+</span><span
class="mi">1</span> <span class="n">Approve</span> <span class="n">the</span>
<span class="n">release</span>
+<span class="o">[</span> <span class="o">]</span> <span class="o">-</span><span
class="mi">1</span> <span class="n">Disapprove</span> <span class="n">the</span>
<span class="n">release</span> <span class="o">(</span><span class="n">please</span>
<span class="n">provide</span> <span class="n">specific</span> <span
class="n">comments</span><span class="o">)</span>
+
+<span class="n">This</span> <span class="n">vote</span> <span
class="n">will</span> <span class="n">be</span> <span class="n">open</span>
<span class="k">for</span> <span class="n">at</span> <span class="n">least</span>
<span class="mi">72</span> <span class="n">hours</span><span class="o">.</span>
+</pre></div>
+
+
 <p>================================================================================================================</p>
 <p>After this first vote the results must be posted to the "dev" list, see below for
more information.</p>
 <p>The second vote has to go to the general incubator list, this is to give the IPMC
a chance to verify the release. This vote can only be published if the PPMC 
 has had enough time to review the release, following the defacto standard, this is at least
72 hours.</p>
 <p>The template provided above can be reused for this, but needs to be extended (directly
after "This is the release vote for..." with the following information:</p>
-<p>================================================================================================================
-This release has already been approved by:</p>
-<table>
-<thead>
-<tr>
-<th>- Name of Approver (apache ID) (binding</th>
-<th>not binding)</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>- ...</td>
-<td></td>
-</tr>
-</tbody>
-</table>
-<p>See {Create link to the archive of Celix release thread using <a href="http://incubator.markmail.org/search/?q=list%3Aorg.apache.incubator.celix-dev">Markmail</a>}
for their votes.</p>
+<p>================================================================================================================</p>
+<div class="codehilite"><pre><span class="n">This</span> <span
class="n">release</span> <span class="n">has</span> <span class="n">already</span>
<span class="n">been</span> <span class="n">approved</span> <span
class="n">by</span><span class="p">:</span>
+
+<span class="o">-</span> <span class="n">Name</span> <span class="n">of</span>
<span class="n">Approver</span> 1 <span class="p">(</span><span
class="n">apache</span> <span class="n">ID</span><span class="p">)</span>
<span class="p">(</span><span class="n">binding</span><span class="o">|</span><span
class="n">not</span> <span class="n">binding</span><span class="p">)</span>
+<span class="o">-</span> <span class="n">Name</span> <span class="n">of</span>
<span class="n">Approver</span> 2 <span class="p">(</span><span
class="n">apache</span> <span class="n">ID</span><span class="p">)</span>
<span class="p">(</span><span class="n">binding</span><span class="o">|</span><span
class="n">not</span> <span class="n">binding</span><span class="p">)</span>
+<span class="o">-</span> <span class="p">...</span>
+
+<span class="n">See</span> <span class="p">{</span><span class="n">Create</span>
<span class="n">link</span> <span class="n">to</span> <span class="n">the</span>
<span class="n">archive</span> <span class="n">of</span> <span
class="n">Celix</span> <span class="n">release</span> <span class="n">thread</span>
<span class="n">using</span> <span class="n">http</span><span class="p">:</span><span
class="o">//</span><span class="n">incubator</span><span class="p">.</span><span
class="n">markmail</span><span class="p">.</span><span class="n">org</span><span
class="o">/</span><span class="n">search</span><span class="o">/</span>?<span
class="n">q</span><span class="p">=</span><span class="n">list</span><span
class="c">%3Aorg.apache.incubator.celix-dev} for their votes.</span>
+</pre></div>
+
+
 <p>================================================================================================================</p>
 <p>Note: Be sure to use the [VOTE] tag, this is used by the automated vote tracking
system to keep track of outstanding vote threads.</p>
 <h2 id="post-the-vote-results">Post the vote results</h2>
@@ -287,11 +330,44 @@ of vote threads. See <a href="http://peo
 <h2 id="roll-out-release-artefacts">Roll out release artefacts</h2>
 <p>If the vote is passed successfully the release can be moved from the "dev" area
to "release". The automated svnpubsub will move the artifact to the correct 
 server for mirroring. Mirroring typically can take up to 24 hours.</p>
+<p>Besides uploading the new release, the old release should be archived. Since archiving
is already automated, it is only needed to delete the previous version from the release
+area. See the <a href="http://www.apache.org/dev/release.html#when-to-archive">Apache
Release Guide</a> for more information.</p>
 <p>See the <a href="http://www.apache.org/dev/release.html#upload-ci">Apache
Release Guide</a> for more information.</p>
-<p>After these 24 hours the release can be announced. </p>
+<p>After these 24 hours the release can be announced.</p>
 <h2 id="announce-the-release">Announce the release</h2>
-<p>Update website's "news section".</p>
-<p>Post message to "announce@apache.org"?</p>
+<p>Update website's <a href="http://incubator.apache.org/celix/index.html">News</a>
and <a href="http://incubator.apache.org/celix/download.html">Download</a> sections
to include the new release.</p>
+<p>On the "Download" page, the old release can be replaced with the new one, there
is no need to keep a link to archived versions. The "News" section can simply be extended
+with an additional entry.</p>
+<p>Additionally it is a good idea to post a message to "announce@apache.org" and "celix-dev@incubator.apache.org".
(note: the from address must be a ...@apache.org address).</p>
+<p>The following template must be used:</p>
+<p>================================================================================================================</p>
+<div class="codehilite"><pre><span class="n">To</span><span class="o">:</span>
<span class="n">announce</span><span class="err">@</span><span
class="n">apache</span><span class="o">.</span><span class="na">org</span><span
class="o">,</span> <span class="n">celix</span><span class="o">-</span><span
class="n">dev</span><span class="err">@</span><span class="n">incubator</span><span
class="o">.</span><span class="na">apache</span><span class="o">.</span><span
class="na">org</span>
+<span class="n">Subject</span><span class="o">:</span> <span class="o">[</span><span
class="n">ANNOUNCE</span><span class="o">]</span> <span class="n">Apache</span>
<span class="n">Celix</span> <span class="n">X</span><span class="o">.</span><span
class="na">Y</span><span class="o">.</span><span class="na">Z</span><span
class="o">.</span><span class="na">incubating</span> <span class="n">released</span>
+
+<span class="n">The</span> <span class="n">Apache</span> <span
class="n">Celix</span> <span class="n">team</span> <span class="k">is</span>
<span class="n">pleased</span> <span class="n">to</span> <span
class="n">announce</span> <span class="n">the</span> <span class="n">release</span>
<span class="n">of</span> <span class="n">Celix</span> <span class="n">X</span><span
class="o">.</span><span class="na">Y</span><span class="o">.</span><span
class="na">Z</span><span class="o">.</span><span class="na">incubating</span><span
class="o">.</span>
+
+<span class="n">Celix</span> <span class="k">is</span> <span class="n">an</span>
<span class="n">implementation</span> <span class="n">of</span> <span
class="n">the</span> <span class="n">OSGi</span> <span class="n">specification</span>
<span class="n">adapted</span> <span class="n">to</span> <span
class="n">C</span><span class="o">.</span> <span class="n">It</span>
<span class="n">will</span> <span class="n">follow</span> <span
class="n">the</span> <span class="n">API</span> 
+<span class="k">as</span> <span class="n">close</span> <span class="k">as</span>
<span class="n">possible</span><span class="o">,</span> <span class="n">but</span>
<span class="n">since</span> <span class="n">the</span> <span class="n">OSGi</span>
<span class="n">specification</span> <span class="k">is</span> <span
class="n">written</span> <span class="n">primarily</span> <span class="k">for</span>
<span class="n">Java</span><span class="o">,</span> <span class="n">there</span>

+<span class="n">will</span> <span class="n">be</span> <span class="n">differences</span><span
class="o">.</span> <span class="n">An</span> <span class="n">important</span>
<span class="n">aspect</span> <span class="n">of</span> <span class="n">the</span>
<span class="n">implementation</span> <span class="k">is</span> <span
class="n">interoperability</span> <span class="n">between</span> 
+<span class="n">Java</span> <span class="n">and</span> <span class="n">C</span><span
class="o">.</span> <span class="n">This</span> <span class="n">interoperability</span>
<span class="k">is</span> <span class="n">achieved</span> <span
class="n">by</span> <span class="n">porting</span> <span class="n">and</span>
<span class="n">implementing</span> <span class="n">the</span> <span
class="n">Remote</span> 
+<span class="n">Services</span> <span class="n">specification</span>
<span class="k">in</span> <span class="n">Celix</span><span class="o">.</span>
+
+<span class="n">This</span> <span class="k">new</span> <span class="n">release</span>
<span class="n">focusses</span> <span class="n">on</span> <span
class="o">....</span> <span class="o">{</span><span class="n">add</span>
<span class="n">additional</span> <span class="n">information</span>
<span class="k">for</span> <span class="k">this</span> <span class="n">release</span><span
class="o">}</span>
+
+<span class="n">The</span> <span class="n">release</span> <span
class="k">is</span> <span class="n">available</span> <span class="n">here</span><span
class="o">:</span>
+<span class="n">http</span><span class="o">://</span><span class="n">incubator</span><span
class="o">.</span><span class="na">apache</span><span class="o">.</span><span
class="na">org</span><span class="sr">/celix/</span><span class="n">download</span><span
class="o">.</span><span class="na">cgi</span>
+
+<span class="n">The</span> <span class="n">full</span> <span class="n">change</span>
<span class="n">log</span> <span class="k">is</span> <span class="n">available</span>
<span class="n">here</span><span class="o">:</span>
+<span class="o">{</span><span class="n">Create</span> <span class="n">Release</span>
<span class="n">Note</span> <span class="n">link</span> <span class="n">using</span>
<span class="n">https</span><span class="o">://</span><span class="n">issues</span><span
class="o">.</span><span class="na">apache</span><span class="o">.</span><span
class="na">org</span><span class="sr">/jira/secure/</span><span class="n">ReleaseNote</span><span
class="o">.</span><span class="na">jspa</span><span class="o">?</span><span
class="n">version</span><span class="o">=</span><span class="mi">12323511</span><span
class="o">}</span>
+
+<span class="n">We</span> <span class="n">welcome</span> <span
class="n">your</span> <span class="n">help</span> <span class="n">and</span>
<span class="n">feedback</span><span class="o">.</span> <span class="n">For</span>
<span class="n">more</span> <span class="n">information</span> <span
class="n">on</span> <span class="n">how</span> <span class="n">to</span>
<span class="n">report</span> <span class="n">problems</span><span
class="o">,</span> 
+<span class="n">and</span> <span class="n">to</span> <span class="kd">get</span>
<span class="n">involved</span><span class="o">,</span> <span class="n">visit</span>
<span class="n">the</span> <span class="n">project</span> <span
class="n">website</span> <span class="n">at</span> <span class="n">http</span><span
class="o">://</span><span class="n">incubator</span><span class="o">.</span><span
class="na">apache</span><span class="o">.</span><span class="na">org</span><span
class="sr">/celix/</span>
+
+<span class="n">The</span> <span class="n">Apache</span> <span
class="n">Celix</span> <span class="n">Team</span>
+</pre></div>
+
+
+<p>================================================================================================================</p>
                     </div>
                     <div id="homeright">
                         



Mime
View raw message