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 &#x2013; 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&#x2019;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&#x2019;s see it through an example.</p>
+<p>Let&#x2019;s see it through examples. We&#x2019;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>&lt;version&gt;1.16-SNAPSHOT&lt;/version&gt;</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&#x2019;re interested is the revision number. In our case: <tt>1708581</tt>.</p>
+<p>This means you&#x2019;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&#x2019;re working on. 1.15 vs 1.16.0</b></p>
+<p><b>Note to use the &#x2018;-R&#x2019; (uppercase) instead of &#x2018;-r&#x2019; (lowercase) as it will be lower than &#x2018;-SNAPSHOT&#x2019;. Doing otherwise will result in troubles when trying to apply a &#x2018;-SNAPSHOT&#x2019; version on top of the internal build</b></p>
+<p>If you&#x2019;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>&lt;version&gt;1.0.23-SNAPSHOT&lt;/version&gt;</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&#x2019;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&#x2019;re working on. 1.0.22 vs 1.0.23</b></p>
 <p><b>Note to use the &#x2018;-R&#x2019; (uppercase) instead of &#x2018;-r&#x2019; (lowercase) as it will be lower than &#x2018;-SNAPSHOT&#x2019;. Doing otherwise will result in troubles when trying to apply a &#x2018;-SNAPSHOT&#x2019; version on top of the internal build</b></p>
-<p>If you&#x2019;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&#x2019;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&#x2019;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&#x2019;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&#x2019;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 &#x2013; Release Schedule</title>
+    <title>Jackrabbit Oak &#x2013; 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&#x2019;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, &#x2026;, 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>