activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From clebertsuco...@apache.org
Subject svn commit: r1018164 [7/8] - in /websites/production/activemq/content/artemis/docs/latest/hacking-guide: ./ gitbook/ gitbook/fonts/ gitbook/fonts/fontawesome/ gitbook/gitbook-plugin-fontsettings/ gitbook/gitbook-plugin-highlight/ gitbook/gitbook-plugin...
Date Thu, 14 Sep 2017 19:53:45 GMT
Added: websites/production/activemq/content/artemis/docs/latest/hacking-guide/ide.html
==============================================================================
--- websites/production/activemq/content/artemis/docs/latest/hacking-guide/ide.html (added)
+++ websites/production/activemq/content/artemis/docs/latest/hacking-guide/ide.html Thu Sep 14 19:53:45 2017
@@ -0,0 +1,464 @@
+
+<!DOCTYPE HTML>
+<html lang="" >
+    <head>
+        <title>IDE Integration · ActiveMQ Artemis Documentation</title>
+        <meta charset="UTF-8">
+        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
+        <meta name="description" content="">
+        <meta name="generator" content="GitBook 3.1.1">
+        
+        
+        
+    
+    <link rel="stylesheet" href="gitbook/style.css">
+
+    
+            
+                
+                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
+                
+            
+                
+                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
+                
+            
+                
+                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
+                
+            
+        
+
+    
+
+    
+        
+    
+        
+    
+        
+    
+        
+    
+        
+    
+        
+    
+
+        
+    
+    
+    <meta name="HandheldFriendly" content="true"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
+    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
+
+    
+    <link rel="next" href="building.html" />
+    
+    
+    <link rel="prev" href="code.html" />
+    
+
+    </head>
+    <body>
+        
+<div class="book">
+    <div class="book-summary">
+        
+            
+<div id="book-search-input" role="search">
+    <input type="text" placeholder="Type to search" />
+</div>
+
+            
+                <nav role="navigation">
+                
+
+
+<ul class="summary">
+    
+    
+
+    
+
+    
+        
+        
+    
+        <li class="chapter " data-level="1.1" data-path="./">
+            
+                <a href="./">
+            
+                    
+                    Introduction
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.2" data-path="notice.html">
+            
+                <a href="notice.html">
+            
+                    
+                    Legal Notice
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.3" data-path="code.html">
+            
+                <a href="code.html">
+            
+                    
+                    Working with the Code
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter active" data-level="1.4" data-path="ide.html">
+            
+                <a href="ide.html">
+            
+                    
+                    IDE Integration
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.5" data-path="building.html">
+            
+                <a href="building.html">
+            
+                    
+                    Building
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.6" data-path="tests.html">
+            
+                <a href="tests.html">
+            
+                    
+                    Tests
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.7" data-path="code-coverage-report.html">
+            
+                <a href="code-coverage-report.html">
+            
+                    
+                    Code coverage report
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.8" data-path="formatting.html">
+            
+                <a href="formatting.html">
+            
+                    
+                    Code Formatting
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.9" data-path="validating-releases.html">
+            
+                <a href="validating-releases.html">
+            
+                    
+                    Validating releases
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.10" data-path="maintainers.html">
+            
+                <a href="maintainers.html">
+            
+                    
+                    Notes for Maintainers
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.11" data-path="history.html">
+            
+                <a href="history.html">
+            
+                    
+                    History
+            
+                </a>
+            
+
+            
+        </li>
+    
+
+    
+
+    <li class="divider"></li>
+
+    <li>
+        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
+            Published with GitBook
+        </a>
+    </li>
+</ul>
+
+
+                </nav>
+            
+        
+    </div>
+
+    <div class="book-body">
+        
+            <div class="body-inner">
+                
+                    
+
+<div class="book-header" role="navigation">
+    
+
+    <!-- Title -->
+    <h1>
+        <i class="fa fa-circle-o-notch fa-spin"></i>
+        <a href="." >IDE Integration</a>
+    </h1>
+</div>
+
+
+
+
+                    <div class="page-wrapper" tabindex="-1" role="main">
+                        <div class="page-inner">
+                            
+<div id="book-search-results">
+    <div class="search-noresults">
+    
+                                <section class="normal markdown-section">
+                                
+                                <h1 id="ide-integration">IDE Integration</h1>
+<p>There a few files useful for IDE integration under ./etc/ide-settings on a checked out folder. This folder is not part of the source distribution, but it can be easily obtained:</p>
+<ul>
+<li><a href="https://github.com/apache/activemq-artemis/tree/master/etc/ide-settings" target="_blank">https://github.com/apache/activemq-artemis/tree/master/etc/ide-settings</a></li>
+</ul>
+<h2 id="intellij-idea">IntelliJ IDEA</h2>
+<h3 id="importing-the-project">Importing the Project</h3>
+<p>The following steps show how to import ActiveMQ Artemis source into IntelliJ IDEA and setup the correct maven profile to allow
+running of JUnit tests from within the IDE.  (Steps are based on version: 2017.1.2)</p>
+<ul>
+<li>File --&gt; Import Project --&gt; Select the root directory of the ActiveMQ Artemis source folder. --&gt; Click OK</li>
+</ul>
+<p>This should open the import project wizard.  From here:</p>
+<ul>
+<li>Select &quot;Import project from external model&quot; toggle box, then select Maven from the list box below.  Click Next.</li>
+<li>Leave the defaults set on this page and click next.</li>
+<li>On the &quot;Select profiles page&quot;, select the checkbox next to &quot;dev&quot; and click next.</li>
+<li>From here the default settings should suffice.  Continue through the wizard, clicking next until the wizard is complete.</li>
+</ul>
+<p>Once the project has been imported and IDEA has caught up importing all the relevant dependencies, you should be able to
+run JUnit tests from with the IDE.  Select any test class in the tests -&gt; integration tests folder.  Right click on the
+class in the project tab and click &quot;Run <classname>&quot;.  If the &quot;Run <classname>&quot; option is present then you&apos;re all set to go.</classname></classname></p>
+<h3 id="note-about-ibm-jdk-on-idea">Note about IBM JDK on Idea</h3>
+<p>If you are running IBM JDK it may be a little tricky to get it working.</p>
+<p>After you add the JDK to the IDE, add also the vm.jar specific to your platform under that jdk.</p>
+<pre><code>(e.g: JAVA_HOME/jre/lib/amd64/default/jclSC180/vm.jar
+</code></pre><p>There&apos;s a <a href="http://stackoverflow.com/questions/27906481/can-intellij-14-be-used-to-work-with-ibm-jdk-1-7/32852361#32852361" target="_blank">SOF Question</a> about this that could be useful in case you are running into this issue.</p>
+<h3 id="style-templates-and-inspection-settings-for-idea">Style Templates and Inspection Settings for Idea</h3>
+<p>We have shared the style templates that are good for this project. If you want to apply them use these steps:</p>
+<ul>
+<li>File-&gt;Import Settings</li>
+<li>Select the file under ./artemis-cloned-folder/etc/ide-settings/idea/IDEA-style.jar</li>
+<li>Select both Code Style Templates and File templates (it&apos;s the default option)</li>
+<li>Select OK and restart Idea</li>
+</ul>
+<p>Alternatively you can copy artemis-codestyle.xml under your home settings at <code>IntelliJIdea15/codestyles</code>.</p>
+<h4 id="to-import-inspection-settings">To import inspection settings:</h4>
+<ul>
+<li>File-&gt;Settings-&gt;Editor-&gt;Inspections-&gt;Manage-&gt;Import</li>
+<li>Select the file ./artemis-cloned-folder/etc/ide-settings/idea/artemis-inspections.xml</li>
+<li>Select OK</li>
+</ul>
+<h3 id="issue-my-junit-tests-are-not-runnable-with-in-the-ide">Issue: My JUnit tests are not runnable with in the IDE.</h3>
+<p>If the &quot;Run <classname>&quot; or &quot;Run all tests&quot; option is not present.  It is likely that the default profile has not been
+imported properly.  To (re)import the &quot;tests&quot; Maven profile in an existing project.</classname></p>
+<ul>
+<li>Open the Maven Projects Tool Window: View -&gt; Tool Windows -&gt; Maven Projects</li>
+<li>Select the &quot;profiles&quot; drop down</li>
+<li>Unselect then reselect the checkbox next to &quot;tests&quot;.</li>
+<li>Click on the &quot;Reimport all maven projects&quot; button in the top left hand corner of the window. (It looks like a circular
+blue arrow.</li>
+<li>Wait for IDEA to reload and try running a JUnit test again.  The option to run should now be present.</li>
+</ul>
+<h2 id="eclipse">Eclipse</h2>
+<p>We recommend using Eclipse Kepler (4.3), due to the built-in support for Maven and Git. Note that there are still some
+Maven plugins used by sub-projects (e.g. documentation) which are not supported even in Eclipse Kepler (4.3).</p>
+<p>Eclipse <a href="http://eclipse.org/m2e/" target="_blank">m2e</a> is already included in &quot;Eclipse IDE for Java Developers&quot;, or it can be installed
+from <a href="http://download.eclipse.org/releases/kepler" target="_blank">Eclipse Kepler release repository</a>.</p>
+<h3 id="git-setup">Git setup</h3>
+<p>It is strongly recommended to turn off the auto-updating of .gitignore files by the Git Team extension.  Otherwise, it
+generates new .gitignore files in many directories that are not needed due to the top level .gitignore file.  To turn
+it off, go to Preferences-&gt;Team-&gt;Git-&gt;Projects and deselect the &quot;Automatically ignore derived resources&quot; checkbox.</p>
+<h3 id="schema-setup">Schema setup</h3>
+<p>For proper schema validation you can add the Artemis schemas to your Eclipse XML Catalog</p>
+<ul>
+<li>Open: Window -&gt; Preferences -&gt; XML -&gt; XML Catalog</li>
+<li>Select Add -&gt; Workspace -&gt; Navigate to artemis-server and select src/main/resources/schema/artemis-server.xsd -&gt; click OK</li>
+<li>Repeat the above steps and add src/main/resources/schema/artemis-configuration.xsd</li>
+</ul>
+<h3 id="checkstyle-setup">Checkstyle setup</h3>
+<p>You can import the Artemis Checkstyle template into eclipse to do Checkstyle validation. As a prerequisite you need to make sure the Checkstyle plugin is installed into Eclipse which you can get form the Eclipse Marketplace. You also will need to configure Sevntu-Checkstyle. See <a href="http://sevntu-checkstyle.github.io/sevntu.checkstyle/" target="_blank">http://sevntu-checkstyle.github.io/sevntu.checkstyle/</a> for instructions. Then to configure the template:</p>
+<ul>
+<li>Open: Window -&gt; Preferences -&gt; Checkstyle</li>
+<li>Select New -&gt; &quot;Project Relative Configuration&quot; in the &quot;Type&quot; dropdown</li>
+<li>Give the configuration a name and under location put &quot;/artemis-pom/etc/checkstyle.xml&quot; then hit ok</li>
+<li>You should now see your new configuration in the list of Checkstyle profiles.  You can select the new configuration as the default if you want.</li>
+</ul>
+<h3 id="annotation-pre-processing">Annotation Pre-Processing</h3>
+<p>ActiveMQ Artemis uses <a href="https://community.jboss.org/wiki/JBossLoggingTooling" target="_blank">JBoss Logging</a> and that requires source
+code generation from Java annotations. In order for it to &apos;just work&apos; in Eclipse you need to install the
+<em>Maven Integration for Eclipse JDT Annotation Processor Toolkit</em> <a href="https://github.com/jbosstools/m2e-apt" target="_blank">m2e-apt</a>. See
+this <a href="https://community.jboss.org/en/tools/blog/2012/05/20/annotation-processing-support-in-m2e-or-m2e-apt-100-is-out" target="_blank">JBoss blog post</a>
+ for details.</p>
+<h3 id="running-tests-from-eclipse">Running tests from Eclipse</h3>
+<p>Setting up annotation pre-processing in the above section is all you need to run tests in the &quot;unit-tests&quot; project as that will properly add the generated logger to the source.  However, one more step is needed to run tests in other projects such as &quot;performance-tests&quot; or &quot;integration-tests&quot; that have a dependency on &quot;unit-tests&quot;. Currently m2eclipse does not properly link the generated source annotations folder from &quot;unit-tests&quot; which causes the logger that is generated to not be available.  To simplest way to fix this is to manually add a project dependency on &quot;unit-tests&quot; to each of the projects where you want to run a test class from:</p>
+<ul>
+<li>Right click on the test project (i.e. integration-tests): Properties -&gt; Java Build Path -&gt; Projects -&gt; Add</li>
+<li>Select the &quot;unit-tests&quot; project and click Ok</li>
+</ul>
+<p>You should now be able to run tests assuming that the annotation pre-processing was set up properly in the previous step.</p>
+<h3 id="m2e-connector-for-javacc-maven-plugin">M2E Connector for Javacc-Maven-Plugin</h3>
+<p>Eclipse Indigo (3.7) has out-of-the-box support for it.</p>
+<p>As of this writing, Eclipse Kepler (4.3) still lacks support for Maven&apos;s javacc plugin. The available <a href="https://github.com/objectledge/maven-extensions" target="_blank">m2e connector for
+javacc-maven-plugin</a> requires a downgrade of Maven components to be
+installed. manual installation instructions (as of this writing you need to use the development update site). See
+<a href="http://dev.eclipse.org/mhonarc/lists/m2e-users/msg02725.html" target="_blank">this post</a> for how to do this with Eclipse Juno (4.2).</p>
+<p>The current recommended solution for Eclipse Kepler is to mark <code>javacc-maven-plugin</code> as ignored by Eclipse, run Maven
+from the command line and then modify the project <code>activemq-core-client</code> adding the folder
+<code>target/generated-sources/javacc</code> to its build path.</p>
+<h3 id="use-project-working-sets">Use <em>Project Working Sets</em></h3>
+<p>Importing all ActiveMQ Artemis subprojects will create <em>too many</em> projects in Eclipse, cluttering your <em>Package Explorer</em>
+and <em>Project Explorer</em> views. One way to address that is to use
+<a href="http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Fconcepts%2Fcworkset.htm" target="_blank">Eclipse&apos;s Working Sets</a>
+feature. A good introduction to it can be found at a
+<a href="http://eclipse.dzone.com/articles/categorise-projects-package" target="_blank">Dzone article on Eclipse Working Sets</a>.</p>
+
+                                
+                                </section>
+                            
+    </div>
+    <div class="search-results">
+        <div class="has-results">
+            
+            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
+            <ul class="search-results-list"></ul>
+            
+        </div>
+        <div class="no-results">
+            
+            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
+            
+        </div>
+    </div>
+</div>
+
+                        </div>
+                    </div>
+                
+            </div>
+
+            
+                
+                <a href="code.html" class="navigation navigation-prev " aria-label="Previous page: Working with the Code">
+                    <i class="fa fa-angle-left"></i>
+                </a>
+                
+                
+                <a href="building.html" class="navigation navigation-next " aria-label="Next page: Building">
+                    <i class="fa fa-angle-right"></i>
+                </a>
+                
+            
+        
+    </div>
+
+    <script>
+        var gitbook = gitbook || [];
+        gitbook.push(function() {
+            gitbook.page.hasChanged({"page":{"title":"IDE Integration","level":"1.4","depth":1,"next":{"title":"Building","level":"1.5","depth":1,"path":"building.md","ref":"building.md","articles":[]},"previous":{"title":"Working with the Code","level":"1.3","depth":1,"path":"code.md","ref":"code.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print
 .css"},"showLevel":false}},"github":"apache/activemq-artemis","theme":"default","githubHost":"https://github.com/","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"ActiveMQ Artemis Documentation","links":{"home":"http://activemq.apache.org/artemis","issues":"https://issues.apache.org/jira/browse/ARTEMIS","contribute":"http://activemq.apache.org/contributing.html"},"gitbook":"3.x.x","description":"ActiveMQ Artemis Hacking Guide"},"file":{"path":"ide.md","mtime":"2017-09-07T03:03:00.000Z","type":"markdown"},"gitbook":{"version":"3.1.1","time":"2017-09-14T19:50:29.711Z"},"basePath":".","book":{"language":""}});
+        });
+    </script>
+</div>
+
+        
+    <script src="gitbook/gitbook.js"></script>
+    <script src="gitbook/theme.js"></script>
+    
+        
+        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-search/search.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
+        
+    
+
+    </body>
+</html>
+

Added: websites/production/activemq/content/artemis/docs/latest/hacking-guide/images/artemis-logo.png
==============================================================================
Binary file - no diff available.

Propchange: websites/production/activemq/content/artemis/docs/latest/hacking-guide/images/artemis-logo.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: websites/production/activemq/content/artemis/docs/latest/hacking-guide/index.html
==============================================================================
--- websites/production/activemq/content/artemis/docs/latest/hacking-guide/index.html (added)
+++ websites/production/activemq/content/artemis/docs/latest/hacking-guide/index.html Thu Sep 14 19:53:45 2017
@@ -0,0 +1,356 @@
+
+<!DOCTYPE HTML>
+<html lang="" >
+    <head>
+        <title>Introduction · ActiveMQ Artemis Documentation</title>
+        <meta charset="UTF-8">
+        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
+        <meta name="description" content="">
+        <meta name="generator" content="GitBook 3.1.1">
+        
+        
+        
+    
+    <link rel="stylesheet" href="gitbook/style.css">
+
+    
+            
+                
+                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
+                
+            
+                
+                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
+                
+            
+                
+                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
+                
+            
+        
+
+    
+
+    
+        
+    
+        
+    
+        
+    
+        
+    
+        
+    
+        
+    
+
+        
+    
+    
+    <meta name="HandheldFriendly" content="true"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
+    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
+
+    
+    <link rel="next" href="notice.html" />
+    
+    
+
+    </head>
+    <body>
+        
+<div class="book">
+    <div class="book-summary">
+        
+            
+<div id="book-search-input" role="search">
+    <input type="text" placeholder="Type to search" />
+</div>
+
+            
+                <nav role="navigation">
+                
+
+
+<ul class="summary">
+    
+    
+
+    
+
+    
+        
+        
+    
+        <li class="chapter active" data-level="1.1" data-path="./">
+            
+                <a href="./">
+            
+                    
+                    Introduction
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.2" data-path="notice.html">
+            
+                <a href="notice.html">
+            
+                    
+                    Legal Notice
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.3" data-path="code.html">
+            
+                <a href="code.html">
+            
+                    
+                    Working with the Code
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.4" data-path="ide.html">
+            
+                <a href="ide.html">
+            
+                    
+                    IDE Integration
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.5" data-path="building.html">
+            
+                <a href="building.html">
+            
+                    
+                    Building
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.6" data-path="tests.html">
+            
+                <a href="tests.html">
+            
+                    
+                    Tests
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.7" data-path="code-coverage-report.html">
+            
+                <a href="code-coverage-report.html">
+            
+                    
+                    Code coverage report
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.8" data-path="formatting.html">
+            
+                <a href="formatting.html">
+            
+                    
+                    Code Formatting
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.9" data-path="validating-releases.html">
+            
+                <a href="validating-releases.html">
+            
+                    
+                    Validating releases
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.10" data-path="maintainers.html">
+            
+                <a href="maintainers.html">
+            
+                    
+                    Notes for Maintainers
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.11" data-path="history.html">
+            
+                <a href="history.html">
+            
+                    
+                    History
+            
+                </a>
+            
+
+            
+        </li>
+    
+
+    
+
+    <li class="divider"></li>
+
+    <li>
+        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
+            Published with GitBook
+        </a>
+    </li>
+</ul>
+
+
+                </nav>
+            
+        
+    </div>
+
+    <div class="book-body">
+        
+            <div class="body-inner">
+                
+                    
+
+<div class="book-header" role="navigation">
+    
+
+    <!-- Title -->
+    <h1>
+        <i class="fa fa-circle-o-notch fa-spin"></i>
+        <a href="." >Introduction</a>
+    </h1>
+</div>
+
+
+
+
+                    <div class="page-wrapper" tabindex="-1" role="main">
+                        <div class="page-inner">
+                            
+<div id="book-search-results">
+    <div class="search-noresults">
+    
+                                <section class="normal markdown-section">
+                                
+                                <p><img src="images/artemis-logo.png" alt="ActiveMQ Artemis logo"></p>
+<h1 id="apache-activemq-artemis-hacking-guide">Apache ActiveMQ Artemis Hacking Guide</h1>
+<p>This hacking guide outlines how developers can get involved in contributing to the Apache ActiveMQ Artemis project.</p>
+
+                                
+                                </section>
+                            
+    </div>
+    <div class="search-results">
+        <div class="has-results">
+            
+            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
+            <ul class="search-results-list"></ul>
+            
+        </div>
+        <div class="no-results">
+            
+            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
+            
+        </div>
+    </div>
+</div>
+
+                        </div>
+                    </div>
+                
+            </div>
+
+            
+                
+                
+                <a href="notice.html" class="navigation navigation-next navigation-unique" aria-label="Next page: Legal Notice">
+                    <i class="fa fa-angle-right"></i>
+                </a>
+                
+            
+        
+    </div>
+
+    <script>
+        var gitbook = gitbook || [];
+        gitbook.push(function() {
+            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"Legal Notice","level":"1.2","depth":1,"path":"notice.md","ref":"notice.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"github":"apache/activemq-artemis","theme":"default","githubHost":"https://github.com/","pdf
 ":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"ActiveMQ Artemis Documentation","links":{"home":"http://activemq.apache.org/artemis","issues":"https://issues.apache.org/jira/browse/ARTEMIS","contribute":"http://activemq.apache.org/contributing.html"},"gitbook":"3.x.x","description":"ActiveMQ Artemis Hacking Guide"},"file":{"path":"README.md","mtime":"2017-09-08T01:26:53.000Z","type":"markdown"},"gitbook":{"version":"3.1.1","time":"2017-09-14T19:50:29.711Z"},"basePath":".","book":{"language":""}});
+        });
+    </script>
+</div>
+
+        
+    <script src="gitbook/gitbook.js"></script>
+    <script src="gitbook/theme.js"></script>
+    
+        
+        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-search/search.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
+        
+    
+
+    </body>
+</html>
+

Added: websites/production/activemq/content/artemis/docs/latest/hacking-guide/maintainers.html
==============================================================================
--- websites/production/activemq/content/artemis/docs/latest/hacking-guide/maintainers.html (added)
+++ websites/production/activemq/content/artemis/docs/latest/hacking-guide/maintainers.html Thu Sep 14 19:53:45 2017
@@ -0,0 +1,486 @@
+
+<!DOCTYPE HTML>
+<html lang="" >
+    <head>
+        <title>Notes for Maintainers · ActiveMQ Artemis Documentation</title>
+        <meta charset="UTF-8">
+        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
+        <meta name="description" content="">
+        <meta name="generator" content="GitBook 3.1.1">
+        
+        
+        
+    
+    <link rel="stylesheet" href="gitbook/style.css">
+
+    
+            
+                
+                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
+                
+            
+                
+                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
+                
+            
+                
+                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
+                
+            
+        
+
+    
+
+    
+        
+    
+        
+    
+        
+    
+        
+    
+        
+    
+        
+    
+
+        
+    
+    
+    <meta name="HandheldFriendly" content="true"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
+    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
+
+    
+    <link rel="next" href="history.html" />
+    
+    
+    <link rel="prev" href="validating-releases.html" />
+    
+
+    </head>
+    <body>
+        
+<div class="book">
+    <div class="book-summary">
+        
+            
+<div id="book-search-input" role="search">
+    <input type="text" placeholder="Type to search" />
+</div>
+
+            
+                <nav role="navigation">
+                
+
+
+<ul class="summary">
+    
+    
+
+    
+
+    
+        
+        
+    
+        <li class="chapter " data-level="1.1" data-path="./">
+            
+                <a href="./">
+            
+                    
+                    Introduction
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.2" data-path="notice.html">
+            
+                <a href="notice.html">
+            
+                    
+                    Legal Notice
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.3" data-path="code.html">
+            
+                <a href="code.html">
+            
+                    
+                    Working with the Code
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.4" data-path="ide.html">
+            
+                <a href="ide.html">
+            
+                    
+                    IDE Integration
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.5" data-path="building.html">
+            
+                <a href="building.html">
+            
+                    
+                    Building
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.6" data-path="tests.html">
+            
+                <a href="tests.html">
+            
+                    
+                    Tests
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.7" data-path="code-coverage-report.html">
+            
+                <a href="code-coverage-report.html">
+            
+                    
+                    Code coverage report
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.8" data-path="formatting.html">
+            
+                <a href="formatting.html">
+            
+                    
+                    Code Formatting
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.9" data-path="validating-releases.html">
+            
+                <a href="validating-releases.html">
+            
+                    
+                    Validating releases
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter active" data-level="1.10" data-path="maintainers.html">
+            
+                <a href="maintainers.html">
+            
+                    
+                    Notes for Maintainers
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.11" data-path="history.html">
+            
+                <a href="history.html">
+            
+                    
+                    History
+            
+                </a>
+            
+
+            
+        </li>
+    
+
+    
+
+    <li class="divider"></li>
+
+    <li>
+        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
+            Published with GitBook
+        </a>
+    </li>
+</ul>
+
+
+                </nav>
+            
+        
+    </div>
+
+    <div class="book-body">
+        
+            <div class="body-inner">
+                
+                    
+
+<div class="book-header" role="navigation">
+    
+
+    <!-- Title -->
+    <h1>
+        <i class="fa fa-circle-o-notch fa-spin"></i>
+        <a href="." >Notes for Maintainers</a>
+    </h1>
+</div>
+
+
+
+
+                    <div class="page-wrapper" tabindex="-1" role="main">
+                        <div class="page-inner">
+                            
+<div id="book-search-results">
+    <div class="search-noresults">
+    
+                                <section class="normal markdown-section">
+                                
+                                <h1 id="notes-for-maintainers">Notes for Maintainers</h1>
+<p>Core ActiveMQ Artemis members have write access to the Apache ActiveMQ Artemis repositories and will be responsible for
+acknowledging and pushing commits contributed via pull requests on GitHub.</p>
+<p>Core ActiveMQ Artemis members are also able to push their own commits directly to the canonical Apache repository.
+However, the expectation here is that the developer has made a good effort to test their changes and is reasonably
+confident that the changes that are being committed will not break the build.</p>
+<p>What does it mean to be reasonably confident? If the developer has run the same maven commands that the pull-request
+builds are running they can be reasonably confident. Currently the <a href="https://builds.apache.org/job/ActiveMQ-Artemis-PR-Build/" target="_blank">PR build</a>
+runs this command:</p>
+<pre><code>mvn -Pfast-tests -Pextra-tests install
+</code></pre><p>However, if the changes are significant, touches a wide area of code, or even if the developer just wants a second
+opinion they are encouraged to engage other members of the community to obtain an additional review prior to pushing.
+This can easily be done via a pull request on GitHub, a patch file attached to an email or JIRA, commit to a branch
+in the Apache git repo, etc. Having additional eyes looking at significant changes prior to committing to the main
+development branches is definitely encouraged if it helps obtain the &quot;reasonable confidence&quot; that the build is not
+broken and code quality has not decreased.</p>
+<p>If the build does break then developer is expected to make their best effort to get the builds fixed in a reasonable
+amount of time. If it cannot be fixed in a reasonable amount of time the commit can be reverted and re-reviewed.</p>
+<h1 id="using-the-dev-profile">Using the dev profile.</h1>
+<p>Developers are encouraged also to use the Dev profile, which will activate checkstyle during the build:</p>
+<pre><code>mvn -Pdev install
+</code></pre><h2 id="commit-messages">Commit Messages</h2>
+<p>Please ensure the commit messages follow the 50/72 format as described <a href="code.html#commitMessageDetails">here</a>. This
+format follows the recommendation from the <a href="https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project" target="_blank">official Git book</a>.</p>
+<h2 id="configuring-git-repositories">Configuring git repositories</h2>
+<p>Aside from the traditional <code>origin</code> and <code>upstream</code> repositories committers will need an additional reference for the
+canonical Apache git repository where they will be merging and pushing pull-requests. For the purposes of this document,
+let&apos;s assume these ref/repo associations already exist as described in the <a href="code.html">Working with the Code</a> section:</p>
+<ul>
+<li><code>origin</code> : <a href="https://github.com/(your-user-name)/activemq-artemis.git" target="_blank">https://github.com/(your-user-name)/activemq-artemis.git</a></li>
+<li><p><code>upstream</code> : <a href="https://github.com/apache/activemq-artemis" target="_blank">https://github.com/apache/activemq-artemis</a></p>
+</li>
+<li><p>Add the canonical Apache repository as a remote. Here we call it <code>apache</code>.</p>
+<pre><code> $ git remote add apache https://git-wip-us.apache.org/repos/asf/activemq-artemis.git
+</code></pre></li>
+<li><p>Add the following section to your <artemis-repo>/.git/config statement to fetch all pull requests sent to the GitHub
+mirror.  We are using <code>upstream</code> as the remote repo name (as noted above), but the remote repo name may be different
+if you choose. Just be sure to edit all references to the remote repo name so it&apos;s consistent.</artemis-repo></p>
+<pre><code> [remote &quot;upstream&quot;]
+     url = git@github.com:apache/activemq-artemis.git
+     fetch = +refs/heads/*:refs/remotes/upstream/*
+     fetch = +refs/pull/*/head:refs/remotes/upstream/pr/*
+</code></pre></li>
+</ul>
+<h2 id="merging-and-pushing-pull-requests">Merging and pushing pull requests</h2>
+<p>Here are the basic commands to retrieve pull requests, merge, and push them to the canonical Apache repository:</p>
+<ol>
+<li><p>Download all the remote branches etc... including all the pull requests.</p>
+<pre><code> $ git fetch --all
+ Fetching origin
+ Fetching upstream
+ remote: Counting objects: 566, done.
+ remote: Compressing objects: 100% (188/188), done.
+ remote: Total 566 (delta 64), reused 17 (delta 17), pack-reused 351
+ Receiving objects: 100% (566/566), 300.67 KiB | 0 bytes/s, done.
+ Resolving deltas: 100% (78/78), done.
+ From github.com:apache/activemq-artemis
+  * [new ref]         refs/pull/105/head -&gt; upstream/pr/105
+</code></pre></li>
+<li><p>Checkout the pull request you wish to review</p>
+<pre><code> $ git checkout pr/105 -B 105
+</code></pre></li>
+<li><p>Rebase the branch against master, so the merge would happen at the top of the current master</p>
+<pre><code> $ git pull --rebase apache master
+</code></pre></li>
+<li><p>Once you&apos;ve reviewed the change and are ready to merge checkout <code>master</code>.</p>
+<pre><code> $ git checkout master
+</code></pre></li>
+<li><p>Ensure you are up to date on your master also.</p>
+<pre><code> $ git pull --rebase apache master
+</code></pre></li>
+<li><p>We actually recommend checking out master again, to make sure you wouldn&apos;t add any extra commits by accident:</p>
+<pre><code> $ git fetch apache
+ $ git checkout apache/master -B master
+</code></pre></li>
+<li><p>Create a new merge commit from the pull-request. IMPORTANT: The commit message here should be something like: &quot;This
+closes #105&quot; where &quot;105&quot; is the pull request ID.  The &quot;#105&quot; shows up as a link in the GitHub UI for navigating to
+the PR from the commit message. This will ensure the github pull request is closed even if the commit ID changed due
+to eventual rebases.</p>
+<pre><code> $ git merge --no-ff 105 -m &quot;This closes #105&quot;
+</code></pre></li>
+<li><p>Push to the canonical Apache repo.</p>
+<pre><code> $ git push apache master
+</code></pre></li>
+</ol>
+<h2 id="using-the-automated-script">Using the automated script</h2>
+<p>If you followed the naming conventions described here you can use the <code>scripts/rebase-PR.sh</code> script to automate
+the merging process. This will execute the exact steps described on this previous section.</p>
+<ul>
+<li>Simply use:</li>
+</ul>
+<pre><code>$ &lt;checkout-directory&gt;/scripts/merge-pr.sh &lt;PR number&gt; Message on the PR
+</code></pre><p>Example:</p>
+<pre><code>$  pwd
+/checkouts/apache-activemq-artemis
+
+$  ./scripts/merge-PR.sh 175 ARTEMIS-229 address on Security Interface
+</code></pre><p>The previous example was taken from a real case that generated this <a href="https://github.com/apache/activemq-artemis/commit/e85bb3ca4a75b0f1dfbe717ff90b34309e2de794" target="_blank">merge commit on #175</a>.</p>
+<ul>
+<li>After this you can push to the canonical Apache repo.<pre><code>$ git push apache master
+</code></pre></li>
+</ul>
+<h2 id="use-a-separate-branch-for-your-changes">Use a separate branch for your changes</h2>
+<p>It is recommended that you work away from master for two reasons:</p>
+<ol>
+<li><p>When you send a PR, your PR branch could be rebased during the process and your commit ID changed. You might
+get unexpected conflicts while rebasing your old branch.</p>
+</li>
+<li><p>You could end up pushing things upstream that you didn&apos;t intend to. Minimize your risks by working on a branch
+away from master.</p>
+</li>
+</ol>
+<h2 id="notes">Notes:</h2>
+<p>The GitHub mirror repository (i.e. <code>upstream</code>) is cloning the canonical Apache repository.  Because of this there may be
+a slight delay between when a commit is pushed to the Apache repo and when that commit is reflected in the GitHub mirror.
+This may cause some difficulty when trying to push a PR to <code>apache</code> that has been merged on the out-of-date GitHub mirror.
+You can wait for the mirror to update before performing the steps above or you can change your local master branch to
+track the master branch on the canonical Apache repository rather than the master branch on the GitHub mirror:</p>
+<pre><code>$ git branch master -u apache/master
+</code></pre><p>Where <code>apache</code> points to the canonical Apache repository.</p>
+<p>If you&apos;d like your local master branch to always track <code>upstream/master</code> (i.e. the GitHub mirror) then another way to
+achieve this is to add another branch that tracks <code>apache/master</code> and push from that branch e.g.</p>
+<pre><code>$ git checkout master
+$ git branch apache_master --track apache/master
+$ git pull
+$ git merge --no-ff pr/105
+$ git push
+</code></pre>
+                                
+                                </section>
+                            
+    </div>
+    <div class="search-results">
+        <div class="has-results">
+            
+            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
+            <ul class="search-results-list"></ul>
+            
+        </div>
+        <div class="no-results">
+            
+            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
+            
+        </div>
+    </div>
+</div>
+
+                        </div>
+                    </div>
+                
+            </div>
+
+            
+                
+                <a href="validating-releases.html" class="navigation navigation-prev " aria-label="Previous page: Validating releases">
+                    <i class="fa fa-angle-left"></i>
+                </a>
+                
+                
+                <a href="history.html" class="navigation navigation-next " aria-label="Next page: History">
+                    <i class="fa fa-angle-right"></i>
+                </a>
+                
+            
+        
+    </div>
+
+    <script>
+        var gitbook = gitbook || [];
+        gitbook.push(function() {
+            gitbook.page.hasChanged({"page":{"title":"Notes for Maintainers","level":"1.10","depth":1,"next":{"title":"History","level":"1.11","depth":1,"path":"history.md","ref":"history.md","articles":[]},"previous":{"title":"Validating releases","level":"1.9","depth":1,"path":"validating-releases.md","ref":"validating-releases.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles
 /ebook.css","print":"styles/print.css"},"showLevel":false}},"github":"apache/activemq-artemis","theme":"default","githubHost":"https://github.com/","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"ActiveMQ Artemis Documentation","links":{"home":"http://activemq.apache.org/artemis","issues":"https://issues.apache.org/jira/browse/ARTEMIS","contribute":"http://activemq.apache.org/contributing.html"},"gitbook":"3.x.x","description":"ActiveMQ Artemis Hacking Guide"},"file":{"path":"maintainers.md","mtime":"2017-09-05T13:43:48.000Z","type":"markdown"},"gitbook":{"version":"3.1.1","time":"2017-09-14T19:50:29.711Z"},"basePath":".","book":{"language":""}});
+        });
+    </script>
+</div>
+
+        
+    <script src="gitbook/gitbook.js"></script>
+    <script src="gitbook/theme.js"></script>
+    
+        
+        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-search/search.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
+        
+    
+
+    </body>
+</html>
+

Added: websites/production/activemq/content/artemis/docs/latest/hacking-guide/notice.html
==============================================================================
--- websites/production/activemq/content/artemis/docs/latest/hacking-guide/notice.html (added)
+++ websites/production/activemq/content/artemis/docs/latest/hacking-guide/notice.html Thu Sep 14 19:53:45 2017
@@ -0,0 +1,372 @@
+
+<!DOCTYPE HTML>
+<html lang="" >
+    <head>
+        <title>Legal Notice · ActiveMQ Artemis Documentation</title>
+        <meta charset="UTF-8">
+        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
+        <meta name="description" content="">
+        <meta name="generator" content="GitBook 3.1.1">
+        
+        
+        
+    
+    <link rel="stylesheet" href="gitbook/style.css">
+
+    
+            
+                
+                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
+                
+            
+                
+                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
+                
+            
+                
+                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
+                
+            
+        
+
+    
+
+    
+        
+    
+        
+    
+        
+    
+        
+    
+        
+    
+        
+    
+
+        
+    
+    
+    <meta name="HandheldFriendly" content="true"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
+    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
+
+    
+    <link rel="next" href="code.html" />
+    
+    
+    <link rel="prev" href="./" />
+    
+
+    </head>
+    <body>
+        
+<div class="book">
+    <div class="book-summary">
+        
+            
+<div id="book-search-input" role="search">
+    <input type="text" placeholder="Type to search" />
+</div>
+
+            
+                <nav role="navigation">
+                
+
+
+<ul class="summary">
+    
+    
+
+    
+
+    
+        
+        
+    
+        <li class="chapter " data-level="1.1" data-path="./">
+            
+                <a href="./">
+            
+                    
+                    Introduction
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter active" data-level="1.2" data-path="notice.html">
+            
+                <a href="notice.html">
+            
+                    
+                    Legal Notice
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.3" data-path="code.html">
+            
+                <a href="code.html">
+            
+                    
+                    Working with the Code
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.4" data-path="ide.html">
+            
+                <a href="ide.html">
+            
+                    
+                    IDE Integration
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.5" data-path="building.html">
+            
+                <a href="building.html">
+            
+                    
+                    Building
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.6" data-path="tests.html">
+            
+                <a href="tests.html">
+            
+                    
+                    Tests
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.7" data-path="code-coverage-report.html">
+            
+                <a href="code-coverage-report.html">
+            
+                    
+                    Code coverage report
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.8" data-path="formatting.html">
+            
+                <a href="formatting.html">
+            
+                    
+                    Code Formatting
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.9" data-path="validating-releases.html">
+            
+                <a href="validating-releases.html">
+            
+                    
+                    Validating releases
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.10" data-path="maintainers.html">
+            
+                <a href="maintainers.html">
+            
+                    
+                    Notes for Maintainers
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.11" data-path="history.html">
+            
+                <a href="history.html">
+            
+                    
+                    History
+            
+                </a>
+            
+
+            
+        </li>
+    
+
+    
+
+    <li class="divider"></li>
+
+    <li>
+        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
+            Published with GitBook
+        </a>
+    </li>
+</ul>
+
+
+                </nav>
+            
+        
+    </div>
+
+    <div class="book-body">
+        
+            <div class="body-inner">
+                
+                    
+
+<div class="book-header" role="navigation">
+    
+
+    <!-- Title -->
+    <h1>
+        <i class="fa fa-circle-o-notch fa-spin"></i>
+        <a href="." >Legal Notice</a>
+    </h1>
+</div>
+
+
+
+
+                    <div class="page-wrapper" tabindex="-1" role="main">
+                        <div class="page-inner">
+                            
+<div id="book-search-results">
+    <div class="search-noresults">
+    
+                                <section class="normal markdown-section">
+                                
+                                <h1 id="legal-notice">Legal Notice</h1>
+<p>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</p>
+<p><a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">http://www.apache.org/licenses/LICENSE-2.0</a></p>
+<p>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.</p>
+
+                                
+                                </section>
+                            
+    </div>
+    <div class="search-results">
+        <div class="has-results">
+            
+            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
+            <ul class="search-results-list"></ul>
+            
+        </div>
+        <div class="no-results">
+            
+            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
+            
+        </div>
+    </div>
+</div>
+
+                        </div>
+                    </div>
+                
+            </div>
+
+            
+                
+                <a href="./" class="navigation navigation-prev " aria-label="Previous page: Introduction">
+                    <i class="fa fa-angle-left"></i>
+                </a>
+                
+                
+                <a href="code.html" class="navigation navigation-next " aria-label="Next page: Working with the Code">
+                    <i class="fa fa-angle-right"></i>
+                </a>
+                
+            
+        
+    </div>
+
+    <script>
+        var gitbook = gitbook || [];
+        gitbook.push(function() {
+            gitbook.page.hasChanged({"page":{"title":"Legal Notice","level":"1.2","depth":1,"next":{"title":"Working with the Code","level":"1.3","depth":1,"path":"code.md","ref":"code.md","articles":[]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.cs
 s"},"showLevel":false}},"github":"apache/activemq-artemis","theme":"default","githubHost":"https://github.com/","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"ActiveMQ Artemis Documentation","links":{"home":"http://activemq.apache.org/artemis","issues":"https://issues.apache.org/jira/browse/ARTEMIS","contribute":"http://activemq.apache.org/contributing.html"},"gitbook":"3.x.x","description":"ActiveMQ Artemis Hacking Guide"},"file":{"path":"notice.md","mtime":"2017-08-02T14:45:45.000Z","type":"markdown"},"gitbook":{"version":"3.1.1","time":"2017-09-14T19:50:29.711Z"},"basePath":".","book":{"language":""}});
+        });
+    </script>
+</div>
+
+        
+    <script src="gitbook/gitbook.js"></script>
+    <script src="gitbook/theme.js"></script>
+    
+        
+        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-search/search.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
+        
+    
+
+    </body>
+</html>
+

Added: websites/production/activemq/content/artemis/docs/latest/hacking-guide/search_index.json
==============================================================================
--- websites/production/activemq/content/artemis/docs/latest/hacking-guide/search_index.json (added)
+++ websites/production/activemq/content/artemis/docs/latest/hacking-guide/search_index.json Thu Sep 14 19:53:45 2017
@@ -0,0 +1 @@

[... 3 lines stripped ...]
Added: websites/production/activemq/content/artemis/docs/latest/hacking-guide/tests.html
==============================================================================
--- websites/production/activemq/content/artemis/docs/latest/hacking-guide/tests.html (added)
+++ websites/production/activemq/content/artemis/docs/latest/hacking-guide/tests.html Thu Sep 14 19:53:45 2017
@@ -0,0 +1,415 @@
+
+<!DOCTYPE HTML>
+<html lang="" >
+    <head>
+        <title>Tests · ActiveMQ Artemis Documentation</title>
+        <meta charset="UTF-8">
+        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
+        <meta name="description" content="">
+        <meta name="generator" content="GitBook 3.1.1">
+        
+        
+        
+    
+    <link rel="stylesheet" href="gitbook/style.css">
+
+    
+            
+                
+                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
+                
+            
+                
+                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
+                
+            
+                
+                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
+                
+            
+        
+
+    
+
+    
+        
+    
+        
+    
+        
+    
+        
+    
+        
+    
+        
+    
+
+        
+    
+    
+    <meta name="HandheldFriendly" content="true"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
+    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
+
+    
+    <link rel="next" href="code-coverage-report.html" />
+    
+    
+    <link rel="prev" href="building.html" />
+    
+
+    </head>
+    <body>
+        
+<div class="book">
+    <div class="book-summary">
+        
+            
+<div id="book-search-input" role="search">
+    <input type="text" placeholder="Type to search" />
+</div>
+
+            
+                <nav role="navigation">
+                
+
+
+<ul class="summary">
+    
+    
+
+    
+
+    
+        
+        
+    
+        <li class="chapter " data-level="1.1" data-path="./">
+            
+                <a href="./">
+            
+                    
+                    Introduction
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.2" data-path="notice.html">
+            
+                <a href="notice.html">
+            
+                    
+                    Legal Notice
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.3" data-path="code.html">
+            
+                <a href="code.html">
+            
+                    
+                    Working with the Code
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.4" data-path="ide.html">
+            
+                <a href="ide.html">
+            
+                    
+                    IDE Integration
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.5" data-path="building.html">
+            
+                <a href="building.html">
+            
+                    
+                    Building
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter active" data-level="1.6" data-path="tests.html">
+            
+                <a href="tests.html">
+            
+                    
+                    Tests
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.7" data-path="code-coverage-report.html">
+            
+                <a href="code-coverage-report.html">
+            
+                    
+                    Code coverage report
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.8" data-path="formatting.html">
+            
+                <a href="formatting.html">
+            
+                    
+                    Code Formatting
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.9" data-path="validating-releases.html">
+            
+                <a href="validating-releases.html">
+            
+                    
+                    Validating releases
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.10" data-path="maintainers.html">
+            
+                <a href="maintainers.html">
+            
+                    
+                    Notes for Maintainers
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="1.11" data-path="history.html">
+            
+                <a href="history.html">
+            
+                    
+                    History
+            
+                </a>
+            
+
+            
+        </li>
+    
+
+    
+
+    <li class="divider"></li>
+
+    <li>
+        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
+            Published with GitBook
+        </a>
+    </li>
+</ul>
+
+
+                </nav>
+            
+        
+    </div>
+
+    <div class="book-body">
+        
+            <div class="body-inner">
+                
+                    
+
+<div class="book-header" role="navigation">
+    
+
+    <!-- Title -->
+    <h1>
+        <i class="fa fa-circle-o-notch fa-spin"></i>
+        <a href="." >Tests</a>
+    </h1>
+</div>
+
+
+
+
+                    <div class="page-wrapper" tabindex="-1" role="main">
+                        <div class="page-inner">
+                            
+<div id="book-search-results">
+    <div class="search-noresults">
+    
+                                <section class="normal markdown-section">
+                                
+                                <h1 id="tests">Tests</h1>
+<h2 id="running-tests">Running Tests</h2>
+<p>To run the unit tests:</p>
+<pre><code>$ mvn -Ptests test
+</code></pre><p>Generating reports from unit tests:</p>
+<pre><code>$ mvn install site
+</code></pre><p>Running tests individually</p>
+<pre><code>$ mvn -Ptests -DfailIfNoTests=false -Dtest=&lt;test-name&gt; test
+</code></pre><p>where &lt;test-name&gt; is the name of the Test class without its package name</p>
+<h2 id="writing-tests">Writing Tests</h2>
+<p>The broker is comprised of POJOs so it&apos;s simple to configure and run a broker instance and test particular functionality.
+Even complex test-cases involving multiple clustered brokers are relatively easy to write. Almost every test in the 
+test-suite follows this pattern - configure broker, start broker, test functionality, stop broker.</p>
+<p>The test-suite uses JUnit to manage test execution and life-cycle.  Most tests extend <a href="https://github.com/apache/activemq-artemis/blob/master/artemis-server/src/test/java/org/apache/activemq/artemis/tests/util/ActiveMQTestBase.java" target="_blank"><code>org.apache.activemq.artemis.tests.util.ActiveMQTestBase</code></a>
+which contains JUnit setup and tear-down methods as well as a wealth of utility functions to configure, start, manage,
+and stop brokers as well as perform other common tasks.</p>
+<p>Check out <a href="https://github.com/apache/activemq-artemis/blob/master/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/SimpleTest.java" target="_blank"><code>org.apache.activemq.artemis.tests.integration.SimpleTest</code></a>.
+It&apos;s a very simple test-case that extends <code>org.apache.activemq.artemis.tests.util.ActiveMQTestBase</code> and uses its methods
+to configure a server, run a test, and then <code>super.tearDown()</code> cleans it up once the test completes. The test-case 
+includes comments to explain everything. As the name implies, this is a simple test-case that demonstrates the most basic
+functionality of the test-suite. A simple test like this takes less than a second to run on modern hardware.</p>
+<p>Although <code>org.apache.activemq.artemis.tests.integration.SimpleTest</code> is simple it could be simpler still by extending
+<a href="https://github.com/apache/activemq-artemis/blob/master/artemis-server/src/test/java/org/apache/activemq/artemis/tests/util/SingleServerTestBase.java" target="_blank"><code>org.apache.activemq.artemis.tests.util.SingleServerTestBase</code></a>.
+This class does all the setup of a simple server automatically and provides the test-case with a <code>ServerLocator</code>, 
+<code>ClientSessionFactory</code>, and <code>ClientSession</code> instance. <a href="https://github.com/apache/activemq-artemis/blob/master//tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/SingleServerSimpleTest.java" target="_blank"><code>org.apache.activemq.artemis.tests.integration.SingleServerSimpleTest</code></a>
+is an example based on <code>org.apache.activemq.artemis.tests.integration.SimpleTest</code> but extends <code>org.apache.activemq.artemis.tests.util.SingleServerTestBase</code>
+which eliminates all the setup and class variables which are provided by <code>SingleServerTestBase</code> itself.</p>
+<h2 id="keys-for-writing-good-tests">Keys for writing good tests</h2>
+<h3 id="avoid-leaks">Avoid leaks</h3>
+<p>An important task for any test-case is to clean up all the resources it creates when it runs. This includes the server
+instance itself and any resources created to connect to it (e.g. instances of <code>ServerLocator</code>, <code>ClientSessionFactory</code>,
+<code>ClientSession</code>, etc.). This task is typically completed in the test&apos;s <code>tearDown()</code> method.  However, <code>ActiveMQTestBase</code> 
+(and other classes which extend it) simplifies this process. As <a href="https://github.com/apache/activemq-artemis/blob/master/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/SimpleTest.java" target="_blank"><code>org.apache.activemq.artemis.tests.integration.SimpleTest</code></a>
+demonstrates, there are several methods you can use when creating your test which will ensure proper clean up <em>automatically</em>
+when the test is torn down. These include:</p>
+<ul>
+<li>All the overloaded <code>org.apache.activemq.artemis.tests.util.ActiveMQTestBase.createServer(..)</code> methods. If you choose
+<em>not</em> to use one of these methods to create your <code>ActiveMQServer</code> instance then use the <code>addServer(ActiveMQServer)</code> 
+method to add the instance to the test-suite&apos;s internal resource ledger.</li>
+<li>Methods from <code>org.apache.activemq.artemis.tests.util.ActiveMQTestBase</code> to create a <code>ServerLocator</code> like 
+<code>createInVMNonHALocator</code> and <code>createNettyNonHALocator</code>. If you choose <em>not</em> to use one of these methods then use 
+<code>addServerLocator(ServerLocator)</code> to add the locator to the test-suite&apos;s internal resource ledger.</li>
+<li><code>org.apache.activemq.artemis.tests.util.ActiveMQTestBase.createSessionFactory(ServerLocator)</code> for creating your session
+factory. If you choose <em>not</em> to use this method then use <code>org.apache.activemq.artemis.tests.util.ActiveMQTestBase.addSessionFactory</code>
+to add the factory to the test-suite&apos;s internal resource ledger.</li>
+</ul>
+<h3 id="create-configurations">Create configurations</h3>
+<p>There are numerous methods in <code>org.apache.activemq.artemis.tests.util.ActiveMQTestBase</code> to create a configuration. These
+methods are named like create*Config(..). Each one creates a slightly different configuration but there is a lot of 
+overlap between them.</p>
+<p>In any case, <code>org.apache.activemq.artemis.core.config.Configuration</code> is a <a href="http://en.wikipedia.org/wiki/Fluent_interface" target="_blank"><em>fluent</em></a>
+interface so it&apos;s easy to customize however you need.</p>
+<h3 id="look-at-other-test-cases">Look at other test-cases</h3>
+<p>If you need ideas on how to configure something or test something try looking through the test-suite at other test-cases
+which may be similar. This is one of the best ways to learn how the test-suite works and how you can leverage the
+testing infrastructure to test your particular case.</p>
+
+                                
+                                </section>
+                            
+    </div>
+    <div class="search-results">
+        <div class="has-results">
+            
+            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
+            <ul class="search-results-list"></ul>
+            
+        </div>
+        <div class="no-results">
+            
+            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
+            
+        </div>
+    </div>
+</div>
+
+                        </div>
+                    </div>
+                
+            </div>
+
+            
+                
+                <a href="building.html" class="navigation navigation-prev " aria-label="Previous page: Building">
+                    <i class="fa fa-angle-left"></i>
+                </a>
+                
+                
+                <a href="code-coverage-report.html" class="navigation navigation-next " aria-label="Next page: Code coverage report">
+                    <i class="fa fa-angle-right"></i>
+                </a>
+                
+            
+        
+    </div>
+
+    <script>
+        var gitbook = gitbook || [];
+        gitbook.push(function() {
+            gitbook.page.hasChanged({"page":{"title":"Tests","level":"1.6","depth":1,"next":{"title":"Code coverage report","level":"1.7","depth":1,"path":"code-coverage-report.md","ref":"code-coverage-report.md","articles":[]},"previous":{"title":"Building","level":"1.5","depth":1,"path":"building.md","ref":"building.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css",
 "print":"styles/print.css"},"showLevel":false}},"github":"apache/activemq-artemis","theme":"default","githubHost":"https://github.com/","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"ActiveMQ Artemis Documentation","links":{"home":"http://activemq.apache.org/artemis","issues":"https://issues.apache.org/jira/browse/ARTEMIS","contribute":"http://activemq.apache.org/contributing.html"},"gitbook":"3.x.x","description":"ActiveMQ Artemis Hacking Guide"},"file":{"path":"tests.md","mtime":"2017-09-08T01:26:53.000Z","type":"markdown"},"gitbook":{"version":"3.1.1","time":"2017-09-14T19:50:29.711Z"},"basePath":".","book":{"language":""}});
+        });
+    </script>
+</div>
+
+        
+    <script src="gitbook/gitbook.js"></script>
+    <script src="gitbook/theme.js"></script>
+    
+        
+        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-search/search.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
+        
+    
+        
+        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
+        
+    
+
+    </body>
+</html>
+



Mime
View raw message