You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by bu...@apache.org on 2013/02/18 13:46:06 UTC

svn commit: r850941 - in /websites/staging/cayenne/trunk/content: ./ .htaccess dev/release-guide.html developer-guide.html release-guide.html

Author: buildbot
Date: Mon Feb 18 12:46:05 2013
New Revision: 850941

Log:
Staging update by buildbot for cayenne

Added:
    websites/staging/cayenne/trunk/content/dev/release-guide.html
Removed:
    websites/staging/cayenne/trunk/content/release-guide.html
Modified:
    websites/staging/cayenne/trunk/content/   (props changed)
    websites/staging/cayenne/trunk/content/.htaccess
    websites/staging/cayenne/trunk/content/developer-guide.html

Propchange: websites/staging/cayenne/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Feb 18 12:46:05 2013
@@ -1 +1 @@
-1447220
+1447223

Modified: websites/staging/cayenne/trunk/content/.htaccess
==============================================================================
--- websites/staging/cayenne/trunk/content/.htaccess (original)
+++ websites/staging/cayenne/trunk/content/.htaccess Mon Feb 18 12:46:05 2013
@@ -10,3 +10,6 @@ Redirect permanent /doc/documentation.ht
 Redirect permanent /doc12/ /docs/1.2/
 Redirect permanent /doc20/ /docs/2.0/
 Redirect permanent /doc/ /docs/3.0/
+
+# Remapping dev folders
+Redirect permanent /release-guide.html /dev/release-guide.html

Added: websites/staging/cayenne/trunk/content/dev/release-guide.html
==============================================================================
--- websites/staging/cayenne/trunk/content/dev/release-guide.html (added)
+++ websites/staging/cayenne/trunk/content/dev/release-guide.html Mon Feb 18 12:46:05 2013
@@ -0,0 +1,285 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="en">
+<head>
+<title>Release Guide | Apache Cayenne</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="keywords" content=" apache cayenne, object relational mapping, open source orm, orm">
+<meta name="description" content=" Apache Cayenne is a powerful, full-featured, open-source object relational mapping framework created for developers working with relational databases.">
+<link rel="stylesheet" type="text/css" media="screen, projection" href="/css/styles.css">
+<link rel="stylesheet" type="text/css" media="print" href="/css/print.css">
+<link rel="shortcut icon" href="/img/favicon.ico" type="image/ico">
+<script type="text/javascript" src="/js/scripts.js"></script>
+<script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-7036673-1']);
+  _gaq.push(['_trackPageview']);
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+  })();
+</script>
+</head>
+<body>
+<div id="wrap"><div id="wrap-inner">
+
+<div id="header">
+	<h1><a href="/" title="Return to Apache Cayenne home"><span>The Apache Cayenne Project</span></a></h1>
+	<h2><a href="http://www.apache.org" title="The Apache Software Foundation"><span>The Apache Software Foundation</span></a></h2>
+</div>
+
+<div id="container">
+
+ 
+<div id="sidebar">
+<ul id="nav">
+	<li><a href="/about.html">About</a>
+		<ul>
+			<li><a href="/why-cayenne.html">Why Cayenne?</a></li>
+			<li><a href="/download.html">Download</a></li>
+			<li><a href="/success-stories.html">Success Stories</a></li>
+			<li><a href="/support.html">Support</a></li>
+		</ul>
+	</li>
+	<li><a href="/docs/index.html">Documentation</a>
+		<ul>
+			<li><a href="/docs/3.1/tutorial/index.html">Getting Started (3.1)</a></li>
+			<li class="trigger"><a href="/docs/3.1/index.html">Version 3.1 (beta)</a>
+				<ul>
+					<li><a href="/docs/3.1/cayenne-guide/index.html">Cayenne Guide</a></li>
+					<li><a href="/docs/3.1/tutorial/index.html">Tutorial</a></li>
+					<li><a href="/docs/3.1/tutorial-rop/index.html">ROP Tutorial</a></li>
+					<li><a href="/docs/3.1/upgrade-guide/index.html">Upgrade Guide</a></li>
+					<li><a href="/docs/3.1/api/index.html">JavaDoc</a></li>
+				</ul>
+			</li>
+			<li class="trigger"><a href="/docs/3.0/index.html">Version 3.0 (stable)</a>
+				<ul>
+					<li><a href="/docs/3.0/overview.html">Overview</a></li>
+					<li><a href="/docs/3.0/cayenne-guide.html">Cayenne Guide</a></li>
+					<li><a href="/docs/3.0/remote-object-persistence-guide.html">Remote Client Guide</a></li>
+					<li><a href="/docs/3.0/modeler-guide.html">Modeler Guide</a></li>
+					<li><a href="/docs/3.0/api/index.html">JavaDoc</a></li>
+				</ul>
+			</li>
+			<li class="trigger"><a href="/docs/2.0/index.html">Version 2.0 (legacy)</a>
+				<ul>
+					<li><a href="/docs/2.0/user-guide.html">User Guide</a></li>
+					<li><a href="/docs/2.0/remote-object-persistence-guide.html">Remote Client Guide</a></li>
+					<li><a href="/docs/2.0/modeler-guide.html">Modeler Guide</a></li>
+					<li><a href="/docs/2.0/api/cayenne/index.html">JavaDoc</a></li>
+				</ul>
+			</li>
+			<li class="trigger"><a href="/docs/1.2/index.html">Version 1.2 (legacy)</a>
+				<ul>
+					<li><a href="/docs/1.2/user-guide.html">User Guide</a></li>
+					<li><a href="/docs/1.2/remote-object-persistence-guide.html">Remote Client Guide</a></li>
+					<li><a href="/docs/1.2/modeler-guide.html">Modeler Guide</a></li>
+					<li><a href="/docs/1.2/api/cayenne/index.html">JavaDoc</a></li>
+				</ul>
+			</li>
+		</ul>
+	</li>
+	<li><a href="/collaboration.html">Collaboration</a>
+		<ul>
+			<li><a href="http://issues.apache.org/jira/browse/CAY">Bug/Feature Tracker</a></li>
+			<li><a href="/mailing-lists.html">Mailing Lists</a></li>
+			<li><a href="https://cwiki.apache.org/confluence/display/CAY/Index">Wiki</a></li>
+			<li><a href="/code-repository.html">Code Repository</a></li>
+			<li><a href="/developer-guide.html">Developer Guide</a></li>
+			<li><a href="/how-can-i-help.html">How Can I Help?</a></li>
+			<li><a href="/contributors.html">Contributors</a></li>
+		</ul>
+	</li>
+</ul>
+</div>
+
+
+<hr>
+<div id="content">
+       <p>This page describes the steps that a Cayenne Release Manager needs to
+perform to prepare a release. The specifics of Cayenne release process is
+that we are publishing both downloadable assemblies and Maven artifacts, so
+we have to build and publish things twice. Both forms of Cayenne release
+are also available for evaluation during the vote.</p>
+<h2 id="prerequisites">Prerequisites</h2>
+<ul>
+<li>A release manager must have his public key appended to the KEYS file
+checked in to SVN and the key published on one of the public key servers.
+More info can be found at <a href="http://www.apache.org/dev/release-signing.html">http://www.apache.org/dev/release-signing.html</a></li>
+<li>Make sure "apache-releases" repository is configured in
+<em>~/.m2/settings.xml</em> and an appropriate password is setup. See <a href="http://www.apache.org/dev/publishing-maven-artifacts.html">this page</a>
+ for details.</li>
+</ul>
+<h2 id="preparing-sources">Preparing Sources</h2>
+<ul>
+<li>Edit UPGRADE-NOTES.txt if there is anything to add there.</li>
+<li>
+<p>Check Sources Compliance with <a href="http://creadur.apache.org/rat/">RAT</a>. To run RAT,
+download the jar, and run it against
+unpacked distro (or the release tag), read the report and fix any issues.</p>
+<div class="codehilite"><pre><span class="n">cd</span> <span class="n">cayenne</span>
+<span class="n">mvn</span> <span class="n">clean</span>
+<span class="n">java</span> <span class="o">-</span><span class="n">jar</span> <span class="n">rat</span><span class="o">-</span><span class="mf">0.5.1</span><span class="o">.</span><span class="n">jar</span> <span class="sb">`pwd`</span> <span class="o">&gt;</span> <span class="n">report</span><span class="o">.</span><span class="n">txt</span>
+</pre></div>
+
+
+</li>
+</ul>
+<h2 id="tagging-the-repo-and-releasing-maven-artifacts">Tagging the Repo and Releasing Maven Artifacts</h2>
+<ul>
+<li>
+<p>Get a trunk SVN checkout of Cayenne. If you are using <em>git</em> for
+development, SVN checkout is still needed to prepare a release with
+<em>maven-release-plugin</em>. </p>
+<div class="codehilite"><pre><span class="n">svn</span> <span class="n">co</span> <span class="n">https:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/cayenne/m</span><span class="n">ain</span><span class="o">/</span><span class="n">trunk</span> <span class="n">cayenne</span>
+</pre></div>
+
+
+</li>
+<li>
+<p>Tag the SVN and Create Maven Staging Repository</p>
+<div class="codehilite"><pre><span class="n">cd</span> <span class="n">cayenne</span>
+<span class="n">mvn</span> <span class="n">release:clean</span>
+<span class="n">mvn</span> <span class="n">release:prepare</span> <span class="o">-</span><span class="n">DpreparationGoals</span><span class="o">=</span><span class="s">&quot;clean install&quot;</span> <span class="o">-</span><span class="n">DautoVersionSubmodules</span><span class="o">=</span><span class="n">true</span> <span class="o">-</span><span class="n">Passembly</span><span class="p">,</span><span class="n">generic</span><span class="p">,</span><span class="n">mac</span><span class="p">,</span><span class="n">windows</span>
+</pre></div>
+
+
+</li>
+</ul>
+<p>A problem <a href="http://www.apache.org/dev/publishing-maven-artifacts.html#prepare-release">described in the documentation</a>
+ consistently occurs here ... if you are in Europe: "If you're located in
+Europe then release:prepare may fail with 'Unable to tag SCM' and ' svn: No
+such revision X '. Wait 10 seconds and run mvn release:prepare again." It
+fails indeed, and requires a re-run and continue:</p>
+<div class="codehilite"><pre>    <span class="n">mvn</span> <span class="n">release:perform</span> <span class="o">-</span><span class="n">P</span> <span class="n">gpg</span> <span class="p">[</span><span class="o">-</span><span class="n">Dgpg</span><span class="o">.</span><span class="n">keyname</span><span class="o">=</span><span class="n">B8AF90BF</span><span class="p">]</span>
+</pre></div>
+
+
+<ul>
+<li>Close the staging repo. Login to <a href="https://repository.apache.org/">https://repository.apache.org/</a> with
+Apache ID/password, go to "Staging Repositories" page. Select a staging
+repository that was just created during "<em>mvn release:perform</em>", click
+"Close". Take a note of the freshly created staging repository URL. It will
+be used by the people voting on Cayenne. It may look like this:
+<a href="https://repository.apache.org/content/repositories/orgapachecayenne-052/">https://repository.apache.org/content/repositories/orgapachecayenne-052/</a> </li>
+</ul>
+<h2 id="releasing-downloadable-assemblies">Releasing Downloadable Assemblies</h2>
+<ul>
+<li>
+<p>Switch to the release tag created above in SVN or Git.</p>
+</li>
+<li>
+<p>Build source package (it will be the basis for the binary packages built
+in the next steps) :</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">Passembly</span><span class="p">,</span><span class="n">src</span>
+</pre></div>
+
+
+</li>
+<li>
+<p>Build binary assemblies. Take <em>"assembly/target/cayenne-XXX-src.tar.gz"</em>, unpack it somewhere, and
+perform binary builds from the unpacked directory (NOT FROM SVN OR GIT
+CHECKOUT). <em>Release manager may skip running unit tests from here, as shown
+below, although release evaluators should use the src assembly for <a href="running-unit-tests.html">unit testing</a>
+ and other kinds of testing.</em> </p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">Passembly</span><span class="p">,</span><span class="n">generic</span> <span class="o">-</span><span class="n">Dmaven</span><span class="o">.</span><span class="n">test</span><span class="o">.</span><span class="n">skip</span><span class="o">=</span><span class="n">true</span>
+
+<span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">Passembly</span><span class="p">,</span><span class="n">mac</span> <span class="o">-</span><span class="n">Dmaven</span><span class="o">.</span><span class="n">test</span><span class="o">.</span><span class="n">skip</span><span class="o">=</span><span class="n">true</span>
+
+<span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">Passembly</span><span class="p">,</span><span class="n">windows</span> <span class="o">-</span><span class="n">Dmaven</span><span class="o">.</span><span class="n">test</span><span class="o">.</span><span class="n">skip</span><span class="o">=</span><span class="n">true</span>
+</pre></div>
+
+
+<p>For further details on a general Cayenne build process check <a href="building-cayenne.html">this page</a>.</p>
+</li>
+<li>
+<p>Signing assemblies</p>
+</li>
+</ul>
+<p>For more info visit <a href="http://www.apache.org/dev/release-signing.html">this page</a>
+. Release manager key must be in the project KEYS file. Signing is a manual
+procedure not included in the Ant or Maven script. Here is how it might
+work ("-u" option can be omitted if you have only one GPG key):</p>
+<div class="codehilite"><pre>    <span class="n">gpg</span> <span class="o">--</span><span class="n">armor</span> <span class="o">-</span><span class="n">u</span> <span class="n">B8AF90BF</span> <span class="o">--</span><span class="n">output</span> <span class="n">cayenne</span><span class="o">-</span><span class="n">X</span><span class="o">.</span><span class="n">X</span><span class="o">.</span><span class="n">tar</span><span class="o">.</span><span class="n">gz</span><span class="o">.</span><span class="n">asc</span> <span class="o">--</span><span class="n">detach</span><span class="o">-</span><span class="n">sig</span> <span class="n">cayenne</span><span class="o">-</span><span class="n">X</span><span class="o">.</span><span class="n">X</span><span class="o">.</span><span class="n">tar</span><span class="o">.</span><span class="n">gz</span>
+    <span class="n">gpg</span> <span class="o">--</span><span class="k">print</span><span class="o">-</span><span class="n">md</span> <span class="n">MD5</span> <span class="n">cayenne</span><span class="o">-</span><span class="n">X</span><span class="o">.</span><span class="n">X</span><span class="o">.</span><span class="n">tar</span><span class="o">.</span><span class="n">gz</span> <span class="o">&gt;</span> <span class="n">cayenne</span><span class="o">-</span><span class="n">X</span><span class="o">.</span><span class="n">X</span><span class="o">.</span><span class="n">tar</span><span class="o">.</span><span class="n">gz</span><span class="o">.</span><span class="n">md5</span>
+</pre></div>
+
+
+<ul>
+<li>Assemblies, signature and checksum files are uploaded to the release
+manager's web directory on <em>people.apache.org</em>.</li>
+</ul>
+<h2 id="voting">Voting</h2>
+<ul>
+<li>The vote is started on the dev mailing list.</li>
+<li>All committers are encouraged to vote on releases. Committer votes will
+be considered by the PMC (particularly -1 votes will be discussed) when
+making the final decision, but are not binding.</li>
+<li>Each PMC member will do the following before voting on a release:
+ a. download the artifacts
+ b. satisfy themselves that the source matches the appropriate svn tag.
+This can be done by diffing the source against a recent svn checkout.
+ c. satisfy themselves that the Apache licensing requirements are met (this
+will usually be achieved by ensuring that all notices are in place and
+verifying that the source matches SVN since all commits to SVN are possible
+only if the committer has a CLA on file).
+ d. satisfy themselves that the binary distribution is sane and passes
+basic usability tests. For example, that the Cayenne modeler runs and the
+main jar passes some basic tests.
+ e. satisfy themselves that the source passes agreed unit tests (either by
+running them manually or verifying that Hudson has run those tests against
+the equivalent source). </li>
+</ul>
+<h2 id="publishing-the-release">Publishing the Release</h2>
+<ul>
+<li>
+<p>Publish Maven artifacts. Go back to <a href="https://repository.apache.org/">https://repository.apache.org/</a>,
+select the staging repo and click "Release".</p>
+</li>
+<li>
+<p>Publish downloadable assemblies:</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">ssh</span> <span class="n">people</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span>
+<span class="nv">%</span> <span class="nv">cp</span> <span class="sr">/path/</span><span class="n">to</span><span class="sr">/release/</span><span class="n">artifacts</span> <span class="sr">/www/</span><span class="n">www</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/dist/c</span><span class="n">ayenne</span><span class="o">/</span>
+</pre></div>
+
+
+</li>
+</ul>
+<h2 id="after-the-release">After the release</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/plugins/servlet/project-config/CAY/versions">Tell Jira</a>
+ that the release has been released. Ensure there is another milestone or
+release target already created for further work, but this was probably
+already done when a branch was created in preparation for release.</li>
+<li>Update the <a href="http://svn.apache.org/repos/asf/cayenne/site/trunk/tlp-site/src/doap/cayenne.rdf">DOAP file</a>
+ (held in the Cayenne svn) which will update
+http://projects.apache.org/projects/cayenne.html automatically</li>
+<li>Update Freshmeat with new release number
+(<a href="http://freshmeat.net/projects/cayenne/">http://freshmeat.net/projects/cayenne/</a>)</li>
+<li>If the release is significant, consider press releases to relevant news
+sources</li>
+<li>Review the main website pages (front page and why-cayenne especially) to
+add any new features</li>
+<li>Add a news item to the Cayenne web site</li>
+<li>Send an email to the Cayenne user and developer lists</li>
+<li>Send a notification email to announceATapachenews.org</li>
+<li>Update <a href="http://en.wikipedia.org/wiki/Apache_Cayenne">http://en.wikipedia.org/wiki/Apache_Cayenne</a></li>
+</ul>
+<h2 id="reference">Reference:</h2>
+<ul>
+<li>Apache release publishing:
+<a href="http://www.apache.org/dev/release-publishing.html">http://www.apache.org/dev/release-publishing.html</a></li>
+<li>Apache Maven release publishing:
+<a href="http://www.apache.org/dev/publishing-maven-artifacts.html">http://www.apache.org/dev/publishing-maven-artifacts.html</a></li>
+<li>ARAT: <a href="http://code.google.com/p/arat/">http://code.google.com/p/arat/</a></li>
+<li>Signing Releases: <a href="http://www.apache.org/dev/release-signing.html">http://www.apache.org/dev/release-signing.html</a></li>
+</ul>
+       <hr>
+       <p id="footer">Copyright &#169; 2001-2012 Apache Software Foundation. Apache Cayenne, Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo are trademarks of The Apache Software Foundation. <a href="/privacy-policy.html">Privacy policy</a>.
+</div>
+</div>
+
+</div></div>
+</body>
+</html>

Modified: websites/staging/cayenne/trunk/content/developer-guide.html
==============================================================================
--- websites/staging/cayenne/trunk/content/developer-guide.html (original)
+++ websites/staging/cayenne/trunk/content/developer-guide.html Mon Feb 18 12:46:05 2013
@@ -109,9 +109,9 @@ information is probably of no use to you
 <li><a href="code-repository.html">Source Code Access</a></li>
 <li><a href="eclipse.html">Working in Eclipse</a></li>
 <li><a href="building-cayenne.html">Building Cayenne</a></li>
-<li><a href="release-guide.html">Creating a Release</a></li>
+<li><a href="/dev/release-guide.html">Creating a Release</a></li>
 <li><a href="running-unit-tests.html">Running Unit Tests</a></li>
-<li><a href="dev/cms-guide.html">CMS Guide</a></li>
+<li><a href="/dev/cms-guide.html">CMS Guide</a></li>
 </ul>
 <h3 id="legacy-cayenne-cayenne-20x-and-12x">Legacy Cayenne (Cayenne 2.0.x and 1.2.x)</h3>
 <ul>