blob: 7b01647ad4e36ea0bb01b565e78bb21752de21d9 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.3">
<link rel="apple-touch-icon" sizes="180x180" href="/img/favicon/apple-touch-icon-04cb17e028.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon/favicon-32x32-12431ee8eb.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/favicon/favicon-16x16-4f316e4d55.png">
<link rel="manifest" href="/img/favicon/manifest-65e6aaa49e.json">
<link rel="mask-icon" href="/img/favicon/safari-pinned-tab-558c1991b1.svg" color="#dc5656">
<link rel="shortcut icon" href="/img/favicon/favicon-6cef91375b.ico">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/img/favicon/mstile-144x144-34e7696278.png">
<meta name="msapplication-config" content="/img/favicon/browserconfig-82ff158058.xml">
<meta name="theme-color" content="#ffffff">
<link rel="stylesheet" href="https://cayenne.apache.org/css/styles-9ee2e6e330.css"/>
<script src="https://cayenne.apache.org/js/bundle-c0e6356367.js"></script>
<script src="https://www.apachecon.com/event-images/snippet.js"></script>
<title>Legacy Release Guide 2.0 &middot; Apache Cayenne</title>
</head>
<body>
<header class="page-header">
<nav id="topbar" class="bg-dark" aria-label="breadcrumb" role="navigation">
<ul class="breadcrumb breadcrumb-sm breadcrumb-dark container mb-0">
<li class="breadcrumb-item dropdown">
<a class="dropdown-toggle text-nowrap pr-1" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img class="mw-15px mr-1" src="/img/feather-641aa69d09.svg" />Apache Software Foundation</a>
<div class="dropdown-menu rounded-0" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="https://www.apache.org">Apache Homepage</a>
<a class="dropdown-item" href="https://www.apache.org/licenses/">License</a>
<a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
<a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a>
<a class="dropdown-item" href="https://www.apache.org/security/">Security</a>
<a class="dropdown-item" href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a>
<a class="ml-1 mt-1 acevent" data-format="wide" data-mode="dark" data-width="120"></a>
</div>
</li>
</ul>
</nav>
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
<div class="container">
<a class="navbar-brand" href="https://cayenne.apache.org/">
<img src="/img/logo_mono_full-d7a19eef61.svg" alt="Apache Cayenne" />
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mainMenu" aria-controls="mainMenu" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="mainMenu">
<ul class="navbar-nav mt-3 mt-lg-0 mr-auto">
<li class="nav-item">
<a class="nav-link" href="/download/">DOWNLOAD</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/4.2/getting-started-guide/">DOCUMENTATION</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/about/support/">SUPPORT</a>
</li>
</ul>
<ul class="navbar-nav flex-row justify-content-center mt-2 mt-lg-0 mb-2 mb-lg-0 " id="social-links-menu">
<li class="nav-item d-flex">
<a class="nav-link d-flex justify-content-center align-items-center" href="https://github.com/apache/cayenne">
<img src="/img/icon_octocat_stars-c24dac94b8.svg" alt="GitHub" />
</a>
</li>
<li class="nav-item d-flex">
<a class="nav-link d-flex justify-content-center align-items-center" href="https://twitter.com/ApacheCayenne">
<img src="/img/icon_twitter-220a129d14.svg" alt="Twitter" />
</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<main class="container py-5">
<section>
<article>
<h1 class="text-center">Legacy Release Guide 2.0</h1>
<p>Note that this page is of use for committers only. It describes the general
procedure of building a Cayenne release.</p>
<p><em>THIS ONLY REFERS TO 2.0.x RELEASE BRANCH</em></p>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h2 id="prerequisites">Prerequisites</h2>
<p>Refer to the Prerequisites section of the <a href="/dev/release-guide.html">main release guide</a></p>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h2 id="preparing-sources">Preparing Sources</h2>
<ul>
<li>
<p>Export and commit the latest documentation per Documentation Guidelines
.</p>
</li>
<li>
<p>Create a report in Jira listing all issues that are FIXED but not CLOSED,
paste its contents to RELEASE-NOTES.txt. Bulk-close all involved issues.
<em>Note that issues that affect multiple releases are usually closed
immediately when they are fixed, and the note is placed in
RELEASE-NOTES.txt immediately when this happens.</em></p>
</li>
<li>
<p>Edit UPGRADE-NOTES.txt if there is anything to add there.</p>
</li>
<li>
<p>Check Sources Compliance with ARAT. <a href="https://code.google.com/p/arat/">ARAT</a>
(A Release Audit Tool) is a Java tool written by Robert Burrell Donkin for
checking the release files for ASF licensing compliance. To run ARAT, <a href="https://arat.googlecode.com/svn/tags/RAT_0_4/">check it out of SVN</a>
<em>(we are using version 0.4)</em>, build with Ant, and run against unpacked
distro (or the release tag), read the report and fix any issues.</p>
</li>
</ul>
<h2 id="building-release-artifacts">Building Release Artifacts</h2>
<ul>
<li>
<p>Tag <code>cayenne</code> directory under the repository trunk (assuming
<code>release_version</code> is a version tag identifying the release, such as
<code>&quot;1.2B3&quot;</code>):</p>
<p>svn copy <a href="https://svn.apache.org/repos/asf/cayenne/main/trunk/cayenne">https://svn.apache.org/repos/asf/cayenne/main/trunk/cayenne</a><br>
<a href="https://svn.apache.org/repos/asf/cayenne/main/tags/release_version/cayenne">https://svn.apache.org/repos/asf/cayenne/main/tags/release_version/cayenne</a> -m &ldquo;tagging B3 release&rdquo;</p>
</li>
<li>
<p>Switch an existing working copy on a build machine to the release tag:
If you don&rsquo;t have a local copy, do &ldquo;checkout&rdquo; instead of &ldquo;switch&rdquo;. <em>Do not
forget to switch the local copy back to the appropriate branch in case you
are using it to make the code changes.</em></p>
</li>
<li>
<p>Note that all Ant commands now must contain <em>&ldquo;project.version&rdquo;</em>
property corresponding to the release version. The property is passed on
the command line as <em>&quot;-Dproject.version=2.0.x&rdquo;</em>. See examples below.</p>
</li>
<li>
<p>Run a test to make sure the checkout is ok: <br>
Test with all supported databases listed <a href="/database-support.html">here</a>
, or at least as many as possible. See <a href="/legacy-ant-unit-tests.html">Legacy Ant Unit Tests</a>
for more details on how to test each of the various database servers with
legacy versions of Cayenne.</p>
</li>
<li>
<p>Build a release for the target platform:</p>
</li>
<li>
<p>Build Release Maven Bundles for ibiblio upload:</p>
</li>
<li>
<p>Signing release
For more info visit <a href="https://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 (&quot;-u&rdquo; option can be omitted if you have only one GPG key):</p>
</li>
</ul>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h2 id="voting">Voting</h2>
<p>Refer to the Voting section of the <a href="/dev/release-guide.html">main release guide</a></p>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h2 id="publishing-the-release">Publishing the Release</h2>
<p>Copy KEYS file if updated to <code>&quot;/www/www.apache.org/dist/cayenne/&quot;</code>
<em>(TODO: automate publishing the keys - maybe create a &ldquo;dist&rdquo; site project?)</em></p>
<pre><code>chmod 664 /www/www.apache.org/dist/cayenne/*
</code></pre>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h3 id="publishing-maven-artifacts">Publishing Maven Artifacts</h3>
<p><em>(TODO: automate rsync with Ant)</em></p>
<p>Assuming release version is 2.0.2, on a <em>local machine</em> do</p>
<pre><code>ant clean mvn-install -Dproject.version=2.0.2
rsync -azv ~/.m2/repository/org/apache/cayenne/cayenne-nodeps/2.0.2 \
people.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/cayenne/cayenne-nodeps/
rsync -azv ~/.m2/repository/org/apache/cayenne/cayenne/2.0.2 \
people.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/cayenne/cayenne/
rsync -azv ~/.m2/repository/org/apache/cayenne/cayenne-client-nodeps/2.0.2 \
people.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/cayenne/cayenne-client-nodeps/
rsync -azv ~/.m2/repository/org/apache/cayenne/cayenne-modeler/2.0.2 \
people.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/cayenne/cayenne-modeler/
</code></pre>
<p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
<h2 id="after-the-release">After the release</h2>
<ul>
<li>Update the <a href="https://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
<a href="https://projects.apache.org/project.html?cayenne">https://projects.apache.org/project.html?cayenne</a> automatically</li>
<li>Update Freshmeat with new release number
(<a href="https://freshmeat.net/projects/cayenne/">https://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>
</ul>
</article>
</section>
</main>
<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=5c836e39-be6b-4a21-a946-a97b5b69f172" />
<footer class="bg-dark">
<div class="footer-nav container text-center text-lg-left pb-3">
<div class="row pt-5 pb-3">
<div class="col-sm-6 col-lg-3">
<h4>About</h4>
<ul class="list-unstyled">
<li>
<a href="/why-cayenne.html">Why Cayenne?</a>
</li>
<li>
<a href="/download/">Download</a>
</li>
<li>
<a href="/success-stories.html">Success Stories</a>
</li>
<li>
<a href="/about/support/">Support</a>
</li>
</ul>
</div>
<div class="col-sm-6 col-lg-3">
<h4>Documentation</h4>
<ul class="list-unstyled">
<li>
<a href="/docs/4.0/getting-started-guide/">Getting Started (4.0)</a>
</li>
<li>
<a href="/docs/4.1/getting-started-guide/">Getting Started (4.1)</a>
</li>
<li>
<a href="/docs/4.2/getting-started-guide/">Getting Started (4.2)</a>
</li>
<li>
<a href="/docs/4.0/cayenne-guide/">Cayenne Guide (4.0)</a>
</li>
<li>
<a href="/docs/4.1/cayenne-guide/">Cayenne Guide (4.1)</a>
</li>
<li>
<a href="/docs/4.2/cayenne-guide/">Cayenne Guide (4.2)</a>
</li>
<li>
<a href="/docs/4.1/getting-started-db-first/">Database First tutorial (4.1)</a>
</li>
<li>
<a href="/docs/4.2/getting-started-db-first/">Database First tutorial (4.2)</a>
</li>
<li>
<a href="/legacy/legacy-docs/">Legacy Documentation</a>
</li>
</ul>
</div>
<div class="col-sm-6 col-lg-3">
<h4>Collaboration</h4>
<ul class="list-unstyled">
<li>
<a href="https://issues.apache.org/jira/browse/CAY">Bug/Feature Tracker</a>
</li>
<li>
<a href="/mailing-lists.html">Mailing Lists</a>
</li>
<li>
<a href="/dev/code-repository.html">Code Repository</a>
</li>
<li>
<a href="/dev/">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>
<li>
<a href="/thanks.html">Thanks</a>
</li>
</ul>
</div>
<div class="col-sm-6 col-lg-3">
<h4>News</h4>
<ul class="list-multiline-items list-unstyled mb-0">
<li>
<time datetime="2023-05-25 18:00:00 &#43;0300 &#43;0300" class="xsmall d-block">May 25, 2023</time>
<a href="/2023/05/cayenne-42-final-released/">Cayenne 4.2 Final Released</a>
</li>
<li>
<time datetime="2023-03-02 12:00:00 &#43;0300 &#43;0300" class="xsmall d-block">Mar 02, 2023</time>
<a href="/2023/03/cayenne-403-released/">Cayenne 4.0.3 Released</a>
</li>
<li>
<time datetime="2022-12-05 12:00:00 &#43;0300 &#43;0300" class="xsmall d-block">Dec 05, 2022</time>
<a href="/2022/12/cayenne-42rc2-released/">Cayenne 4.2 Release Candidate 2 Released</a>
</li>
</ul>
<a class="btn-link text-uppercase xsmall" href="https://cayenne.apache.org/news">
More news
<i class="fa fa-lg fa-long-arrow-right" aria-hidden="true"></i>
</a>
</div>
</div>
<hr class="mt-0 mb-3" />
<p class="copy xsmall text-center mw-75 mx-auto mb-0">
Copyright © 2001-2024 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="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a>.
<img class="d-block mx-auto mt-2" src="/img/logo_mono-3302daa3cf.svg" alt="Apache Cayenne" />
</p>
</div>
</footer>
</body>
</html>