You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by da...@apache.org on 2019/04/04 13:37:14 UTC
svn commit: r1856934 - in /jackrabbit/site/live/oak/docs:
diagnostic-builds.html release-schedule.html
Author: davide
Date: Thu Apr 4 13:37:14 2019
New Revision: 1856934
URL: http://svn.apache.org/viewvc?rev=1856934&view=rev
Log:
OAK-8193 - Update docs with new release strategies
Modified:
jackrabbit/site/live/oak/docs/diagnostic-builds.html
jackrabbit/site/live/oak/docs/release-schedule.html
Modified: jackrabbit/site/live/oak/docs/diagnostic-builds.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/diagnostic-builds.html?rev=1856934&r1=1856933&r2=1856934&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/diagnostic-builds.html (original)
+++ jackrabbit/site/live/oak/docs/diagnostic-builds.html Thu Apr 4 13:37:14 2019
@@ -1,13 +1,13 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2019-04-02
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2019-04-04
| Rendered using Apache Maven Fluido Skin 1.6
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20190402" />
+ <meta name="Date-Revision-yyyymmdd" content="20190404" />
<meta http-equiv="Content-Language" content="en" />
<title>Jackrabbit Oak – Cutting diagnostic builds</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
@@ -142,7 +142,7 @@
<div id="breadcrumbs">
<ul class="breadcrumb">
- <li id="publishDate">Last Published: 2019-04-02<span class="divider">|</span>
+ <li id="publishDate">Last Published: 2019-04-04<span class="divider">|</span>
</li>
<li id="projectVersion">Version: 1.12-SNAPSHOT</li>
</ul>
@@ -257,10 +257,46 @@
<h1>Cutting diagnostic builds</h1>
<p>The cutting of a diagnostic build, is the process where you want to deliver one or more oak bundles, let’s say <tt>oak-core</tt> into a specific environment in order to assess whether it actually solves the issues.</p>
<p>What you are aiming is to eventually produce a bundle in the format of, for example, <tt>oak-core-1.0.22-R2707077</tt>.</p>
-<p>Let’s see it through an example.</p>
+<p>Let’s see it through examples. We’ll consider the case for <b>Branches</b> and <b>Trunk</b>.</p>
+<div class="section">
+<h2><a name="Trunk"></a>Trunk</h2>
+<p>We want to produce a diagnostic build of <tt>oak-core</tt> for what it will be Oak <b>1.16.0</b>. It means we currently have in our <tt>pom.xml</tt> a version of <tt><version>1.16-SNAPSHOT</version></tt>.</p>
+<div class="section">
+<h3><a name="What_version_shall_I_use"></a>What version shall I use?</h3>
+<p>Open the svn directory where trunk is and issue a</p>
+
+<div>
+<div>
+<pre class="source">$ svn up
+$ svn info
+</pre></div></div>
+
+<p>you will see something like</p>
+
+<div>
+<div>
+<pre class="source">Working Copy Root Path: /apache/oak-svn-1.0
+URL: https://svn.apache.org/repos/asf/jackrabbit/oak/branches/1.0
+Repository Root: https://svn.apache.org/repos/asf
+Repository UUID: 13f79535-47bb-0310-9956-ffa450edef68
+Revision: 1708581
+Node Kind: directory
+Schedule: normal
+Last Changed Author: chetanm
+Last Changed Rev: 1708547
+Last Changed Date: 2015-10-14 06:56:40 +0100 (Wed, 14 Oct 2015)
+</pre></div></div>
+
+<p>what you’re interested is the revision number. In our case: <tt>1708581</tt>.</p>
+<p>This means you’ll produce a bundle with a version of <tt>1.15-R2708581</tt>.</p>
+<p><b>Note that the produced version is lower then the official release you’re working on. 1.15 vs 1.16.0</b></p>
+<p><b>Note to use the ‘-R’ (uppercase) instead of ‘-r’ (lowercase) as it will be lower than ‘-SNAPSHOT’. Doing otherwise will result in troubles when trying to apply a ‘-SNAPSHOT’ version on top of the internal build</b></p>
+<p>If you’re in doubt about what versioning and how OSGi or Maven will behave have a look at the <a class="externalLink" href="http://versionatorr.appspot.com/">Versionatorr App</a>. You want your diagnostic build to be <b>always less than</b> the oak version where your fix is going to be released.</p></div></div>
+<div class="section">
+<h2><a name="Branches"></a>Branches</h2>
<p>We want to produce a diagnostic build of <tt>oak-core</tt> for what it will be Oak <b>1.0.23</b>. It means we currently have in our <tt>pom.xml</tt> a version of <tt><version>1.0.23-SNAPSHOT</version></tt>.</p>
<div class="section">
-<h2><a name="What_version_shall_I_use"></a>What version shall I use?</h2>
+<h3><a name="What_version_shall_I_use"></a>What version shall I use?</h3>
<p>Open the svn directory where the 1.0 branch is and issue a</p>
<div>
@@ -289,10 +325,12 @@ Last Changed Date: 2015-10-14 06:56:40 +
<p>This means you’ll produce a bundle with a version of <tt>1.0.22-R2708581</tt>.</p>
<p><b>Note that the produced version is lower then the official release you’re working on. 1.0.22 vs 1.0.23</b></p>
<p><b>Note to use the ‘-R’ (uppercase) instead of ‘-r’ (lowercase) as it will be lower than ‘-SNAPSHOT’. Doing otherwise will result in troubles when trying to apply a ‘-SNAPSHOT’ version on top of the internal build</b></p>
-<p>If you’re in doubt about what versioning and how OSGi or Maven will behave have a look at the <a class="externalLink" href="http://versionatorr.appspot.com/">Versionatorr App</a>. You want your diagnostic build to be <b>always less than</b> the oak version where your fix is going to be released.</p></div>
+<p>If you’re in doubt about what versioning and how OSGi or Maven will behave have a look at the <a class="externalLink" href="http://versionatorr.appspot.com/">Versionatorr App</a>. You want your diagnostic build to be <b>always less than</b> the oak version where your fix is going to be released.</p></div></div>
+<div class="section">
+<h2><a name="Both_Branches_and_Trunk_same_process"></a>Both Branches and Trunk (same process)</h2>
<div class="section">
-<h2><a name="Changing_the_version_in_all_the_poms."></a>Changing the version in all the poms.</h2>
-<p>Now that you know you want to produce <tt>1.0.22-R2708581</tt> you have to change all the poms accordingly.</p>
+<h3><a name="Changing_the_version_in_all_the_poms."></a>Changing the version in all the poms.</h3>
+<p>Now. From our examples above you either want to produce <tt>1.0.22-R2708581</tt> or <tt>1.15-R2708581</tt>. For sake of simplicty we’ll detail only the <tt>1.0.22-R2708581</tt> case. For <tt>1.15-R2708581</tt> you simply have to change the version.</p>
<p>Go into <tt>oak-parent</tt> and issue the following maven command.</p>
<div>
@@ -308,7 +346,7 @@ Last Changed Date: 2015-10-14 06:56:40 +
</pre></div></div>
</div>
<div class="section">
-<h2><a name="Building_the_release"></a>Building the release</h2>
+<h3><a name="Building_the_release"></a>Building the release</h3>
<p>Now you can build the release as usual</p>
<div>
@@ -318,13 +356,13 @@ Last Changed Date: 2015-10-14 06:56:40 +
<p>and you’ll have a full oak build with the version <tt>1.0.22-R2708581</tt>. Go into <tt>oak-core/target</tt> and take the produced jar.</p></div>
<div class="section">
-<h2><a name="Re-setting_the_svn_branch"></a>Re-setting the svn branch</h2>
+<h3><a name="Re-setting_the_svn_branch"></a>Re-setting the svn branch</h3>
<p>You don’t want to commit the changes back to svn so we reset the branch as the original state</p>
<div>
<div>
<pre class="source">jackrabbit-oak$ mvn versions:revert
-</pre></div></div></div>
+</pre></div></div></div></div>
</div>
</div>
</div>
Modified: jackrabbit/site/live/oak/docs/release-schedule.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/release-schedule.html?rev=1856934&r1=1856933&r2=1856934&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/release-schedule.html (original)
+++ jackrabbit/site/live/oak/docs/release-schedule.html Thu Apr 4 13:37:14 2019
@@ -1,15 +1,15 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2019-04-02
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2019-04-04
| Rendered using Apache Maven Fluido Skin 1.6
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20190402" />
+ <meta name="Date-Revision-yyyymmdd" content="20190404" />
<meta http-equiv="Content-Language" content="en" />
- <title>Jackrabbit Oak – Release Schedule</title>
+ <title>Jackrabbit Oak – Releases</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
<link rel="stylesheet" href="./css/site.css" />
<link rel="stylesheet" href="./css/print.css" media="print" />
@@ -142,7 +142,7 @@
<div id="breadcrumbs">
<ul class="breadcrumb">
- <li id="publishDate">Last Published: 2019-04-02<span class="divider">|</span>
+ <li id="publishDate">Last Published: 2019-04-04<span class="divider">|</span>
</li>
<li id="projectVersion">Version: 1.12-SNAPSHOT</li>
</ul>
@@ -254,18 +254,61 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<h1>Release Schedule</h1>
-<p>Here is the frequency where the team <b>aim</b> to cut new releases. As we strive for quality rather than frequency the date may slip according to needs.</p>
+<h1>Releases</h1>
+<div class="section">
+<h2><a name="Schedule"></a>Schedule</h2>
+<p>We <i>aim</i> at keeping this frequency for releses. However dates may slip according to needs</p>
<ul>
-<li>Trunk: TBD</li>
+<li>trunk: every 8 weeks (~6 / year)</li>
<li>1.10: every 4 weeks (~12 / year)</li>
<li>1.8: every 8 weeks (~6 / year)</li>
<li>1.6: every 13 weeks (~4 / year)</li>
<li>1.4: every 26 weeks (~2 / year)</li>
<li>1.2: every 52 weeks (1 / year)</li>
<li>1.0: every 52 weeks (1 / year)</li>
+</ul></div>
+<div class="section">
+<h2><a name="Strategies"></a>Strategies</h2>
+<p>For a full discussion around these topics see in <a class="externalLink" href="https://lists.apache.org/thread.html/9a7c0e2fdfab5deb051fbd99add6c2b7109d750805b6182138eece55@%3Coak-dev.jackrabbit.apache.org%3E">oak-dev archives</a>.</p>
+<ul>
+
+<li>trunk will be considered stable</li>
+<li>only releases from trunk other than existing branches</li>
+<li>any previous release from trunk will be automatically deprecated</li>
+</ul></div>
+<div class="section">
+<h2><a name="Branching"></a>Branching</h2>
+<p>Branching will not happen other than in specific circumstances. Such as, but not limited to:</p>
+<ul>
+
+<li>incompatible API changes</li>
+<li>incompatible JVM changes</li>
+<li>updates to dependencies that breaks backward compatibility</li>
</ul>
+<p>In short: most probably it will always be around non-backward-compatible changes</p>
+<p>Anyhow in such cases the branching is not automatic and will be discussed between PMCs a best course of actions. Alternatives may be a different way to implement something breaking.</p></div>
+<div class="section">
+<h2><a name="Version_Numbers"></a>Version Numbers</h2>
+<p><i>Version Numbers</i></p>
+<ul>
+
+<li>
+
+<p>Released versions will be in the format of <tt>Major.Minor.Patch</tt> where, as rule of thumb we will increase</p>
+<p>MAJOR for incompatible API changes<br />
+MINOR for new backwards-compatible functionality PATCH for backwards-compatible bug fixes.</p>
+</li>
+<li>
+
+<p>We’ll keep the even/odd schema</p>
+</li>
+<li>Any new official release will be always even: 1.12.0, 1.14.0, 1.16.0, …, 1.124.0</li>
+<li>A release will always be with a patch number (the last part) of <tt>.0</tt>. This ease OSGi deployments.</li>
+<li>Diagnostic builds will be cut with the odd version and <tt>-Rxxx</tt> such as <tt>1.15-R12345</tt>.</li>
+<li>In case of branching the increased part will always be the PATCH so: <tt>1.16.0</tt>, <tt>1.16.1</tt>, <tt>1.16.2</tt>, etc.</li>
+<li>In case of branching the diagnostic build will follow the current pattern: <tt>1.16.5-R12345</tt></li>
+</ul></div>
</div>
</div>
</div>