You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2015/06/16 08:32:16 UTC

svn commit: r1685718 [41/47] - in /isis/site/trunk/content: ./ css/ css/asciidoctor/ css/font-awesome/ css/font-awesome/4.3.0/ css/font-awesome/4.3.0/css/ css/font-awesome/4.3.0/fonts/ css/font-awesome/4.3.0/less/ css/font-awesome/4.3.0/scss/ css/found...

Added: isis/site/trunk/content/release-process-one-pager.html
URL: http://svn.apache.org/viewvc/isis/site/trunk/content/release-process-one-pager.html?rev=1685718&view=auto
==============================================================================
--- isis/site/trunk/content/release-process-one-pager.html (added)
+++ isis/site/trunk/content/release-process-one-pager.html Tue Jun 16 06:32:10 2015
@@ -0,0 +1,1114 @@
+<!doctype html>

+<html class="no-js" lang="en">

+<head>

+    <meta charset="utf-8"/>

+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>

+

+    <title>Release Process (1 pager)</title>

+

+    <!--

+        Licensed to the Apache Software Foundation (ASF) under one

+        or more contributor license agreements.  See the NOTICE file

+        distributed with this work for additional information

+        regarding copyright ownership.  The ASF licenses this file

+        to you under the Apache License, Version 2.0 (the

+        "License"); you may not use this file except in compliance

+        with the License.  You may obtain a copy of the License at

+

+        http://www.apache.org/licenses/LICENSE-2.0

+

+        Unless required by applicable law or agreed to in writing,

+        software distributed under the License is distributed on an

+        "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+        KIND, either express or implied.  See the License for the

+        specific language governing permissions and limitations

+        under the License.

+    -->

+

+    <!-- No caching headers -->

+    <meta http-equiv="cache-control" content="no-cache" />

+    <meta http-equiv="pragma" content="no-cache" />

+    <meta http-equiv="expires" content="-1" />

+

+

+    <!-- TODO: need to (re)instate CDN in the future (not using for now just so can develop off-line -->

+    <link href="./css/foundation/5.5.1/foundation.css" rel="stylesheet" />

+    <script src="./js/foundation/5.5.1/vendor/modernizr.js"></script>

+    <link href="./css/asciidoctor/colony.css" rel="stylesheet">

+    <link href="./css/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">

+

+

+

+

+    <link href="./css/github-fork-ribbon-css/0.1.1/gh-fork-ribbon.css" rel="stylesheet" />

+    <!--[if lt IE 9]>

+      <link href="./css/github-fork-ribbon-css/0.1.1/gh-fork-ribbon.ie.css" rel="stylesheet" />

+    <![endif]-->

+

+

+    <style type="text/css">

+        /* Stylesheet for CodeRay to match GitHub theme | MIT License | http://foundation.zurb.com */
+/*pre.CodeRay {background-color:#f7f7f8;}*/
+.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
+.CodeRay span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
+.CodeRay .line-numbers strong{font-weight: normal}
+table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
+table.CodeRay td{vertical-align: top}
+table.CodeRay td.line-numbers{text-align:right}
+table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
+table.CodeRay td.code{padding:0 0 0 .5em}
+table.CodeRay td.code>pre{padding:0}
+.CodeRay .debug{color:#fff !important;background:#000080 !important}
+.CodeRay .annotation{color:#007}
+.CodeRay .attribute-name{color:#000080}
+.CodeRay .attribute-value{color:#700}
+.CodeRay .binary{color:#509}
+.CodeRay .comment{color:#998;font-style:italic}
+.CodeRay .char{color:#04d}
+.CodeRay .char .content{color:#04d}
+.CodeRay .char .delimiter{color:#039}
+.CodeRay .class{color:#458;font-weight:bold}
+.CodeRay .complex{color:#a08}
+.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
+.CodeRay .color{color:#099}
+.CodeRay .class-variable{color:#369}
+.CodeRay .decorator{color:#b0b}
+.CodeRay .definition{color:#099}
+.CodeRay .delimiter{color:#000}
+.CodeRay .doc{color:#970}
+.CodeRay .doctype{color:#34b}
+.CodeRay .doc-string{color:#d42}
+.CodeRay .escape{color:#666}
+.CodeRay .entity{color:#800}
+.CodeRay .error{color:#808}
+.CodeRay .exception{color:inherit}
+.CodeRay .filename{color:#099}
+.CodeRay .function{color:#900;font-weight:bold}
+.CodeRay .global-variable{color:#008080}
+.CodeRay .hex{color:#058}
+.CodeRay .integer,.CodeRay .float{color:#099}
+.CodeRay .include{color:#555}
+.CodeRay .inline{color:#00}
+.CodeRay .inline .inline{background:#ccc}
+.CodeRay .inline .inline .inline{background:#bbb}
+.CodeRay .inline .inline-delimiter{color:#d14}
+.CodeRay .inline-delimiter{color:#d14}
+.CodeRay .important{color:#555;font-weight:bold}
+.CodeRay .interpreted{color:#b2b}
+.CodeRay .instance-variable{color:#008080}
+.CodeRay .label{color:#970}
+.CodeRay .local-variable{color:#963}
+.CodeRay .octal{color:#40e}
+.CodeRay .predefined{color:#369}
+.CodeRay .preprocessor{color:#579}
+.CodeRay .pseudo-class{color:#555}
+.CodeRay .directive{font-weight:bold}
+.CodeRay .type{font-weight:bold}
+.CodeRay .predefined-type{color:inherit}
+.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold}
+.CodeRay .key{color:#808}
+.CodeRay .key .delimiter{color:#606}
+.CodeRay .key .char{color:#80f}
+.CodeRay .value{color:#088}
+.CodeRay .regexp .delimiter{color:#808}
+.CodeRay .regexp .content{color:#808}
+.CodeRay .regexp .modifier{color:#808}
+.CodeRay .regexp .char{color:#d14}
+.CodeRay .regexp .function{color:#404;font-weight:bold}
+.CodeRay .string{color:#d20}
+.CodeRay .string .string .string{background:#ffd0d0}
+.CodeRay .string .content{color:#d14}
+.CodeRay .string .char{color:#d14}
+.CodeRay .string .delimiter{color:#d14}
+.CodeRay .shell{color:#d14}
+.CodeRay .shell .delimiter{color:#d14}
+.CodeRay .symbol{color:#990073}
+.CodeRay .symbol .content{color:#a60}
+.CodeRay .symbol .delimiter{color:#630}
+.CodeRay .tag{color:#008080}
+.CodeRay .tag-special{color:#d70}
+.CodeRay .variable{color:#036}
+.CodeRay .insert{background:#afa}
+.CodeRay .delete{background:#faa}
+.CodeRay .change{color:#aaf;background:#007}
+.CodeRay .head{color:#f8f;background:#505}
+.CodeRay .insert .insert{color:#080}
+.CodeRay .delete .delete{color:#800}
+.CodeRay .change .change{color:#66f}
+.CodeRay .head .head{color:#f4f}

+

+        pre.CodeRay code {

+            background-color: inherit;

+            border-style: none;

+        }

+

+        pre.CodeRay code > span:first-child {

+            margin-left: -5px;

+        }

+

+        .literalblock pre,

+        .listingblock pre:not(.highlight),

+        .listingblock pre[class="highlight"],

+        .listingblock pre[class^="highlight "],

+        .listingblock pre.CodeRay,

+        .listingblock pre.prettyprint {

+            background: rgb(253, 250, 246);

+         }

+        .sidebarblock .literalblock pre,

+        .sidebarblock .listingblock pre:not(.highlight),

+        .sidebarblock .listingblock pre[class="highlight"],

+        .sidebarblock .listingblock pre[class^="highlight "],

+        .sidebarblock .listingblock pre.CodeRay,

+        .sidebarblock .listingblock pre.prettyprint {

+            background: rgb(253, 250, 246);

+         }

+

+    <style>

+

+    <style>

+    .github-fork-ribbon-wrapper.right {

+        position: fixed;

+    }

+    .github-fork-ribbon {

+        background: #090;

+    }

+    .github-fork-ribbon a:hover {

+        background:#0D0;

+        color:#fff;

+        font-size: 1.1em;

+    }

+    </style>

+

+    <style>

+        @media only screen and (min-width: 40.063em) {

+          .top-bar {

+            .contain-to-grid .top-bar {

+                max-width: 80rem;

+            }

+          }

+        }

+        .row {

+            max-width: 80rem;

+        }

+    </style>

+

+    <style>

+        .extended-quote,

+        .extended-quote-first {

+            margin-left: 40px;

+            margin-right: 40px;

+            font-style: italic;

+        }

+        .extended-quote-attribution {

+            text-align: right;

+            margin-right: 100px;

+            color: #10B061;

+        }

+

+        .extended-quote-first:before {

+            content: "\201c";

+            float: left;

+            font-size: 2.75em;

+            font-weight: bold;

+            line-height: 0.6em;

+            margin-left: -0.6em;

+            color: #003b6b;

+            text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);

+        }

+    </style>

+

+    <style>

+        body {

+          position: relative;

+        }

+

+        *:not(pre) a > code {

+            color: #210DDC;

+        }

+

+        *:not(pre) > code {

+            background-color: inherit;

+            border: none;

+            font-weight: normal;

+        }

+

+        body div#toc li,

+        body div#toc2 li {

+            list-style-type: none;

+        }

+

+        div#doc-content {

+            margin-top: 30px;

+        }

+

+        body div#toc li.active-region:before,

+        body div#toc2 li.active-region:before {

+            content: "\00BB \0020";

+            margin-left: -12px;

+        }

+

+        body div#toc li a.active,

+        body div#toc2 li a.active {

+            color: red;

+        }

+

+        body div#toc.toc,

+        body div#toc.toc2 {

+            position: fixed;

+            left: auto;

+            padding-top: 60px;

+            z-index: auto;

+            background-color: white;

+            border-left-color: #eee;

+            border-left-style: solid;

+            border-right: none;

+            min-height: 2000px;

+        }

+

+    </style>

+

+    <style>

+

+        @media only screen and (min-width: 768px) {

+          #toc.toc2 ul ul { margin-left: -10px; }

+        }

+

+

+        body div#toc .tocify-subheader ul {

+            margin-bottom: 0px;

+        }

+

+        body div#toc .tocify-subheader li {

+            font-size: 14px;

+        }

+        .tocify li.tocify-item, .tocify ul.tocify-item {

+            line-height: 24px;

+        }

+

+        body div#toc li.tocify-item.active:before,

+        body div#toc2 li.tocify-item.active:before {

+            content: "\00BB \0020";

+            margin-left: -12px;

+        }

+

+        body div#toc li.tocify-item.active a,

+        body div#toc2 li.tocify-item.active a {

+            color: red;

+        }

+    </style>

+

+    <style>

+        footer {

+            margin-top: 1000px;

+        }

+    </style>

+

+    <style>

+        /* overriding colony.css stylesheet */

+        .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] {

+           /*padding: 1.25em 1.5625em 1.125em 1.5625em;*/

+           padding: 0.3em 0.6em 0.25em 0.6em;

+        }

+        @media only screen and (min-width: 1280px)

+        #toc.toc2 {

+          /*width: 20em;*/

+          width: 25em;

+        }

+

+        #doc-content a {

+          color: #210DDC;

+        }

+

+        .top-bar h1 {

+            border-bottom: inherit;

+        }

+

+        h2 {

+          margin-top: 80px;

+        }

+        h3 {

+          margin-top: 40px;

+        }

+        h4,h5 {

+          margin-top: 30px;

+        }

+

+        .admonitionblock.tip > table td.content {

+            color: #10B061;

+        }

+        .admonitionblock.note > table td.content {

+            color: #B509AB;

+        }

+        .admonitionblock.important > table td.content {

+            color: #D5810A;

+        }

+

+        .admonitionblock .title {

+            font-size: larger;

+            font-style: italic;

+        }

+

+        .imageblock img {

+            margin-bottom: 10px;

+        }

+    </style>

+

+    <style>

+        /* from http://ben.balter.com/2014/03/13/pages-anchor-links/ */

+        .header-link {

+          position: absolute;

+          left: -0.5em;

+          opacity: 0;

+

+          /*

+          -webkit-transition: opacity 0.2s ease-in-out 0.1s;

+          -moz-transition: opacity 0.2s ease-in-out 0.1s;

+          -ms-transition: opacity 0.2s ease-in-out 0.1s;

+          */

+        }

+

+        h2:hover .header-link,

+        h3:hover .header-link,

+        h4:hover .header-link,

+        h5:hover .header-link,

+        h6:hover .header-link {

+          opacity: 1;

+        }

+    </style>

+

+    <style>

+        .top-bar

+        {

+            -webkit-transition-duration: .5s;

+            transition-duration: .5s;

+

+            -webkit-transition-timing-function: cubic-bezier( 0.215, 0.610, 0.355, 1.000 );

+            transition-timing-function: cubic-bezier( 0.215, 0.610, 0.355, 1.000 );

+

+            -webkit-transition-property: -webkit-transform;

+            transition-property: transform;

+        }

+

+        /*

+        http://osvaldas.info/auto-hide-sticky-header

+        MIT license

+        */

+        .header--hidden

+        {

+            -webkit-transform: translateY( -100% );

+            -ms-transform: translateY( -100% );

+            transform: translateY( -100% );

+

+            transition-duration: .5s;

+            transition-timing-function: cubic-bezier( 0.215, 0.610, 0.355, 1.000 );

+            -webkit-transition-property: -webkit-transform;

+            transition-property: transform;

+        }

+    </style>

+

+    <style>

+        #doc-content a.guide {

+            color: white;

+        }

+    </style>

+

+    <style>

+        .tocify {

+            margin-top: 80px;

+        }

+    </style>

+

+

+</script>

+

+</head>

+<body>

+

+<<div class="github-fork-ribbon-wrapper right" style="position: fixed;">

+    <div class="github-fork-ribbon">

+        <a href="https://github.com/apache/isis/fork">Fork me on GitHub</a>

+    </div>

+</div>

+

+

+<div class="row">

+

+    <div class="fixed contain-to-grid header">

+        <nav class="top-bar" data-topbar role="navigation" style="max-width: 80rem">

+            <ul class="title-area">

+                <li class="name">

+                    <h1>

+                        <a href="/index.html">Apache Isis&trade;</a>

+                    </h1>

+                </li>

+                <!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone -->

+                <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li>

+            </ul>

+

+            <section class="top-bar-section">

+                <ul class="right">

+

+                    <li class="has-form">

+                       <FORM class="searchbox navbar-form navbar-right" id="searchbox_012614087480249044419:dn-q5gtwxya" action="http://www.google.com/cse">

+                        <div class="row collapse">

+                            <input type="hidden" name="cx" value="012614087480249044419:dn-q5gtwxya">

+                            <INPUT type="hidden" name="cof" value="FORID:0">

+                            <INPUT class="form-control" name="q" type="text" placeholder="Search">

+                        </div>

+                    </FORM>

+                     </li>

+

+                </ul>

+

+                <!-- Left Nav Section -->

+                <ul class="left">

+

+                    <li><a href="/documentation.html">Documentation</a></li>

+                    <li><a href="/downloads.html">Downloads</a></li>

+                    <li><a href="/help.html">Help</a></li>

+                    <li><a href="/asf.html">@ASF</a></li>

+

+                </ul>

+

+            </section>

+        </nav>

+    </div>

+</div>

+

+<div class="row">

+

+    <div id="doc-content-left" class="large-9 medium-9 columns">

+

+

+        <div id="doc-content">

+          <div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p><br/><br/></p>
+</div>
+<div class="paragraph">
+<p>See also the <a href="release-process.html">full release process</a> and the <a href="release-checklist.html">release checklist</a>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_switch_to_correct_directory_parameterize_the_release">Switch to correct directory, parameterize the release</h2>
+<div class="sectionbody">
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Make sure you are in the correct directory (eg <code>core</code>, or <code>example/archetype/zzz</code>)</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>if you are releasing <code>core</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code>cd core
+
+export ISISTMP=/c/tmp              # or whatever
+export ISISART=isis
+export ISISDEV=1.9.0-SNAPSHOT
+export ISISREL=1.8.0
+export ISISRC=RC1
+
+export ISISCOR="Y"
+env | grep ISIS | sort</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>See <a href="recreating-an-archetype.html">here</a> for details on recreating and releasing an archetype.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_get_code">Get code</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Pull down latest, create branch (eg <code>prepare/isis-1.8.0</code>):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code>git checkout master
+git pull --ff-only
+git checkout -b $ISISART-$ISISREL</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_update_parent_pom">Update parent pom</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Check:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>parent is <code>org.apache:apache</code> (non-SNAPSHOT version)</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_check_for_snapshot_dependencies">Check for SNAPSHOT dependencies</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Search for any non-<code>SNAPSHOT</code> usages (including tck project, if any):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code>grep SNAPSHOT `/bin/find . -name pom.xml | grep -v target | sort`</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>or (more thoroughly):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code>vi `/bin/find . -name pom.xml | grep -v target | sort`</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_sanity_check">Sanity check</h2>
+<div class="sectionbody">
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Make sure you are in the correct directory (eg <code>core</code>, or <code>example/archetype/zzz</code>)</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Clean all local mvn artifacts and rebuild with <code>-o</code> flag:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code>cd core
+
+rm -rf ~/.m2/repository/org/apache/isis
+mvn clean install -o</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_check_versions">Check versions</h2>
+<div class="sectionbody">
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-tip" title="Tip"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Actually, you may want to defer this and do after cutting the release (ie beginning of a new dev cycle)</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_update_plugin_versions">Update plugin versions</h3>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code>mvn versions:display-plugin-updates &gt; /tmp/foo
+grep "\-&gt;" /tmp/foo | /bin/sort -u</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_newer_dependencies">Newer dependencies:</h3>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code>mvn versions:display-dependency-updates &gt; /tmp/foo
+grep "\-&gt;" /tmp/foo | /bin/sort -u</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_update_license_information">Update license information</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_missing_license_headers_in_files">Missing license headers in files:</h3>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code>mvn org.apache.rat:apache-rat-plugin:check -D rat.numUnapprovedLicenses=50 -o
+for a in `/bin/find . -name rat.txt -print`; do grep '!???' $a; done</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_missing_spurious_code_supplemental_models_xml_code">Missing/spurious <code>supplemental-models.xml</code></h3>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code>mvn license:download-licenses
+if [ "$ISISCOR" == "Y" ]; then
+    groovy ../scripts/checkmissinglicenses.groovy
+else
+    groovy ../../../scripts/checkmissinglicenses.groovy
+fi</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_commit_changes">Commit changes</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Commit any changes from the preceding steps:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code>git commit -am "ISIS-nnnn: updates to pom.xml etc for release"</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_release">Release</h2>
+<div class="sectionbody">
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Make sure you are in the correct directory (eg <code>core</code>, or <code>example/archetype/zzz</code>)</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_prepare">Prepare:</h3>
+<div class="paragraph">
+<p>first the dry run:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code>mvn release:prepare -P apache-release \
+                    -DdryRun=true \
+                    -DreleaseVersion=$ISISREL \
+                    -DdevelopmentVersion=$ISISDEV \
+                    -Dtag=$ISISART-$ISISREL-$ISISRC</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>then "for real":</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code>mvn release:prepare -P apache-release -DskipTests=true -Dresume=false \
+                    -DreleaseVersion=$ISISREL \
+                    -DdevelopmentVersion=$ISISDEV \
+                    -Dtag=$ISISART-$ISISREL-$ISISRC</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_confirm">Confirm:</h3>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code>rm -rf $ISISTMP/$ISISART-$ISISREL
+mkdir $ISISTMP/$ISISART-$ISISREL
+
+if [ "$ISISCOR" == "Y" ]; then
+    ZIPDIR="$M2_REPO/repository/org/apache/isis/core/$ISISART/$ISISREL"
+else
+    ZIPDIR="$M2_REPO/repository/org/apache/isis/$ISISCPT/$ISISART/$ISISREL"
+fi
+echo "cp \"$ZIPDIR/$ISISART-$ISISREL-source-release.zip\" $ISISTMP/$ISISART-$ISISREL/."
+cp "$ZIPDIR/$ISISART-$ISISREL-source-release.zip" $ISISTMP/$ISISART-$ISISREL/.
+
+pushd $ISISTMP/$ISISART-$ISISREL
+unzip $ISISART-$ISISREL-source-release.zip
+
+cd $ISISART-$ISISREL
+mvn clean install
+
+cat DEPENDENCIES
+
+popd</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_perform">Perform:</h3>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code>mvn release:perform -P apache-release \
+    -DworkingDirectory=$ISISTMP/$ISISART-$ISISREL/checkout</code></pre>
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>The <code>workingDirectory</code> property is to avoid 260 char path issue if building on Windows.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_nexus_staging">Nexus staging</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Log onto <a href="http://repository.apache.org">repository.apache.org</a> and close the staging repo.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_git_branches_tags">Git branches/tags</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Push branch:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code>git push -u origin $ISISART-$ISISREL</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Then push tag:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code>git push origin refs/tags/$ISISART-$ISISREL-$ISISRC:refs/tags/$ISISART-$ISISREL-$ISISRC
+git fetch</code></pre>
+</div>
+</div>
+</div>
+</div>

+        </div>

+

+        <footer>

+          <hr>

+          <p class="small">

+          Copyright &copy; 2010~2015 The Apache&nbsp;Software&nbsp;Foundation, licensed under the Apache&nbsp;License,&nbsp;v2.0.

+          <br/>

+          Apache, the Apache feather logo, Apache&nbsp;Isis, and the Apache&nbsp;Isis project logo are all trademarks of The&nbsp;Apache&nbsp;Software&nbsp;Foundation.

+          </p>

+        </footer>

+

+    </div>

+

+    <div id="doc-content-right" class="large-3 medium-3 xcolumns">

+        <div id="toc" class="toc2">

+            <div class="fallback-toc">

+                <ul class="sectlevel1">
+<li><a href="#_switch_to_correct_directory_parameterize_the_release">Switch to correct directory, parameterize the release</a></li>
+<li><a href="#_get_code">Get code</a></li>
+<li><a href="#_update_parent_pom">Update parent pom</a></li>
+<li><a href="#_check_for_snapshot_dependencies">Check for SNAPSHOT dependencies</a></li>
+<li><a href="#_sanity_check">Sanity check</a></li>
+<li><a href="#_check_versions">Check versions</a>
+<ul class="sectlevel2">
+<li><a href="#_update_plugin_versions">Update plugin versions</a></li>
+<li><a href="#_newer_dependencies">Newer dependencies:</a></li>
+</ul>
+</li>
+<li><a href="#_update_license_information">Update license information</a>
+<ul class="sectlevel2">
+<li><a href="#_missing_license_headers_in_files">Missing license headers in files:</a></li>
+<li><a href="#_missing_spurious_code_supplemental_models_xml_code">Missing/spurious <code>supplemental-models.xml</code></a></li>
+</ul>
+</li>
+<li><a href="#_commit_changes">Commit changes</a></li>
+<li><a href="#_release">Release</a>
+<ul class="sectlevel2">
+<li><a href="#_prepare">Prepare:</a></li>
+<li><a href="#_confirm">Confirm:</a></li>
+<li><a href="#_perform">Perform:</a></li>
+</ul>
+</li>
+<li><a href="#_nexus_staging">Nexus staging</a></li>
+<li><a href="#_git_branches_tags">Git branches/tags</a></li>
+</ul>

+            </div>

+        </div>

+    </div>

+

+</div>

+

+

+<script src="./js/foundation/5.5.1/vendor/jquery.js"></script>

+<script src="./js/foundation/5.5.1/foundation.min.js"></script>

+

+

+<link href="./css/jquery.tocify/1.9.0/jquery.tocify.css" rel="stylesheet">

+<script src="./js/jqueryui/1.11.4/jquery-ui.min.js"></script> -->

+<script src="./js/jquery.tocify/1.9.0/jquery.tocify.js"></script>

+

+

+

+<script type="text/javascript">

+    $(function () {

+        $("#toc").tocify({

+            scrollTo: 50,

+            extendPage: true,

+            context: "#doc-content",

+            highlightOnScroll: true,

+            hashGenerator: "pretty",

+            hideEffect: "slideUp",

+            selectors: "h2,h3,h4,h5"

+        });

+        $(".fallback-toc").hide();

+    });

+</script>

+

+<script type="text/javascript">

+

+  /****

+

+      $(document).foundation();

+

+      $(document).ready(function(){

+        // Cache selectors

+        var lastId,

+            topMenu = $("div#toc ul"),

+            topMenuHeight = 100,

+

+            menuItems = topMenu.find("a"),

+            menuItemsHrefs = menuItems.map(function(){

+              var item = $($(this).attr("href"));

+              if (item.length) { return item; }

+            });

+

+        // Bind click handler to menu items to scroll animation

+        menuItems.click(function(e){

+          var href = $(this).attr("href"),

+              offsetTop = href === "#" ? 0 : $(href).offset().top-topMenuHeight+1;

+          $('html, body').stop().animate({

+              scrollTop: offsetTop

+          }, 300);

+

+          e.preventDefault();

+        });

+

+        // Bind to scroll of window

+        $(  window ).scroll(function(){

+

+           // Get container scroll position

+           var fromTop = $(this).scrollTop()+topMenuHeight;

+

+           var cur = menuItemsHrefs.map(function(){

+             if ($(this).offset().top < fromTop)

+               return this;

+           });

+

+           // Get the id of the current element

+           cur = cur[cur.length-1];

+

+           var id = cur && cur.length ? cur[0].id : "";

+

+           if (lastId !== id && id) {

+               scrollTo(id);

+           }

+

+           window.history.pushState({}, "", window.location.origin + window.location.pathname + "#" + id);

+        });

+

+        scrollTo = function(id) {

+              lastId = id;

+

+              menuItems

+                .removeClass("active");

+

+              menuItems

+                .parents()

+                .removeClass("active-region");

+

+              menuItems

+                .parents("ul").hide();

+

+              menuItems

+                .filter("[href=#"+id+"]")

+                .addClass("active");

+

+              menuItems

+                .filter("[href=#"+id+"]")

+                .parents("ul").show();

+

+              menuItems

+                .filter("[href=#"+id+"]")

+                .parent().children("ul").show();

+

+              menuItems

+                .filter("[href=#"+id+"]")

+                .parents("li").addClass("active-region");

+

+        }

+      menuItems

+        .removeClass("active");

+

+      menuItems

+        .parents()

+        .removeClass("active-region");

+

+        var syncMenuItem;

+        if(window.location.hash!=="") {

+            var menuItemFor = $.grep(menuItems, function(e) {

+                return e.hash === window.location.hash;

+            });

+            console.log(menuItemFor);

+            if(menuItemFor.length === 1) {

+                syncMenuItem = menuItemFor[0];

+            }

+        }

+

+        if(!syncMenuItem){

+            syncMenuItem = menuItems[0];

+        }

+

+        $(syncMenuItem).click();

+

+      });

+

+    ***/

+

+</script>

+

+<script type="text/javascript">

+

+$(document).ready(function(){

+    if("Documentation" === "Release Process (1 pager)") {

+        console.log( "processing 'Documentation'" );

+

+        $("#doc-content-left").removeClass("large-9").removeClass("medium-9").addClass("large-12").addClass("medium-12");

+        $("#doc-content-right").removeClass("large-3").removeClass("medium-3").hide();

+    }

+

+});

+

+</script>

+

+

+<script>

+

+$( document ).ready(function() {

+

+    (function() {

+      $(function() {

+        return $("#doc-content h2, #doc-content h3, #doc-content h4, #doc-content h5, #doc-content h6").each(function(i, el) {

+          var $el, icon, id;

+          $el = $(el);

+          id = $el.attr('id');

+          icon = '<i class="fa fa-link"></i>';

+          if (id) {

+            return $el.prepend($("<a />").addClass("header-link").attr("href", "#" + id).html(icon));

+          }

+        });

+      });

+    }).call(this);

+

+

+

+	/*

+        http://osvaldas.info/auto-hide-sticky-header

+        MIT license

+	*/

+	;( function( $, window, document, undefined )

+	{

+		'use strict';

+

+		var elSelector		= '.header',

+			elClassHidden	= 'header--hidden',

+			throttleTimeout	= 500,

+			$element		= $( elSelector );

+

+		if( !$element.length ) return true;

+

+		var $window			= $( window ),

+			wHeight			= 0,

+			wScrollCurrent	= 0,

+			wScrollBefore	= 0,

+			wScrollDiff		= 0,

+			$document		= $( document ),

+			dHeight			= 0,

+

+			throttle = function( delay, fn )

+			{

+				var last, deferTimer;

+				return function()

+				{

+					var context = this, args = arguments, now = +new Date;

+					if( last && now < last + delay )

+					{

+						clearTimeout( deferTimer );

+						deferTimer = setTimeout( function(){ last = now; fn.apply( context, args ); }, delay );

+					}

+					else

+					{

+						last = now;

+						fn.apply( context, args );

+					}

+				};

+			};

+

+		$window.on( 'scroll', throttle( throttleTimeout, function()

+		{

+			dHeight			= $document.height();

+			wHeight			= $window.height();

+			wScrollCurrent	= $window.scrollTop();

+			wScrollDiff		= wScrollBefore - wScrollCurrent;

+

+			if( wScrollCurrent <= 0 ) // scrolled to the very top; element sticks to the top

+				$element.removeClass( elClassHidden );

+

+			else if( wScrollDiff > 0 && $element.hasClass( elClassHidden ) ) // scrolled up; element slides in

+				$element.removeClass( elClassHidden );

+

+			else if( wScrollDiff < 0 ) // scrolled down

+			{

+				if( wScrollCurrent + wHeight >= dHeight && $element.hasClass( elClassHidden ) ) // scrolled to the very bottom; element slides in

+					$element.removeClass( elClassHidden );

+

+				else // scrolled down; element slides out

+					$element.addClass( elClassHidden );

+			}

+

+			wScrollBefore = wScrollCurrent;

+		}));

+

+	})( jQuery, window, document );

+

+

+});

+</script>

+

+</body>

+</html>
\ No newline at end of file