deltaspike-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r922514 [11/11] - in /websites/staging/deltaspike/trunk/content: ./ documentation/ retired/
Date Wed, 17 Sep 2014 12:22:53 GMT
Added: websites/staging/deltaspike/trunk/content/retired/steps_for_a_release.html
==============================================================================
--- websites/staging/deltaspike/trunk/content/retired/steps_for_a_release.html (added)
+++ websites/staging/deltaspike/trunk/content/retired/steps_for_a_release.html Wed Sep 17 12:22:52 2014
@@ -0,0 +1,322 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="description" content="deltaspike-generate-pages">
+    <meta name="author" content="chm">
+
+    <title>Apache DeltaSpike - </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 &quot;License&quot;); 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 &quot;AS IS&quot; 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. -->
+
+    <!-- Styles -->
+    
+    <link href="./../resources/css/bootstrap.css" rel="stylesheet">    
+    <!--<link href="./../resources/css/prettify.css" rel="stylesheet" /> -->
+    <link href="./../resources/css/codehilite.css" rel="stylesheet" />
+    <link href="./../resources/css/bootstrap-responsive.css" rel="stylesheet">
+    <style type="text/css">
+        body {
+            padding-top: 60px;
+            padding-bottom: 40px;
+        }
+    </style>
+	<script type="text/javascript">
+
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-36103647-1']);
+	  _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="navbar navbar-fixed-top">
+        <div class="navbar-inner">
+            <div class="container">
+                <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </a>
+                <a class="brand logocolor" href="/index.html">Apache DeltaSpike</a>
+                <div class="nav-collapse">
+                    <ul class="nav">
+                        <li class="active"><a href="./../index.html">Home</a></li>
+                        <li><a href="./../documentation.html">Documentation</a></li>
+                        <li><a href="./../source.html">Source</a></li>
+                        <li><a href="./../download.html">Download</a></li>
+                        <li><a href="./../community.html">Community</a></li>
+                        <!-- <li><a href="./../support.html">Support</a></li>  -->
+                        <li><a href="./../news.html">News</a></li>
+                        <li><a href="./../migration-guide.html">Migration</a></li>
+                    </ul>
+                </div><!--/.nav-collapse -->
+                <form id="search-form" action="http://www.google.com/search" method="get"  class="navbar-search pull-right" >
+                    <input value="deltaspike.apache.org" name="sitesearch" type="hidden"/>
+                    <input class="search-query" name="q" id="query" type="text" />
+                </form>
+            </div>
+        </div>
+    </div>
+
+    <div class="container">
+      <div class="row">
+          <div class="span12">
+              <div class="page-title">
+                <h1></h1>
+              </div>
+              <div class="toc">
+<ul>
+<li><a href="#preparations">Preparations</a></li>
+<li><a href="#first-steps">First steps</a></li>
+<li><a href="#vote">Vote</a><ul>
+<li><a href="#start-the-vote">Start the vote</a></li>
+</ul>
+</li>
+<li><a href="#announce-the-vote">Announce the vote</a></li>
+<li><a href="#perform-the-final-release">Perform the final release</a><ul>
+<li><a href="#close-the-vote">Close the vote</a></li>
+<li><a href="#upload-artifacts">Upload artifacts</a></li>
+<li><a href="#update-download-links">Update download links</a></li>
+<li><a href="#announce-the-release">Announce the Release</a><ul>
+<li><a href="#e-mails">E-Mails</a></li>
+<li><a href="#twitter">Twitter</a></li>
+<li><a href="#news">News</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<hr />
+<h1 id="preparations">Preparations</h1>
+<ul>
+<li>Heads up on the mailing-lists </li>
+</ul>
+<p>e.g.:</p>
+<div class="codehilite"><pre><span class="n">first</span> <span class="n">steps</span> <span class="k">for</span> <span class="n">the</span> <span class="n">next</span> <span class="n">release</span>
+
+<span class="n">hi</span> <span class="p">@</span> <span class="n">all</span><span class="p">,</span>
+
+<span class="k">if</span> <span class="n">there</span> <span class="n">are</span> <span class="n">no</span> <span class="n">objections</span><span class="p">,</span> <span class="nb">i</span><span class="o">&#39;</span><span class="n">ll</span> <span class="n">start</span> <span class="n">with</span> <span class="n">the</span> <span class="n">first</span> <span class="n">steps</span> <span class="k">for</span> <span class="n">the</span> <span class="n">next</span> <span class="n">release</span> <span class="p">(</span><span class="n">review</span><span class="p">,</span> <span class="n">documentation</span><span class="p">,...).</span>
+<span class="n">it</span> <span class="n">would</span> <span class="n">be</span> <span class="n">great</span> <span class="n">to</span> <span class="n">start</span> <span class="n">with</span> <span class="n">the</span> <span class="n">release</span> <span class="n">procedure</span> <span class="n">next</span> <span class="n">week</span><span class="p">.</span>
+
+<span class="n">regards</span><span class="p">,</span>
+<span class="p">[</span><span class="n">name</span><span class="p">]</span>
+</pre></div>
+
+
+<ul>
+<li>Check the documentation</li>
+<li>Check https://analysis.apache.org/dashboard/index/87921</li>
+<li>Check diff with tag of [version-1]</li>
+<li>Check the jenkins builds </li>
+<li>Create release notes and commit them to deltaspike/readme/ (format [ReleaseNotes][version].txt)</li>
+</ul>
+<p>test at least:</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">POWB</span>
+<span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">PWeld</span>
+<span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">Prat</span>
+<span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">Ptomee</span><span class="o">-</span><span class="n">build</span><span class="o">-</span><span class="n">managed</span>
+<span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">Pjbossas</span><span class="o">-</span><span class="n">build</span><span class="o">-</span><span class="n">managed</span><span class="o">-</span>7
+<span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">Pwildfly</span><span class="o">-</span><span class="n">build</span><span class="o">-</span><span class="n">managed</span>
+<span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">Pglassfish</span><span class="o">-</span><span class="n">build</span><span class="o">-</span><span class="n">managed</span><span class="o">-</span>3
+
+<span class="n">deploy</span> <span class="n">a</span> <span class="n">demo</span> <span class="n">app</span> <span class="n">esp</span><span class="p">.</span> <span class="n">with</span> <span class="n">jsf</span><span class="o">-</span><span class="n">impl</span><span class="o">-</span><span class="n">ee6</span> <span class="n">to</span> <span class="n">an</span> <span class="n">ee6</span> <span class="n">server</span> <span class="n">and</span> <span class="n">check</span> <span class="n">the</span> <span class="n">logs</span> <span class="p">(</span><span class="k">if</span> <span class="n">there</span> <span class="n">are</span> <span class="n">no</span> <span class="n">optional</span> <span class="n">ee7</span><span class="o">+</span> <span class="n">classes</span><span class="p">)</span>
+<span class="p">(</span><span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="p">.</span><span class="n">com</span><span class="o">/</span><span class="n">os890</span><span class="o">/</span><span class="n">ee6</span><span class="o">-</span><span class="n">ds</span><span class="o">-</span><span class="n">demo</span> <span class="n">can</span> <span class="n">be</span> <span class="n">used</span> <span class="k">for</span> <span class="n">it</span> <span class="n">e</span><span class="p">.</span><span class="n">g</span><span class="p">.)</span>
+</pre></div>
+
+
+<h1 id="first-steps">First steps</h1>
+<div class="codehilite"><pre><span class="c1">//install a version of git which is compatible with the release-plugin (e.g. v1.8.3.2)</span>
+<span class="n">git</span> <span class="n">checkout</span> <span class="o">-</span><span class="n">b</span> <span class="n">deltaspike</span><span class="o">-</span><span class="p">[</span><span class="k">release</span> <span class="n">version</span><span class="p">]</span>
+
+<span class="n">mvn</span> <span class="k">release</span><span class="o">:</span><span class="n">prepare</span> <span class="o">-</span><span class="n">Pdistribution</span> <span class="o">-</span><span class="n">DreleaseProfiles</span><span class="o">=</span><span class="n">distribution</span>
+
+<span class="c1">//hint: don&#39;t use -DdryRun=true -- since it can break the next step</span>
+<span class="n">mvn</span> <span class="k">release</span><span class="o">:</span><span class="n">perform</span> <span class="o">-</span><span class="n">Pdistribution</span> <span class="o">-</span><span class="n">DreleaseProfiles</span><span class="o">=</span><span class="n">distribution</span>
+
+<span class="c1">//!!!check the created commits including user-name and email</span>
+
+<span class="c1">//login to https://repository.apache.org/ and go to &quot;Staging Repositories&quot;</span>
+<span class="c1">//check esp. .../org/apache/deltaspike/deltaspike-project/[version]/deltaspike-project-[version]-source-release.zip</span>
+<span class="c1">//close the repository</span>
+
+<span class="c1">//push the release-branch and tag to a 3rd party git repo</span>
+<span class="n">git</span> <span class="n">remote</span> <span class="n">add</span> <span class="n">vote</span> <span class="nl">https:</span><span class="c1">//github.com/[user]/deltaspike-vote</span>
+<span class="n">git</span> <span class="n">push</span> <span class="o">-</span><span class="n">u</span> <span class="n">vote</span> <span class="n">master</span>
+<span class="n">git</span> <span class="n">push</span> <span class="n">vote</span> <span class="n">deltaspike</span><span class="o">-</span><span class="p">[</span><span class="k">release</span> <span class="n">version</span><span class="p">]</span>
+<span class="n">git</span> <span class="n">push</span> <span class="n">vote</span> <span class="o">--</span><span class="n">tags</span>
+</pre></div>
+
+
+<h1 id="vote">Vote</h1>
+<h2 id="start-the-vote">Start the vote</h2>
+<p>e.g.:</p>
+<div class="codehilite"><pre><span class="k">[VOTE] Release of Apache DeltaSpike [version]</span>
+
+
+<span class="err">Hi,</span>
+
+<span class="err">I</span> <span class="err">was</span> <span class="err">running</span> <span class="err">the</span> <span class="err">needed</span> <span class="err">tasks</span> <span class="err">to</span> <span class="err">get</span> <span class="err">the</span> <span class="err">...</span> <span class="err">release</span> <span class="err">of</span> <span class="err">Apache</span> <span class="err">DeltaSpike</span> <span class="err">out.</span>
+<span class="err">The</span> <span class="err">artifacts</span> <span class="err">are</span> <span class="err">deployed</span> <span class="err">to</span> <span class="err">Nexus</span> <span class="err">[1]</span> <span class="err">(and</span> <span class="err">[2]).</span>
+
+<span class="err">The</span> <span class="err">tag</span> <span class="err">is</span> <span class="err">available</span> <span class="err">at</span> <span class="err">[3]</span> <span class="err">and</span> <span class="err">will</span> <span class="err">get</span> <span class="err">pushed</span> <span class="err">to</span> <span class="err">the</span> <span class="err">ASF</span> <span class="err">repository</span> <span class="err">once</span> <span class="err">the</span> <span class="err">vote</span> <span class="err">passed.</span>
+
+<span class="err">Please</span> <span class="err">take</span> <span class="err">a</span> <span class="err">look</span> <span class="err">at</span> <span class="err">the</span> <span class="err">...</span> <span class="err">artifacts</span> <span class="err">and</span> <span class="err">vote!</span>
+
+<span class="err">Please</span> <span class="err">note:</span>
+<span class="err">This</span> <span class="err">vote</span> <span class="err">is</span> <span class="err">&quot;majority</span> <span class="err">approval&quot;</span> <span class="err">with</span> <span class="err">a</span> <span class="err">minimum</span> <span class="err">of</span> <span class="err">three</span> <span class="err">+1</span> <span class="err">votes</span> <span class="err">(see</span> <span class="err">[4]).</span>
+
+<span class="err">------------------------------------------------</span>
+<span class="err">[</span> <span class="err">]</span> <span class="err">+1</span> <span class="err">for</span> <span class="err">community</span> <span class="err">members</span> <span class="err">who</span> <span class="err">have</span> <span class="err">reviewed</span> <span class="err">the</span> <span class="err">bits</span>
+<span class="err">[</span> <span class="err">]</span> <span class="err">+0</span>
+<span class="err">[</span> <span class="err">]</span> <span class="err">-1</span> <span class="err">for</span> <span class="err">fatal</span> <span class="err">flaws</span> <span class="err">that</span> <span class="err">should</span> <span class="err">cause</span> <span class="err">these</span> <span class="err">bits</span> <span class="err">not</span> <span class="err">to</span> <span class="err">be</span> <span class="err">released,</span> <span class="err">and</span> <span class="err">why..............</span>
+<span class="err">------------------------------------------------</span>
+
+<span class="err">Thanks,</span>
+<span class="k">[name]</span>
+
+<span class="err">[1]</span> <span class="err">https://repository.apache.org/content/repositories/...</span>
+<span class="err">[2]</span> <span class="err">https://repository.apache.org/content/repositories/.../org/apache/deltaspike/deltaspike-project/[version]/deltaspike-project-[version]-source-release.zip</span>
+<span class="k">[3] https://github.com/[user]/deltaspike-vote/tree/deltaspike-project-[version]</span>
+<span class="err">[4]</span> <span class="err">http://www.apache.org/foundation/voting.html</span><span class="c">#ReleaseVotes</span>
+</pre></div>
+
+
+<h1 id="announce-the-vote">Announce the vote</h1>
+<ul>
+<li>Create a link to the release notes at http://s.apache.org (format DeltaSpike_[version])</li>
+<li>Tweet about the vote via @DeltaSpikeTeam.</li>
+</ul>
+<h1 id="perform-the-final-release">Perform the final release</h1>
+<h2 id="close-the-vote">Close the vote</h2>
+<p>After 72 hours close the vote.</p>
+<p>e.g.:</p>
+<div class="codehilite"><pre><span class="n">Result</span> <span class="p">(</span><span class="n">was</span><span class="p">:</span> <span class="n">Re</span><span class="p">:</span> <span class="p">[</span><span class="n">VOTE</span><span class="p">]</span> <span class="n">Release</span> <span class="n">of</span> <span class="n">Apache</span> <span class="n">DeltaSpike</span> <span class="p">[</span><span class="n">version</span><span class="p">])</span>
+
+<span class="n">thank</span> <span class="n">you</span> <span class="k">for</span> <span class="n">voting</span>!
+
+<span class="n">X</span> <span class="n">binding</span> <span class="o">+</span>1 <span class="n">votes</span> <span class="p">(</span><span class="n">pmc</span><span class="p">):</span>
+<span class="p">[</span><span class="n">list</span><span class="p">]</span>
+
+<span class="n">Y</span> <span class="n">non</span><span class="o">-</span><span class="n">binding</span> <span class="o">+</span>1 <span class="n">votes</span><span class="p">:</span>
+<span class="p">[</span><span class="n">list</span><span class="p">]</span>
+
+<span class="n">Z</span> <span class="o">-</span>1 <span class="n">votes</span>
+<span class="p">[</span><span class="n">list</span><span class="p">]</span>
+</pre></div>
+
+
+<p>If the binding majority approved the vote continue.</p>
+<ul>
+<li>Login to https://repository.apache.org/ and release the repository</li>
+<li>Merge release branch into master and push the branch and tag to the ASF repository</li>
+</ul>
+<p>Always do a merge in this case (not a rebase):</p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">checkout</span> <span class="n">master</span>
+<span class="n">git</span> <span class="n">merge</span> <span class="n">deltaspike</span><span class="o">-</span><span class="p">[</span><span class="n">version</span><span class="p">]</span>
+<span class="n">git</span> <span class="n">push</span> <span class="n">origin</span> <span class="n">deltaspike</span><span class="o">-</span><span class="p">[</span><span class="n">version</span><span class="p">]</span>
+<span class="n">git</span> <span class="n">push</span> <span class="n">origin</span> <span class="n">deltaspike</span><span class="o">-</span><span class="n">project</span><span class="o">-</span><span class="p">[</span><span class="n">version</span><span class="p">]</span>
+<span class="n">git</span> <span class="n">push</span> <span class="n">origin</span> <span class="n">master</span>
+</pre></div>
+
+
+<ul>
+<li>Create the release at jira</li>
+<li>Close the corresponding tickets of the version</li>
+<li>Wait some hours and check http://repo2.maven.org/maven2/org/apache/deltaspike</li>
+</ul>
+<h2 id="upload-artifacts">Upload artifacts</h2>
+<div class="codehilite"><pre><span class="n">svn</span> <span class="n">co</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">dist</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">repos</span><span class="o">/</span><span class="n">dist</span><span class="o">/</span><span class="n">release</span><span class="o">/</span><span class="n">deltaspike</span>
+<span class="n">mkdir</span> <span class="p">[</span><span class="n">version</span><span class="p">]</span>
+<span class="o">//</span><span class="n">add</span> <span class="n">and</span> <span class="n">commit</span> <span class="n">the</span> <span class="n">artifacts</span> <span class="p">(</span><span class="n">at</span> <span class="n">least</span> <span class="o">*</span><span class="n">source</span><span class="o">-</span><span class="n">release</span><span class="p">.</span><span class="n">zip</span> <span class="o">+</span> <span class="n">asc</span><span class="p">,</span> <span class="n">md5</span><span class="p">,</span> <span class="n">sha1</span><span class="p">)</span>
+</pre></div>
+
+
+<h2 id="update-download-links">Update download links</h2>
+<div class="codehilite"><pre><span class="o">/</span><span class="n">deltaspike</span><span class="o">/</span><span class="n">site</span><span class="o">/</span><span class="n">trunk</span><span class="o">/</span><span class="n">content</span><span class="o">/</span><span class="n">download</span><span class="p">.</span><span class="n">mdtext</span>
+</pre></div>
+
+
+<h2 id="announce-the-release">Announce the Release</h2>
+<h3 id="e-mails">E-Mails</h3>
+<div class="codehilite"><pre><span class="k">[ANNOUNCE] Release of Apache DeltaSpike [version]</span>
+
+<span class="err">The</span> <span class="err">Apache</span> <span class="err">DeltaSpike</span> <span class="err">team</span> <span class="err">is</span> <span class="err">pleased</span> <span class="err">to</span> <span class="err">announce</span> <span class="err">the</span> <span class="err">6th</span> <span class="err">release</span> <span class="err">of</span> <span class="err">DeltaSpike.</span>
+
+<span class="err">Apache</span> <span class="err">DeltaSpike</span> <span class="err">is</span> <span class="err">not</span> <span class="err">a</span> <span class="err">CDI-container,</span> <span class="err">but</span> <span class="err">a</span> <span class="err">portable</span> <span class="err">CDI</span> <span class="err">extension.</span>
+
+<span class="err">Documentation:</span>
+<span class="err">http://deltaspike.apache.org/documentation.html</span>
+
+<span class="err">Download:</span>
+<span class="err">http://deltaspike.apache.org/download.html</span>
+
+<span class="err">Release</span> <span class="err">Notes:</span>
+<span class="err">http://s.apache.org/DeltaSpike_06</span>
+
+<span class="err">Enjoy!</span>
+
+<span class="k">[name]</span>
+</pre></div>
+
+
+<p>Write the e-mails to:</p>
+<ul>
+<li>announce@apache.org</li>
+<li>dev@deltaspike.apache.org</li>
+<li>users@deltaspike.apache.org</li>
+</ul>
+<h3 id="twitter">Twitter</h3>
+<p>e.g.:</p>
+<div class="codehilite"><pre><span class="p">[</span><span class="n">ANNOUNCE</span><span class="p">]</span> <span class="n">The</span> <span class="n">Apache</span> #<span class="n">DeltaSpike</span> <span class="n">team</span> <span class="n">is</span> <span class="n">pleased</span> <span class="n">to</span> <span class="n">announce</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">s</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">DeltaSpike_</span><span class="p">[</span><span class="n">version</span><span class="p">].</span> <span class="n">Feel</span> <span class="n">free</span> <span class="n">to</span> <span class="n">test</span> <span class="n">it</span>! <span class="n">Feedback</span> <span class="n">is</span> <span class="n">very</span> <span class="n">welcome</span>!
+</pre></div>
+
+
+<h3 id="news">News</h3>
+<p>Add the release to http://deltaspike.apache.org/news.html</p>
+          </div>
+      </div>
+
+      <hr>
+
+      <footer>
+        <p>Copyright © 2011-2014 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.</p>
+        <p>Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+      </footer>
+
+    </div> <!-- /.container -->
+
+    <!-- Javascript
+    ================================================== -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <!--<script src="./../resources/js/prettyfy.js"></script> -->
+    <script src="./../resources/js/prettyprint.js"></script>
+    <script src="./../resources/js/jquery.js"></script>
+    <script src="./../resources/js/bootstrap-transition.js"></script>
+    <script src="./../resources/js/bootstrap-alert.js"></script>
+    <script src="./../resources/js/bootstrap-modal.js"></script>
+    <script src="./../resources/js/bootstrap-dropdown.js"></script>
+    <script src="./../resources/js/bootstrap-scrollspy.js"></script>
+    <script src="./../resources/js/bootstrap-tab.js"></script>
+    <script src="./../resources/js/bootstrap-tooltip.js"></script>
+    <script src="./../resources/js/bootstrap-popover.js"></script>
+    <script src="./../resources/js/bootstrap-button.js"></script>
+    <script src="./../resources/js/bootstrap-collapse.js"></script>
+    <script src="./../resources/js/bootstrap-carousel.js"></script>
+    <script src="./../resources/js/bootstrap-typeahead.js"></script>
+</body>
+</html>

Added: websites/staging/deltaspike/trunk/content/retired/support.html
==============================================================================
--- websites/staging/deltaspike/trunk/content/retired/support.html (added)
+++ websites/staging/deltaspike/trunk/content/retired/support.html Wed Sep 17 12:22:52 2014
@@ -0,0 +1,112 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="description" content="deltaspike-generate-pages">
+    <meta name="author" content="chm">
+
+    <title>Apache DeltaSpike - Support</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 &quot;License&quot;); 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 &quot;AS IS&quot; 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. -->
+
+    <!-- Styles -->
+    
+    <link href="./../resources/css/bootstrap.css" rel="stylesheet">    
+    <!--<link href="./../resources/css/prettify.css" rel="stylesheet" /> -->
+    <link href="./../resources/css/codehilite.css" rel="stylesheet" />
+    <link href="./../resources/css/bootstrap-responsive.css" rel="stylesheet">
+    <style type="text/css">
+        body {
+            padding-top: 60px;
+            padding-bottom: 40px;
+        }
+    </style>
+	<script type="text/javascript">
+
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-36103647-1']);
+	  _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="navbar navbar-fixed-top">
+        <div class="navbar-inner">
+            <div class="container">
+                <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </a>
+                <a class="brand logocolor" href="/index.html">Apache DeltaSpike</a>
+                <div class="nav-collapse">
+                    <ul class="nav">
+                        <li class="active"><a href="./../index.html">Home</a></li>
+                        <li><a href="./../documentation.html">Documentation</a></li>
+                        <li><a href="./../source.html">Source</a></li>
+                        <li><a href="./../download.html">Download</a></li>
+                        <li><a href="./../community.html">Community</a></li>
+                        <!-- <li><a href="./../support.html">Support</a></li>  -->
+                        <li><a href="./../news.html">News</a></li>
+                        <li><a href="./../migration-guide.html">Migration</a></li>
+                    </ul>
+                </div><!--/.nav-collapse -->
+                <form id="search-form" action="http://www.google.com/search" method="get"  class="navbar-search pull-right" >
+                    <input value="deltaspike.apache.org" name="sitesearch" type="hidden"/>
+                    <input class="search-query" name="q" id="query" type="text" />
+                </form>
+            </div>
+        </div>
+    </div>
+
+    <div class="container">
+      <div class="row">
+          <div class="span12">
+              <div class="page-title">
+                <h1>Support</h1>
+              </div>
+              
+          </div>
+      </div>
+
+      <hr>
+
+      <footer>
+        <p>Copyright © 2011-2014 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.</p>
+        <p>Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+      </footer>
+
+    </div> <!-- /.container -->
+
+    <!-- Javascript
+    ================================================== -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <!--<script src="./../resources/js/prettyfy.js"></script> -->
+    <script src="./../resources/js/prettyprint.js"></script>
+    <script src="./../resources/js/jquery.js"></script>
+    <script src="./../resources/js/bootstrap-transition.js"></script>
+    <script src="./../resources/js/bootstrap-alert.js"></script>
+    <script src="./../resources/js/bootstrap-modal.js"></script>
+    <script src="./../resources/js/bootstrap-dropdown.js"></script>
+    <script src="./../resources/js/bootstrap-scrollspy.js"></script>
+    <script src="./../resources/js/bootstrap-tab.js"></script>
+    <script src="./../resources/js/bootstrap-tooltip.js"></script>
+    <script src="./../resources/js/bootstrap-popover.js"></script>
+    <script src="./../resources/js/bootstrap-button.js"></script>
+    <script src="./../resources/js/bootstrap-collapse.js"></script>
+    <script src="./../resources/js/bootstrap-carousel.js"></script>
+    <script src="./../resources/js/bootstrap-typeahead.js"></script>
+</body>
+</html>

Added: websites/staging/deltaspike/trunk/content/retired/supporters.html
==============================================================================
--- websites/staging/deltaspike/trunk/content/retired/supporters.html (added)
+++ websites/staging/deltaspike/trunk/content/retired/supporters.html Wed Sep 17 12:22:52 2014
@@ -0,0 +1,153 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="description" content="deltaspike-generate-pages">
+    <meta name="author" content="chm">
+
+    <title>Apache DeltaSpike - DeltaSpike supporters</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 &quot;License&quot;); 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 &quot;AS IS&quot; 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. -->
+
+    <!-- Styles -->
+    
+    <link href="./../resources/css/bootstrap.css" rel="stylesheet">    
+    <!--<link href="./../resources/css/prettify.css" rel="stylesheet" /> -->
+    <link href="./../resources/css/codehilite.css" rel="stylesheet" />
+    <link href="./../resources/css/bootstrap-responsive.css" rel="stylesheet">
+    <style type="text/css">
+        body {
+            padding-top: 60px;
+            padding-bottom: 40px;
+        }
+    </style>
+	<script type="text/javascript">
+
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-36103647-1']);
+	  _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="navbar navbar-fixed-top">
+        <div class="navbar-inner">
+            <div class="container">
+                <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </a>
+                <a class="brand logocolor" href="/index.html">Apache DeltaSpike</a>
+                <div class="nav-collapse">
+                    <ul class="nav">
+                        <li class="active"><a href="./../index.html">Home</a></li>
+                        <li><a href="./../documentation.html">Documentation</a></li>
+                        <li><a href="./../source.html">Source</a></li>
+                        <li><a href="./../download.html">Download</a></li>
+                        <li><a href="./../community.html">Community</a></li>
+                        <!-- <li><a href="./../support.html">Support</a></li>  -->
+                        <li><a href="./../news.html">News</a></li>
+                        <li><a href="./../migration-guide.html">Migration</a></li>
+                    </ul>
+                </div><!--/.nav-collapse -->
+                <form id="search-form" action="http://www.google.com/search" method="get"  class="navbar-search pull-right" >
+                    <input value="deltaspike.apache.org" name="sitesearch" type="hidden"/>
+                    <input class="search-query" name="q" id="query" type="text" />
+                </form>
+            </div>
+        </div>
+    </div>
+
+    <div class="container">
+      <div class="row">
+          <div class="span12">
+              <div class="page-title">
+                <h1>DeltaSpike supporters</h1>
+              </div>
+              <div class="toc">
+<ul>
+<li><a href="#support-deltaspike">Support DeltaSpike</a><ul>
+<li><a href="#git-mirrors">Git Mirrors</a></li>
+<li><a href="#mailing-list-mirrors">Mailing-list Mirrors</a></li>
+<li><a href="#integration-tests">(Integration) Tests</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<hr />
+<h1 id="support-deltaspike">Support DeltaSpike</h1>
+<p>Apache DeltaSpike gets support from many community members.</p>
+<h2 id="git-mirrors">Git Mirrors</h2>
+<p>Besides the official GitHub mirror there are the following mirrors:</p>
+<ul>
+<li><a href="https://github.com/DeltaSpike/Mirror">https://github.com/DeltaSpike/Mirror</a> (+ the corresponding internal <a href="http://www.irian.at">Irian</a> mirror for the sync.)</li>
+</ul>
+<h2 id="mailing-list-mirrors">Mailing-list Mirrors</h2>
+<ul>
+<li><a href="http://www.markmail.org/search/?q=list%3Aorg.apache.deltaspike-dev">Markmail</a></li>
+<li><a href="https://s.apache.org/deltaspike-dev_nabble">Nabble</a></li>
+</ul>
+<h2 id="integration-tests">(Integration) Tests</h2>
+<p>So far we test the following environments on a regular basis (daily ci build)</p>
+<ul>
+<li>Apache OpenWebBeans (embedded):  Apache build server</li>
+<li>JBoss Weld (embedded): Apache build server</li>
+<li>JBoss AS7: <a href="http://www.c4j.be">c4j</a></li>
+<li>Glassfish 3.1.x: <a href="http://www.c4j.be">c4j</a></li>
+<li>Apache TomEE: Apache build server</li>
+</ul>
+<p>So far we test the following environments on a regular basis (manually)</p>
+<ul>
+<li>WebLogic Server 12c: <a href="http://www.c4j.be">c4j</a></li>
+</ul>
+<p>As soon as we have the corresponding config (and/or Arquillian Plugin)</p>
+<ul>
+<li>Apache Tomcat 7: DeltaSpike committers (manually)</li>
+<li>Jetty: DeltaSpike committers (manually)</li>
+</ul>
+<p><strong>Feel free to support us</strong> as well with new environments or with one of the environments we already check on a regular basis (to unburden/backup our existing supports).</p>
+          </div>
+      </div>
+
+      <hr>
+
+      <footer>
+        <p>Copyright © 2011-2014 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.</p>
+        <p>Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+      </footer>
+
+    </div> <!-- /.container -->
+
+    <!-- Javascript
+    ================================================== -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <!--<script src="./../resources/js/prettyfy.js"></script> -->
+    <script src="./../resources/js/prettyprint.js"></script>
+    <script src="./../resources/js/jquery.js"></script>
+    <script src="./../resources/js/bootstrap-transition.js"></script>
+    <script src="./../resources/js/bootstrap-alert.js"></script>
+    <script src="./../resources/js/bootstrap-modal.js"></script>
+    <script src="./../resources/js/bootstrap-dropdown.js"></script>
+    <script src="./../resources/js/bootstrap-scrollspy.js"></script>
+    <script src="./../resources/js/bootstrap-tab.js"></script>
+    <script src="./../resources/js/bootstrap-tooltip.js"></script>
+    <script src="./../resources/js/bootstrap-popover.js"></script>
+    <script src="./../resources/js/bootstrap-button.js"></script>
+    <script src="./../resources/js/bootstrap-collapse.js"></script>
+    <script src="./../resources/js/bootstrap-carousel.js"></script>
+    <script src="./../resources/js/bootstrap-typeahead.js"></script>
+</body>
+</html>

Added: websites/staging/deltaspike/trunk/content/retired/test-control.html
==============================================================================
--- websites/staging/deltaspike/trunk/content/retired/test-control.html (added)
+++ websites/staging/deltaspike/trunk/content/retired/test-control.html Wed Sep 17 12:22:52 2014
@@ -0,0 +1,457 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="description" content="deltaspike-generate-pages">
+    <meta name="author" content="chm">
+
+    <title>Apache DeltaSpike - Test-Control Module</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 &quot;License&quot;); 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 &quot;AS IS&quot; 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. -->
+
+    <!-- Styles -->
+    
+    <link href="./../resources/css/bootstrap.css" rel="stylesheet">    
+    <!--<link href="./../resources/css/prettify.css" rel="stylesheet" /> -->
+    <link href="./../resources/css/codehilite.css" rel="stylesheet" />
+    <link href="./../resources/css/bootstrap-responsive.css" rel="stylesheet">
+    <style type="text/css">
+        body {
+            padding-top: 60px;
+            padding-bottom: 40px;
+        }
+    </style>
+	<script type="text/javascript">
+
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-36103647-1']);
+	  _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="navbar navbar-fixed-top">
+        <div class="navbar-inner">
+            <div class="container">
+                <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </a>
+                <a class="brand logocolor" href="/index.html">Apache DeltaSpike</a>
+                <div class="nav-collapse">
+                    <ul class="nav">
+                        <li class="active"><a href="./../index.html">Home</a></li>
+                        <li><a href="./../documentation.html">Documentation</a></li>
+                        <li><a href="./../source.html">Source</a></li>
+                        <li><a href="./../download.html">Download</a></li>
+                        <li><a href="./../community.html">Community</a></li>
+                        <!-- <li><a href="./../support.html">Support</a></li>  -->
+                        <li><a href="./../news.html">News</a></li>
+                        <li><a href="./../migration-guide.html">Migration</a></li>
+                    </ul>
+                </div><!--/.nav-collapse -->
+                <form id="search-form" action="http://www.google.com/search" method="get"  class="navbar-search pull-right" >
+                    <input value="deltaspike.apache.org" name="sitesearch" type="hidden"/>
+                    <input class="search-query" name="q" id="query" type="text" />
+                </form>
+            </div>
+        </div>
+    </div>
+
+    <div class="container">
+      <div class="row">
+          <div class="span12">
+              <div class="page-title">
+                <h1>Test-Control Module</h1>
+              </div>
+              <div class="toc">
+<ul>
+<li><a href="#intro">Intro</a></li>
+<li><a href="#setup">Setup</a><ul>
+<li><a href="#openwebbeans">OpenWebBeans</a></li>
+<li><a href="#weld">Weld</a></li>
+</ul>
+</li>
+<li><a href="#cditestrunner">CdiTestRunner</a></li>
+<li><a href="#testcontrol">@TestControl</a></li>
+<li><a href="#cditestsuiterunner">CdiTestSuiteRunner</a></li>
+<li><a href="#project-stage-control">Project-Stage Control</a></li>
+<li><a href="#optional-config">Optional Config</a></li>
+<li><a href="#hints">Hints</a></li>
+<li><a href="#optional-integrations">Optional Integrations</a><ul>
+<li><a href="#mock-frameworks">Mock Frameworks</a></li>
+<li><a href="#jsf-via-myfaces-test">JSF (via MyFaces-Test)</a></li>
+</ul>
+</li>
+<li><a href="#mixed-tests">Mixed Tests</a></li>
+<li><a href="#known-restrictions">Known Restrictions</a><ul>
+<li><a href="#liquibase">Liquibase</a></li>
+</ul>
+</li>
+<li><a href="#spi">SPI</a><ul>
+<li><a href="#externalcontainer">ExternalContainer</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<hr />
+<h1 id="intro">Intro</h1>
+<p>This module is available since version 0.6 and allows to write CDI based tests easily.</p>
+<h1 id="setup">Setup</h1>
+<p>Setup for the CDI implementation of your choice and the following test-dependencies:</p>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-test-control-module-api<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">ds</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>test<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+<span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-test-control-module-impl<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">ds</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>test<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h2 id="openwebbeans">OpenWebBeans</h2>
+<p>If you are using OpenWebBeans also add the following test-dependency</p>
+<div class="codehilite"><pre> <span class="nt">&lt;dependency&gt;</span>
+     <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.cdictrl<span class="nt">&lt;/groupId&gt;</span>
+     <span class="nt">&lt;artifactId&gt;</span>deltaspike-cdictrl-owb<span class="nt">&lt;/artifactId&gt;</span>
+     <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">ds</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+     <span class="nt">&lt;scope&gt;</span>test<span class="nt">&lt;/scope&gt;</span>
+ <span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h2 id="weld">Weld</h2>
+<p>If you are using Weld also add the following test-dependency</p>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.cdictrl<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-cdictrl-weld<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">ds</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>test<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h1 id="cditestrunner">CdiTestRunner</h1>
+<p>JUnit Test-Runner to start/stop the CDI-Container autom. (per test-class) and one request and session per test-method:</p>
+<div class="codehilite"><pre><span class="nd">@RunWith</span><span class="o">(</span><span class="n">CdiTestRunner</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">ContainerAndInjectionControl</span>
+<span class="o">{</span>
+    <span class="nd">@Inject</span>
+    <span class="kd">private</span> <span class="n">ApplicationScopedBean</span> <span class="n">applicationScopedBean</span><span class="o">;</span>
+
+    <span class="nd">@Inject</span>
+    <span class="kd">private</span> <span class="n">SessionScopedBean</span> <span class="n">sessionScopedBean</span><span class="o">;</span>
+
+    <span class="nd">@Inject</span>
+    <span class="kd">private</span> <span class="n">RequestScopedBean</span> <span class="n">requestScopedBean</span><span class="o">;</span>
+
+    <span class="c1">//test the injected beans</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<h1 id="testcontrol">@TestControl</h1>
+<p>@TestControl allows to change the default-behavior. In the following case only one session for all test-methods (of the test-class) will be created:</p>
+<div class="codehilite"><pre><span class="nd">@RunWith</span><span class="o">(</span><span class="n">CdiTestRunner</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
+<span class="nd">@TestControl</span><span class="o">(</span><span class="n">startScopes</span> <span class="o">=</span> <span class="n">SessionScoped</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">CustomizedScopeHandling</span>
+<span class="o">{</span>
+    <span class="c1">//inject beans and test them</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<h1 id="cditestsuiterunner">CdiTestSuiteRunner</h1>
+<p>JUnit Test-Suite-Runner to start/stop the CDI-Container autom. (per test-suite):</p>
+<div class="codehilite"><pre><span class="nd">@RunWith</span><span class="o">(</span><span class="n">CdiTestSuiteRunner</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
+<span class="nd">@Suite.SuiteClasses</span><span class="o">({</span>
+    <span class="n">TestX</span><span class="o">.</span><span class="na">class</span><span class="o">,</span>
+    <span class="n">TestY</span><span class="o">.</span><span class="na">class</span>
+<span class="o">})</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">SuiteLevelContainerControl</span>
+<span class="o">{</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<h1 id="project-stage-control">Project-Stage Control</h1>
+<p>It's possible to overrule the default-project-stage for unit-tests (ProjectStage.UnitTest.class):</p>
+<div class="codehilite"><pre><span class="nd">@RunWith</span><span class="o">(</span><span class="n">CdiTestRunner</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
+<span class="nd">@TestControl</span><span class="o">(</span><span class="n">projectStage</span> <span class="o">=</span> <span class="n">CustomTestStage</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">TestStageControl</span>
+<span class="o">{</span>
+    <span class="c1">//tests here will see project-stage CustomTestStage.class</span>
+
+    <span class="nd">@Test</span>
+    <span class="nd">@TestControl</span><span class="o">(</span><span class="n">projectStage</span> <span class="o">=</span> <span class="n">ProjectStage</span><span class="o">.</span><span class="na">Development</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
+    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">checkDevEnv</span><span class="o">()</span>
+    <span class="o">{</span>
+    <span class="o">}</span>
+
+    <span class="c1">//tests here will see project-stage CustomTestStage.class</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<h1 id="optional-config">Optional Config</h1>
+<p>It's possible to set "deltaspike.testcontrol.stop_container" to "false" (via the std. DeltaSpike config). With that the CDI-Container will be started just once for all tests.</p>
+<h1 id="hints">Hints</h1>
+<p>Don't forget to add a beans.xml in the test-module (e.g. src/test/resources/META-INF/beans.xml).</p>
+<p>If you are using OpenWebBeans as CDI implementation and you need to test EJBs as well, you can use deltaspike-cdictrl-openejb + org.apache.openejb:openejb-core (instead of deltaspike-cdictrl-owb).</p>
+<h1 id="optional-integrations">Optional Integrations</h1>
+<h2 id="mock-frameworks">Mock Frameworks</h2>
+<p>With v0.8+ it's possible to mock CDI-Beans. Usually @Exclude (+ project-stage) is enough, however, for some cases mocked beans might be easier. Therefore it's possible to create (mock-)instances manually or via a mocking framework and add them e.g. via <code>DynamicMockManager</code>.</p>
+<p>If you need dependency-injection in the mocked instances, you can use <code>BeanProvider.injectFields(myMockedBean);</code>.</p>
+<div class="codehilite"><pre><span class="nd">@RunWith</span><span class="o">(</span><span class="n">CdiTestRunner</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MockedRequestScopedBeanTest</span>
+<span class="o">{</span>
+    <span class="nd">@Inject</span>
+    <span class="kd">private</span> <span class="n">RequestScopedBean</span> <span class="n">requestScopedBean</span><span class="o">;</span>
+
+    <span class="nd">@Inject</span>
+    <span class="kd">private</span> <span class="n">DynamicMockManager</span> <span class="n">mockManager</span><span class="o">;</span>
+
+    <span class="nd">@Test</span>
+    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">manualMock</span><span class="o">()</span>
+    <span class="o">{</span>
+        <span class="n">mockManager</span><span class="o">.</span><span class="na">addMock</span><span class="o">(</span><span class="k">new</span> <span class="n">RequestScopedBean</span><span class="o">()</span> <span class="o">{</span>
+            <span class="nd">@Override</span>
+            <span class="kd">public</span> <span class="kt">int</span> <span class="nf">getCount</span><span class="o">()</span>
+            <span class="o">{</span>
+                <span class="k">return</span> <span class="mi">7</span><span class="o">;</span>
+            <span class="o">}</span>
+        <span class="o">});</span>
+
+        <span class="n">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mi">7</span><span class="o">,</span> <span class="n">requestScopedBean</span><span class="o">.</span><span class="na">getCount</span><span class="o">());</span>
+        <span class="n">requestScopedBean</span><span class="o">.</span><span class="na">increaseCount</span><span class="o">();</span>
+        <span class="n">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mi">7</span><span class="o">,</span> <span class="n">requestScopedBean</span><span class="o">.</span><span class="na">getCount</span><span class="o">());</span>
+    <span class="o">}</span>
+<span class="o">}</span>
+
+<span class="nd">@RequestScoped</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">RequestScopedBean</span>
+<span class="o">{</span>
+    <span class="kd">private</span> <span class="kt">int</span> <span class="n">count</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
+
+    <span class="kd">public</span> <span class="kt">int</span> <span class="nf">getCount</span><span class="o">()</span>
+    <span class="o">{</span>
+        <span class="k">return</span> <span class="n">count</span><span class="o">;</span>
+    <span class="o">}</span>
+
+    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">increaseCount</span><span class="o">()</span>
+    <span class="o">{</span>
+        <span class="k">this</span><span class="o">.</span><span class="na">count</span><span class="o">++;</span>
+    <span class="o">}</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<p>Using a mocking framework makes no difference for adding the mock. E.g. via Mockito:</p>
+<div class="codehilite"><pre><span class="nd">@RunWith</span><span class="o">(</span><span class="n">CdiTestRunner</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MockitoMockedRequestScopedBeanTest</span>
+<span class="o">{</span>
+    <span class="nd">@Inject</span>
+    <span class="kd">private</span> <span class="n">RequestScopedBean</span> <span class="n">requestScopedBean</span><span class="o">;</span>
+
+    <span class="nd">@Inject</span>
+    <span class="kd">private</span> <span class="n">DynamicMockManager</span> <span class="n">mockManager</span><span class="o">;</span>
+
+    <span class="nd">@Test</span>
+    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">mockitoMockAsCdiBean</span><span class="o">()</span>
+    <span class="o">{</span>
+        <span class="n">RequestScopedBean</span> <span class="n">mockedRequestScopedBean</span> <span class="o">=</span> <span class="n">mock</span><span class="o">(</span><span class="n">RequestScopedBean</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+        <span class="n">when</span><span class="o">(</span><span class="n">mockedRequestScopedBean</span><span class="o">.</span><span class="na">getCount</span><span class="o">()).</span><span class="na">thenReturn</span><span class="o">(</span><span class="mi">7</span><span class="o">);</span>
+        <span class="n">mockManager</span><span class="o">.</span><span class="na">addMock</span><span class="o">(</span><span class="n">mockedRequestScopedBean</span><span class="o">);</span>
+
+        <span class="n">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mi">7</span><span class="o">,</span> <span class="n">requestScopedBean</span><span class="o">.</span><span class="na">getCount</span><span class="o">());</span>
+        <span class="n">requestScopedBean</span><span class="o">.</span><span class="na">increaseCount</span><span class="o">();</span>
+        <span class="n">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mi">7</span><span class="o">,</span> <span class="n">requestScopedBean</span><span class="o">.</span><span class="na">getCount</span><span class="o">());</span>
+    <span class="o">}</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<p>Since CDI implementations like OpenWebBeans use a lot of optimizations, it's required to handle mocks for application-scoped beans differently - e.g.:</p>
+<div class="codehilite"><pre><span class="nd">@RunWith</span><span class="o">(</span><span class="n">CdiTestRunner</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MockedApplicationScopedBeanTest</span>
+<span class="o">{</span>
+    <span class="nd">@Inject</span>
+    <span class="kd">private</span> <span class="n">ApplicationScopedBean</span> <span class="n">applicationScopedBean</span><span class="o">;</span>
+
+    <span class="nd">@BeforeClass</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">()</span>
+    <span class="o">{</span>
+        <span class="n">ApplicationMockManager</span> <span class="n">applicationMockManager</span> <span class="o">=</span> <span class="n">BeanProvider</span><span class="o">.</span><span class="na">getContextualReference</span><span class="o">(</span><span class="n">ApplicationMockManager</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+        <span class="n">applicationMockManager</span><span class="o">.</span><span class="na">addMock</span><span class="o">(</span><span class="k">new</span> <span class="n">MockedApplicationScopedBean</span><span class="o">());</span>
+    <span class="o">}</span>
+
+    <span class="nd">@Test</span>
+    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">manualMock</span><span class="o">()</span>
+    <span class="o">{</span>
+        <span class="n">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mi">14</span><span class="o">,</span> <span class="n">applicationScopedBean</span><span class="o">.</span><span class="na">getCount</span><span class="o">());</span>
+        <span class="n">applicationScopedBean</span><span class="o">.</span><span class="na">increaseCount</span><span class="o">();</span>
+        <span class="n">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mi">14</span><span class="o">,</span> <span class="n">applicationScopedBean</span><span class="o">.</span><span class="na">getCount</span><span class="o">());</span>
+    <span class="o">}</span>
+<span class="o">}</span>
+
+<span class="nd">@ApplicationScoped</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">ApplicationScopedBean</span>
+<span class="o">{</span>
+    <span class="kd">private</span> <span class="kt">int</span> <span class="n">count</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
+
+    <span class="kd">public</span> <span class="kt">int</span> <span class="nf">getCount</span><span class="o">()</span>
+    <span class="o">{</span>
+        <span class="k">return</span> <span class="n">count</span><span class="o">;</span>
+    <span class="o">}</span>
+
+    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">increaseCount</span><span class="o">()</span>
+    <span class="o">{</span>
+        <span class="k">this</span><span class="o">.</span><span class="na">count</span><span class="o">++;</span>
+    <span class="o">}</span>
+<span class="o">}</span>
+
+<span class="nd">@Typed</span><span class="o">()</span> <span class="c1">//exclude it for the cdi type-check</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MockedApplicationScopedBean</span> <span class="kd">extends</span> <span class="n">ApplicationScopedBean</span>
+<span class="o">{</span>
+    <span class="nd">@Override</span>
+    <span class="kd">public</span> <span class="kt">int</span> <span class="nf">getCount</span><span class="o">()</span>
+    <span class="o">{</span>
+        <span class="k">return</span> <span class="mi">14</span><span class="o">;</span>
+    <span class="o">}</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<p>However, <code>ApplicationMockManager</code> can be used for adding all mocks, if they should be active for the lifetime of the CDI-container.</p>
+<p>It's also possible to mock qualified beans. Just add the literal-instance(s) as additional parameter(s) - e.g.:</p>
+<div class="codehilite"><pre><span class="nd">@RunWith</span><span class="o">(</span><span class="n">CdiTestRunner</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MockedQualifiedBeanTest</span>
+<span class="o">{</span>
+    <span class="nd">@Inject</span>
+    <span class="nd">@MyQualifier</span>
+    <span class="kd">private</span> <span class="n">QualifiedBean</span> <span class="n">qualifiedBean</span><span class="o">;</span>
+
+    <span class="nd">@Inject</span>
+    <span class="kd">private</span> <span class="n">DynamicMockManager</span> <span class="n">mockManager</span><span class="o">;</span>
+
+    <span class="nd">@Test</span>
+    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">manualMockWithQualifier</span><span class="o">()</span>
+    <span class="o">{</span>
+        <span class="n">mockManager</span><span class="o">.</span><span class="na">addMock</span><span class="o">(</span><span class="k">new</span> <span class="n">QualifiedBean</span><span class="o">()</span> <span class="o">{</span>
+            <span class="nd">@Override</span>
+            <span class="kd">public</span> <span class="kt">int</span> <span class="nf">getCount</span><span class="o">()</span>
+            <span class="o">{</span>
+                <span class="k">return</span> <span class="mi">21</span><span class="o">;</span>
+            <span class="o">}</span>
+        <span class="o">},</span> <span class="n">AnnotationInstanceProvider</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="n">MyQualifier</span><span class="o">.</span><span class="na">class</span><span class="o">));</span>
+
+        <span class="n">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mi">21</span><span class="o">,</span> <span class="n">qualifiedBean</span><span class="o">.</span><span class="na">getCount</span><span class="o">());</span>
+        <span class="n">qualifiedBean</span><span class="o">.</span><span class="na">increaseCount</span><span class="o">();</span>
+        <span class="n">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mi">21</span><span class="o">,</span> <span class="n">qualifiedBean</span><span class="o">.</span><span class="na">getCount</span><span class="o">());</span>
+    <span class="o">}</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<p>In some cases it's needed to use <code>@javax.enterprise.inject.Typed</code>. Mocking such typed beans can result in an <code>AmbiguousResolutionException</code>.
+Therefore it's needed to exclude the mocked implementation via <code>@Exclude</code> or <code>@Typed()</code> (or a parametrized constructor) and specify the target-type via <code>@TypedMock</code>.</p>
+<h2 id="jsf-via-myfaces-test">JSF (via MyFaces-Test)</h2>
+<p>add on of</p>
+<ul>
+<li>org.apache.deltaspike.testcontrol.impl.jsf.MockedJsf2TestContainer</li>
+<li>org.apache.deltaspike.testcontrol.impl.jsf.MockedJsfTestContainerAdapter</li>
+<li>org.apache.deltaspike.testcontrol.impl.jsf.MyFacesContainerAdapter</li>
+<li>org.apache.deltaspike.testcontrol.impl.jsf.MyFacesContainerPerTestMethodAdapter</li>
+</ul>
+<p>as content to</p>
+<p>/META-INF/services/org.apache.deltaspike.testcontrol.spi.ExternalContainer</p>
+<p>(in your config-folder for tests e.g.: test/resources)</p>
+<h1 id="mixed-tests">Mixed Tests</h1>
+<p>Usually you should have one kind of tests per test-module.
+However, if you need to add e.g. a test without an external-container to your test-module which uses external-containers, you can annotate your test with:</p>
+<div class="codehilite"><pre><span class="nd">@RunWith</span><span class="o">(</span><span class="n">CdiTestRunner</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
+<span class="nd">@TestControl</span><span class="o">(</span><span class="n">startExternalContainers</span> <span class="o">=</span> <span class="kc">false</span><span class="o">)</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">JsfContainerTest</span>
+<span class="o">{</span>
+    <span class="c1">//...</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<h1 id="known-restrictions">Known Restrictions</h1>
+<h2 id="liquibase">Liquibase</h2>
+<p>Liquibase invokes <code>#toString</code> in a <code>AfterDeploymentValidation</code> observer.
+<strong>that isn't portable</strong> and therefore you have to deactivate the mocking-support via:</p>
+<div class="codehilite"><pre><span class="kd">public</span> <span class="kd">class</span> <span class="nc">LiquibaseAwareClassDeactivator</span> <span class="kd">implements</span> <span class="n">ClassDeactivator</span> <span class="o">{</span>
+    <span class="nd">@Override</span>
+    <span class="kd">public</span> <span class="n">Boolean</span> <span class="nf">isActivated</span><span class="o">(</span><span class="n">Class</span><span class="o">&lt;?</span> <span class="kd">extends</span> <span class="n">Deactivatable</span><span class="o">&gt;</span> <span class="n">targetClass</span><span class="o">)</span> <span class="o">{</span>
+        <span class="k">return</span> <span class="o">!</span><span class="s">&quot;org.apache.deltaspike.testcontrol.impl.mock.MockExtension&quot;</span><span class="o">.</span><span class="na">equals</span><span class="o">(</span><span class="n">targetClass</span><span class="o">.</span><span class="na">getName</span><span class="o">());</span>
+    <span class="o">}</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<p>and add <code>LiquibaseAwareClassDeactivator</code> to <code>/META-INF/apache-deltaspike.properties</code> - e.g.:</p>
+<div class="codehilite"><pre><span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">deltaspike</span><span class="p">.</span><span class="n">core</span><span class="p">.</span><span class="n">spi</span><span class="p">.</span><span class="n">activation</span><span class="p">.</span><span class="n">ClassDeactivator</span><span class="p">=</span><span class="n">myPackage</span><span class="p">.</span><span class="n">LiquibaseAwareClassDeactivator</span>
+</pre></div>
+
+
+<p>Further details are available at <a href="spi.html#deactivatable">deactivatable</a>.</p>
+<h1 id="spi">SPI</h1>
+<h2 id="externalcontainer">ExternalContainer</h2>
+<p>org.apache.deltaspike.testcontrol.spi.ExternalContainer allows to integrate containers which get started after the CDI container.
+Currently DeltaSpike provides:</p>
+<ul>
+<li>MockedJsf2TestContainer (integration with MyFaces-Test)</li>
+</ul>
+<p>[TODO]</p>
+          </div>
+      </div>
+
+      <hr>
+
+      <footer>
+        <p>Copyright © 2011-2014 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.</p>
+        <p>Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+      </footer>
+
+    </div> <!-- /.container -->
+
+    <!-- Javascript
+    ================================================== -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <!--<script src="./../resources/js/prettyfy.js"></script> -->
+    <script src="./../resources/js/prettyprint.js"></script>
+    <script src="./../resources/js/jquery.js"></script>
+    <script src="./../resources/js/bootstrap-transition.js"></script>
+    <script src="./../resources/js/bootstrap-alert.js"></script>
+    <script src="./../resources/js/bootstrap-modal.js"></script>
+    <script src="./../resources/js/bootstrap-dropdown.js"></script>
+    <script src="./../resources/js/bootstrap-scrollspy.js"></script>
+    <script src="./../resources/js/bootstrap-tab.js"></script>
+    <script src="./../resources/js/bootstrap-tooltip.js"></script>
+    <script src="./../resources/js/bootstrap-popover.js"></script>
+    <script src="./../resources/js/bootstrap-button.js"></script>
+    <script src="./../resources/js/bootstrap-collapse.js"></script>
+    <script src="./../resources/js/bootstrap-carousel.js"></script>
+    <script src="./../resources/js/bootstrap-typeahead.js"></script>
+</body>
+</html>



Mime
View raw message