You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by bu...@apache.org on 2014/09/05 12:03:30 UTC

svn commit: r921311 - in /websites/staging/olingo/trunk/content: ./ doc/javascript/project-release.html doc/javascript/project-release.mdtxt

Author: buildbot
Date: Fri Sep  5 10:03:30 2014
New Revision: 921311

Log:
Staging update by buildbot for olingo

Added:
    websites/staging/olingo/trunk/content/doc/javascript/project-release.html
Removed:
    websites/staging/olingo/trunk/content/doc/javascript/project-release.mdtxt
Modified:
    websites/staging/olingo/trunk/content/   (props changed)

Propchange: websites/staging/olingo/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Sep  5 10:03:30 2014
@@ -1 +1 @@
-1622669
+1622670

Added: websites/staging/olingo/trunk/content/doc/javascript/project-release.html
==============================================================================
--- websites/staging/olingo/trunk/content/doc/javascript/project-release.html (added)
+++ websites/staging/olingo/trunk/content/doc/javascript/project-release.html Fri Sep  5 10:03:30 2014
@@ -0,0 +1,278 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html lang="en">
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="description" content="Apache Olingo provides libraries which enable developers to implement OData producers and OData consumers. The available OData Java library implements OData version 2.0. In future on goal is to provide an OData 4.0 compliant library once the OData standard is published at OASIS. The focus within the community is currently on the Java technology but it is up to the community to discuss if other environments find interest.">
+    <meta name="author" content="">
+    <link rel="icon" href="/favicon.ico">
+    <title>
+      Apache Olingo
+    </title><!-- Bootstrap core CSS -->
+    <link href="/css/bootstrap.css" rel="stylesheet" type="text/css"><!-- Custom styles for this template -->
+    <link href="/css/navbar.css" rel="stylesheet" type="text/css"><!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
+    <link href="/css/offcanvas.css" rel="stylesheet" type="text/css"><!-- Custom styles for this template -->
+    <link rel="stylesheet" href="/css/main.css"> 
+    <!--[if lt IE 9]><script src="/js/ie8-responsive-file-warning.js"></script><![endif]-->
+
+    <script src="/js/ie-emulation-modes-warning.js" type="text/javascript">
+</script><!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
+
+    <script src="/js/ie10-viewport-bug-workaround.js" type="text/javascript">
+</script><!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
+    <!--[if lt IE 9]>
+      <script src="/js/html5shiv.min.js"></script>
+      <script src="/js/respond.min.js"></script>
+    <![endif]-->
+  </head>
+  
+  <body>
+    <div class="container">
+      <!-- Static navbar -->
+      <div class="navbar navbar-default" role="navigation">
+        <div class="container-fluid">
+          <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+              <span class="sr-only">Toggle navigation</span>
+             <span class="icon-bar"></span>
+             <span class="icon-bar"></span>
+             <span class="icon-bar"></span>
+            </button> 
+              <img class="navbar-brand" src="img/OlingoOrangeTM.png" style="width:62px;" >
+              <a class="navbar-brand" href="#">Apache Olingo™</a>
+          </div>
+          <div class="navbar-collapse collapse">
+            <ul class="nav navbar-nav">
+
+              <li><a href="/">Home</a></li>
+              <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
+                  <ul class="dropdown-menu">
+                      <li><a href="http://www.apache.org/foundation/">ASF Home</a></li>
+                      <li><a href="http://projects.apache.org/">Projects</a></li>
+                      <li><a href="http://people.apache.org/">People</a></li>
+                      <li><a href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a></li>
+                      <li><a href="http://www.apache.org/dyn/closer.cgi">Download</a></li>
+                      <li><a href="http://www.apache.org/security/">Security</a></li>
+                      <li><a href="http://www.apache.org/foundation/sponsorship.html">Support Apache</a></li>
+                  </ul>
+              </li>
+
+              <li><a href="http://www.apache.org/licenses/">License</a></li> 
+
+              <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">Download <b class="caret"></b></a>
+                  <ul class="dropdown-menu">
+                      <li><a href="/download.html">Download OData 2.0 Java</a></li>
+                  </ul>
+              </li>
+
+              <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+                  <ul class="dropdown-menu">
+              <li><a href="/documentation.html">Documentation OData 2.0 Java</a></li>
+                  </ul>
+              </li>
+              <li><a href="/support.html">Support</a></li>
+              
+            </ul>
+		    
+			  <img class="navbar-right" height="50px" src="/img/asf-logo.gif">
+          
+			</div><!--/.nav-collapse -->
+        </div><!--/.container-fluid -->
+      </div><!-- Main component for a primary marketing message or call to action --><h1 id="apache-olingo-odata-client-for-java-script-release-documentation">Apache Olingo OData Client for Java Script Release Documentation</h1>
+<hr />
+<h3 id="introduction">Introduction</h3>
+<p>This document describes the release guidelines for Apache Olingo OData Client for Java Script (referenced in this document as ODataJS). 
+This is similar to <a href="http://maven.apache.org/developers/release/apache-release.html">standard Apache procedures to release</a>
+for Maven based projects at Apache, but since it is an Java Script library it is adopted to be used with grunt js.</p>
+<h3 id="build-environments">Build Environments</h3>
+<p>Apache Olingo is built and released with <a href="http://nodejs.org/">Node.js®</a> in combination with 
+<a href="http://gruntjs.com/">grunt task runner</a> </p>
+<h3 id="release-artifacts">Release Artifacts</h3>
+<p>An Apache Olingo ODataJS release consists of:</p>
+<ul>
+<li>
+<p><strong>Main artifact</strong>: <code>&lt;artifactId&gt;-&lt;version&gt;.&lt;ext&gt;</code> 
+   <br/> A library artifact bundle containing all libraries necessary use the OData Client for Java Script 
+   <br/> <strong>Package formats</strong>: zip.</p>
+</li>
+<li>
+<p><strong>JavaScript Doc artifact</strong>: <code>&lt;artifactId&gt;-&lt;version&gt;-doc.&lt;ext&gt;</code> 
+   <br/> A documentation bundle containing the documentation for the ODataJS library. 
+   <br/> <strong>Package formats</strong>: zip.</p>
+</li>
+<li>
+<p><strong>Source artifact</strong>: <code>&lt;artifactId&gt;-&lt;version&gt;-sources.&lt;ext&gt;</code> 
+   <br/> A source-release bundle containing all files the sources necessary to build all other artifacts. 
+   <br/> <strong>Package formats</strong>: zip.</p>
+</li>
+</ul>
+<h3 id="documentation-and-javadoc">Documentation and JavaDoc</h3>
+<p>The documentation that will be part of the release must match the code. 
+The documentation must be up-to-date. Release independend documentation is 
+maintained on the <a href="http://olingo.apache.org/documentation.html">Apache Olingo Documentation</a> page.</p>
+<h3 id="preparation">Preparation</h3>
+<h5 id="release-manager">Release Manager</h5>
+<p>A release manager must be appointed for a release. He or she is in charge of the release process, 
+following the guidelines and eventually generating the release artifacts.
+The release manager might tailor the process for a specific release.</p>
+<h5 id="version">Version</h5>
+<p>The Olingo community decides if the release will be a major or a minor release and 
+agrees on a version number.</p>
+<p>The artifactnames are build according the following rule:</p>
+<p><code>artifactname</code> : '${pkg.name}-${pkg.version}-${pkg.postfix}-${pkg.releaseCandidate}</p>
+<p><em>pkg</em> refers to the <code>package.json</code> file</p>
+<p><em>name</em> is the attribute <code>name</code></p>
+<p><em>version</em> is the attribute <code>version</code></p>
+<p><em>postfix</em> is the attribute <code>postfix</code></p>
+<p><em>isReleaseCandidate</em> is the attribute <code>releaseCandidate</code></p>
+<p>package.json sample: </p>
+<div class="codehilite"><pre><span class="p">{</span>
+  &quot;<span class="n">name</span>&quot;<span class="p">:</span> &quot;<span class="n">odatajs</span>&quot;<span class="p">,</span>
+  &quot;<span class="n">version</span>&quot;<span class="p">:</span> &quot;4<span class="p">.</span>0<span class="p">.</span>0&quot;<span class="p">,</span>
+  &quot;<span class="n">postfix</span>&quot;<span class="p">:</span> &quot;<span class="nb">beta</span><span class="o">-</span>01&quot;<span class="p">,</span>
+  &quot;<span class="n">releaseCandidate</span>&quot; <span class="p">:</span> &quot;<span class="n">RC01</span>&quot;<span class="p">,</span>
+  <span class="p">...</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>Workflow for changing the release</p>
+<div class="codehilite"><pre><span class="o">&lt;</span><span class="n">change</span> <span class="n">package</span><span class="p">.</span><span class="n">json</span> <span class="p">...,</span> &quot;<span class="n">name</span>&quot;<span class="p">:</span> &quot;<span class="n">odatajs</span>&quot;<span class="p">,</span> &quot;<span class="n">version</span>&quot;<span class="p">:</span> &quot;4<span class="p">.</span>0<span class="p">.</span>0&quot;<span class="p">,</span> <span class="p">...</span>
+
+<span class="o">&lt;</span><span class="n">change</span> <span class="n">package</span><span class="p">.</span><span class="n">json</span> <span class="p">...</span> <span class="p">,</span> &quot;<span class="n">postfix</span>&quot;<span class="p">:</span> &quot;<span class="nb">beta</span><span class="o">-</span>01&quot;<span class="p">,</span> &quot;<span class="n">releaseCandidate</span>&quot; <span class="p">:</span> &quot;<span class="n">RC01</span>&quot;<span class="p">,</span> <span class="p">...</span>
+<span class="n">git</span> <span class="n">add</span> <span class="n">package</span><span class="p">.</span><span class="n">json</span>
+<span class="n">git</span> <span class="n">commit</span> <span class="o">-</span><span class="n">am</span> <span class="s">&#39;Issue OLINGO-25 - make release - set version 4.0.0-beta-01-RC01&#39;</span>
+<span class="n">git</span> <span class="n">tag</span> <span class="o">-</span><span class="n">f</span> 4<span class="p">.</span>0<span class="p">.</span>0<span class="o">-</span><span class="nb">beta</span><span class="o">-</span>01<span class="o">-</span><span class="n">RC01</span>
+<span class="n">grunt</span> <span class="n">dist</span>
+
+<span class="n">git</span> <span class="n">push</span>
+<span class="n">git</span> <span class="n">push</span> <span class="o">--</span><span class="n">tags</span>
+</pre></div>
+
+
+<p>Release artifacts will be stored in the <code>dist</code> folder parallel to the <code>olingojs</code> folder.</p>
+<h5 id="open-issues">Open Issues</h5>
+<p>There must not be any open JIRA issues for this release. There might be open issues for 
+future releases.</p>
+<h5 id="unit-tests-and-integration-tests">Unit Tests and Integration Tests</h5>
+<p>The QUnit tests in <strong>odata-qunit-tests.htm</strong> tests must succeed on a clean machine with the c#.net testserver running.</p>
+<div class="codehilite"><pre><span class="n">Open</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>4002<span class="o">/</span><span class="n">tests</span><span class="o">/</span><span class="n">odata</span><span class="o">-</span><span class="n">qunit</span><span class="o">-</span><span class="n">tests</span><span class="p">.</span><span class="n">htm</span> <span class="n">in</span> <span class="n">the</span> <span class="n">browsers</span>  <span class="n">recommented</span> <span class="p">(</span> <span class="n">Internet</span> <span class="n">Explorer</span><span class="p">,</span> <span class="n">Chrome</span><span class="p">,</span> <span class="n">Firefox</span> <span class="n">and</span> <span class="n">Opera</span><span class="p">)</span>
+</pre></div>
+
+
+<h5 id="apache-license-and-code-style">Apache License and Code Style</h5>
+<p>Each source code file must have a current ASF license header. The source 
+code should follow the Apache Olingo code style. For verification run following
+Maven execution</p>
+<div class="codehilite"><pre>``<span class="n">grunt</span> <span class="n">license</span><span class="o">-</span><span class="n">check</span>``
+<span class="n">must</span> <span class="n">be</span> <span class="n">ok</span>
+</pre></div>
+
+
+<h5 id="packaging">Packaging</h5>
+<p>NOTICE, LICENSE and DISCLAIMER must be present in all bundles and must be up-to-date. </p>
+<h5 id="md5-and-sha-for-distribution-packages">MD5 and SHA for distribution packages</h5>
+<p>MD5 and SHA files are created manually for distribution packages:</p>
+<div class="codehilite"><pre>openssl md5 <span class="nt">&lt; </span><span class="cp">${</span><span class="n">filename</span><span class="cp">}</span><span class="nt">.zip</span> <span class="nt">&gt;</span> <span class="cp">${</span><span class="n">filename</span><span class="cp">}</span>.zip.md5
+gpg --print-md SHA512 <span class="cp">${</span><span class="n">filename</span><span class="cp">}</span>.zip &gt; <span class="cp">${</span><span class="n">filename</span><span class="cp">}</span>.zip.sha512
+</pre></div>
+
+
+<h5 id="release-tag">Release Tag</h5>
+<p>A tag has to be created for every release candidate. The naming rule 
+for the tags is olingojs-${version}-${postfix}-RCxx. This is created as 
+part of the Maven release process. The tag will be renamed to the 
+final version number upon vote approval.</p>
+<h5 id="release-branch">Release Branch</h5>
+<p>A branch has to be created for every release. The naming rule for this 
+branch is olingojs-${version}-${postfix}. This has to be created 
+manually upon release approval.</p>
+<h3 id="release-candidate">Release Candidate</h3>
+<p>Once all preparations are done, a release candidate will be built.</p>
+<p>All release candidates must be cryptographically signed. The string 
+"-RCxx" will be attached to the version number of the release candidate 
+artifacts, where is the number of the release candidate starting with 01. 
+If more than one release candidate is required a new tag has to be created 
+and release candidate number will be increased by one.</p>
+<p>The release candidate artifacts:</p>
+<ul>
+<li>Maven artifacts will be staged on repository.apache.org. A new staging repo 
+is created per RC and will be communicated upon release.</li>
+<li>Distribution commodity packages are staged at 
+http://people.apache.org/~[username]/olingo4/js/[version] (e.g. http://people.apache.org/~mibo/olingo4/js/4.0.0-RC01)</li>
+</ul>
+<p>Once candidate artifacts are available, release manager kicks off the <a href="http://incubator.apache.org/guides/releasemanagement.html#best-practice-incubator-release-vote">VOTE process</a>.</p>
+<p>If the vote fails, the raised issues will be fixed, a new release candidate will be 
+built and the VOTE process will be restarted.</p>
+<p>If the release candidate gets approved, we can proceed to release publishing.</p>
+<h4 id="how-to-verify-a-release-candidate">How to verify a Release Candidate</h4>
+<p>This checklist helps verifying if a release candidate is valid:</p>
+<ul>
+<li>Are all files on "http://people.apache.org/~[username]/olingo4/js/[version]"?</li>
+<li>Check if md5, sha512 and asc files are filled correctly?</li>
+<li>Can the zip files be unpacked without issues?</li>
+<li>Execute a "grunt build"</li>
+<li>Start the test server</li>
+<li>Is there a Disclaimer, Notice, License and Dependencies File in every folder?</li>
+<li>Do all License files contain the right amount of licenses?</li>
+<li>Do Notice files mention 3rd party libraries if they are contained in the distribution?</li>
+</ul>
+<p>After all questions of this checklist can be answered with yes it is OK to give a +1 on the mailing list. 
+Of course the Release Manager can also use this checklist to make sure all artifacts are correct before publishing the results on the mailing list.</p>
+<h3 id="publishing-the-release">Publishing the Release</h3>
+<p>If the release candidate gets approved, we can proceed to release publishing:</p>
+<ul>
+<li>Publish final release Version to <a href="https://repository.apache.org/">Apache Repository</a><ul>
+<li>Copy the release Artifacts into the <em>Staging Area</em></li>
+<li>From <em>Staging Area</em> close and release the staged Artifacts to finish publishing </li>
+<li>Afterwards the Maven artifacts are automatically synced to <a href="http://search.maven.org/#search|ga|1|org.apache.olingo">Maven Central</a>.</li>
+</ul>
+</li>
+<li>Release candidate commodity packages are synced (together with their checksum and 
+signatures) to <a href="http://www.apache.org/dist/olingo/">Apache Distributions</a>.</li>
+<li>Release tag is renamed to final version.</li>
+<li>Release branch is created.</li>
+<li>Release is closed in Jira.</li>
+<li>Release is announced to dev@olingo.apache.org, announce@apache.org.</li>
+</ul>
+<h3 id="maintain-version-section-in-doap-file">Maintain Version Section in DOAP File</h3>
+<p><a href="http://olingo.apache.org/doap_Olingo.rdf">http://olingo.apache.org/doap_Olingo.rdf</a></p>
+<p>Results are shown here:</p>
+<p><a href="http://projects.apache.org/indexes/alpha.html#O">link text</a></p>
+<h3 id="additional-apache-release-information">Additional Apache Release Information</h3>
+<ul>
+<li><a href="http://www.apache.org/dev/release.html">Releases Policy</a></li>
+<li><a href="http://www.apache.org/dev/release-publishing.html">Publishing Releases</a></li>
+<li><a href="http://www.apache.org/dev/publishing-maven-artifacts.html">Publishing Maven Artifacts</a></li>
+<li><a href="http://incubator.apache.org/guides/releasemanagement.html">Release Management During Incubation</a></li>
+</ul><div align="center">
+<p>Copyright © 2013-2014, The Apache Software Foundation<br>
+				                Apache Olingo, Olingo, Apache, the Apache feather, and 
+				the Apache Olingo project logo are trademarks of the Apache Software 
+				Foundation.</p>
+        <small><a href="/doc/privacy.html">Privacy</a></small>
+      </div>
+    </div><!-- /container -->
+    <!-- Bootstrap core JavaScript
+    ================================================== -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="/js/jquery.js" type="text/javascript">
+</script>
+	  <script src="/js/bootstrap.js" type="text/javascript">
+	  <script src="/js/offcanvas.js" type="text/javascript">
+</script>
+        <!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
+        <script>
+            (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
+            function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
+            e=o.createElement(i);r=o.getElementsByTagName(i)[0];
+            e.src='//www.google-analytics.com/analytics.js';
+            r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
+            ga('create','UA-44963757-1');ga('send','pageview');
+        </script>
+  </body>
+</html>