brooklyn-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rich...@apache.org
Subject [30/36] incubator-brooklyn git commit: Cherry-pick merge of PR #389 into 0.7.0-M2-incubating-docs branch
Date Fri, 09 Jan 2015 15:39:12 GMT
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/_layouts/guide-normal.html
----------------------------------------------------------------------
diff --git a/docs/_layouts/guide-normal.html b/docs/_layouts/guide-normal.html
new file mode 100644
index 0000000..4e676ad
--- /dev/null
+++ b/docs/_layouts/guide-normal.html
@@ -0,0 +1,247 @@
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+  <title>{{ page.title }}</title>
+
+  <link rel="stylesheet" href="{{ site.path.style }}/css/guide.css" type="text/css" media="screen" />
+  <link rel="stylesheet" href="{{ site.path.style }}/css/guide-toc.css" type="text/css" media="screen" />
+  <link rel="stylesheet" href="{{ site.path.style }}/css/code.css" type="text/css" media="screen" />
+
+    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
+  
+	<!-- Sidebar/ToC Scripts and CSS -->
+	<script src="{{ site.path.style }}/deps/jquery.js"></script>
+	<script src="{{ site.path.style }}/deps/jquery-ui/jquery-ui-1.8.18.custom.min.js"></script>
+	<link rel="stylesheet" type="text/css" href="{{ site.path.style }}/deps/jquery-ui/jquery-ui-1.8.18.custom.css" />
+	
+	<script type="text/javascript" src="{{ site.path.style }}/deps/superfish.js"></script>
+	<script type="text/javascript" src="{{ site.path.style }}/deps/jquery.cookie.js"></script>
+	
+	
+<!-- Clipboard support -->
+<script src="//cdnjs.cloudflare.com/ajax/libs/zeroclipboard/1.3.1/ZeroClipboard.min.js"></script>
+<style type="text/css">
+.clipboard_container { float: right; padding: 8px; }
+.clipboard_button {
+    background-image: url("{{ site.path.style }}/img/clipboard-green-normal.png");
+    background-size: 18px 21px;
+    width: 18px; height: 21px;
+}
+.clipboard_button:hover, .clipboard_button.zeroclipboard-is-hover { background-image: url("{{ site.path.style }}/img/clipboard-green-hover.png"); }
+.clipboard_button:active, .clipboard_button.zeroclipboard-is-active { background-image: url("{{ site.path.style }}/img/clipboard-green-click.png"); }'
+</style>
+<script type="text/javascript"> <!-- clipboard -->
+  ZeroClipboard.config({ moviePath: '//cdnjs.cloudflare.com/ajax/libs/zeroclipboard/1.3.1/ZeroClipboard.swf' });
+</script>
+<script type="text/javascript"> <!-- clipboard positioning -->
+$(document).ready(function() {
+  $('<div class="clipboard_container" title="Copy to Clipboard">'+
+    '<div class="clipboard_button"/>'+
+  '</div>').insertBefore($('div.highlight'))
+  $('div.clipboard_container').each(function(index) {
+    var clipboard = new ZeroClipboard();
+    clipboard.clip( $(this).find(":first")[0], $(this)[0] );
+    var target = $(this).next();
+    var txt = target.text().trim();
+    if (target.find('code.bash')) {
+      // Strip out bash prompts from the start of each line (i.e. '$' or '%' characters
+      // at the very start, or immediately following any newline). Correctly handles continuation
+      // lines, where a leading '$' or '%' is *not* a prompt character.
+      txt = txt.replace(/(^|[^\\]\n)[$%] /g, "$1");
+    }
+console.log("setting text to "+txt);
+    clipboard.on( 'dataRequested', function (client, args) {
+      client.setText( txt );
+    });
+  });
+});
+</script>
+
+    <script type="text/javascript">
+        // initialise menu delay
+        jQuery(function(){
+            jQuery('ul#mainmenu').superfish({ 
+                autoArrows:  false,  // disable generation of arrow mark-up 
+                dropShadows: false,  // disable drop shadows 
+                disableHI:   true,   // set to true to disable hoverIntent detection 
+                delay:       500,    // the delay in milliseconds that the mouse can remain outside a submenu without it closing 
+                speed:       'fast', 
+            });
+        });
+    </script>
+
+<script type="text/javascript">
+
+<!-- search -->
+	$(function() {
+		$('#simple_google')
+			.submit(function() {
+				$('input[name="q"]').val("site:" + document.location.hostname + " " + $('input[name="brooklyn-search"]').val());
+			return true;
+			});
+		$('input[name="brooklyn-search"]').focus(function() {
+				if ($(this).val() === $(this).attr('placeholder')) {
+					$(this).val('');
+				}
+			})
+			.blur(function() {
+				if ($(this).val() === '') {
+					$(this).val($(this).attr('placeholder'));
+				}
+			})
+			.blur();
+    });
+    
+<!-- page notes -->
+   	$(function() {
+		if (document.location.pathname.replace(/^\/([^\/]*).*$/, '$1') === "v"){
+			var thisversion = document.location.pathname.split("/")[2],
+				msg = "";
+			
+			if (thisversion != 'latest' && !$.cookie('brooklyn_versions') || 
+			        (($.inArray('ALL', $.cookie('brooklyn_versions').split(",")) === -1) &&
+			        ($.inArray(thisversion, $.cookie('brooklyn_versions').split(",")) === -1)) ){
+			    msg += "<div class='warning_banner_image'><img src='{{ site.path.style }}/img/warning.png'/></div>";
+				msg += "<p>This content is for <strong>Brooklyn "+thisversion+"</strong>, and may differ across versions.</p>";
+			    msg += "<p>Are you using version "+thisversion+"?</p>";
+				msg += "<p class='warning_banner_buttons'>";
+				msg += "<a href = '#' onclick=\"set_user_version('"+thisversion+"');\">Yes, hide this warning</a>";
+			    msg += "<a href = '{{ site.page.guide }}'>No, show me the latest version</a>";
+				msg += "<a href = '{{ site.page.guide }}/meta/versions.html'>Show all versions</a>";
+				msg += "</p>"
+							
+				$('#page_notes').html(msg);
+				$('#page_notes').fadeIn('slow');
+			}
+		}
+	});
+   	function get_user_versions() {
+   	    return $.cookie("brooklyn_versions") ? $.cookie("brooklyn_versions").split(",") : [];
+   	};
+	function set_user_version(version) {
+		var version_cookie = get_user_versions();
+		version_cookie.push(version);
+		$.cookie('brooklyn_versions', version_cookie, { expires: 365, path: '/' });
+		$('#page_notes').fadeOut();
+		event.preventDefault ? event.preventDefault() : event.returnValue = false;
+	};
+    function set_user_versions_all() {
+        var version_cookie = get_user_versions();
+        version_cookie.push("ALL");
+        $.cookie('brooklyn_versions', version_cookie, { expires: 365, path: '/' });
+        $('#page_notes').fadeOut();
+        event.preventDefault ? event.preventDefault() : event.returnValue = false;
+    };
+    function clear_user_versions() {
+        $.removeCookie('brooklyn_versions', { path: '/' });
+        $('#page_notes').fadeIn('slow');
+        event.preventDefault ? event.preventDefault() : event.returnValue = false;
+    };
+	
+   
+ <!-- analytics -->
+	var _gaq = _gaq || [];
+	_gaq.push(['_setAccount', 'UA-30530918-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>
+
+    <ul id="shortcuts" title="Accessibility shortcuts menu">
+        <li><a href="#maincontent">Skip to main content</a></li>
+    </ul>
+   
+
+<div id="container">
+
+    <div id="header">
+    
+        <div id="identity">
+            <a href="{{ site.path.website }}" rel="home">Brooklyn</a>
+        </div>
+        
+        <ul id="quicklinks">
+            <li><a href="{{site.path.guide}}/meta/versions.html">{{ site.brooklyn-version }}</a></li>
+            <li><a href="{{site.path.guide}}/start/download.html">Download</a></li>
+            <li><a href="https://github.com/apache/incubator-brooklyn">GitHub</a></li>
+            <li><a href="https://twitter.com/#!/search?q=brooklyncentral">Twitter</a></li>
+            <li><a href="{{site.path.guide}}/meta/contact.html">Contact</a></li>
+        </ul>
+
+        <div id="menubar">  
+
+{% include topbar.html %}                    
+
+            <form method="get" id="simple_google" class="searchform" action="http://www.google.com/search" method="get">
+                <input type="text" class="searchinput" name="brooklyn-search" placeholder="Search: type &amp; hit enter" />
+                <input type="hidden" name="q" value="" />
+            </form>
+            
+        </div>
+                
+    </div><!--header-->
+    
+    <div id="contentcontainer">
+    
+        <div id="maincontent">
+
+{% include breadcrumbs.html %}
+
+<div id="page_notes"></div>
+
+<h1 id="header_title">{{ page.title }}</h1>
+    
+{{ content }}
+
+        </div><!--maincontent-->
+        
+      <div id="sidebar">
+      
+{% include sidebar.html %}
+
+      </div>
+
+    </div><!--contentcontainer-->
+        
+    <div id="footer">
+        <p id="copyright">
+            <b>brooklyn is distributed under the Apache License v2.0.</b><br/>
+            brooklyn is a registered trademark of Cloudsoft Corporation.<br/>
+            &copy; 2013 Cloudsoft Corporation.
+        </p>
+    </div><!--footer -->
+
+</div><!--container-->
+
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/_layouts/page.html
----------------------------------------------------------------------
diff --git a/docs/_layouts/page.html b/docs/_layouts/page.html
deleted file mode 100644
index ffadd05..0000000
--- a/docs/_layouts/page.html
+++ /dev/null
@@ -1,247 +0,0 @@
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-
-<head>
-  <title>{{ page.title }}</title>
-  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-
-  <link rel="stylesheet" href="{{ site.url }}/style/style.css" type="text/css" media="screen" />
-  <link rel="stylesheet" href="{{ site.url }}/style/toc.css" type="text/css" media="screen" />
-  <link rel="stylesheet" href="{{ site.url }}/style/docs/code.css" type="text/css" media="screen" />
-
-    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
-  
-	<!-- Sidebar/ToC Scripts and CSS -->
-	<script src="{{ site.url }}/style/js/jquery/jquery-1.7.1.min.js"></script>
-	<script src="{{ site.url }}/style/js/jquery/jquery-ui-1.8.18.custom.min.js"></script>
-	<link rel="stylesheet" type="text/css" href="{{ site.url }}/style/js/jquery/smoothness/jquery-ui-1.8.18.custom.css" />
-	
-	<script type="text/javascript" src="{{ site.url }}/style/js/superfish.js"></script>
-	<script type="text/javascript" src="{{ site.url }}/style/js/jquery.cookie.js"></script>
-	
-	
-<!-- Clipboard support -->
-<script src="//cdnjs.cloudflare.com/ajax/libs/zeroclipboard/1.3.1/ZeroClipboard.min.js"></script>
-<style type="text/css">
-.clipboard_container { float: right; padding: 8px; }
-.clipboard_button {
-    background-image: url("{{ site.url }}/style/icons/clipboard-green-normal.png");
-    background-size: 18px 21px;
-    width: 18px; height: 21px;
-}
-.clipboard_button:hover, .clipboard_button.zeroclipboard-is-hover { background-image: url("{{ site.url }}/style/icons/clipboard-green-hover.png"); }
-.clipboard_button:active, .clipboard_button.zeroclipboard-is-active { background-image: url("{{ site.url }}/style/icons/clipboard-green-click.png"); }'
-</style>
-<script type="text/javascript"> <!-- clipboard -->
-  ZeroClipboard.config({ moviePath: '//cdnjs.cloudflare.com/ajax/libs/zeroclipboard/1.3.1/ZeroClipboard.swf' });
-</script>
-<script type="text/javascript"> <!-- clipboard positioning -->
-$(document).ready(function() {
-  $('<div class="clipboard_container" title="Copy to Clipboard">'+
-    '<div class="clipboard_button"/>'+
-  '</div>').insertBefore($('div.highlight'))
-  $('div.clipboard_container').each(function(index) {
-    var clipboard = new ZeroClipboard();
-    clipboard.clip( $(this).find(":first")[0], $(this)[0] );
-    var target = $(this).next();
-    var txt = target.text().trim();
-    if (target.find('code.bash')) {
-      // Strip out bash prompts from the start of each line (i.e. '$' or '%' characters
-      // at the very start, or immediately following any newline). Correctly handles continuation
-      // lines, where a leading '$' or '%' is *not* a prompt character.
-      txt = txt.replace(/(^|[^\\]\n)[$%] /g, "$1");
-    }
-console.log("setting text to "+txt);
-    clipboard.on( 'dataRequested', function (client, args) {
-      client.setText( txt );
-    });
-  });
-});
-</script>
-
-    <script type="text/javascript">
-        // initialise menu delay
-        jQuery(function(){
-            jQuery('ul#mainmenu').superfish({ 
-                autoArrows:  false,  // disable generation of arrow mark-up 
-                dropShadows: false,  // disable drop shadows 
-                disableHI:   true,   // set to true to disable hoverIntent detection 
-                delay:       500,    // the delay in milliseconds that the mouse can remain outside a submenu without it closing 
-                speed:       'fast', 
-            });
-        });
-    </script>
-
-<script type="text/javascript">
-
-<!-- search -->
-	$(function() {
-		$('#simple_google')
-			.submit(function() {
-				$('input[name="q"]').val("site:" + document.location.hostname + " " + $('input[name="brooklyn-search"]').val());
-			return true;
-			});
-		$('input[name="brooklyn-search"]').focus(function() {
-				if ($(this).val() === $(this).attr('placeholder')) {
-					$(this).val('');
-				}
-			})
-			.blur(function() {
-				if ($(this).val() === '') {
-					$(this).val($(this).attr('placeholder'));
-				}
-			})
-			.blur();
-    });
-    
-<!-- page notes -->
-   	$(function() {
-		if (document.location.pathname.replace(/^\/([^\/]*).*$/, '$1') === "v"){
-			var thisversion = document.location.pathname.split("/")[2],
-				msg = "";
-			
-			if (!$.cookie('brooklyn_versions') || 
-			        (($.inArray('ALL', $.cookie('brooklyn_versions').split(",")) === -1) &&
-			        ($.inArray(thisversion, $.cookie('brooklyn_versions').split(",")) === -1)) ){
-			    msg += "<div class='warning_banner_image'><img src='{{ site.url }}/style/icons/warning.png'/></div>";
-				msg += "<p>This content is for <strong>Brooklyn "+thisversion+"</strong>, and may differ across versions.</p>";
-			    msg += "<p>Are you using version "+thisversion+"?</p>";
-				msg += "<p class='warning_banner_buttons'>";
-				msg += "<a href = '#' onclick=\"set_user_version('"+thisversion+"');\">Yes, hide this warning</a>";
-			    msg += "<a href = '/'>No, show me the latest version</a>";
-				msg += "<a href = '/meta/versions.html'>Show all versions</a>";
-				msg += "</p>"
-							
-				$('#page_notes').html(msg);
-				$('#page_notes').fadeIn('slow');
-			}
-		}
-	});
-   	function get_user_versions() {
-   	    return $.cookie("brooklyn_versions") ? $.cookie("brooklyn_versions").split(",") : [];
-   	};
-	function set_user_version(version) {
-		var version_cookie = get_user_versions();
-		version_cookie.push(version);
-		$.cookie('brooklyn_versions', version_cookie, { expires: 365, path: '/' });
-		$('#page_notes').fadeOut();
-		event.preventDefault ? event.preventDefault() : event.returnValue = false;
-	};
-    function set_user_versions_all() {
-        var version_cookie = get_user_versions();
-        version_cookie.push("ALL");
-        $.cookie('brooklyn_versions', version_cookie, { expires: 365, path: '/' });
-        $('#page_notes').fadeOut();
-        event.preventDefault ? event.preventDefault() : event.returnValue = false;
-    };
-    function clear_user_versions() {
-        $.removeCookie('brooklyn_versions', { path: '/' });
-        $('#page_notes').fadeIn('slow');
-        event.preventDefault ? event.preventDefault() : event.returnValue = false;
-    };
-	
-   
- <!-- analytics -->
-	var _gaq = _gaq || [];
-	_gaq.push(['_setAccount', 'UA-30530918-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>
-
-    <ul id="shortcuts" title="Accessibility shortcuts menu">
-        <li><a href="#maincontent">Skip to main content</a></li>
-    </ul>
-   
-
-<div id="container">
-
-    <div id="header">
-    
-        <div id="identity">
-            <a href="http://brooklyncentral.github.com/" rel="home">Brooklyn</a>
-        </div>
-        
-        <ul id="quicklinks">
-            <li><a href="{{site.url}}/meta/versions.html">{{ site.brooklyn-version }}</a></li>
-            <li><a href="{{site.url}}/start/download.html">Download</a></li>
-            <li><a href="https://github.com/brooklyncentral">GitHub</a></li>
-            <li><a href="https://twitter.com/#!/search?q=brooklyncentral">Twitter</a></li>
-            <li><a href="{{site.url}}/meta/contact.html">Contact</a></li>
-        </ul>
-
-        <div id="menubar">  
-
-{% include topbar.html %}                    
-
-            <form method="get" id="simple_google" class="searchform" action="http://www.google.com/search" method="get">
-                <input type="text" class="searchinput" name="brooklyn-search" placeholder="Search: type &amp; hit enter" />
-                <input type="hidden" name="q" value="" />
-            </form>
-            
-        </div>
-                
-    </div><!--header-->
-    
-    <div id="contentcontainer">
-    
-        <div id="maincontent">
-
-{% include breadcrumbs.html %}
-
-<div id="page_notes"></div>
-
-<h1 id="header_title">{{ page.title }}</h1>
-    
-{{ content }}
-
-        </div><!--maincontent-->
-        
-      <div id="sidebar">
-      
-{% include sidebar.html %}
-
-      </div>
-
-    </div><!--contentcontainer-->
-        
-    <div id="footer">
-        <p id="copyright">
-            <b>brooklyn is distributed under the Apache License v2.0.</b><br/>
-            brooklyn is a registered trademark of Cloudsoft Corporation.<br/>
-            &copy; 2013 Cloudsoft Corporation.
-        </p>
-    </div><!--footer -->
-
-</div><!--container-->
-
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/_layouts/website-base.html
----------------------------------------------------------------------
diff --git a/docs/_layouts/website-base.html b/docs/_layouts/website-base.html
new file mode 100644
index 0000000..17cb459
--- /dev/null
+++ b/docs/_layouts/website-base.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+<title>{{ page.title }} - Apache Brooklyn (incubating)</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<link href="{% dependency_url bootstrap.css %}" rel="stylesheet">
+<link href="{{site.path.style}}/deps/bootstrap-theme.css" rel="stylesheet">
+<link href="{{site.path.style}}/css/website.css" rel="stylesheet">
+</head>
+
+<body>
+
+<nav class="navbar navbar-default navbar-fixed-top" id="header" role="navigation">
+    <div class="container">
+        <div class="container-fluid">
+            <!-- Brand and toggle get grouped for better mobile display -->
+            <div class="navbar-header">
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+                {% if page.navgroup != 'home' %}<a class="navbar-brand" href="{{site.path.website}}/"><img src="{{site.path.style}}/img/apache-brooklyn-logo-244px-wide.png" alt="brooklyn"></a>{% endif %}
+            </div>
+
+            <!-- Collect the nav links, forms, and other content for toggling -->
+            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+                <ul class="nav navbar-nav navbar-right">
+                    {% for navgroup in site.data.navgroups %}
+                    {% if navgroup.page.menu2 %}
+                    <li class="dropdown{% if page.navgroup == navgroup.id %} active{% endif %}">
+                        <a href="{{navgroup.page.url}}">{{navgroup.title}}</a>
+                        <ul class="dropdown-menu" role="menu">
+                            <li>
+                                <a href="{{navgroup.page.url}}">{{navgroup.title_in_menu}}</a>
+                            </li>
+                            <li class="divider"></li>
+                            {% for child in navgroup.page.menu2 %}
+                            <li>
+                                <a href="{{child.reference.url}}">{{child.reference.title}}</a>
+                            </li>
+                            {% endfor %}
+                        </ul>
+                    </li><!-- {{ navgroup.id }} -->
+                    {% else %}
+                    <li class="{% if page.navgroup == navgroup.id %}active{% endif %}"><a href="{{navgroup.page.url}}">{{navgroup.title}}</a></li><!-- {{ navgroup.id }} -->
+                    {% endif %}
+                    {% endfor %}
+                </ul>
+            </div><!-- /.navbar-collapse -->
+        </div><!-- /.container-fluid -->
+    </div>
+</nav>
+
+{{ content }}
+
+<script src="{% dependency_url jquery.js %}"></script>
+<script src="{% dependency_url bootstrap.js %}"></script>
+
+<script language="JavaScript" type="application/javascript">
+    $(window).resize(function () { 
+        $('body').css('padding-top', parseInt($('#header').css("height"))+10);
+        $('body').css('padding-bottom', parseInt($('#footer').css("height"))+10);
+    });
+    
+    $(window).load(function () { 
+        $('body').css('padding-top', parseInt($('#header').css("height"))+10);        
+        $('body').css('padding-bottom', parseInt($('#footer').css("height"))+10);
+    });</script>
+</body>
+
+</html>
+

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/_layouts/website-landing.html
----------------------------------------------------------------------
diff --git a/docs/_layouts/website-landing.html b/docs/_layouts/website-landing.html
new file mode 100644
index 0000000..4b9878d
--- /dev/null
+++ b/docs/_layouts/website-landing.html
@@ -0,0 +1,30 @@
+---
+# layout for front page, contianing only the footer, with a bit more text
+layout: website-base
+---
+<div class="container slightlyNarrowContainer">
+    {{ content }}
+</div>
+
+<div id="footer">
+    <div class="container">
+        <div class="row">
+            <div class="col-md-9 text-muted">
+                Apache Brooklyn is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the 
+                Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the
+                infrastructure, communications, and decision making process have stabilized in a manner consistent with other
+                successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of
+                the code, it does indicate that the project has yet to be fully endorsed by the ASF.
+                Apache Brooklyn is distributed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License v2.0</a>.
+            </div>
+            <div class="col-md-3">
+                <p><img src="https://incubator.apache.org/images/egg-logo.png" alt="Apache Incubator" /></p>
+                <p>
+                    <a class="btn btn-sm btn-default" href="https://github.com/apache/incubator-brooklyn/edit/master/docs/{{ page.path }}">Edit This Page</a>
+                    <br />
+                    <a href="https://brooklyn.incubator.apache.org/community/how-to-contribute-docs.html">help with editing</a>
+                </p>
+            </div>
+        </div>
+    </div>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/_layouts/website-normal.html
----------------------------------------------------------------------
diff --git a/docs/_layouts/website-normal.html b/docs/_layouts/website-normal.html
new file mode 100644
index 0000000..130819d
--- /dev/null
+++ b/docs/_layouts/website-normal.html
@@ -0,0 +1,41 @@
+---
+# layout for most website (non-guide) pages, inheriting base for the menu bar, and providing a main column of content and a menu column
+layout: website-base
+---
+<div class="container">
+    <div class="row">
+        <div class="col-md-9">
+            <h1>{{ page.title }}</h1>
+            {{ content }}
+        </div>
+        <div class="col-md-3">
+            {% if page.menu2 %}
+            <div class="list-group">
+                <h4><a href="{{page.menu2parent.url}}" class="list-group-item{% if page.menu2parent.path == page.path %} active{% endif %}">{{ page.menu2parent.title }}</a></h4>
+                {% for child in page.menu2 %}
+                <a href="{{child.reference.url}}" class="list-group-item{% if child.reference.path == page.path %} active{% endif %}">{{ child.reference.title }}</a>
+                {% endfor %}
+            </div>
+            {% endif %}
+        </div>
+    </div>
+</div>
+
+<div id="footer">
+    <div class="container">
+        <div class="row">
+            <div class="col-md-10 text-muted">
+                Apache Brooklyn is distributed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+                License v2.0</a>.
+                <br />
+                Apache Brooklyn is currently undergoing Incubation at The Apache Software
+                Foundation.
+            </div>
+            <div class="col-md-2">
+                <a class="btn btn-sm btn-default" href="https://github.com/apache/incubator-brooklyn/edit/master/docs/{{ page.path }}">Edit This Page</a>
+                <br />
+                <a href="{{ site.url_root }}{{ site.path.website }}/community/how-to-contribute-docs.html">help with editing</a>
+            </div>
+        </div>
+    </div>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/_plugins/brooklyn_metadata.rb
----------------------------------------------------------------------
diff --git a/docs/_plugins/brooklyn_metadata.rb b/docs/_plugins/brooklyn_metadata.rb
new file mode 100644
index 0000000..c3b5483
--- /dev/null
+++ b/docs/_plugins/brooklyn_metadata.rb
@@ -0,0 +1,60 @@
+# Inserts several useful fields that can be referenced using {{ name }} syntax
+#
+# TODO: remove, no need for a plugin i think, this is already set in fields.md
+# (although doing it in ruby might be better!)
+#
+# site.data.brooklyn.version: brooklyn version, such as 0.7.0-M1
+# site.data.brooklyn.is_snapshot: true if this is a snapshot version, otherwise false
+#
+module BrooklynMetadata
+
+  BROOKLYN_VERSION = "0.7.0-M1" unless defined? BROOKLYN_VERSION
+
+  class Generator < Jekyll::Generator
+    def generate(site)
+      is_snapshot = BrooklynMetadata::BROOKLYN_VERSION.end_with?('-SNAPSHOT')
+      
+      if is_snapshot
+        url_set = {
+            "search" => {
+                "all" => "https://oss.sonatype.org/index.html#nexus-search;gav~io.brooklyn~~#{ BrooklynMetadata::BROOKLYN_VERSION }~~",
+                "dist" => "https://oss.sonatype.org/index.html#nexus-search;gav~io.brooklyn~brooklyn-dist~#{ BrooklynMetadata::BROOKLYN_VERSION }~~",
+                "alljar" => "https://oss.sonatype.org/index.html#nexus-search;gav~io.brooklyn~brooklyn-dist~#{ BrooklynMetadata::BROOKLYN_VERSION }~~"
+            },
+            "dist" => {
+                "base" => "https://oss.sonatype.org/content/groups/public/io/brooklyn/brooklyn-dist/#{ BrooklynMetadata::BROOKLYN_VERSION }/",
+                "zip" => "https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=io.brooklyn&v=#{ BrooklynMetadata::BROOKLYN_VERSION }&a=brooklyn-dist&c=dist&e=zip",
+                "tgz" => "https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=io.brooklyn&v=#{ BrooklynMetadata::BROOKLYN_VERSION }&a=brooklyn-dist&c=dist&e=tar.gz"
+            },
+            "alljar" => {
+                "base" => "https://oss.sonatype.org/content/groups/public/io/brooklyn/brooklyn-all/#{ BrooklynMetadata::BROOKLYN_VERSION }/",
+                "jar" => "https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=io.brooklyn&v=#{ BrooklynMetadata::BROOKLYN_VERSION }}&a=brooklyn-all&c=with-dependencies&e=jar"
+            }
+        }
+      else
+        url_set = {
+            "search" => {
+                "all" => "http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22io.brooklyn%22%20AND%20v%3A%22#{ BrooklynMetadata::BROOKLYN_VERSION }%22",
+                "dist" => "http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22io.brooklyn%22%20AND%20a%3A%22brooklyn-dist%22%20AND%20v%3A%22#{ BrooklynMetadata::BROOKLYN_VERSION }%22",
+                "alljar" => "http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22io.brooklyn%22%20AND%20a%3A%22brooklyn-all%22%20AND%20v%3A%22#{ BrooklynMetadata::BROOKLYN_VERSION }%22"
+            },
+            "dist" => {
+                "base" => "http://repo1.maven.org/maven2/io/brooklyn/brooklyn-dist/#{ BrooklynMetadata::BROOKLYN_VERSION }/",
+                "zip" => "http://repo1.maven.org/maven2/io/brooklyn/brooklyn-dist/#{ BrooklynMetadata::BROOKLYN_VERSION }/brooklyn-dist-#{ BrooklynMetadata::BROOKLYN_VERSION }-dist.zip",
+                "tgz" => "http://repo1.maven.org/maven2/io/brooklyn/brooklyn-dist/#{ BrooklynMetadata::BROOKLYN_VERSION }/brooklyn-dist-#{ BrooklynMetadata::BROOKLYN_VERSION }-dist.tar.gz"
+            },
+            "alljar" => {
+                "base" => "http://repo1.maven.org/maven2/io/brooklyn/brooklyn-all/#{ BrooklynMetadata::BROOKLYN_VERSION }/",
+                "jar" => "http://repo1.maven.org/maven2/io/brooklyn/brooklyn-all/#{ BrooklynMetadata::BROOKLYN_VERSION }/brooklyn-all-#{ BrooklynMetadata::BROOKLYN_VERSION }-with-dependencies.jar"
+            }
+        }
+      end
+      
+      site.data['brooklyn'] = {
+          "version" => BrooklynMetadata::BROOKLYN_VERSION,
+          "is_snapshot" => is_snapshot,
+          "url" => url_set
+      }
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/_plugins/dependency_url.rb
----------------------------------------------------------------------
diff --git a/docs/_plugins/dependency_url.rb b/docs/_plugins/dependency_url.rb
new file mode 100644
index 0000000..8a72e17
--- /dev/null
+++ b/docs/_plugins/dependency_url.rb
@@ -0,0 +1,31 @@
+# tag to write the correct URL depending whether we are running with dependencies local (for offline) or remote (eg using a CDN)
+
+# specify a map of <basename>: <remote_url> in the key `dependency_urls` in your `_config.yml`,
+# then, if `dependency_mode: local` is defined, the path `{{site.path.style}}/deps/<basename>` will be used,
+# otherwise the <remote_url> will be used
+
+module JekyllDependencyUrl
+  class DependencyUrlTag < Liquid::Tag
+    def initialize(tag_name, text, tokens)
+      super
+      @text = text
+    end
+    def render(context)
+	jekyllSite = context.registers[:site]
+        mode = context['site']['dependency_mode']
+        if mode != 'local'
+          result = context['site']['dependency_urls'][@text.strip]
+          if result.to_s == ''
+            raise 'No value in dependency_urls specified for ' + @text.strip
+          end
+        end
+        if result.to_s == ''
+          result = context['site']['path']['style'] + "/deps/" + @text.strip
+        end
+        return result
+    end
+  end
+end
+
+Liquid::Template.register_tag('dependency_url', JekyllDependencyUrl::DependencyUrlTag)
+

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/_plugins/read.rb
----------------------------------------------------------------------
diff --git a/docs/_plugins/read.rb b/docs/_plugins/read.rb
index aedbceb..ae0ba75 100644
--- a/docs/_plugins/read.rb
+++ b/docs/_plugins/read.rb
@@ -28,6 +28,8 @@
 # the argument can be a variable or a filename literal (not quoted)
 # TODO: figure out how to accept a quoted string as an argument
 
+require 'pathname'
+
 module JekyllRead
   class ReadTag < Liquid::Tag
     def initialize(tag_name, text, tokens)
@@ -35,18 +37,18 @@ module JekyllRead
       @text = text
     end
     def render(context)
-	jekyllSite = context.registers[:site]
-	dir = jekyllSite.source+'/'+File.dirname(context['page']['url'])
-	filename = @text.strip
-        filename = context[filename] || filename
-	if !filename.match(/^\/.*/) 
-		filename = dir + '/' + filename
-	else
-		filename = jekyllSite.source+'/'+filename
-	end
-	filename = filename.gsub(/\/\/+/,'/')
-	file = File.open(filename, "rb")
-	return file.read
+      filename = @text.strip
+      filename = context[filename] || filename
+
+      # Pathname API ignores first arg below if second is absolute
+      file = Pathname.new(File.dirname(context['page']['path'])) + filename
+      file = file.cleanpath
+      # is there a better way to trim a leading / ?
+      file = file.relative_path_from(Pathname.new("/")) unless file.relative?
+      raise "No such file #{file} in read call (from #{context['page']['path']})" unless file.exist?
+
+      file = File.open(file, "rb")
+      return file.read
     end
   end
 
@@ -56,24 +58,24 @@ module JekyllRead
       @text = text
     end
     def render(context)
-	jekyllSite = context.registers[:site]
-	filename = @text.strip
-	filename = context[filename] || filename
-# support vars (above) and relative paths in filename (below - need the right path if there is a subsequent link)
-        dir = filename
-	if !filename.match(/^\/.*/) 
-		dir = File.dirname(context['page']['url']) + '/' + filename
-	end
-	dir = dir.gsub(/\/\/+/,'/')
-	filename = dir.sub(/^.*\//, '')
-	dir = dir.gsub(/\/[^\/]*$/, '/')
-	targetPage = Jekyll::Page.new(jekyllSite, jekyllSite.source, dir, filename)
-	targetPage.render(jekyllSite.layouts, jekyllSite.site_payload)
-	targetPage.output
+      filename = @text.strip
+      filename = context[filename] || filename
+
+      # Pathname API ignores first arg below if second is absolute
+      file = Pathname.new(File.dirname(context['page']['path'])) + filename
+      file = file.cleanpath
+      # is there a better way to trim a leading / ?
+      file = file.relative_path_from(Pathname.new("/")) unless file.relative?
+      raise "No such file #{file} in readj call (from #{context['page']['path']})" unless file.exist?
+
+      # with readj we support vars and paths relative to a file being readj'd
+      jekyllSite = context.registers[:site]
+      targetPage = Jekyll::Page.new(jekyllSite, jekyllSite.source, File.dirname(file), File.basename(file))
+      targetPage.render(jekyllSite.layouts, jekyllSite.site_payload)
+      return targetPage.output
     end
   end
 end
 
 Liquid::Template.register_tag('read', JekyllRead::ReadTag)
 Liquid::Template.register_tag('readj', JekyllRead::ReadjTag)
-

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/_plugins/site_structure.rb
----------------------------------------------------------------------
diff --git a/docs/_plugins/site_structure.rb b/docs/_plugins/site_structure.rb
new file mode 100644
index 0000000..af98473
--- /dev/null
+++ b/docs/_plugins/site_structure.rb
@@ -0,0 +1,92 @@
+# Builds a hierarchical structure for the site, based on the YAML front matter of each page
+# Starts from a page called "index.md", and follows "children" links in the YAML front matter
+module SiteStructure
+ 
+  BROOKLYN_WEBSITE_ROOT = "/website/index.md" unless defined? BROOKLYN_WEBSITE_ROOT
+  
+  class Generator < Jekyll::Generator
+    def find_page_with_path_absolute_or_relative_to(site, path, referrent)
+      page = site.pages.detect { |page| "/"+page.path == path }
+      if !page && referrent
+        page = site.pages.detect { |page| "/"+page.path == "/"+File.dirname(referrent.path)+"/"+path }
+      end
+      if !page
+        page = site.pages.detect { |page| page.path == path }
+        puts "WARNING: link to #{path} in #{referrent ? referrent.path : "root"} uses legacy absolute syntax without leading slash" if page
+      end
+
+      throw "Could not find a page called: #{path} (referenced from #{referrent ? referrent.path : "root"})" unless page
+
+      if (page.url.start_with?("/website"))
+        page.url.slice!("/website")
+        page.url.prepend(site.config['path']['website'])
+      end
+ 
+      page     
+    end
+
+    def generate(site)
+      return nil if site.config['exclude'].index(File.dirname(Pathname.new(SiteStructure::BROOKLYN_WEBSITE_ROOT)))
+      root_page = find_page_with_path_absolute_or_relative_to(site, SiteStructure::BROOKLYN_WEBSITE_ROOT, nil)
+      navgroups = root_page.data['navgroups']
+      navgroups.each do |ng|
+        ng['page'] = find_page_with_path_absolute_or_relative_to(site, ng['page'], root_page)
+        if not ng['title_in_menu']
+          ng['title_in_menu'] = ng['title'].capitalize
+        end
+      end
+      site.data['navgroups'] = navgroups
+      site.data['structure'] = gen_structure(site, SiteStructure::BROOKLYN_WEBSITE_ROOT, nil, navgroups)
+    end
+
+    def render_liquid(site, page, content)
+      info = { :filters => [Jekyll::Filters], :registers => { :site => site, :page => page } }
+      page.render_liquid(content, site.site_payload, info)
+    end
+        
+    def gen_structure(site, pagename, parent, navgroups)
+      page = find_page_with_path_absolute_or_relative_to(site, pagename, parent)
+      
+      # My navgroup is (first rule matches):
+      # 1. what I have explicitly declared
+      # 2. if I find my path referred to in the global navgroup list
+      # 3. my parent's navgroup
+      unless page.data['navgroup']
+        match = navgroups.detect { |ng| ng['page'] == page }
+        if match
+          page.data['navgroup'] = match['id']
+        elsif parent
+          page.data['navgroup'] = parent.data['navgroup']
+        end
+      end
+      
+      # Figure out second level menu
+      # If there's no parent => I'm at the top level, so no action
+      # If there's a parent, but parent has no parent => I'm at second level, so set second-level menu
+      # Otherwise, use the parent's second level menu
+      if parent && !parent.data['parent']
+        page.data['menu2parent'] = page
+        page.data['menu2'] = page.data['children']
+      elsif parent && parent.data['parent']
+        page.data['menu2parent'] = parent.data['menu2parent']
+        page.data['menu2'] = parent.data['menu2']
+      end
+      
+      page.data['parent'] = parent
+      if page.data['children']
+        page.data['children'].each do |c|
+          if c['path']
+            # links to another Jekyll site-structured page
+            c['reference'] = gen_structure(site, render_liquid(site, page, c['path']), page, navgroups)
+          elsif c['link']
+            # links to a non-site-structured page, on this site or elsewhere
+            # allow title and link to use vars and tags (liquid processing)
+            c['reference'] = { 'url' => render_liquid(site, page, c['link']), 'title' => render_liquid(site, page, c['title']) }
+          end
+        end
+      end
+      
+      page
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/_scripts/build.sh
----------------------------------------------------------------------
diff --git a/docs/_scripts/build.sh b/docs/_scripts/build.sh
deleted file mode 100755
index b8b7ed2..0000000
--- a/docs/_scripts/build.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-#
-# this generates the site in _site
-# override --url /myMountPoint  (as an argument to this script) if you don't like the default set in /_config.yml
-
-if [ ! -x _scripts/build.sh ] ; then
-  echo script must be run in root of docs dir
-  exit 1
-fi
-
-rm -rf _site/
-
-jekyll --pygments $* "$@" || { echo failed jekyll site build ; exit 1 ; }
-echo
-
-pushd _javadoc > /dev/null
-./make-javadoc.sh || { echo failed javadoc build ; exit 1 ; }
-popd > /dev/null
-echo
-
-echo docs build complete, in _site

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/_scripts/help.txt
----------------------------------------------------------------------
diff --git a/docs/_scripts/help.txt b/docs/_scripts/help.txt
deleted file mode 100644
index ed52aa2..0000000
--- a/docs/_scripts/help.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#  http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-OVERVIEW
-========
-
-_scripts/jekyll-debug.sh
-    will launch the docs for viewing at http://localhost:4000/
-
-_scripts/build.sh 
-    will build the site in _site including javadoc for offline browsing
-
-
-Release Process
-===============
-
-Docs release instructions can be found at:
-http://brooklyncentral.github.io/dev/tips/release.html

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/_scripts/jekyll-debug.sh
----------------------------------------------------------------------
diff --git a/docs/_scripts/jekyll-debug.sh b/docs/_scripts/jekyll-debug.sh
deleted file mode 100755
index 4654098..0000000
--- a/docs/_scripts/jekyll-debug.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-#
-# launches jekyll as a server at the / location, for easy debug
-
-jekyll --pygments --server --auto --url ""  $*
-

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/_scripts/preview
----------------------------------------------------------------------
diff --git a/docs/_scripts/preview b/docs/_scripts/preview
deleted file mode 100755
index 418f753..0000000
--- a/docs/_scripts/preview
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash -e
-
-# for newer version of jekyll, based on what is used for incubator-brooklyn-site
-
-set -x
-
-echo > _config_local.yml "url: "
-
-rm -rf _site
-
-jekyll serve --config _config_local.yml --watch

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/dev/build/developers-catalog.xml
----------------------------------------------------------------------
diff --git a/docs/dev/build/developers-catalog.xml b/docs/dev/build/developers-catalog.xml
deleted file mode 100644
index 3afe052..0000000
--- a/docs/dev/build/developers-catalog.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<catalog>
-    <name>Brooklyn Developers Catalog</name>
-
-	<template type="io.cloudsoft.cloudera.SampleClouderaManagedCluster" name="Cloudera CDH4">
-		<description>Launches Cloudera Distribution for Hadoop Manager with a Cloudera Manager and an initial cluster of 4 CDH nodes
-		(resizable) and default services including HDFS, MapReduce, and HBase</description>
-		<iconUrl>http://downloads.cloudsoftcorp.com/brooklyn/catalog/logos/cloudera-icon.jpeg</iconUrl>
-	</template>
-	
-	<template type="io.cloudsoft.mapr.MyM3App" name="M3 Cluster">
-		<description>Map Reduce using MapR</description>
-		<iconUrl>http://downloads.cloudsoftcorp.com/brooklyn/catalog/logos/mapr-icon.png</iconUrl>
-	</template>
-	
-	<template type="brooklyn.demo.SimpleMongoDBReplicaSet" name="Simple MongoDB replica set">
-        <description>Launches a MongoDB replica set</description>
-        <iconUrl>http://downloads.cloudsoftcorp.com/brooklyn/catalog/logos/mongo-db-icon.jpeg</iconUrl>
-    </template>
-    
-	<template type="brooklyn.example.cloudfoundry.MovableCloudFoundryClusterExample" name="Stackato Movable CloudFoundry Cluster Example">
-		<description>Brooklyn Stackato</description>
-		<iconUrl>http://downloads.cloudsoftcorp.com/brooklyn/catalog/logos/stackato-icon.jpeg</iconUrl>
-	</template>
-	
-	<template type="brooklyn.example.cloudfoundry.MovableElasticWebAppCluster" name="Stackato Movable Elastic Web Cluster">
-		<description>Brooklyn Stackato</description>
-		<iconUrl>http://downloads.cloudsoftcorp.com/brooklyn/catalog/logos/stackato-icon.jpeg</iconUrl>
-	</template>
-	
-	<template type="io.cloudsoft.socialapps.drupal.examples.BasicDrupalApp" name="Basic Drupal App">
-		<description>Brooklyn Social Apps - Basic. (Requires Debian)</description>
-		<iconUrl>http://downloads.cloudsoftcorp.com/brooklyn/catalog/logos/drupal-icon.png</iconUrl>
-	</template>
-	
-	<template type="io.cloudsoft.socialapps.drupal.examples.ClusteredDrupalApp" name="Clustered Drupal App">
-		<description>Brooklyn Social Apps - Cluster. (Requires Debian)</description>
-		<iconUrl>http://downloads.cloudsoftcorp.com/brooklyn/catalog/logos/drupal-text-icon.png</iconUrl>
-	</template> 
-    
-    <template type="brooklyn.extras.cloudfoundry.CloudFoundryJavaClusterExample" name="Cloud Foundry Web App">
-		<description>Deploys a web application to a Cloud Foundry target</description>
-		<iconUrl>http://downloads.cloudsoftcorp.com/brooklyn/catalog/logos/cloud-foundry-logo-icon.png</iconUrl>
-	</template>
-	
-	<template type="brooklyn.demo.SimpleRedisCluster" name="Redis Cluster">
-		<description>Launches a Redis cluster</description>
-		<iconUrl>http://downloads.cloudsoftcorp.com/brooklyn/catalog/logos/redis-sq-icon.png</iconUrl>
-	</template>
-	
-    <template type="brooklyn.demo.SimpleCassandraCluster" name="Cassandra Cluster">
-		<description>Launches a Cassandra cluster</description>
-		<iconUrl>http://downloads.cloudsoftcorp.com/brooklyn/catalog/logos/cassandra-sq-icon.jpg</iconUrl>
-	</template>
-	
-	<template type="brooklyn.demo.SimpleCouchDBCluster" name="CouchDB Cluster">
-		<description>Launches a CouchDB cluster</description>
-		<iconUrl>http://downloads.cloudsoftcorp.com/brooklyn/catalog/logos/couchdb-logo-icon.png</iconUrl>
-	</template>
-
-    <template type="brooklyn.demo.GlobalWebFabricExample" name="Demo 2: GeoDNS Web Fabric DB">
-      <description>Deploys a demonstration web application to JBoss clusters around the world</description>
-      <iconUrl>http://downloads.cloudsoftcorp.com/brooklyn/catalog/logos/JBoss_by_Red_Hat-icon.png</iconUrl>
-    </template>
-
-    <template type="brooklyn.demo.WebClusterDatabaseExample" name="Demo 1: Web Cluster with DB">
-      <description>Deploys a demonstration web application to a managed JBoss cluster with elasticity, persisting to a MySQL</description>
-      <iconUrl>http://downloads.cloudsoftcorp.com/brooklyn/catalog/logos/JBoss_by_Red_Hat-icon.png</iconUrl>
-    </template>
-    
-    
-    <classpath> 
-      <entry>file://~/.m2/repository/io/brooklyn/example/brooklyn-example-simple-web-cluster/0.7.0-M2-incubating/brooklyn-example-simple-web-cluster-0.7.0-M2-incubating.jar</entry> <!--  BROOKLYN_VERSION  -->   
-      <entry>file://~/.m2/repository/io/brooklyn/example/brooklyn-example-global-web-fabric/0.7.0-M2-incubating/brooklyn-example-global-web-fabric-0.7.0-M2-incubating.jar</entry> <!--  BROOKLYN_VERSION  -->        
-      <entry>file://~/.m2/repository/io/brooklyn/example/brooklyn-example-global-web-fabric/0.7.0-M2-incubating/brooklyn-example-global-web-fabric-0.7.0-M2-incubating.jar</entry> <!--  BROOKLYN_VERSION  -->
-      <entry>file://~/.m2/repository/io/brooklyn/example/brooklyn-example-portable-cloudfoundry/0.7.0-M2-incubating/brooklyn-example-portable-cloudfoundry-0.7.0-M2-incubating.jar</entry> <!--  BROOKLYN_VERSION  -->
-      <entry>file://~/.m2/repository/io/brooklyn/example/brooklyn-example-simple-web-cluster/0.7.0-M2-incubating/brooklyn-example-simple-web-cluster-0.7.0-M2-incubating.jar</entry> <!--  BROOKLYN_VERSION  -->
-      <entry>file://~/.m2/repository/io/brooklyn/example/brooklyn-example-hello-world-sql-webapp/0.7.0-M2-incubating/brooklyn-example-hello-world-sql-webapp-0.7.0-M2-incubating.jar</entry> <!--  BROOKLYN_VERSION  -->
-      <entry>file://~/.m2/repository/io/brooklyn/example/brooklyn-example-simple-messaging-pubsub/0.7.0-M2-incubating/brooklyn-example-simple-messaging-pubsub-0.7.0-M2-incubating.jar</entry> <!--  BROOKLYN_VERSION  -->
-      <entry>file://~/.m2/repository/io/brooklyn/example/brooklyn-examples-parent/0.7.0-M2-incubating/brooklyn-examples-parent-0.7.0-M2-incubating.jar</entry> <!--  BROOKLYN_VERSION  -->
-      <entry>file://~/.m2/repository/io/brooklyn/example/brooklyn-example-hello-world-webapp/0.7.0-M2-incubating/brooklyn-example-hello-world-webapp-0.7.0-M2-incubating.jar</entry> <!--  BROOKLYN_VERSION  -->
-      <entry>file://~/.m2/repository/io/brooklyn/example/brooklyn-example-simple-nosql-cluster/0.7.0-M2-incubating/brooklyn-example-simple-nosql-cluster-0.7.0-M2-incubating.jar</entry> <!--  BROOKLYN_VERSION  -->
-      <entry>file://~/.m2/repository/io/brooklyn/example/brooklyn-examples-webapps-parent/0.7.0-M2-incubating/brooklyn-examples-webapps-parent-0.7.0-M2-incubating.jar</entry> <!--  BROOKLYN_VERSION  -->
-    </classpath>
-
-
-</catalog>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/dev/build/eclipse.include.md
----------------------------------------------------------------------
diff --git a/docs/dev/build/eclipse.include.md b/docs/dev/build/eclipse.include.md
deleted file mode 100644
index e0dc3c0..0000000
--- a/docs/dev/build/eclipse.include.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
-- Maven Plugin: m2e from [download.eclipse.org/technology/m2e/releases](http://download.eclipse.org/technology/m2e/releases), or for kepler [http://download.eclipse.org/releases/kepler](http://download.eclipse.org/releases/kepler)
-  (typically bundled with Eclipse or available in the default update site set)
-
-- Git Plugin: egit from [download.eclipse.org/egit/updates](http://download.eclipse.org/egit/updates)
-  (typically bundled with Eclipse or available in the default update site set)
-
-- Groovy Plugin: GRECLIPSE from 
-  [dist.springsource.org/release/GRECLIPSE/e4.3](http://dist.springsource.org/release/GRECLIPSE/e4.3) 
-  (or for Eclipse [4.2](http://dist.springsource.org/release/GRECLIPSE/e4.2) 
-  or [3.7](http://dist.springsource.org/release/GRECLIPSE/e3.7)).
-  Be sure to include Groovy 1.8.6 compiler support and Maven-Eclipse (m2e) support. 
-  More details are at the [groovy update site](http://groovy.codehaus.org/Eclipse+Plugin).
-
-- TestNG Plugin: beust TestNG from [beust.com/eclipse](http://beust.com/eclipse)

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/dev/build/ide.md
----------------------------------------------------------------------
diff --git a/docs/dev/build/ide.md b/docs/dev/build/ide.md
deleted file mode 100644
index 65279ba..0000000
--- a/docs/dev/build/ide.md
+++ /dev/null
@@ -1,123 +0,0 @@
----
-layout: page
-title: IDE Setup
-toc: /toc.json
----
-
-Gone are the days when IDE integration always just works...  Maven and Eclipse fight, 
-neither quite gets along perfectly with Groovy,
-git branch switches (sooo nice) can be slow, etc etc.
-
-But with a bit of a dance the IDE can still be your friend,
-making it much easier to run tests and debug.
-
-As a general tip, don't always trust the IDE to build correctly; if you hit a snag,
-do a command-line ``mvn clean install`` (optionally with ``-DskipTests``)
-then refresh the project. 
-
-See instructions below for specific IDEs.
-
-
-## Eclipse
-
-If you're an Eclipse user, you'll probably want the Maven (m2e) plugin
-and the Groovy Eclipse plugin (used for testing and examples primarily).
-You may also want Git and TestNG plugins.
-You can install these using Help -> Install New Software, or from the Eclipse Marketplace:
-
-{% readj eclipse.include.md %}
-
-As of this writing, Eclipse 4.2 and Eclipse 4.3 are commonly used, 
-and the codebase can be imported (Import -> Existing Maven Projects) 
-and successfully built and run inside an IDE.
-However there are quirks, and mileage may vary.
-
-If you encounter issues, the following hints may be helpful:
-
-* If you attempt to import projects before the plugins are installed, you may encounter errors such as 
-  '``No marketplace entries found to handle maven-compiler-plugin:2.3.2:compile in Eclipse``',
-  and the projects will not be recognized as java projects. If you do, simply cancel the import 
-  (or delete the imported projects if they have been imported) and install the plugins as described above.
-  If you have installed plugins from alternative locations, remove them and re-install them from the locations
-  specified above.
-
-* A quick command-line build (`mvn clean install -DskipTests`) followed by a workspace refresh
-  can be useful to re-populate files which need to be copied to `target/`
- 
-* m2e likes to put `excluding="**"` on `resources` directories; if you're seeing funny missing files
-  (things like not resolving jclouds/aws-ec2 locations or missing WARs), try building clean install
-  from the command-line then doing Maven -> Update Project (clean uses a maven-replacer-plugin to fix 
-  `.classpath`s).
-  Alternatively you can go through and remove these manually in Eclipse (Build Path -> Configure)
-  or the filesystem, or use
-  the following command to remove these rogue blocks in the generated `.classpath` files:
-
-{% highlight bash %}
-% find . -name .classpath -exec sed -i.bak 's/[ ]*..cluding="[\*\/]*\(\.java\)*"//g' {} \;
-{% endhighlight %}
-
-* If m2e reports import problems, it is usually okay (even good) to mark all to "Resolve All Later".
-  The build-helper connector is useful if you're prompted for it, but
-  do *not* install the Tycho OSGi configurator (this causes show-stopping IAE's, and we don't need Eclipse to make bundles anyway).
-  You can manually mark as permanently ignored certain errors;
-  this updates the pom.xml (and should be current).
-
-* You may need to ensure ``src/main/{java,resources}`` is created in each project dir,
-  if (older versions) complain about missing directories,
-  and the same for ``src/test/{java,resources}`` *if* there are tests (``src/test`` exists):
-
-{% highlight bash %}
-find . \( -path "*/src/main" -or -path "*/src/test" \) -exec echo {} \; -exec mkdir -p {}/{java,resources} \;
-{% endhighlight %}
-
-* You may need to add the groovy nature (or even java nature) to projects;
-  with some maven-eclipse plugins this works fine, 
-  but for others (older ones) you may need to handcraft these 
-  (either right-click the project in the Package Explorer and choose Configure,
-  or edit the ``.project`` manually adding it to the project properties).
-  The tips [for jclouds maven-eclipse](http://www.jclouds.org/documentation/devguides/using-eclipse) might be helpful. 
-
-If the pain starts to be too much, come find us on IRC #brooklyncentral or [elsewhere]({{site.url}}/meta/contact.html) and we can hopefully share our pearls.
-(And if you have a tip we haven't mentioned please let us know that too!)
-
-
-
-## IntelliJ IDEA
-
-To develop or debug Brooklyn in IntelliJ, you will need to ensure that the Groovy and TestNG plugins are installed
-via the IntelliJ IDEA | Preferences | Plugins menu. Once installed, you can open Brooklyn from the root folder, 
-(e.g. ``~/myfiles/brooklyn``) which will automatically open the subprojects.
-
-There have previously been issues where the java 6 compiler incorrectly identified the return type of functions that use
-generics. These issues have been refactored away, however may return in future. If so, you can either set the java compiler
-level to 1.7, or setup IntelliJ to use the Eclipse compiler as per the instructions provided by JetBeans:
-
-> The problem seems to be caused by bug in java compiler from JDK 1.6, it is known to sometimes produce compilation 
-> errors for complicated code involving generic types. Java compiler from JDK 1.7 compiles your code successfully so I would 
-> recommend you to consider upgrading to JDK 1.7. If it isn't possible you can switch to Eclipse Compiler (Settings | 
-> Compiler | Java Compiler | "Use Compiler" combobox).
-
-
-## Netbeans
-
-Tips from Netbeans users wanted!
-
-
-
-## Debugging Tips
-
-To debug Brooklyn, create a launch configuration which launches the ``BrooklynJavascriptGuiLauncher`` class. NOTE: You may
-need to add additional projects or folders to the classpath of the run configuration (e.g. add the brooklyn-software-nosql
-project if you wish to deploy a MongoDBServer). You will also need to ensure that the working directory is set to the jsgui
-folder. For IntelliJ, you can set the 'Working directory' of the Run/Debug Configuration to ``$MODULE_DIR/../jsgui``. For
-Eclipse, use the default option of ``${workspace_loc:brooklyn-jsgui}``.
-
-To debug the jsgui (the Brooklyn web console), you will need to build Brooklyn with -DskipOptimization to prevent the build from minifying the javascript.
-When building via the command line, use the command ``mvn clean install -DskipOptimization``, and if you are using IntelliJ IDEA, you can add the option
-to the Maven Runner by clicking on the Maven Settings icon in the Maven Projects tool window  and adding the ``skipOptimization`` property with no value.
-
-When running at the command line you can enable remote connections so that one can attach a debugger to the Java process:
-    Run Java with the following on the command line or in JAVA_OPTS: ``-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005``
-
-To debug a brooklyn instance that has been run with the above JAVA_OPTS, create a remote build configuration (IntelliJ - 
-Run | Edit Configurations | + | Remote) with the default options, ensuring the port matches the address specified in JAVA_OPTS.

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/dev/build/index.md
----------------------------------------------------------------------
diff --git a/docs/dev/build/index.md b/docs/dev/build/index.md
deleted file mode 100644
index b543da4..0000000
--- a/docs/dev/build/index.md
+++ /dev/null
@@ -1,184 +0,0 @@
----
-layout: page
-title: Maven Build
-toc: /toc.json
----
-
-## The Basics
-
-To build the code, you need Maven (v3) installed and Java (1.6).
-With that in place, you should be able to build everything with a:
-
-{% highlight bash %}
-brooklyn% mvn clean install
-{% endhighlight %}
-
-Key things to note if you're new to Maven:
-
-* You may need more JVM memory, e.g. at the command-line (or in `.profile`):
-
-  ``export MAVEN_OPTS="-Xmx1024m -Xms512m -XX:MaxPermSize=256m``
-
-* You can do this in specific projects as well.
-
-* Add ``-DskipTests`` to skip tests. 
-
-* Run ``-PIntegration`` to run integration tests, or ``-PLive`` to run live tests
-  ([tests described here](tests.html))
-
-* Nearly all the gory details are in the root ``pom.xml``, which is referenced by child project poms.
-
-* You can also open and use the code in your favourite IDE,
-  although you may hit a few **[snags](ide.html)**
-  (that link has some tips for resolving them too)
-
-
-## When the RAT Bites
-
-We use RAT to ensure that all files are compliant to Apache standards.  Most of the time you shouldn't see it or need to know about it, but if it detects a violation, you'll get a message such as:
-
-    [ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.10:check (default) on project brooklyn-parent: Too many files with unapproved license: 1 See RAT report in: /Users/alex/Data/cloudsoft/dev/gits/brooklyn/target/rat.txt -> [Help 1]
-
-If there's a problem, see the file `rat.txt` in the `target` directory of the failed project.  (Maven will show you this link in its output.)
-
-Often the problem is one of the following:
-
-* You've added a file which requires the license header but doesn't have it
-
-  **Resolution:**  Simply copy the header from another file
-
-* You've got some temporary files which RAT things should have headers
-
-  **Resolution:**  Move the files away, add headers, or turn off RAT (see below)
-
-* The project structure has changed and you have stale files (e.g. in a `target` directory)
-
-  **Resolution:**  Remove the stale files, e.g. with `git clean -df` (and if needed a `find . -name target -prune -exec rm -rf {} \;` to delete folders named `target`)
-
-To disable RAT checking on a build, set `rat.ignoreErrors`, e.g. `mvn -Drat.ignoreErrors=true clean install`.  (But note you will need RAT to pass in order for a PR to be accepted!)
-
-If there is a good reason that a file, pattern, or directory should be permanently ignored, that is easy to add inside the root `pom.xml`.
-
-
-## Other Handy Hints
-
-* On some **Ubuntu** (e.g. 10.4 LTS) maven v3 is not currently available from the repositories.
-  Some instructions for installing at are [at superuser.com](http://superuser.com/questions/298062/how-do-i-install-maven-3).
-
-* The **mvnf** script 
-  ([get the gist here](https://gist.github.com/2241800)) 
-  simplifies building selected projects, so if you just change something in ``software-webapp`` 
-  and then want to re-run the examples you can do:
-  
-  ``examples/simple-web-cluster% mvnf ../../{software/webapp,usage/all}`` 
-
-* The **developers catalog** ([developers-catalog.xml](developers-catalog.xml)) uses artifacts from your local `~/.m2/repository/...` (after building from source). This avoids unnecessary web requests to Maven Central or Sonatype, and will allow you to work off-line.
-  
-  ``wget {{site.url}}/dev/build/developers-catalog.xml > ~/.brooklyn/catalog.xml`` 
-
-## Appendix: Sample Output
-
-A healthy build will look something like the following,
-including a few warnings (which we have looked into and
-understand to be benign and hard to get rid of them,
-although we'd love to if anyone can help!):
-
-{% highlight bash %}
-brooklyn% mvn clean install
-[INFO] Scanning for projects...
-[INFO] ------------------------------------------------------------------------
-[INFO] Reactor Build Order:
-[INFO] 
-[INFO] Brooklyn Parent Project
-[INFO] Brooklyn Utilities to Support Testing (listeners etc)
-[INFO] Brooklyn Logback Includable Configuration
-[INFO] Brooklyn Common Utilities
-[INFO] Brooklyn Groovy Utilities
-[INFO] Brooklyn API
-
-...
-
-[WARNING] Ignoring project type war - supportedProjectTypes = [jar]
-
-...
-
-[WARNING] We have a duplicate org/xmlpull/v1/XmlPullParser.class in /Users/aled/.m2/repository/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar
-
-...
-
-[INFO] — maven-assembly-plugin:2.3:single (build-distribution-dir) @ brooklyn-dist —
-[INFO] Reading assembly descriptor: src/main/config/build-distribution-dir.xml
-[WARNING] Cannot include project artifact: io.brooklyn:brooklyn-dist:jar:0.7.0-SNAPSHOT; it doesn't have an associated file or directory.
-[INFO] Copying files to /Users/aled/repos/apache/incubator-brooklyn/usage/dist/target/brooklyn-dist
-[WARNING] Assembly file: /Users/aled/repos/apache/incubator-brooklyn/usage/dist/target/brooklyn-dist is not a regular file (it may be a directory). It cannot be attached to the project build for installation or deployment.
-
-...
-
-[INFO] — maven-assembly-plugin:2.3:single (build-distribution-archive) @ brooklyn-dist —
-[INFO] Reading assembly descriptor: src/main/config/build-distribution-archive.xml
-[WARNING] Cannot include project artifact: io.brooklyn:brooklyn-dist:jar:0.7.0-SNAPSHOT; it doesn't have an associated file or directory.
-[INFO] Building tar: /Users/aled/repos/apache/incubator-brooklyn/usage/dist/target/brooklyn-0.7.0-SNAPSHOT-dist.tar.gz
-[WARNING] Cannot include project artifact: io.brooklyn:brooklyn-dist:jar:0.7.0-SNAPSHOT; it doesn't have an associated file or directory.
-
-...
-
-[WARNING] Don't override file /Users/aled/repos/apache/incubator-brooklyn/usage/archetypes/quickstart/target/test-classes/projects/integration-test-1/project/brooklyn-sample/src/main/resources/sample-icon.png
-
-...
-
-[INFO] Reactor Summary:
-[INFO] 
-[INFO] Brooklyn Parent Project ........................... SUCCESS [3.072s]
-[INFO] Brooklyn Utilities to Support Testing (listeners etc)  SUCCESS [3.114s]
-[INFO] Brooklyn Logback Includable Configuration ......... SUCCESS [0.680s]
-[INFO] Brooklyn Common Utilities ......................... SUCCESS [7.263s]
-[INFO] Brooklyn Groovy Utilities ......................... SUCCESS [5.193s]
-[INFO] Brooklyn API ...................................... SUCCESS [2.146s]
-[INFO] Brooklyn Test Support ............................. SUCCESS [2.517s]
-[INFO] CAMP Server Parent Project ........................ SUCCESS [0.075s]
-[INFO] CAMP Base ......................................... SUCCESS [4.079s]
-[INFO] Brooklyn REST Swagger Apidoc Utilities ............ SUCCESS [1.983s]
-[INFO] Brooklyn Logback Configuration .................... SUCCESS [0.625s]
-[INFO] CAMP Server ....................................... SUCCESS [5.446s]
-[INFO] Brooklyn Core ..................................... SUCCESS [1:24.122s]
-[INFO] Brooklyn Policies ................................. SUCCESS [44.425s]
-[INFO] Brooklyn Hazelcast Storage ........................ SUCCESS [7.143s]
-[INFO] Brooklyn Jclouds Location Targets ................. SUCCESS [16.488s]
-[INFO] Brooklyn Secure JMXMP Agent ....................... SUCCESS [8.634s]
-[INFO] Brooklyn JMX RMI Agent ............................ SUCCESS [2.315s]
-[INFO] Brooklyn Software Base ............................ SUCCESS [28.538s]
-[INFO] Brooklyn Network Software Entities ................ SUCCESS [3.896s]
-[INFO] Brooklyn OSGi Software Entities ................... SUCCESS [4.589s]
-[INFO] Brooklyn Web App Software Entities ................ SUCCESS [17.484s]
-[INFO] Brooklyn Messaging Software Entities .............. SUCCESS [7.106s]
-[INFO] Brooklyn Database Software Entities ............... SUCCESS [5.229s]
-[INFO] Brooklyn NoSQL Data Store Software Entities ....... SUCCESS [11.901s]
-[INFO] Brooklyn Monitoring Software Entities ............. SUCCESS [4.027s]
-[INFO] Brooklyn CAMP REST API ............................ SUCCESS [15.285s]
-[INFO] Brooklyn REST API ................................. SUCCESS [4.489s]
-[INFO] Brooklyn REST Server .............................. SUCCESS [30.270s]
-[INFO] Brooklyn REST Client .............................. SUCCESS [7.007s]
-[INFO] Brooklyn REST JavaScript Web GUI .................. SUCCESS [24.397s]
-[INFO] Brooklyn Launcher ................................. SUCCESS [15.923s]
-[INFO] Brooklyn Command Line Interface ................... SUCCESS [9.279s]
-[INFO] Brooklyn All Things ............................... SUCCESS [13.875s]
-[INFO] Brooklyn Distribution ............................. SUCCESS [49.370s]
-[INFO] Brooklyn Quick-Start Project Archetype ............ SUCCESS [12.053s]
-[INFO] Brooklyn Examples Aggregator Project .............. SUCCESS [0.085s]
-[INFO] Brooklyn Examples Support Aggregator Project - Webapps  SUCCESS [0.053s]
-[INFO] hello-world-webapp Maven Webapp ................... SUCCESS [0.751s]
-[INFO] hello-world-sql-webapp Maven Webapp ............... SUCCESS [0.623s]
-[INFO] Brooklyn Simple Web Cluster Example ............... SUCCESS [5.398s]
-[INFO] Brooklyn Global Web Fabric Example ................ SUCCESS [3.176s]
-[INFO] Brooklyn Simple Messaging Publish-Subscribe Example  SUCCESS [3.217s]
-[INFO] Brooklyn NoSQL Cluster Examples ................... SUCCESS [6.790s]
-[INFO] Brooklyn QA ....................................... SUCCESS [7.117s]
-[INFO] ------------------------------------------------------------------------
-[INFO] BUILD SUCCESS
-[INFO] ------------------------------------------------------------------------
-[INFO] Total time: 8:33.983s
-[INFO] Finished at: Mon Jul 21 14:56:46 BST 2014
-[INFO] Final Memory: 66M/554M
-[INFO] ------------------------------------------------------------------------
-
-{% endhighlight %}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/dev/build/tests.md
----------------------------------------------------------------------
diff --git a/docs/dev/build/tests.md b/docs/dev/build/tests.md
deleted file mode 100644
index 6a86c3c..0000000
--- a/docs/dev/build/tests.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-layout: page
-title: Tests
-toc: /toc.json
----
-
-We have the following tests groups:
-
-*     normal (i.e. no group) -- should run quickly, not need internet, and not side effect the machine (apart from a few /tmp files)          
-*     Integration -- deploys locally, may read and write from internet, takes longer.
-          If you change an entity, rerun the relevant integration test to make sure all is well!
-*     Live -- deploys remotely, may provision machines (but should clean up, getting rid of them in a try block)
-*     Live-sanity -- a sub-set of "Live" that can be run regularly; a trade-off of optimal code coverage for the 
-      time/cost of those tests.
-*     WIP -- short for "work in progress", this will disable the test from being run by the normal brooklyn maven profiles,
-      while leaving the test enabled so that one can work on it in IDEs or run the selected test(s) from the command line.
-*     Acceptance -- this (currently little-used) group is for very long running tests, such as soak tests
-
-To run these from the command line, use something like the following:
-
-*     normal: `mvn clean install`
-*     integration: `mvn clean verify -PEssentials,Locations,Entities,Integration -Dmaven.test.failure.ignore=true`
-*     Live: `mvn clean verify -PEntities,Locations,Entities,Live -Dmaven.test.failure.ignore=true`
-*     Live-sanity: `mvn clean verify -PEntities,Locations,Entities,Live-sanity -Dmaven.test.failure.ignore=true`
-
-<!-- TODO describe how to run each of these, as a group, and individually; and profiles -->

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/dev/build/toc.json
----------------------------------------------------------------------
diff --git a/docs/dev/build/toc.json b/docs/dev/build/toc.json
deleted file mode 100644
index fca9b70..0000000
--- a/docs/dev/build/toc.json
+++ /dev/null
@@ -1,8 +0,0 @@
-[
-{ "title": "Maven",
-  "file":  "{{ site.url }}/dev/build/index.html" },
-{ "title": "IDE",
-  "file": "{{ site.url }}/dev/build/ide.html" },
-{ "title": "Tests",
-  "file":  "{{ site.url }}/dev/build/tests.html" }
-]

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/dev/code/entity.md
----------------------------------------------------------------------
diff --git a/docs/dev/code/entity.md b/docs/dev/code/entity.md
deleted file mode 100644
index fda984a..0000000
--- a/docs/dev/code/entity.md
+++ /dev/null
@@ -1,91 +0,0 @@
----
-layout: page
-title: Writing an Entity
-toc: /toc.json
----
-
-## Ways to write an entity
-
-There are several ways to write a new entity:
-
-* Write pure-java, extending existing base-classes and using utilities such as `HttpTool` and `BashCommands`.
-* Write scripts, and configure (e.g. using YAML) a **`VanillaSoftwareProcess`**.
-* Use Chef recipes, and wire these into the entity by using `ChefConfig` and `ChefLifecycleEffectorTasks`.
-* Use an equivalent of Chef (e.g. Salt or Puppet; support for these is currently less mature than for Chef)
-
-The rest of this section covers writing an entity in pure-java (or other JVM languages).
-
-
-## Things To Know
-
-All entities have an interface and an implementation. The methods on the interface 
-are its effectors; the interface also defines its sensors.
-
-Entities are created through the management context (rather than calling the  
-constructor directly). This returns a proxy for the entity rather than the real 
-instance, which is important in a distributed management plane.
-
-All entity implementations inherit from `AbstractEntity`, 
-often through one of the following:
-
-* **`SoftwareProcessImpl`**:  if it's a software process
-* **`VanillaJavaAppImpl`**:  if it's a plain-old-java app
-* **`JavaWebAppSoftwareProcessImpl`**:  if it's a JVM-based web-app
-* **`DynamicClusterImpl`**, **`DynamicGroupImpl`** or **`AbstractGroupImpl`**:  if it's a collection of other entities
-
-Software-based processes tend to use *drivers* to install and
-launch the remote processes onto *locations* which support that driver type.
-For example, `AbstractSoftwareProcessSshDriver` is a common driver superclass,
-targetting `SshMachineLocation` (a machine to which Brooklyn can ssh).
-The various `SoftwareProcess` entities above (and some of the exemplars 
-listed at the end of this page) have their own dedicated drivers.
-
-Finally, there are a collection of *traits*, such as `Resizable`, 
-in the package ``brooklyn.entity.trait``. These provide common
-sensors and effectors on entities, supplied as interfaces.
-Choose one (or more) as appropriate.
-
-
-
-## Key Steps
-
-So to get started:
-
-1. Create your entity interface, extending the appropriate selection from above,
-   to define the effectors and sensors.
-2. Include an annotation like `@ImplementedBy(YourEntityImpl.class)` on your interface,
-   where `YourEntityImpl` will be the class name for your entity implementation.
-3. Create your entity class, implementing your entity interface and extending the 
-   classes for your chosen entity super-types. Naming convention is a suffix "Impl"
-   for the entity class, but this is not essential.
-4. Create a driver interface, again extending as appropriate (e.g. `SoftwareProcessDriver`).
-   The naming convention is to have a suffix "Driver". 
-5. Create the driver class, implementing your driver interface, and again extending as appropriate.
-   Naming convention is to have a suffix "SshDriver" for an ssh-based implementation.
-   The correct driver implementation is found using this naming convention, or via custom
-   namings provided by the `BasicEntityDriverFactory`.
-6. Wire the `public Class getDriverInterface()` method in the entity implementation, to specify
-   your driver interface.
-7. Provide the implementation of missing lifecycle methods in your driver class (details below)
-8. Connect the sensors from your entity (e.g. overriding `connectSensors()` of `SoftwareProcessImpl`)..
-   See the sensor feeds, such as `HttpFeed` and `JmxFeed`.
-
-Any JVM language can be used to write an entity. However use of pure Java is encouraged for
-entities in core brooklyn. 
-
-
-## Helpful References
-
-A few handy pointers will help make it easy to build your own entities.
-Check out some of the exemplar existing entities
-(note, some of the other entities use deprecated utilities and a deprecated class 
-hierarchy; it is suggested to avoid these, looking at the ones below instead):
-
-* `JBoss7Server`
-* `MySqlNode`
-
-You might also find the following helpful:
-
-* **[Entity Design Tips]({{site.url}}/dev/tips/index.html#EntityDesign)**
-* The **[User Guide]({{site.url}}/use/guide/index.html)**
-* The **[Mailing List](https://mail-archives.apache.org/mod_mbox/incubator-brooklyn-dev/)**

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/dev/code/index.include.md
----------------------------------------------------------------------
diff --git a/docs/dev/code/index.include.md b/docs/dev/code/index.include.md
deleted file mode 100644
index b071930..0000000
--- a/docs/dev/code/index.include.md
+++ /dev/null
@@ -1,98 +0,0 @@
-## The Basics
-
-Brooklyn is available at [GitHub brooklyncentral/brooklyn](http://github.com/brooklyncentral/brooklyn).  Check it out using:
-
-{% highlight bash %}
-git clone git@github.com:brooklyncentral/brooklyn.git
-cd brooklyn
-{% endhighlight %}
-
-Build it with:
-
-{% highlight bash %}
-mvn clean install
-{% endhighlight %}
-
-And launch it with:
-
-{% highlight bash %}
-cd usage/dist/target/brooklyn-dist/
-bin/brooklyn launch
-{% endhighlight %}
-
-Plenty of examples are in the **examples** sub-dir,
-described [here]({{site.url}}/use/examples),
-and pushed to the [brooklyn-examples](http://github.com/brooklyncentral/brooklyn-examples) 
-GitHub project when a version is released.
-
-Information on using Brooklyn -- configuring locations (in `brooklyn.properties`) 
-and adding new projects to a catalog -- can be found in the [User's Guide]({{site.url}}/use/guide/quickstart/index.html).
-This document is intended to help people become familiar with the codebase.
-
-## Project Structure
-
-Brooklyn is split into the following projects and sub-projects:
-
-* **``camp``**: the components for a server which speaks the CAMP REST API and which understands the CAMP YAML plan language
-* **``api``**: the pure-Java interfaces for interacting with the system
-* **``core``**: the base class implementations for entities and applications, entity traits, locations, policies, sensor and effector support, tasks, and more 
-* **``locations``**: specific location integrations
-    * **``jclouds``**: integration with many cloud APIs and providers, via Apache jclouds
-* **``policies``**: collection of useful policies for automating entity activity  
-* **``software``**: entities which are mainly launched by launched software processes on machines, and collections thereof
-    * **``base``**: software process lifecycle abstract classes and drivers (e.g. SSH) 
-    * **``webapp``**: web servers (JBoss, Tomcat), load-balancers (Nginx), and DNS (Geoscaling) 
-    * **``database``**: relational databases (SQL) 
-    * **``nosql``**: datastores other than RDBMS/SQL (often better in distributed environments) 
-    * **``messaging``**: messaging systems, including Qpid, Apache MQ, RabbitMQ 
-    * **``monitoring``**: monitoring tools, including Monit
-    * **``osgi``**: OSGi servers 
-    * **...**
-* **``utils``**: projects which lower level utilities
-    * **common**: Utility classes and methods developed for Brooklyn but not dependendent on Brooklyn
-    * **groovy**: Groovy extensions and utility classes and methods developed for Brooklyn but not dependendent on Brooklyn
-    * **jmx/jmxmp-ssl-agent**: An agent implementation that can be attached to a Java process, to give expose secure JMXMP
-    * **jmx/jmxrmi-agent**: An agent implementation that can be attached to a Java process, to give expose JMX-RMI without requiring all high-number ports to be open
-    * **rest-swagger**: Swagger REST API utility classes and methods developed for Brooklyn but not dependendent on Brooklyn
-    * **test-support**: Test utility classes and methods developed for Brooklyn but not dependendent on Brooklyn
-* **``usage``**: projects which make Brooklyn easier to use, either for end-users or Brooklyn developers
-    * **all**: maven project to supply a shaded JAR (containing all dependencies) for convenience
-    * **archetypes**: A maven archetype, for easily generating the structure of a new downstream projects 
-    * **camp**: Brooklyn bindings for the CAMP REST API
-    * **cli**: backing implementation for Brooklyn's command line interface
-    * **dist**: builds brooklyn as a downloadable .zip and .tar.gz
-    * **jsgui**: Javascript web-app for the brooklyn management web console (builds a WAR)
-    * **launcher**: for launching brooklyn, either using a main method or invoked from the cli project
-    * **logback-includes**: Various helpful logback XML files that can be included; does not contain logback.xml 
-    * **logback-xml**: Contains a logback.xml that references the include files in brooklyn-logback-includes
-    * **rest-api**: The API classes for the Brooklyn REST api
-    * **rest-client**: A client Java implementation for using the Brooklyn REST API 
-    * **rest-server**: The server-side implementation of the Brooklyn REST API
-    * **scripts**: various scripts useful for building, updating, etc. (see comments in the scripts)
-    * **qa**: longevity and stress tests
-    * **test-support**: provides Brooklyn-specific support for tests, used by nearly all projects in scope ``test``
-* **``docs``**: the markdown source code for this documentation, as described [here]({{site.url}}/dev/tips/update-docs.html)
-* **``examples``**: some canonical examples, as listed [here]({{site.url}}/use/examples)
-* **``sandbox``**: various projects, entities, and policies which the Brooklyn Project is incubating
-
- 
-## Next Steps
-
-If you're interested in building and editing the code, check out:
-
-* [Maven setup](../build/index.html)
-* [IDE setup](../build/ide.html)
-* [Tests](../build/tests.html)
-* [Tips](../tips/index.html)
-
-If you want to start writing your own policies and entities, have a look at:
-
-* [Writing a Brooklyn Entity](entity.html)
-* [Writing a Brooklyn Policy](policy.html)
-* Or see the [User Guide]({{ site.url }}/use/guide/index.html) 
-  on [policies]({{ site.url }}/use/guide/policies/index.html)
-  and [entities]({{ site.url }}/use/guide/entities/index.html)
-
-Where things aren't documented **please ask us** at 
-[the brooklyn mailing list](https://mail-archives.apache.org/mod_mbox/incubator-brooklyn-dev/)
-so we can remedy this!

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/dev/code/index.md
----------------------------------------------------------------------
diff --git a/docs/dev/code/index.md b/docs/dev/code/index.md
deleted file mode 100644
index fdf701e..0000000
--- a/docs/dev/code/index.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-layout: page
-title: Code Structure
-toc: /toc.json
----
-
-{% readj index.include.md %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/dev/code/policy.md
----------------------------------------------------------------------
diff --git a/docs/dev/code/policy.md b/docs/dev/code/policy.md
deleted file mode 100644
index 10096cd..0000000
--- a/docs/dev/code/policy.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-layout: page
-title: Writing a Policy
-toc: /toc.json
----
-
-Policies perform the active management enabled by Brooklyn.  
-Each policy instance is associated with an entity,
-and at runtime it will typically subscribe to sensors on that entity or children,
-performing some computation and optionally actions when a subscribed sensor event occurs.
-This action might be invoking an effector or emitting a new sensor,
-depending the desired behvaiour is.
-
-Writing a policy is straightforward.
-Simply extend ``AbstractPolicy``,
-overriding the ``setEntity`` method to supply any subscriptions desired:
-
-{% highlight java %}
-    @Override
-    public void setEntity(EntityLocal entity) {
-        super.setEntity(entity)
-        subscribe(entity, TARGET_SENSOR, this)
-    }
-{% endhighlight %}
-
-and supply the computation and/or activity desired whenever that event occurs:
-
-{% highlight java %}
-    @Override
-    public void onEvent(SensorEvent<Integer> event) {
-        int val = event.getValue()
-        if (val % 2 == 1)
-            entity.sayYoureOdd();
-    }
-{% endhighlight %}
-
-You'll want to do more complicated things, no doubt,
-like access other entities, perform multiple subscriptions,
-and emit other sensors -- and you can.
-See the source code, and see some commonly used policies
-in ``AutoScalerPolicy`` and ``RollingMeanEnricher``. 
-
-One rule of thumb, to close on:
-try to keep policies simple, and compose them together at runtime;
-for instance, if a complex computation triggers an action,
-define one **enricher** policy to aggregate other sensors and emit a new sensor,
-then write a second policy to perform that action.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/dev/code/toc.json
----------------------------------------------------------------------
diff --git a/docs/dev/code/toc.json b/docs/dev/code/toc.json
deleted file mode 100644
index d599dbe..0000000
--- a/docs/dev/code/toc.json
+++ /dev/null
@@ -1,10 +0,0 @@
-[
-{ "title": "Structure",
-  "file":  "{{ site.url }}/dev/code/index.html" },
-{ "title": "Writing an Entity",
-  "file": "{{ site.url }}/dev/code/entity.html" },
-{ "title": "Writing a Policy",
-  "file":  "{{ site.url }}/dev/code/policy.html" },
-{ "title": "brooklyn.git (github)",
-  "file":  "http://github.com/brooklyncentral/brooklyn" }
-]

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/dev/how-to-contrib.md
----------------------------------------------------------------------
diff --git a/docs/dev/how-to-contrib.md b/docs/dev/how-to-contrib.md
deleted file mode 100644
index 83a5157..0000000
--- a/docs/dev/how-to-contrib.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-layout: page
-title: How to Contribute
-toc: /toc.json
----
-
-### The Process
-
-If you've built something which you think others could use, or are interested in doing so -- 
-whether a new supported entity, or a policy, or an example --
-it's easy to give back to the community.  Just:
-
-1. **Tell [the brooklyn mailing list](https://mail-archives.apache.org/mod_mbox/incubator-brooklyn-dev/)** about your work or interest
-
-1. **Create your fork** of the project on GitHub
-
-1. **Clone it** to your local machine and do your work on it
-
-1. **Push it**, and tell everyone about it
-
-1. **Sign the relevant Apache contributor agreement(s)**
-
-1. **Issue a pull request** from your GitHub repo
-
-The same process holds for contributing to this documentation (web site and user guide),
-but see the additional [tips for updating documentation]({{ site.url }}/dev/tips/update-docs.html).
-
-
-### Some Words of Advice
-
-* Do early-stage work in the ``/sandbox``, which means we can pulled it in to ``master`` more often --
-  keeping branches short-lived and making it easier to collaborate!
-               
-* Include javadoc and tests
-
-* See the [tips here]({{site.url}}/dev/tips/index.html)
-
-* If you get blocked, **[hollar]({{site.url}}/meta/contact.html)**!

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/201818b0/docs/dev/index.md
----------------------------------------------------------------------
diff --git a/docs/dev/index.md b/docs/dev/index.md
deleted file mode 100644
index 9b69dc2..0000000
--- a/docs/dev/index.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-layout: page
-title: Getting to Code
-toc: /toc.json
----
-
-{% readj code/index.include.md %}
\ No newline at end of file


Mime
View raw message