You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by bu...@apache.org on 2012/11/27 21:21:37 UTC

svn commit: r839809 - in /websites/staging/isis/trunk: cgi-bin/ content/ content/contributors/about.html content/contributors/coding-conventions.html content/contributors/release-process.html content/documentation.html

Author: buildbot
Date: Tue Nov 27 20:21:36 2012
New Revision: 839809

Log:
Staging update by buildbot for isis

Added:
    websites/staging/isis/trunk/content/contributors/coding-conventions.html
Modified:
    websites/staging/isis/trunk/cgi-bin/   (props changed)
    websites/staging/isis/trunk/content/   (props changed)
    websites/staging/isis/trunk/content/contributors/about.html
    websites/staging/isis/trunk/content/contributors/release-process.html
    websites/staging/isis/trunk/content/documentation.html

Propchange: websites/staging/isis/trunk/cgi-bin/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Nov 27 20:21:36 2012
@@ -1 +1 @@
-1413766
+1414373

Propchange: websites/staging/isis/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Nov 27 20:21:36 2012
@@ -1 +1 @@
-1413766
+1414373

Modified: websites/staging/isis/trunk/content/contributors/about.html
==============================================================================
--- websites/staging/isis/trunk/content/contributors/about.html (original)
+++ websites/staging/isis/trunk/content/contributors/about.html Tue Nov 27 20:21:36 2012
@@ -193,6 +193,7 @@
 </div>
 
 <ul>
+<li><a href="coding-conventions.html">Coding Conventions</a></li>
 <li><a href="updating-the-cms-site.html">Updating the CMS site</a></li>
 <li><a href="release-process.html">Release process</a></li>
 </ul>

Added: websites/staging/isis/trunk/content/contributors/coding-conventions.html
==============================================================================
--- websites/staging/isis/trunk/content/contributors/coding-conventions.html (added)
+++ websites/staging/isis/trunk/content/contributors/coding-conventions.html Tue Nov 27 20:21:36 2012
@@ -0,0 +1,259 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+
+    <meta charset="utf-8">
+      <title>Coding Conventions
</title>
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="./../bootstrap.css" rel="stylesheet">
+    <link href="./../prettify.css" rel="stylesheet">
+    <link href="./../bootstrap-mods.css" rel="stylesheet">
+
+    <style type="text/css">
+        body {
+          padding-top: 60px;
+        }
+        .sprite {
+            display: inline-block;
+            height: 20px;
+            margin: 0 auto 4px;
+            outline: medium none;
+            text-indent: -999em;
+            width: 24px;
+            background-image: url('./../images/sprites.png');
+            background-repeat: no-repeat;
+            overflow: hidden;
+            cursor: pointer;
+        }
+        .edit-page {
+            display: inline-block;
+            height: 20px;
+            margin: 0 auto 4px;
+            outline: medium none;
+            text-indent: -999em;
+            width: 24px;
+            background-image: url('./../images/edit.png');
+            background-repeat: no-repeat;
+            overflow: hidden;
+            cursor: pointer;
+        }
+        .fb-share {
+            background-position: 0px -40px;
+        }
+        .gp-share {
+            background-position: 0px 0px;
+        }
+        .tw-share {
+            background-position: 0px -80px;
+        }
+        .markdown-content {
+            min-height: 500px;
+        }
+        .book-image img {
+          border: 1px;
+          border-style: solid;
+        }
+        .stub {
+            position: relative;
+            padding: 7px 15px;
+            margin-bottom: 18px;
+            color: #404040;
+            background-color: #eedc94;
+            background-repeat: repeat-x;
+            background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));
+            background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
+            background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
+            background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));
+            background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
+            background-image: -o-linear-gradient(top, #fceec1, #eedc94);
+            background-image: linear-gradient(top, #fceec1, #eedc94);
+            filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);
+            text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+            border-color: #eedc94 #eedc94 #e4c652;
+            border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+            text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+            border-width: 1px;
+            border-style: solid;
+            -webkit-border-radius: 4px;
+            -moz-border-radius: 4px;
+            border-radius: 4px;
+            -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+            -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
+        }
+    </style>
+    <script type="text/javascript">
+      function fbshare () {
+          window.open(
+                  "http://www.facebook.com/sharer/sharer.php?u="+document.URL,
+                  'Share on Facebook',
+                  'width=640,height=426');
+      };
+      function gpshare () {
+          window.open(
+                  "https://plus.google.com/share?url="+document.URL,
+                  'Share on Google+',
+                  'width=584,height=385');
+      };
+      function twshare () {
+          window.open(
+                  "https://twitter.com/intent/tweet?url="+document.URL+"&text=Coding Conventions
",
+                  'Share on Twitter',
+                  'width=800,height=526');
+      };
+    </script>
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" href="./../images/favicon.ico">
+    <link rel="apple-touch-icon" href="./../images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="./../images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="./../images/apple-touch-icon-114x114.png">
+
+    <script src="./../javascript/prettify.js" type="text/javascript"></script>
+    <script src="./../javascript/jquery-latest.js"></script>
+    <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
+    <script src="./../javascript/common.js"></script>
+    <script src="./../javascript/prettyprint.js"></script>
+
+    <script type="text/javascript">
+
+      var _gaq = _gaq || [];
+      _gaq.push(['_setAccount', 'UA-2717626-1']);
+      _gaq.push(['_setDomainName', 'apache.org']);
+      _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 class="topbar">
+      <div class="fill">
+        <div class="container">
+          <a class="brand" href="./../index.html">Apache Isis</a>
+          <ul class="nav">
+            <li><a href="./../index.html">Home</a></li>
+            <li><a href="./../download.html">Download</a></li>
+            <li><a href="./../documentation.html">Documentation</a></li>
+            <li><a href="./../support.html">Support</a></li>
+          </ul>
+
+            <!-- Google CSE Search Box Begins -->
+            <div style="float: right; position: relative; ">
+          <form action="http://www.google.com/cse" id="cse-search-box" _lpchecked="1">
+            <div>
+                <input type="hidden" name="cx" value="001500763902520246267:purt3m54z98">
+                <input type="hidden" name="ie" value="UTF-8">
+                <input type="text" name="q" size="31" style="border: 1px solid rgb(126, 157, 185); padding: 2px; background-color: rgb(255, 255, 255); background-position: 0% 50%; background-repeat: no-repeat no-repeat;">
+                <input type="submit" name="sa" value="Search">
+            </div>
+            <input name="siteurl" type="hidden" value="incubator.apache.org/isis/">
+            <input name="ref" type="hidden" value="">
+            <input name="ss" type="hidden" value="677j458329j2">
+        </form>
+        </div>
+            <!-- Google CSE Search Box Ends -->
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+      <div class="markdown-content">
+      
+
+<div class="page-header">
+<p><a href="./../documentation.html">Docs</a>&nbsp;&raquo&nbsp;<a href="./../contributors/about.html">Contributors</a></p>
+<h1>Coding Conventions
+
+<!--
+    <div style="float: right; position: relative; bottom: -10px; ">
+        <a onclick="javascript:gpshare()" class="gp-share sprite" title="share on Google+">share [gp]</a>
+        <a onclick="javascript:fbshare()" class="fb-share sprite" title="share on Facebook">share [fb]</a>
+        <a onclick="javascript:twshare()" class="tw-share sprite" title="share on Twitter">share [tw]</a>
+        <a data-toggle="modal" href="#edit" class="edit-page" title="Contribute to this Page">contribute</a>
+    </div>
+-->    
+</h1>
+</div>
+
+<p><div class="stub">
+This page is a stub.
+</div></p>
+
+<p>Isis graduated from the Apache incubator in October 2012; we are currently setting ourselves up as a top-level project.</p>
+
+<p>In the meantime you can access our original incubator website <a href="http://incubator.apache.org/isis" title="Apache Isis (incubator website)">here</a>.</p>
+
+<p>Code formatting (as documented in the <code>0.2.0-incubating</code> version of the contributors guide):</p>
+
+<ul>
+<li>code formatting should be checked as per sec.CodeStyleFormatter</li>
+<li>imports should be organized as per sec.ImportOrder</li>
+<li>cleanup should be performed as per sec.CodeStyleCleanup
+(this performs both code formatting and organizing imports)</li>
+</ul>
+
+<p>In addition:</p>
+
+<ul>
+<li>checkstyle, as per sec.Checkstyle</li>
+<li>PMD, as per sec.PMD</li>
+<li>findbugs, as per sec.FindBugs</li>
+</ul>
+
+
+
+      </div>
+
+        <div id="edit" class="modal hide fade in" style="display: none; ">
+            <div class="modal-header">
+                <a class="close" data-dismiss="modal">x</a>
+
+                <h3>Thank you for contributing to the documention!</h3>
+            </div>
+            <div class="modal-body">
+                <h4>Any help with the documentation is greatly appreciated.</h4>
+                <p>All edits are reviewed before going live, so feel free to do much more than fix typos or links.  If you see a page that could benefit from an entire rewrite, we'd be thrilled to review it.  Don't be surprised if we like it so much we ask you for help with other pages :)</p>
+                <small>NOTICE: unless indicated otherwise on the pages in question, all editable content available from apache.org is presumed to be licensed under the Apache License (AL) version 2.0 and hence all submissions to apache.org treated as formal Contributions under the license terms.</small>
+                <!--[if gt IE 6]>
+                <h4>Internet Explorer Users</h4>
+                <p>If you are not an Apache committer, click the Yes link and enter a <i>anonymous</i> for the username and leave the password empty</p>
+                <![endif]-->
+
+            </div>
+            <div class="modal-footer">
+                Do you have an Apache ID?
+                <a href="javascript:void(location.href='https://cms.apache.org/redirect?uri='+escape(location.href))" class="btn">Yes</a>
+                <a href="javascript:void(location.href='https://anonymous:@cms.apache.org/redirect?uri='+escape(location.href))" class="btn">No</a>
+            </div>
+        </div>
+        <script src="./../javascript/bootstrap-modal.js"></script>
+
+      <footer>
+        <p>
+        Copyright &copy; 2012 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+        <br/>
+        Apache and the Apache feather logo are trademarks of The Apache Software Foundation.
+        </p>
+      </footer>
+
+    </div> <!-- /container -->
+
+  </body>
+</html>

Modified: websites/staging/isis/trunk/content/contributors/release-process.html
==============================================================================
--- websites/staging/isis/trunk/content/contributors/release-process.html (original)
+++ websites/staging/isis/trunk/content/contributors/release-process.html Tue Nov 27 20:21:36 2012
@@ -193,12 +193,183 @@
 </div>
 
 <p><div class="stub">
-This page is a stub.
+This page is a work-in-progress.
 </div></p>
 
-<p>Isis graduated from the Apache incubator in October 2012; we are currently setting ourselves up as a top-level project.</p>
+<p>Before starting off the release process it is essential to gain consensus on the isis-dev mailing list that this is the right time for a release and to agree its content. Allow at least a week for this discussion.</p>
 
-<p>In the meantime you can access our original incubator website <a href="http://incubator.apache.org/isis" title="Apache Isis (incubator website)">here</a>.</p>
+<p>Once agreed, the formal release can begin.  The steps are:</p>
+
+<ul>
+<li>create a branch to prepare the release</li>
+<li>use <code>mvn release:prepare</code> to generate the signed artifacts and create a tag in the source code control system</li>
+<li>use <code>mvn release:perform</code> to upload the signed artifacts to the Apache staging repository</li>
+<li>vote on the staged artifacts (in particular, the signed source release ZIP from which the remaining artifacts are derivable)</li>
+<li>on a successful vote:
+<ul>
+<li>promote the staged artifacts</li>
+<li>merge in the branch back to into trunk</li>
+</ul></li>
+<li>on a failed vote:
+<ul>
+<li>drop the staging repository</li>
+<li>delete the branch and tag</li>
+<li>fix the problems and go round round the loop again.</li>
+</ul></li>
+</ul>
+
+<p>Before any of this can happen, there are a number of prerequisites, in terms of (a) the codebase itself, (b) the community process, and (c) the contributor acting as release manager and performing the release.</p>
+
+<h2>Code Prerequisites</h2>
+
+<p>Before making any formal release, there are a number of prerequisites that should always be checked</p>
+
+<h3>Update Dependency Versions</h3>
+
+<p>First, check (via <a href="http://search.maven.org">http://search.maven.org</a>) whether there is a newer version of the Apache parent <code>org.apache:apache</code>. If so, update the <code>&lt;parent&gt;</code> element in Isis' own parent POM <code>org.apache.isis:isis</code>.</p>
+
+<p>Second, use the Maven versions plugin can be used to determine if there are newer versions of any of Isis' dependencies:</p>
+
+<pre>
+mvn versions:display-dependency-updates
+</pre>
+
+<p>Update any of the dependencies that are out-of-date.</p>
+
+<h3>Sanity check</h3>
+
+<p>Next, perform a quick sanity check:</p>
+
+<ul>
+<li>builds ok</p>
+
+<p><code>mvn clean install -o</code></li>
+<li>site builds ok</p>
+
+<p><code>sh msdf.sh -o</code></li>
+<li>archetype is ok</p>
+
+<ul>
+<li>archetype runs ok</p>
+
+<p><code>-D archetypeCatalog=local</code></li>
+<li>app generated from the archetype runs ok</li>
+</ul></li>
+</ul>
+
+<h3>Fix Line Endings</h3>
+
+<p>All Isis code should be saved with UNIX line endings; for contributors that use Windows, the <code>dos2unix</code> command should be used to convert line endings.</p>
+
+<p><div class="note">
+When we move to git, this issue should be mitigated by git's default handling.
+</div></p>
+
+<p>In addition, the <code>svn:eol-style</code> property should be set to <code>native</code> and the <code>svn:mime-type</code> property should be set appropriately, as per this <a href="http://www.apache.org/dev/version-control.html#https-svn-config">Apache guidance</a>.</p>
+
+<p><div class="note">
+The move to git will need to reproduce this guidance somehow...
+</div></p>
+
+<p>Both line endings and Subversion properties can be set by running the provided script:</p>
+
+<pre>
+./fix-lineendings-and-svnprops.sh
+</pre>
+
+<h3>Code Cleanup / Formatting</h3>
+
+<p>Make sure that all source code has been cleaned up and formatted according to the Apache Isis and ASF conventions.  Full details are in <a href="coding-conventions.html">Isis coding conventions</a>.</p>
+
+<h2>License Notice (<code>RAT</code> tool)</h2>
+
+<p>The Apache Release Audit Tool <code>RAT</code> (from the <a href="http://creadur.apache.org">Apache Creadur</a> project) is designed to perform a number of basic checks, most significant being missing copyright header files.</p>
+
+<p>The Isis parent <code>pom.xml</code>specifies the RAT Maven plugin, with the following custom exclusions:</p>
+
+<table>
+<tr><th>Subtype</th><th>File path(s)</th><th>Description</th></tr>
+<tr><td>IDE-specific</td><td>**/.project, **/.classpath, **/.settings</td><td>Eclipse project files</td></tr>
+<tr><td>&nbsp;</td><td>**/*.launch</td><td>Eclipse launch configuration files</td></tr>
+<tr><td>&nbsp;</td><td>**/*.java.jsp</td><td>Structure101 project file</td></tr>
+<tr><td>&nbsp;</td><td>**/*.ucd, **/*.ucls</td><td>Soyatec UML plugin project files</td></tr>
+<tr><td>Image formats</td><td>**/*.svg</td><td>Scalable Vector Graphics</td></tr>
+<tr><td>&nbsp;</td><td>**/*.pdn</td><td>Paint.NET format</td></tr>
+<tr><td>Data files</td>**/*.json<td></td><td>JSON (test) data</td></tr>
+<tr><td>&nbsp;</td><td>**/isis.log</td>Isis' log file (byproduct of tests)<td></td></tr>
+<tr><td>&nbsp;</td><td>**/rat.txt</td><td>RAT's own audit file</td></tr>
+<tr><td>&nbsp;</td><td>**/fixture-data</td><td>SQL Object Store fixture data</td></tr>
+<tr><td>&nbsp;</td><td>**/test.data</td><td>SQL Object Store fixture data</td></tr>
+<tr><td>&nbsp;</td><td>**/xml/**/*.xml</td><td>XML Object Store fixture data</td></tr>
+<tr><td>&nbsp;</td><td>tmp/tests/*.xml</td><td>XML Object Store fixture data</td></tr>
+<tr><td>&nbsp;</td><td>tmp/ldap-conf/**</td><td>LDAP Security fixture data</td></tr>
+<tr><td>&nbsp;</td><td>**/src/main/resources/resources.txt</td><td>Resource file</td></tr>
+<tr><td>Archetype support</td><td></td><td></td></tr>
+<tr><td>&nbsp;</td><td>**/src/main/appended-resources/, supplemental-models.xml</td><td>(Empty) supplemental models</td></tr>
+<tr><td>Program formats</td><td>**/*.min.js</td><td>Minified Javascript (note that the non-Minified Javascript equivalents is checked for its license)</td></tr>
+</table>
+
+<p>In addition, a number of additional licenses are configured:</p>
+
+<table>
+<tr><th>License</th><th>Description</th></tr>
+<tr><td>Apache 2.0</td><td>The RAT tool searches for an older version of the Apache license header. This additional license reconfigures RAT to use the current form of words</td></tr>
+<tr><td>MIT</td><td>JQuery (bundled with Isis) is dual licensed under MIT</td></tr>
+<tr>Isis bundles up source code fom the still-to-be-released JMock 2.6-RC2 codebase<td></td><td></td></tr>
+<tr><td>DocBook</td><td>Like many other Apache projects, Isis generates its documentation in DocBook form. In order to speed up generation, Isis has a local copy of the DocBook DTDs, Entities etc. Key phrases from these files are configured so that RAT identifies these files as valid to use.</td></tr>
+<tr><td>XHTML</td><td>Isis also has a dependency on the XHTML-strict DTD</td></tr>
+</table>
+
+<p>To run the RAT tool, first clean up any generated artifacts:</p>
+
+<pre>
+mvn clean -P integration-tests
+</pre>
+
+<p>Then, run the tool using:</p>
+
+<pre>
+mvn org.apache.rat:apache-rat-plugin:check
+</pre>
+
+<p><div class="note">
+Do <em>not</em> use <code>mvn rat:check</code>; depending on your local Maven configuratoin this may bring down the obsolete mvn-rat-plugin from Codehaus repo.
+</div></p>
+
+<p>All being well the command should succeed.  If it does not, then review the <code>rat.txt</code> file in the failing module's <code>target</code> directory.  Missing license notes are indicated using the key:</p>
+
+<ul>
+<li><code>!???</code> identifies those files that are missing license notes</li>
+<li><code>tests-common/*</code> and <code>tests/*</code> ignores certain test files</li>
+<li><code>hsql-db</code> are generated HSQLDB directories</li>
+</ul>
+
+<p>Investigate and fix any reported violations.</p>
+
+<p>You can use the groovy script <code>addmissinglicenses.groovy</code> to automatically insert missing headers:</p>
+
+<pre>
+groovy addmissinglicenses.groovy
+</pre>
+
+<p>The actual files checked are those with extensions specified in the line:</p>
+
+<pre>
+def fileEndings = [".java", ".htm"]
+</pre>
+
+<h2>Missing License Check</h2>
+
+<p>Although <emphasis</p>
+
+<blockquote>
+  <p>Apache Isis</emphasis
+  has no dependencies which have incompatible licenses, the <acronym
+  POM</acronym
+  s for these dependencies (in the Maven central repo) do not necessarily contain the required license information. When the release process is run this results in the generated <filename
+  DEPENDENCIES</filename
+  file and generated Maven site listing dependencies as having "unknown" licenses.</ns:clipboard</p>
+</blockquote>
 
 
 

Modified: websites/staging/isis/trunk/content/documentation.html
==============================================================================
--- websites/staging/isis/trunk/content/documentation.html (original)
+++ websites/staging/isis/trunk/content/documentation.html Tue Nov 27 20:21:36 2012
@@ -218,6 +218,7 @@
 <div class="span-one-third"></p>
 
 <h3>Contributors</h3></li>
+<li><a href="coding-conventions.html">Coding Conventions</a></li>
 <li><a href="contributors/updating-the-cms-site.html">Updating the CMS site</a></li>
 <li><a href="contributors/release-process.html">Release process</a>
 </div>