directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Directory Development > Releasing Apache Directory LDAP API
Date Fri, 21 Jun 2013 15:36:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/2042/9/1/_/styles/combined.css?spaceKey=DIRxDEV&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/DIRxDEV/Releasing+Apache+Directory+LDAP+API">Releasing
Apache Directory LDAP API</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~elecharny">Emmanuel
L├ęcharny</a>
    </h4>
        <br/>
                         <h4>Changes (4)</h4>
                                 
    
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
    
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >In studio/pom.xml change the _&lt;org.apache.directory.shared.version&gt;_
and _&lt;org.apache.directory.shared.validversion&gt;_ properties, build Studio, and
start Studio in applications/applications_&lt;your platform&gt;/target/ApacheDirectoryStudio-&lt;your
platform&gt;/&lt;executable&gt;. Connect to the started ApacheDS. <br> <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">h3.
8. Deploy the Javadocs and XRef <br> <br>We now can deploy the generated Javadoc
and cross-reference pages. They are generated in the following directory : <br> <br>{noformat}
<br>target/checkout/target/site <br>{noformat} <br> <br>We will copy
two directories : <br> * apidocs <br> * xref <br> <br>{note:title=Staging
or Production?} <br>Those files will be stored on the production server only !!! And
some extra caution ust be taken not to delete them when we will publish the staging site too...
<br>{note} <br> <br>First of all, you must checkout the two CMS store for
the site : staging and revision. <br> <br>{noformat} <br>$ cd ~/apacheds
<br>$ svn co https://svn.apache.org/repos/infra/websites/production/directory/trunk
staging <br> ... <br>$ svn co https://svn.apache.org/repos/infra/websites/production/directory
production <br> ... <br>{noformat} <br> <br>Now, you will first add
the directory for the newly generated version : <br> <br>{noformat} <br>$
cd ~/apacheds/production/content/api/gen-docs <br>$ mkdir 1.0.0-M18 <br>$ svn
add 1.0.0-M18 <br>{noformat} <br> <br>Then copy the generated docs : <br>
<br>{noformat} <br>$ cp -r ~/apacheds/trunks/shared/target/checkout/target/site/apidocs
~/apacheds/production/content/api/gen-docs/1.0.0-M18 <br>$ cp -r ~/apacheds/trunks/shared/target/checkout/target/site/xref
~/apacheds/production/content/api/gen-docs/1.0.0-M18 <br>$  <br>{noformat} <br>
<br>You have to check in those directories : <br> <br>{noformat} <br>$
svn add 1.0.0-M18/* <br>$ svn ci 1.0.0-M18 -m &quot;Injected 1.0.0-M18 javadocs&quot;
<br>{noformat} <br> <br>Now, you have to update the staging site : <br>
<br>h4. extpaths.txt <br> <br>This file list the file on the production
site that will not be overriden by the publication of the staging site. It has to be updated
<br> <br>{noformat} <br>$ cd ~/apacheds/staging/content/ <br>$ vi
extpaths.txt <br>{noformat} <br> <br>Add the following line : <br>
<br>{noformat} <br>... <br># API <br>api/gen-docs/1.0.0-M18 <br>...
<br>{noformat} <br> <br>then save and check in the file <br> <br>h4.
.htaccess <br> <br>We also have to update this file : <br> <br>{noformat}
<br>$ cd ~/apacheds/staging/content/api/gen-docs <br>$ vi .htaccess <br>{noformat}
<br> <br>And update the two last lines to refer to the version you&#39;ve
just released : <br> <br>{noformat} <br>RewriteRule ^latest$ 1.0.0-M18/
<br>RewriteRule ^latest/(.*)$ 1.0.0-M18/$1 <br>{noformat} <br> <br>Save
and commit the file. <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >h3. <span class="diff-changed-words"><span
class="diff-deleted-chars"style="color:#999;background-color:#fdd;text-decoration:line-through;">8</span><span
class="diff-added-chars"style="background-color: #dfd;">9</span>.</span> Vote
<br></td></tr>
            <tr><td class="diff-unchanged" >Start a 72h vote at the dev mailing
list. <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >h3. <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">9.</span>
<span class="diff-added-words"style="background-color: #dfd;">10.</span> Release
<br></td></tr>
            <tr><td class="diff-unchanged" >If the vote succeeds LDAP API project
can be released. <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >Move the distribution packages to
the dist SVN repository: https://dist.apache.org/repos/dist/release/directory/api/dist/$(version)
<br>Move the sources releases to the dist SVN repository: https://dist.apache.org/repos/dist/release/directory/api/$(version)
<br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">
<br>h3. 11. Update the web site <br> <br>You can now update the site, add
a news on the front page, and publish the site. <br> <br>h3. 12.  Inform the world
! <br> <br>After 24h, you can now inform the world about the release. <br>
<br>Send a mail to the users and dev mailing list, and one to the announce@apacge.org.
<br> <br>You are done ! <br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <p>Since we are using Nexus for releases the release process is as follows (see
also <a href="http://www.apache.org/dev/publishing-maven-artifacts.html#staging-maven"
class="external-link" rel="nofollow">http://www.apache.org/dev/publishing-maven-artifacts.html#staging-maven</a>).</p>

<h3><a name="ReleasingApacheDirectoryLDAPAPI-1.TesttheProject"></a>1. Test
the Project</h3>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>$ mvn release:prepare -DdryRun=true
</pre>
</div></div>

<p>Be aware that this phase will ask you about the next version, and most important,
for the next SCM tag :</p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>...
[INFO] Checking dependencies and plugins for snapshots ...
What is the release version for "Apache Directory LDAP API"? (org.apache.directory.api:api-parent)
1.0.0-M16: : 
What is the release version for "Apache Directory LDAP API I18n"? (org.apache.directory.api:api-i18n)
1.0.0-M16: : 
What is the release version for "Apache Directory LDAP API Utilities"? (org.apache.directory.api:api-util)
1.0.0-M16: : 
...
What is SCM release tag or label for "Apache Directory LDAP API"? (org.apache.directory.api:api-parent)
1.0.0-M16: :
...
</pre>
</div></div>


<h3><a name="ReleasingApacheDirectoryLDAPAPI-2.DeployaSnapshot"></a>2. Deploy
a Snapshot</h3>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>$ mvn deploy
</pre>
</div></div>

<p>This is useful to verify your settings in ~/.m2/settings.xml (Nexus password and
GPG key)</p>

<h3><a name="ReleasingApacheDirectoryLDAPAPI-3.PreparetheRelease"></a>3.
Prepare the Release</h3>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>$ mvn release:clean
$ mvn release:prepare
</pre>
</div></div>

<p>This creates a tag here: <a href="http://svn.apache.org/viewvc/directory/shared/tags/"
class="external-link" rel="nofollow">http://svn.apache.org/viewvc/directory/shared/tags/</a></p>

<h3><a name="ReleasingApacheDirectoryLDAPAPI-4.StagetheRelease"></a>4. Stage
the Release</h3>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>$ mvn release:perform
</pre>
</div></div>

<p>This deploys the release to a staging repository. </p>

<p>Go to <a href="https://repository.apache.org/index.html#stagingRepositories" class="external-link"
rel="nofollow">https://repository.apache.org/index.html#stagingRepositories</a> and
close the staging repository.</p>

<h3><a name="ReleasingApacheDirectoryLDAPAPI-5.BuildtheSite"></a>5. Build
the Site</h3>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>$ cd target/checkout
$ mvn site
</pre>
</div></div>

<p>This creates the site.</p>

<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td
valign='top'><img src="/confluence/images/icons/emoticons/warning.gif" width="16" height="16"
align="absmiddle" alt="" border="0"></td><td>Now, you have to sign the binary
packages which are in target/checkout/distribution/target.

<p>Use your PGP key ID (the pub key, 4096R/[XXXXXXX] where [XXXXXXX] is the key ID)
</p>

<p>You can get the keys by typing :</p>

<ol>
	<li>gpg --list-keys</li>
</ol>
</td></tr></table></div>

<h3><a name="ReleasingApacheDirectoryLDAPAPI-6.PublishSourceandBinaryDistributionPackages"></a>6.
Publish Source and Binary Distribution Packages</h3>
<p>First of all, create a new directory on people.apache.org/public_html to store the
pacckages :</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>$ ssh people.apache.org
$ mkdir public_html/ldap-api-&lt;version&gt;
$ exit
</pre>
</div></div>

<p>Then copy the packages :</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>$ cd distributions/target
$ scp apache-ldap-api-&lt;version&gt;-* people.apache.org:public_html/ldap-api-&lt;version&gt;/
</pre>
</div></div>

<p>Update your index.html file on people.apach.org/public_html to make the packages
visible. Here is an example of possible content :</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>&lt;h2&gt;Last Directory LDAP API 1.0.0-M16 tarballs&lt;/h2&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16-bin.tar.gz"&gt;apache-ldap-api-1.0.0-M16-bin.tar.gz&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16-bin.tar.gz.asc"&gt;apache-ldap-api-1.0.0-M16-bin.tar.gz.asc&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16-bin.tar.gz.md5"&gt;apache-ldap-api-1.0.0-M16-bin.tar.gz.md5&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16-bin.tar.gz.sha1"&gt;apache-ldap-api-1.0.0-M16-bin.tar.gz.sha1&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16-bin.zip"&gt;apache-ldap-api-1.0.0-M16-bin.zip&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16-bin.zip.asc"&gt;apache-ldap-api-1.0.0-M16-bin.zip.asc&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16-bin.zip.md5"&gt;apache-ldap-api-1.0.0-M16-bin.zip.md5&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16-bin.zip.sha1"&gt;apache-ldap-api-1.0.0-M16-bin.zip.sha1&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16-src.tar.gz"&gt;apache-ldap-api-1.0.0-M16-src.tar.gz&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16-src.tar.gz.asc"&gt;apache-ldap-api-1.0.0-M16-src.tar.gz.asc&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16-src.tar.gz.md5"&gt;apache-ldap-api-1.0.0-M16-src.tar.gz.md5&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16-src.tar.gz.sha1"&gt;apache-ldap-api-1.0.0-M16-src.tar.gz.sha1&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16-src.zip"&gt;apache-ldap-api-1.0.0-M16-src.zip&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16-src.zip.asc"&gt;apache-ldap-api-1.0.0-M16-src.zip.asc&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16-src.zip.md5"&gt;apache-ldap-api-1.0.0-M16-src.zip.md5&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16-src.zip.sha1"&gt;apache-ldap-api-1.0.0-M16-src.zip.sha1&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16.pom"&gt;apache-ldap-api-1.0.0-M16.pom&lt;/a&gt;&lt;br/&gt;
  &lt;a href="ldap-api-1.0.0-M16/apache-ldap-api-1.0.0-M16.pom.asc"&gt;apache-ldap-api-1.0.0-M16.pom.asc&lt;/a&gt;&lt;br/&gt;

</pre>
</div></div>

<h3><a name="ReleasingApacheDirectoryLDAPAPI-7.TesttheNewVersioninApacheDSandStudio"></a>7.
Test the New Version in ApacheDS and Studio</h3>
<p>In apacheds/pom.xml change the <em>&lt;org.apache.directory.shared.version&gt;</em>
property, build ApacheDS, go into apacheds/service, and run <em>./apachds.sh</em>
to start the server.</p>

<p>In studio/pom.xml change the <em>&lt;org.apache.directory.shared.version&gt;</em>
and <em>&lt;org.apache.directory.shared.validversion&gt;</em> properties,
build Studio, and start Studio in applications/applications_&lt;your platform&gt;/target/ApacheDirectoryStudio-&lt;your
platform&gt;/&lt;executable&gt;. Connect to the started ApacheDS.</p>

<h3><a name="ReleasingApacheDirectoryLDAPAPI-8.DeploytheJavadocsandXRef"></a>8.
Deploy the Javadocs and XRef</h3>

<p>We now can deploy the generated Javadoc and cross-reference pages. They are generated
in the following directory :</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>target/checkout/target/site
</pre>
</div></div>

<p>We will copy two directories :</p>
<ul>
	<li>apidocs</li>
	<li>xref</li>
</ul>


<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td
valign='top'><img src="/confluence/images/icons/emoticons/warning.gif" width="16" height="16"
align="absmiddle" alt="" border="0"></td><td><b>Staging or Production?</b><br
/>Those files will be stored on the production server only !!! And some extra caution ust
be taken not to delete them when we will publish the staging site too...</td></tr></table></div>

<p>First of all, you must checkout the two CMS store for the site : staging and revision.</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>$ cd ~/apacheds
$ svn co https://svn.apache.org/repos/infra/websites/production/directory/trunk staging
 ...
$ svn co https://svn.apache.org/repos/infra/websites/production/directory production
 ...
</pre>
</div></div>

<p>Now, you will first add the directory for the newly generated version :</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>$ cd ~/apacheds/production/content/api/gen-docs
$ mkdir 1.0.0-M18
$ svn add 1.0.0-M18
</pre>
</div></div>

<p>Then copy the generated docs :</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>$ cp -r ~/apacheds/trunks/shared/target/checkout/target/site/apidocs ~/apacheds/production/content/api/gen-docs/1.0.0-M18
$ cp -r ~/apacheds/trunks/shared/target/checkout/target/site/xref ~/apacheds/production/content/api/gen-docs/1.0.0-M18
$ 
</pre>
</div></div>

<p>You have to check in those directories :</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>$ svn add 1.0.0-M18/*
$ svn ci 1.0.0-M18 -m "Injected 1.0.0-M18 javadocs"
</pre>
</div></div>

<p>Now, you have to update the staging site :</p>

<h4><a name="ReleasingApacheDirectoryLDAPAPI-extpaths.txt"></a>extpaths.txt</h4>

<p>This file list the file on the production site that will not be overriden by the
publication of the staging site. It has to be updated</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>$ cd ~/apacheds/staging/content/
$ vi extpaths.txt
</pre>
</div></div>

<p>Add the following line :</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>...
# API
api/gen-docs/1.0.0-M18
...
</pre>
</div></div>

<p>then save and check in the file</p>

<h4><a name="ReleasingApacheDirectoryLDAPAPI-.htaccess"></a>.htaccess</h4>

<p>We also have to update this file :</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>$ cd ~/apacheds/staging/content/api/gen-docs
$ vi .htaccess
</pre>
</div></div>

<p>And update the two last lines to refer to the version you've just released :</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>RewriteRule ^latest$ 1.0.0-M18/
RewriteRule ^latest/(.*)$ 1.0.0-M18/$1
</pre>
</div></div>

<p>Save and commit the file.</p>

<h3><a name="ReleasingApacheDirectoryLDAPAPI-9.Vote"></a>9. Vote</h3>
<p>Start a 72h vote at the dev mailing list.</p>

<h3><a name="ReleasingApacheDirectoryLDAPAPI-10.Release"></a>10. Release</h3>
<p>If the vote succeeds LDAP API project can be released.</p>

<p>Go to <a href="https://repository.apache.org/index.html#stagingRepositories" class="external-link"
rel="nofollow">https://repository.apache.org/index.html#stagingRepositories</a> and
release the staging repository so all artifacts are published to Maven central.</p>

<p>Move the distribution packages to the dist SVN repository: <a href="https://dist.apache.org/repos/dist/release/directory/api/dist/$(version"
class="external-link" rel="nofollow">https://dist.apache.org/repos/dist/release/directory/api/dist/$(version</a>)<br/>
Move the sources releases to the dist SVN repository: <a href="https://dist.apache.org/repos/dist/release/directory/api/$(version"
class="external-link" rel="nofollow">https://dist.apache.org/repos/dist/release/directory/api/$(version</a>)</p>

<h3><a name="ReleasingApacheDirectoryLDAPAPI-11.Updatethewebsite"></a>11.
Update the web site</h3>

<p>You can now update the site, add a news on the front page, and publish the site.</p>

<h3><a name="ReleasingApacheDirectoryLDAPAPI-12.Informtheworld%21"></a>12.
 Inform the world !</h3>

<p>After 24h, you can now inform the world about the release.</p>

<p>Send a mail to the users and dev mailing list, and one to the announce@apacge.org.</p>

<p>You are done !</p>
    </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/DIRxDEV/Releasing+Apache+Directory+LDAP+API">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=55388&revisedVersion=20&originalVersion=19">View
Changes</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message