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 > Guide to Directory Releases
Date Tue, 08 Feb 2011 23:32:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/2036/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/Guide+to+Directory+Releases">Guide
to Directory Releases</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~seelmann">Stefan
Seelmann</a>
    </h4>
        <br/>
                         <h4>Changes (2)</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" >There may be a few things you&#39;ll
need to setup before you can release.  This release guide is geared to work off of a UNIX
based system that has gpg installed. If you&#39;re using Windows then I feel for you :-)
. <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >We use Maven version <span
class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">2.2.1</span>
<span class="diff-added-words"style="background-color: #dfd;">3.0.2+</span> and
JDK 1.6.0 to build all Directory subrojects even if they run on JDK 1.5. <br></td></tr>
            <tr><td class="diff-unchanged" > <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >| Releasing Skins | [Releasing Skins]
| <br>| Releasing Checkstyle Configuration | [Releasing Checkstyle Configuration] |
<br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">|
Releasing JUnit Addons | [Releasing JUnit Addons] | <br></td></tr>
            <tr><td class="diff-unchanged" >| Releasing Shared | [Releasing Shared]
| <br>| Releasing ApacheDS | [Releasing ApacheDS] | <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h2><a name="GuidetoDirectoryReleases-Introduction"></a>Introduction</h2>

<p>Releasing Apache Directory Projects can be involved.  This release guide will walk
you through the process first by preparing your maven and gpg configuration then by leading
you through the release of various subprojects at Directory.</p>

<p>There may be a few things you'll need to setup before you can release.  This release
guide is geared to work off of a UNIX based system that has gpg installed. If you're using
Windows then I feel for you <img class="emoticon" src="/confluence/images/icons/emoticons/smile.gif"
height="20" width="20" align="absmiddle" alt="" border="0"/> .</p>

<p>We use Maven version 3.0.2+ and JDK 1.6.0 to build all Directory subrojects even
if they run on JDK 1.5.</p>


<h2><a name="GuidetoDirectoryReleases-MavenSettings"></a>Maven Settings</h2>

<p>You'll need a settings section for the Nexus and people.apache.org servers with a
password or a path to the SSH key used.  Here's what my settings.xml file in &#126;/.m2
looks like:</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>&lt;settings&gt;

  &lt;servers&gt;
    &lt;!-- To publish a snapshot of some part of Maven --&gt;
    &lt;server&gt;
      &lt;id&gt;apache.snapshots.https&lt;/id&gt;
      &lt;username&gt;username&lt;/username&gt;
      &lt;password&gt;********&lt;/password&gt;
    &lt;/server&gt;

    &lt;!-- To publish a website using Maven --&gt;
    &lt;server&gt;
      &lt;id&gt;apache.directory&lt;/id&gt;
      &lt;username&gt;username&lt;/username&gt;
      &lt;privateKey&gt;/Users/username/.ssh/id_rsa&lt;/privateKey&gt;
      &lt;filePermissions&gt;664&lt;/filePermissions&gt;
      &lt;directoryPermissions&gt;775&lt;/directoryPermissions&gt;
    &lt;/server&gt;

    &lt;!-- To stage a release of some part of Maven --&gt;
    &lt;server&gt;
      &lt;id&gt;apache.releases.https&lt;/id&gt;
      &lt;username&gt;username&lt;/username&gt;
      &lt;password&gt;********&lt;/password&gt;
    &lt;/server&gt;

  &lt;/servers&gt;

  &lt;profiles&gt;
    &lt;profile&gt;
      &lt;id&gt;apache-release&lt;/id&gt;
      &lt;properties&gt;
        &lt;gpg.passphrase&gt;********&lt;/gpg.passphrase&gt;
      &lt;/properties&gt;
    &lt;/profile&gt;
  &lt;/profiles&gt;

&lt;/settings&gt;
</pre>
</div></div>

<p>Just replace your username, passwords and paths.  Note that the username and password
is your Apache LDAP account.</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>You'll need to provide the passphrase
in the settings.xml to access the gpg secret key installed on your host.  This is due to a
bug with the passphrase prompt in the maven-gpg-plugin.  So unfortunately we must provide
the passphrase in the settings.xml file in clear text.  This should change in the future when
this bug is fixed.  Note that this passphrase is put into the release profile which we activate
to properly sign and release the artifacts and poms via the release plugin.</td></tr></table></div>

<h2><a name="GuidetoDirectoryReleases-GPGKey"></a>GPG Key</h2>

<p>All subprojects are configured to deploy signatures for the artifacts uploaded to
the repository.  The gpg plugin will check use the default gpg key for the user deploying
the project with the release:perform directive of the release plugin.  This will prompt you
for the passphrase for the default key.  If you do not have one setup the build will fail.</p>

<p>You can generate and upload a PGP key to a PGP keyserver using the following commands:</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>gpg --gen-key
gpg --fingerprint
gpg --keyserver subkeys.pgp.net --send-keys &lt;your key's id from last command&gt;
</pre>
</div></div>

<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>Make sure to have created the
.pgpkey in your p.a.o/&#126; directory and to have added your public key to the <a
href="http://www.apache.org/dist/directory/KEYS" class="external-link" rel="nofollow">KEYS</a>
file.<br/>
See also <a href="http://people.apache.org/~henkp/repo/faq.html#4" class="external-link"
rel="nofollow">http://people.apache.org/~henkp/repo/faq.html#4</a></td></tr></table></div>

<h2><a name="GuidetoDirectoryReleases-ReleasingDirectoryProjectsandMakingReleaseAnnouncements"></a>Releasing
Directory Projects and Making Release Announcements</h2>

<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> Releasing Skins </td>
<td class='confluenceTd'> <a href="/confluence/display/DIRxDEV/Releasing+Skins" title="Releasing
Skins">Releasing Skins</a> </td>
</tr>
<tr>
<td class='confluenceTd'> Releasing Checkstyle Configuration </td>
<td class='confluenceTd'> <a href="/confluence/display/DIRxDEV/Releasing+Checkstyle+Configuration"
title="Releasing Checkstyle Configuration">Releasing Checkstyle Configuration</a>
</td>
</tr>
<tr>
<td class='confluenceTd'> Releasing JUnit Addons </td>
<td class='confluenceTd'> <a href="/confluence/pages/createpage.action?spaceKey=DIRxDEV&amp;title=Releasing+JUnit+Addons&amp;linkCreation=true&amp;fromPageId=55249"
class="createlink">Releasing JUnit Addons</a> </td>
</tr>
<tr>
<td class='confluenceTd'> Releasing Shared </td>
<td class='confluenceTd'> <a href="/confluence/display/DIRxDEV/Releasing+Shared"
title="Releasing Shared">Releasing Shared</a> </td>
</tr>
<tr>
<td class='confluenceTd'> Releasing ApacheDS </td>
<td class='confluenceTd'> <a href="/confluence/display/DIRxDEV/Releasing+ApacheDS"
title="Releasing ApacheDS">Releasing ApacheDS</a> </td>
</tr>
<tr>
<td class='confluenceTd'> Releasing ApacheDS Manuals </td>
<td class='confluenceTd'> <a href="/confluence/display/DIRxDEV/Releasing+ApacheDS+Manuals"
title="Releasing ApacheDS Manuals">Releasing ApacheDS Manuals</a> </td>
</tr>
<tr>
<td class='confluenceTd'> Releasing Studio </td>
<td class='confluenceTd'> <a href="/confluence/display/DIRxDEV/Releasing+Studio"
title="Releasing Studio">Releasing Studio</a> </td>
</tr>
<tr>
<td class='confluenceTd'> Releasing Studio Maven Plugin </td>
<td class='confluenceTd'> <a href="/confluence/display/DIRxDEV/Releasing+Studio+Maven+Plugin"
title="Releasing Studio Maven Plugin">Releasing Studio Maven Plugin</a> </td>
</tr>
<tr>
<td class='confluenceTd'> Releases Announcements </td>
<td class='confluenceTd'> <a href="/confluence/display/DIRxDEV/Release+Announcements"
title="Release Announcements">Release Announcements</a> </td>
</tr>
</tbody></table>
</div>


<p>Promoted by third party (update information may need to be sent)</p>
<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Project </th>
<th class='confluenceTh'> Reference </th>
<th class='confluenceTh'> Contact </th>
</tr>
<tr>
<td class='confluenceTd'> Studio </td>
<td class='confluenceTd'> <a href="http://www.eclipse.org/community/rcpos.php" class="external-link"
rel="nofollow">Open Source Rich client platform (RCP) applications</a> </td>
<td class='confluenceTd'> <a href="mailto:news@eclipse.org" class="external-link"
rel="nofollow">news@eclipse.org</a> </td>
</tr>
</tbody></table>
</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/DIRxDEV/Guide+to+Directory+Releases">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=55249&revisedVersion=25&originalVersion=24">View
Changes</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message