This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/activemq-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 6c5e85426 Automatic Site Publish by Buildbot
6c5e85426 is described below
commit 6c5e85426c44558525ebe07291017209fd0ebc62
Author: buildbot <[email protected]>
AuthorDate: Fri May 30 17:52:56 2025 +0000
Automatic Site Publish by Buildbot
---
.../hacking-guide/css/asciidoctor.css | 14 +-
.../artemis/documentation/hacking-guide/index.html | 560 +++++----------------
2 files changed, 141 insertions(+), 433 deletions(-)
diff --git
a/output/components/artemis/documentation/hacking-guide/css/asciidoctor.css
b/output/components/artemis/documentation/hacking-guide/css/asciidoctor.css
index 5a111fb01..843fe4153 100644
--- a/output/components/artemis/documentation/hacking-guide/css/asciidoctor.css
+++ b/output/components/artemis/documentation/hacking-guide/css/asciidoctor.css
@@ -130,7 +130,7 @@ p a>code:hover{color:rgba(0,0,0,.9)}
#content::before{content:none}
#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}
-#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px
solid #dddddf;padding-bottom:8px}
+#header>h1:only-child{border-bottom:1px solid #dddddf;padding-bottom:8px}
#header .details{border-bottom:1px solid
#dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row
wrap}
#header .details span:first-child{margin-left:-.125em}
#header .details span.email a{color:rgba(0,0,0,.85)}
@@ -152,6 +152,7 @@ p a>code:hover{color:rgba(0,0,0,.9)}
#toctitle{color:#7a2518;font-size:1.2em}
@media screen and (min-width:768px){#toctitle{font-size:1.375em}
body.toc2{padding-left:15em;padding-right:0}
+body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid
#dddddf;padding-bottom:8px}
#toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px
solid
#e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em
1em;height:100%;overflow:auto}
#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
#toc.toc2>ul{font-size:.9em;margin-bottom:0}
@@ -198,13 +199,10 @@
table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}
.admonitionblock>table
td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid
#dddddf;color:rgba(0,0,0,.6);word-wrap:anywhere}
.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
.exampleblock>.content{border:1px solid
#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}
-.exampleblock>.content>:first-child{margin-top:0}
-.exampleblock>.content>:last-child{margin-bottom:0}
.sidebarblock{border:1px solid
#dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}
-.sidebarblock>:first-child{margin-top:0}
-.sidebarblock>:last-child{margin-bottom:0}
.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
-.exampleblock>.content>:last-child>:last-child,.exampleblock>.content
.olist>ol>li:last-child>:last-child,.exampleblock>.content
.ulist>ul>li:last-child>:last-child,.exampleblock>.content
.qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content
.olist>ol>li:last-child>:last-child,.sidebarblock>.content
.ulist>ul>li:last-child>:last-child,.sidebarblock>.content
.qlist>ol>li:last-child>:last-child{margin-bottom:0}
+.exampleblock>.content>:first-child,.sidebarblock>.content>:first-child{margin-top:0}
+.exampleblock>.content>:last-child,.exampleblock>.content>:last-child>:last-child,.exampleblock>.content
.olist>ol>li:last-child>:last-child,.exampleblock>.content
.ulist>ul>li:last-child>:last-child,.exampleblock>.content
.qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content
.olist>ol>li:last-child>:last-child,.sidebarblock>.content
.ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol> [...]
.literalblock
pre,.listingblock>.content>pre{border-radius:4px;overflow-x:auto;padding:1em;font-size:.8125em}
@media screen and (min-width:768px){.literalblock
pre,.listingblock>.content>pre{font-size:.90625em}}
@media screen and (min-width:1280px){.literalblock
pre,.listingblock>.content>pre{font-size:1em}}
@@ -320,7 +318,7 @@ a.image{text-decoration:none;display:inline-block}
a.image object{pointer-events:none}
sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
sup.footnote a,sup.footnoteref a{text-decoration:none}
-sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
+sup.footnote a:active,sup.footnoteref a:active,#footnotes .footnote
a:first-of-type:active{text-decoration:underline}
#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0
.75em;border-width:1px 0 0}
#footnotes .footnote{padding:0 .375em 0
.225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}
@@ -383,7 +381,7 @@ b.conum *{color:inherit!important}
dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
h1,h2,p,td.content,span.alt,summary{letter-spacing:-.01em}
p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
-p,blockquote,dt,td.content,span.alt,summary{font-size:1.0625rem}
+p,blockquote,dt,td.content,td.hdlist1,span.alt,summary{font-size:1.0625rem}
p{margin-bottom:1.25rem}
.sidebarblock p,.sidebarblock dt,.sidebarblock
td.content,p.tableblock{font-size:1em}
.exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0
1px 4px #e0e0dc}
diff --git a/output/components/artemis/documentation/hacking-guide/index.html
b/output/components/artemis/documentation/hacking-guide/index.html
index 0cf74d90c..04591d97d 100644
--- a/output/components/artemis/documentation/hacking-guide/index.html
+++ b/output/components/artemis/documentation/hacking-guide/index.html
@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
-<meta name="generator" content="Asciidoctor 2.0.18">
+<meta name="generator" content="Asciidoctor 2.0.23">
<link rel="icon" type="image/png" href="images/favicon.png">
<title>Apache ActiveMQ Artemis Hacking Guide</title>
<link rel="stylesheet" href="css/asciidoctor.css">
@@ -25,67 +25,55 @@
<li><a href="#adding-new-dependencies">1.4. Adding New Dependencies</a></li>
</ul>
</li>
-<li><a href="#ide-integration">2. IDE Integration</a>
+<li><a href="#building">2. Building</a>
<ul class="sectlevel2">
-<li><a href="#intellij-idea">2.1. IntelliJ IDEA</a></li>
-<li><a href="#eclipse">2.2. Eclipse</a></li>
+<li><a href="#full-release">2.1. Full Release</a></li>
+<li><a href="#full-release-without-docs">2.2. Full Release without
docs</a></li>
+<li><a href="#only-docs">2.3. Only docs</a></li>
+<li><a href="#offline">2.4. Offline</a></li>
+<li><a href="#building-the-async-io-library">2.5. Building the ASYNC IO
library</a></li>
+<li><a href="#open-web-application-security-project-owasp-report">2.6. Open
Web Application Security Project (OWASP) Report</a></li>
+<li><a href="#snapshot-builds">2.7. Snapshot Builds</a></li>
</ul>
</li>
-<li><a href="#building">3. Building</a>
+<li><a href="#tests">3. Tests</a>
<ul class="sectlevel2">
-<li><a href="#full-release">3.1. Full Release</a></li>
-<li><a href="#full-release-without-docs">3.2. Full Release without
docs</a></li>
-<li><a href="#only-docs">3.3. Only docs</a></li>
-<li><a href="#offline">3.4. Offline</a></li>
-<li><a href="#building-the-async-io-library">3.5. Building the ASYNC IO
library</a></li>
-<li><a href="#open-web-application-security-project-owasp-report">3.6. Open
Web Application Security Project (OWASP) Report</a></li>
+<li><a href="#running-tests">3.1. Running Tests</a></li>
+<li><a href="#writing-tests">3.2. Writing Tests</a></li>
+<li><a href="#writing-web-tests">3.3. Writing Web Tests</a></li>
+<li><a href="#keys-for-writing-good-tests">3.4. Keys for writing good
tests</a></li>
</ul>
</li>
-<li><a href="#tests">4. Tests</a>
+<li><a href="#code-coverage-report">4. Code coverage report</a>
<ul class="sectlevel2">
-<li><a href="#running-tests">4.1. Running Tests</a></li>
-<li><a href="#writing-tests">4.2. Writing Tests</a></li>
-<li><a href="#writing-web-tests">4.3. Writing Web Tests</a></li>
-<li><a href="#keys-for-writing-good-tests">4.4. Keys for writing good
tests</a></li>
+<li><a href="#getting-jacoco-exec-files">4.1. Getting JaCoCo exec
files</a></li>
+<li><a href="#generate-jacoco-reports">4.2. Generate JaCoCo reports</a></li>
+<li><a href="#merge-jacoco-exec-files-to-one">4.3. Merge JaCoCo exec files to
one</a></li>
</ul>
</li>
-<li><a href="#code-coverage-report">5. Code coverage report</a>
+<li><a href="#validating-releases">5. Validating releases</a>
<ul class="sectlevel2">
-<li><a href="#getting-jacoco-exec-files">5.1. Getting JaCoCo exec
files</a></li>
-<li><a href="#generate-jacoco-reports">5.2. Generate JaCoCo reports</a></li>
-<li><a href="#merge-jacoco-exec-files-to-one">5.3. Merge JaCoCo exec files to
one</a></li>
+<li><a href="#setting-up-the-maven-repository">5.1. Setting up the maven
repository</a></li>
+<li><a href="#using-the-examples">5.2. Using the examples</a></li>
</ul>
</li>
-<li><a href="#code-formatting">6. Code Formatting</a>
+<li><a href="#notes-for-maintainers">6. Notes for Maintainers</a>
<ul class="sectlevel2">
-<li><a href="#idea">6.1. IDEA</a></li>
-<li><a href="#eclipse-2">6.2. Eclipse</a></li>
-<li><a href="#editorconfig">6.3. EditorConfig</a></li>
+<li><a href="#using-the-dev-profile">6.1. Using the <code>dev</code>
profile.</a></li>
+<li><a href="#commit-messages">6.2. Commit Messages</a></li>
+<li><a href="#configuring-git-repositories">6.3. Configuring Git
repositories</a></li>
+<li><a href="#merging-and-pushing-pull-requests">6.4. Merging and pushing pull
requests</a></li>
+<li><a href="#using-the-automated-script">6.5. Using the automated
script</a></li>
+<li><a href="#use-a-separate-branch-for-your-changes">6.6. Use a separate
branch for your changes</a></li>
+<li><a href="#notes">6.7. Notes</a></li>
</ul>
</li>
-<li><a href="#validating-releases">7. Validating releases</a>
+<li><a href="#history">7. History</a>
<ul class="sectlevel2">
-<li><a href="#setting-up-the-maven-repository">7.1. Setting up the maven
repository</a></li>
-<li><a href="#using-the-examples">7.2. Using the examples</a></li>
+<li><a href="#rebasing-original-donation">7.1. Rebasing original
donation</a></li>
</ul>
</li>
-<li><a href="#notes-for-maintainers">8. Notes for Maintainers</a>
-<ul class="sectlevel2">
-<li><a href="#using-the-dev-profile">8.1. Using the dev profile.</a></li>
-<li><a href="#commit-messages">8.2. Commit Messages</a></li>
-<li><a href="#configuring-git-repositories">8.3. Configuring Git
repositories</a></li>
-<li><a href="#merging-and-pushing-pull-requests">8.4. Merging and pushing pull
requests</a></li>
-<li><a href="#using-the-automated-script">8.5. Using the automated
script</a></li>
-<li><a href="#use-a-separate-branch-for-your-changes">8.6. Use a separate
branch for your changes</a></li>
-<li><a href="#notes">8.7. Notes</a></li>
-</ul>
-</li>
-<li><a href="#history">9. History</a>
-<ul class="sectlevel2">
-<li><a href="#rebasing-original-donation">9.1. Rebasing original
donation</a></li>
-</ul>
-</li>
-<li><a href="#legal-notice">10. Legal Notice</a></li>
+<li><a href="#legal-notice">8. Legal Notice</a></li>
</ul>
</div>
</div>
@@ -127,7 +115,7 @@ Follow the steps below to get set up with GitHub, etc.</p>
<p>Clone your newly forked copy onto your local workspace:</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="sh"><span class="nv">$
</span>git clone [email protected]:<your-user-name>/activemq-artemis.git
+<pre class="rouge highlight nowrap"><code data-lang="sh"><span class="nv">$
</span>git clone [email protected]:<your-user-name>/activemq-artemis.git
Cloning into <span class="s1">'activemq-artemis'</span>...
remote: Counting objects: 63800, <span class="k">done</span><span
class="nb">.</span>
remote: Compressing objects: 100% <span class="o">(</span>722/722<span
class="o">)</span>, <span class="k">done</span><span class="nb">.</span>
@@ -144,7 +132,7 @@ Checking connectivity... <span class="k">done</span><span
class="nb">.</span>
<p>Add a remote reference to <code>upstream</code> for pulling future
updates</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="sh"><span class="nv">$
</span>git remote add upstream
https://github.com/apache/activemq-artemis</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="sh"><span class="nv">$
</span>git remote add upstream
https://github.com/apache/activemq-artemis</code></pre>
</div>
</div>
</li>
@@ -156,7 +144,7 @@ For example:</p>
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="sh"><span class="nv">$
</span>mvn <span class="nt">-Pdev</span> <span class="nb">install</span>
+<pre class="rouge highlight nowrap"><code data-lang="sh"><span class="nv">$
</span>mvn <span class="nt">-Pdev</span> <span class="nb">install</span>
...
<span class="o">[</span>INFO] <span
class="nt">------------------------------------------------------------------------</span>
<span class="o">[</span>INFO] Reactor Summary:
@@ -195,7 +183,7 @@ For example:</p>
<p>Create a topic branch in your local git repo to do your work</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git checkout <span
class="nt">-b</span> my_cool_feature</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git checkout <span
class="nt">-b</span> my_cool_feature</code></pre>
</div>
</div>
</li>
@@ -203,7 +191,7 @@ For example:</p>
<p>Make the changes and commit one or more times</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git commit</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git commit</code></pre>
</div>
</div>
<div id="commitMessageDetails" class="paragraph">
@@ -230,7 +218,7 @@ These lines should be wrapped at 72 characters.</p>
</div>
<div class="listingblock">
<div class="content">
-<pre>ARTEMIS-123 Add new commit msg format to README
+<pre class="nowrap">ARTEMIS-123 Add new commit msg format to README
Adds a description of the new commit message format as well as examples
of well formatted commit messages to the README.md. This is required
@@ -246,7 +234,7 @@ do and why the commit was added.</pre>
<p>Occasionally you’ll want to push your commit(s) to GitHub for
safe-keeping and/or sharing with others.</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git push origin
my_cool_feature</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git push origin
my_cool_feature</code></pre>
</div>
</div>
<div class="paragraph">
@@ -260,7 +248,7 @@ do and why the commit was added.</pre>
<p>Once you’re finished coding your feature/fix then rebase your branch
against the latest main (applies your patches on top of main)</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git fetch upstream
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git fetch upstream
<span class="gp">$</span><span class="w"> </span>git rebase <span
class="nt">-i</span> upstream/main</code></pre>
</div>
</div>
@@ -269,7 +257,7 @@ do and why the commit was added.</pre>
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git push <span class="nt">-f</span>
origin my_cool_feature</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git push <span class="nt">-f</span>
origin my_cool_feature</code></pre>
</div>
</div>
<div class="paragraph">
@@ -311,7 +299,7 @@ Therefore you’ll want to make sure that you either
work in a branch that
<p>Pulling updates from upstream</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git pull <span
class="nt">--rebase</span> upstream main</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git pull <span
class="nt">--rebase</span> upstream main</code></pre>
</div>
</div>
<div class="paragraph">
@@ -324,7 +312,7 @@ For example:</p>
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git fetch upstream
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git fetch upstream
<span class="gp">$</span><span class="w"> </span>git pull</code></pre>
</div>
</div>
@@ -333,7 +321,7 @@ For example:</p>
<p>Pushing pulled updates (or local commits if you aren’t using topic
branches) to your private GitHub repo (origin)</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git push
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git push
<span class="go">Counting objects: 192, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (44/44), done.
@@ -367,272 +355,7 @@ This allows ActiveMQ Artemis developers to keep track of
all dependencies and li
</div>
</div>
<div class="sect1">
-<h2 id="ide-integration"><a class="anchor" href="#ide-integration"></a><a
class="link" href="#ide-integration">2. IDE Integration</a></h2>
-<div class="sectionbody">
-<div class="paragraph">
-<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>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><a
href="https://github.com/apache/activemq-artemis/tree/main/etc/ide-settings"
class="bare">https://github.com/apache/activemq-artemis/tree/main/etc/ide-settings</a></p>
-</li>
-</ul>
-</div>
-<div class="sect2">
-<h3 id="intellij-idea"><a class="anchor" href="#intellij-idea"></a><a
class="link" href="#intellij-idea">2.1. IntelliJ IDEA</a></h3>
-<div class="sect3">
-<h4 id="importing-the-project"><a class="anchor"
href="#importing-the-project"></a><a class="link"
href="#importing-the-project">2.1.1. Importing the Project</a></h4>
-<div class="paragraph">
-<p>The following steps show how to open the ActiveMQ Artemis maven project in
IntelliJ IDEA and setup the correct maven profile to allow running of JUnit
tests from within the IDE.
-(Steps are based on version: 2018.2)</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Starting from a clean clone</p>
-</li>
-<li>
-<p>Build the activemq-artemis source using the maven 'dev' profile:</p>
-<div class="listingblock">
-<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span class="nt">-Pdev</span>
<span class="nb">install</span> <span class="nt">-DskipTests</span></code></pre>
-</div>
-</div>
-</li>
-<li>
-<p>Await and ensure the outcome is <code>BUILD SUCCESS</code></p>
-</li>
-<li>
-<p>Launch IntelliJ</p>
-</li>
-<li>
-<p>From the 'Welcome to IntelliJ IDEA' screen select 'Open'</p>
-</li>
-<li>
-<p>From the 'Open File or Project' screen select the <code>pom.xml</code> file
in the cloned <code>activemq-artemis</code> directory</p>
-</li>
-<li>
-<p>From the 'Open Project' screen select 'Open as Project'</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>This should open the main IntelliJ IDEA window where you will notice some
background tasks running via the bottom status bar.
-These background tasks should successfully import and index the project
automatically.</p>
-</div>
-<div class="paragraph">
-<p>Once the project has been imported and IntelliJ 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 -> integration tests folder.
-Right click on the class in the project tab and click "Run <classname>".
-If the "Run <classname>" option is present then you’re all set to
go.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="note-about-ibm-jdk-on-idea"><a class="anchor"
href="#note-about-ibm-jdk-on-idea"></a><a class="link"
href="#note-about-ibm-jdk-on-idea">2.1.2. Note about IBM JDK on IDEA</a></h4>
-<div class="paragraph">
-<p>If you are running IBM JDK it may be a little tricky to get it working.</p>
-</div>
-<div class="paragraph">
-<p>After you add the JDK to the IDE, add also the <code>vm.jar</code> specific
to your platform under that JDK (e.g.
<code>JAVA_HOME/jre/lib/amd64/default/jclSC180/vm.jar</code>).</p>
-</div>
-<div class="paragraph">
-<p>There’s a <a
href="https://stackoverflow.com/questions/27906481/can-intellij-14-be-used-to-work-with-ibm-jdk-1-7/32852361#32852361">StackOverflow
question</a> about this that could be useful in case you are running into this
issue.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="style-templates-and-inspection-settings-for-idea"><a class="anchor"
href="#style-templates-and-inspection-settings-for-idea"></a><a class="link"
href="#style-templates-and-inspection-settings-for-idea">2.1.3. Style Templates
and Inspection Settings for IDEA</a></h4>
-<div class="paragraph">
-<p>We have shared the style templates that are good for this project.
-If you want to apply them use these steps:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>File->Import Settings</p>
-</li>
-<li>
-<p>Select the file under
./artemis-cloned-folder/etc/ide-settings/idea/IDEA-style.jar</p>
-</li>
-<li>
-<p>Select both Code Style Templates and File templates (it’s the default
option)</p>
-</li>
-<li>
-<p>Select OK and restart IDEA</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>Alternatively you can copy <code>artemis-codestyle.xml</code> under your
home settings at <code>IntelliJIdea15/codestyles</code>.</p>
-</div>
-<div class="sect4">
-<h5 id="to-import-inspection-settings"><a class="anchor"
href="#to-import-inspection-settings"></a><a class="link"
href="#to-import-inspection-settings">To import inspection settings:</a></h5>
-<div class="ulist">
-<ul>
-<li>
-<p>File->Settings->Editor->Inspections->Manage->Import</p>
-</li>
-<li>
-<p>Select the file
<code>./artemis-cloned-folder/etc/ide-settings/idea/artemis-inspections.xml</code></p>
-</li>
-<li>
-<p>Select OK</p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="issue-my-junit-tests-are-not-runnable-with-in-the-ide"><a
class="anchor"
href="#issue-my-junit-tests-are-not-runnable-with-in-the-ide"></a><a
class="link"
href="#issue-my-junit-tests-are-not-runnable-with-in-the-ide">2.1.4. Issue: My
JUnit tests are not runnable with in the IDE.</a></h4>
-<div class="paragraph">
-<p>If the "Run <classname>" or "Run all tests" option is not present it
is likely that the default profile has not been imported properly.
-To (re)import the "tests" Maven profile in an existing project do the
following:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Open the Maven Projects Tool Window: View -> Tool Windows -> Maven
Projects</p>
-</li>
-<li>
-<p>Select the "profiles" drop down</p>
-</li>
-<li>
-<p>Unselect then reselect the checkbox next to "tests".</p>
-</li>
-<li>
-<p>Click on the "Reimport all maven projects" button in the top left hand
corner of the window.
-It looks like a circular blue arrow.</p>
-</li>
-<li>
-<p>Wait for IDEA to reload and try running a JUnit test again.
-The option to run should now be present.</p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="eclipse"><a class="anchor" href="#eclipse"></a><a class="link"
href="#eclipse">2.2. Eclipse</a></h3>
-<div class="paragraph">
-<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>
-</div>
-<div class="paragraph">
-<p>Eclipse <a href="https://eclipse.org/m2e/">m2e</a> is already included in
"Eclipse IDE for Java Developers", or it can be installed from <a
href="http://download.eclipse.org/releases/kepler">Eclipse Kepler release
repository</a>.</p>
-</div>
-<div class="sect3">
-<h4 id="git-setup"><a class="anchor" href="#git-setup"></a><a class="link"
href="#git-setup">2.2.1. Git setup</a></h4>
-<div class="paragraph">
-<p>It is strongly recommended to turn off the auto-updating of
<code>.gitignore</code> files by the Git Team extension.
-Otherwise, it generates new <code>.gitignore</code> files in many directories
that are not needed due to the top level <code>.gitignore</code> file.
-To turn it off, go to Preferences->Team->Git->Projects and deselect
the "Automatically ignore derived resources" checkbox.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="schema-setup"><a class="anchor" href="#schema-setup"></a><a
class="link" href="#schema-setup">2.2.2. Schema setup</a></h4>
-<div class="paragraph">
-<p>For proper schema validation you can add the Artemis schemas to your
Eclipse XML Catalog</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Open: Window -> Preferences -> XML -> XML Catalog</p>
-</li>
-<li>
-<p>Select Add -> Workspace -> Navigate to artemis-server and select
src/main/resources/schema/artemis-server.xsd -> click OK</p>
-</li>
-<li>
-<p>Repeat the above steps and add
src/main/resources/schema/artemis-configuration.xsd</p>
-</li>
-</ul>
-</div>
-</div>
-<div class="sect3">
-<h4 id="checkstyle-setup"><a class="anchor" href="#checkstyle-setup"></a><a
class="link" href="#checkstyle-setup">2.2.3. Checkstyle setup</a></h4>
-<div class="paragraph">
-<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="https://sevntu-checkstyle.github.io/sevntu.checkstyle/"
class="bare">https://sevntu-checkstyle.github.io/sevntu.checkstyle/</a> for
instructions.
-Then to configure the template:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Open: Window -> Preferences -> Checkstyle</p>
-</li>
-<li>
-<p>Select New -> "Project Relative Configuration" in the "Type" dropdown</p>
-</li>
-<li>
-<p>Give the configuration a name and under location put
"/artemis-pom/etc/checkstyle.xml" then hit ok</p>
-</li>
-<li>
-<p>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.</p>
-</li>
-</ul>
-</div>
-</div>
-<div class="sect3">
-<h4 id="annotation-pre-processing"><a class="anchor"
href="#annotation-pre-processing"></a><a class="link"
href="#annotation-pre-processing">2.2.4. Annotation Pre-Processing</a></h4>
-<div class="paragraph">
-<p>ActiveMQ Artemis uses <a
href="https://developer.jboss.org/wiki/JBossLoggingTooling">JBoss Logging</a>
and that requires source code generation from Java annotations.
-In order for it to 'just work' 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">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">JBoss
blog post</a> for details.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="running-tests-from-eclipse"><a class="anchor"
href="#running-tests-from-eclipse"></a><a class="link"
href="#running-tests-from-eclipse">2.2.5. Running tests from Eclipse</a></h4>
-<div class="paragraph">
-<p>Setting up annotation pre-processing in the above section is all you need
to run tests in the "unit-tests" 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
"performance-tests" or "integration-tests" that have a dependency on
"unit-tests".
-Currently m2eclipse does not properly link the generated source annotations
folder from "unit-tests" 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
"unit-tests" to each of the projects where you want to run a test class
from:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Right click on the test project (i.e. integration-tests): Properties ->
Java Build Path -> Projects -> Add</p>
-</li>
-<li>
-<p>Select the "unit-tests" project and click Ok</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>You should now be able to run tests assuming that the annotation
pre-processing was set up properly in the previous step.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="m2e-connector-for-javacc-maven-plugin"><a class="anchor"
href="#m2e-connector-for-javacc-maven-plugin"></a><a class="link"
href="#m2e-connector-for-javacc-maven-plugin">2.2.6. M2E Connector for
Javacc-Maven-Plugin</a></h4>
-<div class="paragraph">
-<p>Eclipse Indigo (3.7) has out-of-the-box support for it.</p>
-</div>
-<div class="paragraph">
-<p>As of this writing, Eclipse Kepler (4.3) still lacks support for
Maven’s javacc plugin.
-The available <a href="https://github.com/objectledge/maven-extensions">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="https://dev.eclipse.org/mhonarc/lists/m2e-users/msg02725.html">this
post</a> for how to do this with Eclipse Juno (4.2).</p>
-</div>
-<div class="paragraph">
-<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>
-</div>
-</div>
-<div class="sect3">
-<h4 id="use-project-working-sets"><a class="anchor"
href="#use-project-working-sets"></a><a class="link"
href="#use-project-working-sets">2.2.7. Use <em>Project Working
Sets</em></a></h4>
-<div class="paragraph">
-<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="https://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Fconcepts%2Fcworkset.htm">Eclipse’s
Working Sets</a> feature.
-A good introduction to it can be found at a <a
href="https://dzone.com/articles/categorise-projects-package">Dzone article on
Eclipse Working Sets</a>.</p>
-</div>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="building"><a class="anchor" href="#building"></a><a class="link"
href="#building">3. Building</a></h2>
+<h2 id="building"><a class="anchor" href="#building"></a><a class="link"
href="#building">2. Building</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>We use Apache Maven to build the code, distribution, etc. and to manage
dependencies.</p>
@@ -645,13 +368,13 @@ A good introduction to it can be found at a <a
href="https://dzone.com/articles/
This is specially true for the <a
href="https://maven.apache.org/plugins-archives/maven-site-plugin-3.3/maven-3.html">'site'
plugin</a>.</p>
</div>
<div class="sect2">
-<h3 id="full-release"><a class="anchor" href="#full-release"></a><a
class="link" href="#full-release">3.1. Full Release</a></h3>
+<h3 id="full-release"><a class="anchor" href="#full-release"></a><a
class="link" href="#full-release">2.1. Full Release</a></h3>
<div class="paragraph">
<p>To build the full release with the documentation & JavaDocs:</p>
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span
class="nt">-Prelease</span> package</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span
class="nt">-Prelease</span> package</code></pre>
</div>
</div>
<div class="paragraph">
@@ -659,7 +382,7 @@ This is specially true for the <a
href="https://maven.apache.org/plugins-archive
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span
class="nt">-Prelease</span> <span class="nb">install</span></code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span
class="nt">-Prelease</span> <span class="nb">install</span></code></pre>
</div>
</div>
<div class="paragraph">
@@ -667,30 +390,30 @@ This is specially true for the <a
href="https://maven.apache.org/plugins-archive
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span
class="nt">-Prelease</span> package <span
class="nt">-DskipTests</span></code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span
class="nt">-Prelease</span> package <span
class="nt">-DskipTests</span></code></pre>
</div>
</div>
</div>
<div class="sect2">
-<h3 id="full-release-without-docs"><a class="anchor"
href="#full-release-without-docs"></a><a class="link"
href="#full-release-without-docs">3.2. Full Release without docs</a></h3>
+<h3 id="full-release-without-docs"><a class="anchor"
href="#full-release-without-docs"></a><a class="link"
href="#full-release-without-docs">2.2. Full Release without docs</a></h3>
<div class="paragraph">
<p>It is possible to build a distribution without the manuals and Javadocs.
simply run</p>
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn package</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn package</code></pre>
</div>
</div>
</div>
<div class="sect2">
-<h3 id="only-docs"><a class="anchor" href="#only-docs"></a><a class="link"
href="#only-docs">3.3. Only docs</a></h3>
+<h3 id="only-docs"><a class="anchor" href="#only-docs"></a><a class="link"
href="#only-docs">2.3. Only docs</a></h3>
<div class="paragraph">
<p>From the <code>artemis-website</code> module run:</p>
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span
class="nt">-Prelease</span> package</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span
class="nt">-Prelease</span> package</code></pre>
</div>
</div>
<div class="paragraph">
@@ -702,16 +425,28 @@ Output will be placed in the
<code>target/classes/user-manual</code>, <code>targ
</div>
</div>
<div class="sect2">
-<h3 id="offline"><a class="anchor" href="#offline"></a><a class="link"
href="#offline">3.4. Offline</a></h3>
+<h3 id="offline"><a class="anchor" href="#offline"></a><a class="link"
href="#offline">2.4. Offline</a></h3>
+<div class="paragraph">
+<p>Maven dependency:go-offline can be used to download various things the
build needs. This necessitates some properties the build doesnt normally need
set, so to make this work a helper profile called <code>go-offline</code>
exists to have the os-maven-plugin set these properties based on the current
environment. To run these together, do:</p>
+</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn dependency:go-offline
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn dependency:go-offline <span
class="nt">-Pgo-offline</span>
+<span class="gp">$</span><span class="w"> </span>mvn <span
class="nt">-o</span> ...</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Alternatively you can simply specify the needed properties directly, based
on your environment preference. For example, on a Linux x86-64 environment you
could run:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn dependency:go-offline <span
class="nt">-Dos</span>.detected.name<span class="o">=</span>linux <span
class="nt">-Dos</span>.detected.arch<span class="o">=</span>x86_64 <span
class="nt">-Dos</span>.detected.classifier<span class="o">=</span>linux-x86_64
<span class="gp">$</span><span class="w"> </span>mvn <span
class="nt">-o</span> ...</code></pre>
</div>
</div>
</div>
<div class="sect2">
-<h3 id="building-the-async-io-library"><a class="anchor"
href="#building-the-async-io-library"></a><a class="link"
href="#building-the-async-io-library">3.5. Building the ASYNC IO
library</a></h3>
+<h3 id="building-the-async-io-library"><a class="anchor"
href="#building-the-async-io-library"></a><a class="link"
href="#building-the-async-io-library">2.5. Building the ASYNC IO
library</a></h3>
<div class="paragraph">
<p>ActiveMQ Artemis provides the <code>ASYNCIO</code>
<code>journal-type</code> which interacts with the Linux kernel libaio library.
The ASYNCIO journal type should be used where possible as it is far superior in
terms of performance.</p>
</div>
@@ -723,32 +458,41 @@ Output will be placed in the
<code>target/classes/user-manual</code>, <code>targ
</div>
</div>
<div class="sect2">
-<h3 id="open-web-application-security-project-owasp-report"><a class="anchor"
href="#open-web-application-security-project-owasp-report"></a><a class="link"
href="#open-web-application-security-project-owasp-report">3.6. Open Web
Application Security Project (OWASP) Report</a></h3>
+<h3 id="open-web-application-security-project-owasp-report"><a class="anchor"
href="#open-web-application-security-project-owasp-report"></a><a class="link"
href="#open-web-application-security-project-owasp-report">2.6. Open Web
Application Security Project (OWASP) Report</a></h3>
<div class="paragraph">
<p>If you wish to generate a report for dependency CVEs you may build with the
<code>-Powasp</code> profile, e.g.:</p>
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span class="nt">-Powasp</span>
verify <span class="nt">-DskipTests</span></code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span class="nt">-Powasp</span>
verify <span class="nt">-DskipTests</span></code></pre>
</div>
</div>
<div class="paragraph">
-<p>The output will be under <code>./target/dependency-check-report.html</code>
for <strong>each</strong> sub-module.</p>
+<p>The output for every module will be aggregated in
<code>./target/dependency-check-report.html</code>.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="snapshot-builds"><a class="anchor" href="#snapshot-builds"></a><a
class="link" href="#snapshot-builds">2.7. Snapshot Builds</a></h3>
+<div class="paragraph">
+<p>Snapshot builds are available at <a
href="https://repository.apache.org/content/repositories/snapshots/org/apache/activemq/apache-artemis/"
class="bare">https://repository.apache.org/content/repositories/snapshots/org/apache/activemq/apache-artemis/</a>.</p>
+</div>
+<div class="paragraph">
+<p>These are built by <a
href="https://ci-builds.apache.org/job/ActiveMQ/job/ActiveMQ-Artemis-SNAPSHOT-Deploy/">this
Apache CI job</a>.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
-<h2 id="tests"><a class="anchor" href="#tests"></a><a class="link"
href="#tests">4. Tests</a></h2>
+<h2 id="tests"><a class="anchor" href="#tests"></a><a class="link"
href="#tests">3. Tests</a></h2>
<div class="sectionbody">
<div class="sect2">
-<h3 id="running-tests"><a class="anchor" href="#running-tests"></a><a
class="link" href="#running-tests">4.1. Running Tests</a></h3>
+<h3 id="running-tests"><a class="anchor" href="#running-tests"></a><a
class="link" href="#running-tests">3.1. Running Tests</a></h3>
<div class="paragraph">
<p>To run the unit tests:</p>
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="sh"><span class="nv">$
</span>mvn <span class="nt">-Ptests</span> <span
class="nb">test</span></code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="sh"><span class="nv">$
</span>mvn <span class="nt">-Ptests</span> <span
class="nb">test</span></code></pre>
</div>
</div>
<div class="paragraph">
@@ -756,7 +500,7 @@ Output will be placed in the
<code>target/classes/user-manual</code>, <code>targ
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="sh"><span class="nv">$
</span>mvn <span class="nb">install </span>site</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="sh"><span class="nv">$
</span>mvn <span class="nb">install </span>site</code></pre>
</div>
</div>
<div class="paragraph">
@@ -764,7 +508,7 @@ Output will be placed in the
<code>target/classes/user-manual</code>, <code>targ
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="sh"><span class="nv">$
</span>mvn <span class="nt">-Ptests</span> <span
class="nt">-DfailIfNoTests</span><span class="o">=</span><span
class="nb">false</span> <span class="nt">-Dtest</span><span
class="o">=</span><test-name> <span class="nb">test</span></code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="sh"><span class="nv">$
</span>mvn <span class="nt">-Ptests</span> <span
class="nt">-DfailIfNoTests</span><span class="o">=</span><span
class="nb">false</span> <span class="nt">-Dtest</span><span
class="o">=</span><test-name> <span class="nb">test</span></code></pre>
</div>
</div>
<div class="paragraph">
@@ -772,7 +516,7 @@ Output will be placed in the
<code>target/classes/user-manual</code>, <code>targ
</div>
</div>
<div class="sect2">
-<h3 id="writing-tests"><a class="anchor" href="#writing-tests"></a><a
class="link" href="#writing-tests">4.2. Writing Tests</a></h3>
+<h3 id="writing-tests"><a class="anchor" href="#writing-tests"></a><a
class="link" href="#writing-tests">3.2. Writing Tests</a></h3>
<div class="paragraph">
<p>The broker is comprised of POJOs so it’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.
@@ -796,20 +540,21 @@ This class does all the setup of a simple server
automatically and provides the
</div>
</div>
<div class="sect2">
-<h3 id="writing-web-tests"><a class="anchor" href="#writing-web-tests"></a><a
class="link" href="#writing-web-tests">4.3. Writing Web Tests</a></h3>
+<h3 id="writing-web-tests"><a class="anchor" href="#writing-web-tests"></a><a
class="link" href="#writing-web-tests">3.3. Writing Web Tests</a></h3>
<div class="paragraph">
<p>The broker has a web console based on <a
href="https://github.com/hawtio/hawtio">hawtio</a> and the
<code>smoke-tests</code> are used to test it.
For instance, the <a
href="https://github.com/apache/activemq-artemis/blob/main/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/ConsoleTest.java">ConsoleTest</a>
checks the web console using the <a
href="https://github.com/SeleniumHQ/selenium">selenium framework</a>.
-The tests can be executed using a remote server, local browsers or <a
href="https://www.testcontainers.org/modules/webdriver_containers">testcontainers</a>.
+The tests can be executed on the Chrome and Firefox browsers by using a remote
server, local browsers or <a
href="https://www.testcontainers.org/modules/webdriver_containers">testcontainers</a>.
+To configure the browsers on which execute the tests set the
<code>webdriver.browsers</code> property with the comma-separated list of the
browsers, i.e. <code>-Dwebdriver.browsers=chrome,firefox</code>.
To use a remote server set the <code>webdriver.remote.server</code> property
with the URL of the server, ie
-Dwebdriver.remote.server=http://localhost:4444/wd/hub To use your local Google
Chrome browser download the <a
href="https://chromedriver.chromium.org/">WebDriver for Chrome</a> and set the
<code>webdriver.chrome.driver</code> property with the WebDriver path, ie
<code>-Dwebdriver.chrome.driver=/home/artemis/chromedriver_linux64/chromedriver</code>.
To use your local Firefox browser download the <a
href="https://github.com/mozilla/geckodriver/">WebDriver for Firefox</a> and
set the <code>webdriver.gecko.driver</code> property with the WebDriver path,
ie
<code>-Dwebdriver.gecko.driver=/home/artemis/geckodriver-linux64/geckodriver</code>.
To use <a
href="https://www.testcontainers.org/modules/webdriver_containers">testcontainers</a>
install docker.</p>
</div>
</div>
<div class="sect2">
-<h3 id="keys-for-writing-good-tests"><a class="anchor"
href="#keys-for-writing-good-tests"></a><a class="link"
href="#keys-for-writing-good-tests">4.4. Keys for writing good tests</a></h3>
+<h3 id="keys-for-writing-good-tests"><a class="anchor"
href="#keys-for-writing-good-tests"></a><a class="link"
href="#keys-for-writing-good-tests">3.4. Keys for writing good tests</a></h3>
<div class="sect3">
-<h4 id="use-logger-debug"><a class="anchor" href="#use-logger-debug"></a><a
class="link" href="#use-logger-debug">4.4.1. Use logger.debug</a></h4>
+<h4 id="use-logger-debug"><a class="anchor" href="#use-logger-debug"></a><a
class="link" href="#use-logger-debug">3.4.1. Use logger.debug</a></h4>
<div class="ulist">
<ul>
<li>
@@ -819,7 +564,7 @@ To use <a
href="https://www.testcontainers.org/modules/webdriver_containers">tes
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="java"><span
class="kd">public</span> <span class="kd">class</span> <span
class="nc">MyTest</span> <span class="o">{</span>
+<pre class="rouge highlight nowrap"><code data-lang="java"><span
class="kd">public</span> <span class="kd">class</span> <span
class="nc">MyTest</span> <span class="o">{</span>
<span class="kd">private</span> <span class="kd">static</span> <span
class="kd">final</span> <span class="n">org</span><span class="o">.</span><span
class="na">slf4j</span><span class="o">.</span><span class="na">Logger</span>
<span class="n">log</span> <span class="o">=</span> <span
class="n">org</span><span class="o">.</span><span class="na">slf4j</span><span
class="o">.</span><span class="na">LoggerFactory</span><span
class="o">.</span><span class="na">getLogger</span><span class="o"> [...]
<span class="nd">@Test</span>
@@ -841,7 +586,7 @@ Debug information should be called through
<code>logger.debug</code>.</p>
</div>
</div>
<div class="sect3">
-<h4 id="avoid-leaks"><a class="anchor" href="#avoid-leaks"></a><a class="link"
href="#avoid-leaks">4.4.2. Avoid leaks</a></h4>
+<h4 id="avoid-leaks"><a class="anchor" href="#avoid-leaks"></a><a class="link"
href="#avoid-leaks">3.4.2. Avoid leaks</a></h4>
<div class="paragraph">
<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.).
@@ -868,7 +613,7 @@ If you choose <em>not</em> to use this method then use
<code>org.apache.activemq
</div>
</div>
<div class="sect3">
-<h4 id="create-configurations"><a class="anchor"
href="#create-configurations"></a><a class="link"
href="#create-configurations">4.4.3. Create configurations</a></h4>
+<h4 id="create-configurations"><a class="anchor"
href="#create-configurations"></a><a class="link"
href="#create-configurations">3.4.3. Create configurations</a></h4>
<div class="paragraph">
<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(..).
@@ -879,7 +624,7 @@ Each one creates a slightly different configuration but
there is a lot of overl
</div>
</div>
<div class="sect3">
-<h4 id="look-at-other-test-cases"><a class="anchor"
href="#look-at-other-test-cases"></a><a class="link"
href="#look-at-other-test-cases">4.4.4. Look at other test-cases</a></h4>
+<h4 id="look-at-other-test-cases"><a class="anchor"
href="#look-at-other-test-cases"></a><a class="link"
href="#look-at-other-test-cases">3.4.4. Look at other test-cases</a></h4>
<div class="paragraph">
<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>
@@ -889,10 +634,10 @@ This is one of the best ways to learn how the test-suite
works and how you can l
</div>
</div>
<div class="sect1">
-<h2 id="code-coverage-report"><a class="anchor"
href="#code-coverage-report"></a><a class="link"
href="#code-coverage-report">5. Code coverage report</a></h2>
+<h2 id="code-coverage-report"><a class="anchor"
href="#code-coverage-report"></a><a class="link"
href="#code-coverage-report">4. Code coverage report</a></h2>
<div class="sectionbody">
<div class="sect2">
-<h3 id="getting-jacoco-exec-files"><a class="anchor"
href="#getting-jacoco-exec-files"></a><a class="link"
href="#getting-jacoco-exec-files">5.1. Getting JaCoCo exec files</a></h3>
+<h3 id="getting-jacoco-exec-files"><a class="anchor"
href="#getting-jacoco-exec-files"></a><a class="link"
href="#getting-jacoco-exec-files">4.1. Getting JaCoCo exec files</a></h3>
<div class="paragraph">
<p>Before you can generate code coverage report by JaCoCo tool, you need to
get data about what lines of code were executed during testing.
These information are collected by JaCoCo agent and stored in JaCoCo exec
files.
@@ -900,15 +645,15 @@ All you need to do is run the tests with
<code>jacoco</code> maven profile.</p>
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span class="nb">test</span>
<span class="nt">-Ptests</span>,jacoco</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span class="nb">test</span>
<span class="nt">-Ptests</span>,jacoco</code></pre>
</div>
</div>
</div>
<div class="sect2">
-<h3 id="generate-jacoco-reports"><a class="anchor"
href="#generate-jacoco-reports"></a><a class="link"
href="#generate-jacoco-reports">5.2. Generate JaCoCo reports</a></h3>
+<h3 id="generate-jacoco-reports"><a class="anchor"
href="#generate-jacoco-reports"></a><a class="link"
href="#generate-jacoco-reports">4.2. Generate JaCoCo reports</a></h3>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn verify <span
class="nt">-Pjacoco-generate-report</span> <span
class="nt">-DskipTests</span></code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn verify <span
class="nt">-Pjacoco-generate-report</span> <span
class="nt">-DskipTests</span></code></pre>
</div>
</div>
<div class="paragraph">
@@ -917,59 +662,24 @@ After the command was executed, in directory
<code>target/jacoco-report</code> y
</div>
</div>
<div class="sect2">
-<h3 id="merge-jacoco-exec-files-to-one"><a class="anchor"
href="#merge-jacoco-exec-files-to-one"></a><a class="link"
href="#merge-jacoco-exec-files-to-one">5.3. Merge JaCoCo exec files to
one</a></h3>
+<h3 id="merge-jacoco-exec-files-to-one"><a class="anchor"
href="#merge-jacoco-exec-files-to-one"></a><a class="link"
href="#merge-jacoco-exec-files-to-one">4.3. Merge JaCoCo exec files to
one</a></h3>
<div class="paragraph">
<p>Since ActiveMQ Artemis is divided into several modules, exec files are
generated for each module separately.
If you need to merge them together to have all data in one place, you can do
it by command below.</p>
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn jacoco:merge <span
class="nt">-N</span> <span class="nt">-Pjacoco</span></code></pre>
-</div>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="code-formatting"><a class="anchor" href="#code-formatting"></a><a
class="link" href="#code-formatting">6. Code Formatting</a></h2>
-<div class="sectionbody">
-<div class="sect2">
-<h3 id="idea"><a class="anchor" href="#idea"></a><a class="link"
href="#idea">6.1. IDEA</a></h3>
-<div class="paragraph">
-<p>If you completed the step described on <a
href="#style-templates-and-inspection-settings-for-idea">idea instructions</a>,
and selected the code style accordingly you should be ready to go.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="eclipse-2"><a class="anchor" href="#eclipse-2"></a><a class="link"
href="#eclipse-2">6.2. Eclipse</a></h3>
-<div class="paragraph">
-<p>Eclipse code formatting and (basic) project configuration files can be
found at the <code>etc/</code> folder.
-You should manually copy them <em>after importing all your projects</em>:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span class="gp">for
settings_dir in `find . -type d -name .settings`;</span><span class="w">
</span><span class="k">do</span>
-<span class="gp">\cp -v etc/ide-settings/eclipse/org.eclipse.jdt.*
$</span>settings_dir
-<span class="go">done</span></code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn jacoco:merge <span
class="nt">-N</span> <span class="nt">-Pjacoco</span></code></pre>
</div>
</div>
-<div class="paragraph">
-<p>Do not use the <a
href="https://maven.apache.org/plugins/maven-eclipse-plugin/">maven-eclipse-plugin</a>
to copy the files as it conflicts with <a
href="https://eclipse.org/m2e/">m2e</a>.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="editorconfig"><a class="anchor" href="#editorconfig"></a><a
class="link" href="#editorconfig">6.3. EditorConfig</a></h3>
-<div class="paragraph">
-<p>For editors supporting <a href="http://editorconfig.org/">EditorConfig</a>,
a settings file is provided in etc/ide-settings/editorconfig.ini.
-Copy it to your Artemis top level directory and <a
href="http://editorconfig.org/#file-location">name it .editorconfig</a></p>
-</div>
</div>
</div>
</div>
<div class="sect1">
-<h2 id="validating-releases"><a class="anchor"
href="#validating-releases"></a><a class="link" href="#validating-releases">7.
Validating releases</a></h2>
+<h2 id="validating-releases"><a class="anchor"
href="#validating-releases"></a><a class="link" href="#validating-releases">5.
Validating releases</a></h2>
<div class="sectionbody">
<div class="sect2">
-<h3 id="setting-up-the-maven-repository"><a class="anchor"
href="#setting-up-the-maven-repository"></a><a class="link"
href="#setting-up-the-maven-repository">7.1. Setting up the maven
repository</a></h3>
+<h3 id="setting-up-the-maven-repository"><a class="anchor"
href="#setting-up-the-maven-repository"></a><a class="link"
href="#setting-up-the-maven-repository">5.1. Setting up the maven
repository</a></h3>
<div class="paragraph">
<p>When a release is proposed a maven repository is staged.</p>
</div>
@@ -986,7 +696,7 @@ The easiest way we have found is to change your maven
settings at <code>~/.m2/se
<div class="listingblock">
<div class="title">~/.m2/settings.xml</div>
<div class="content">
-<pre class="rouge highlight"><code data-lang="xml"><span class="cp"><?xml
version="1.0" encoding="UTF-8" standalone="no"?></span>
+<pre class="rouge highlight nowrap"><code data-lang="xml"><span
class="cp"><?xml version="1.0" encoding="UTF-8" standalone="no"?></span>
<span class="nt"><settings></span>
<span class="nt"><profiles></span>
<span class="nt"><profile></span>
@@ -1033,7 +743,7 @@ The easiest way we have found is to change your maven
settings at <code>~/.m2/se
</div>
</div>
<div class="sect2">
-<h3 id="using-the-examples"><a class="anchor"
href="#using-the-examples"></a><a class="link" href="#using-the-examples">7.2.
Using the examples</a></h3>
+<h3 id="using-the-examples"><a class="anchor"
href="#using-the-examples"></a><a class="link" href="#using-the-examples">5.2.
Using the examples</a></h3>
<div class="paragraph">
<p>The Apache ActiveMQ Artemis examples will create servers and use most of
the maven components as real application were supposed to do.
You can do this by running these examples after the <code>.m2</code> profile
installations for the staged repository.</p>
@@ -1045,7 +755,7 @@ You can do this by running these examples after the
<code>.m2</code> profile ins
</div>
</div>
<div class="sect1">
-<h2 id="notes-for-maintainers"><a class="anchor"
href="#notes-for-maintainers"></a><a class="link"
href="#notes-for-maintainers">8. Notes for Maintainers</a></h2>
+<h2 id="notes-for-maintainers"><a class="anchor"
href="#notes-for-maintainers"></a><a class="link"
href="#notes-for-maintainers">6. Notes for Maintainers</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>ActiveMQ Artemis committers 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>
@@ -1061,7 +771,7 @@ Currently the <a
href="https://builds.apache.org/job/ActiveMQ-Artemis-PR-Build/"
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span
class="nt">-Pfast-tests</span> <span class="nb">install</span></code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span
class="nt">-Pfast-tests</span> <span class="nb">install</span></code></pre>
</div>
</div>
<div class="paragraph">
@@ -1074,25 +784,25 @@ Having additional eyes looking at significant changes
prior to committing to the
If it cannot be fixed in a reasonable amount of time the commit can be
reverted and re-reviewed.</p>
</div>
<div class="sect2">
-<h3 id="using-the-dev-profile"><a class="anchor"
href="#using-the-dev-profile"></a><a class="link"
href="#using-the-dev-profile">8.1. Using the dev profile.</a></h3>
+<h3 id="using-the-dev-profile"><a class="anchor"
href="#using-the-dev-profile"></a><a class="link"
href="#using-the-dev-profile">6.1. Using the <code>dev</code> profile.</a></h3>
<div class="paragraph">
-<p>Developers are encouraged also to use the Dev profile, which will activate
checkstyle during the build:</p>
+<p>Developers are encouraged to use the <code>dev</code> profile which will
activate <a href="https://checkstyle.org/">CheckStyle</a> during the build:</p>
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span class="nt">-Pdev</span>
<span class="nb">install</span></code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>mvn <span class="nt">-Pdev</span>
<span class="nb">install</span></code></pre>
</div>
</div>
</div>
<div class="sect2">
-<h3 id="commit-messages"><a class="anchor" href="#commit-messages"></a><a
class="link" href="#commit-messages">8.2. Commit Messages</a></h3>
+<h3 id="commit-messages"><a class="anchor" href="#commit-messages"></a><a
class="link" href="#commit-messages">6.2. Commit Messages</a></h3>
<div class="paragraph">
<p>Please ensure the commit messages follow the 50/72 format as described <a
href="#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">official
Git book</a>.</p>
</div>
</div>
<div class="sect2">
-<h3 id="configuring-git-repositories"><a class="anchor"
href="#configuring-git-repositories"></a><a class="link"
href="#configuring-git-repositories">8.3. Configuring Git repositories</a></h3>
+<h3 id="configuring-git-repositories"><a class="anchor"
href="#configuring-git-repositories"></a><a class="link"
href="#configuring-git-repositories">6.3. Configuring Git repositories</a></h3>
<div class="paragraph">
<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’s assume these ref/repo
associations already exist as described in the <a href="code.html">Working with
the Code</a> section:</p>
@@ -1111,7 +821,7 @@ For the purposes of this document, let’s assume
these ref/repo association
Here we call it <code>apache</code>.</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git remote add apache
https://gitbox.apache.org/repos/asf/activemq-artemis.git</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git remote add apache
https://gitbox.apache.org/repos/asf/activemq-artemis.git</code></pre>
</div>
</div>
</li>
@@ -1121,7 +831,7 @@ We are using <code>upstream</code> as the remote repo name
(as noted above), but
Just be sure to edit all references to the remote repo name so it’s
consistent.</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span class="go">
[remote "upstream"]
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="go"> [remote "upstream"]
url = [email protected]:apache/activemq-artemis.git
fetch = +refs/heads/*:refs/remotes/upstream/*
fetch = +refs/pull/*/head:refs/remotes/upstream/pr/*</span></code></pre>
@@ -1135,7 +845,7 @@ Just be sure to edit all references to the remote repo
name so it’s consis
</div>
</div>
<div class="sect2">
-<h3 id="merging-and-pushing-pull-requests"><a class="anchor"
href="#merging-and-pushing-pull-requests"></a><a class="link"
href="#merging-and-pushing-pull-requests">8.4. Merging and pushing pull
requests</a></h3>
+<h3 id="merging-and-pushing-pull-requests"><a class="anchor"
href="#merging-and-pushing-pull-requests"></a><a class="link"
href="#merging-and-pushing-pull-requests">6.4. Merging and pushing pull
requests</a></h3>
<div class="paragraph">
<p>Here are the basic commands to retrieve pull requests, merge, and push them
to the canonical Apache repository:</p>
</div>
@@ -1145,7 +855,7 @@ Just be sure to edit all references to the remote repo
name so it’s consis
<p>Download all the remote branches etc. including all the pull requests.</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git fetch <span
class="nt">--all</span>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git fetch <span
class="nt">--all</span>
<span class="go">Fetching origin
Fetching upstream
remote: Counting objects: 566, done.
@@ -1162,7 +872,7 @@ From github.com:apache/activemq-artemis
<p>Checkout the pull request you wish to review</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git checkout <span
class="nb">pr</span>/105 <span class="nt">-B</span> 105</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git checkout <span
class="nb">pr</span>/105 <span class="nt">-B</span> 105</code></pre>
</div>
</div>
</li>
@@ -1170,7 +880,7 @@ From github.com:apache/activemq-artemis
<p>Rebase the branch against main, so the merge would happen at the top of the
current main</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git pull <span
class="nt">--rebase</span> apache main</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git pull <span
class="nt">--rebase</span> apache main</code></pre>
</div>
</div>
</li>
@@ -1178,7 +888,7 @@ From github.com:apache/activemq-artemis
<p>Once you’ve reviewed the change and are ready to merge checkout
<code>main</code>.</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git checkout main</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git checkout main</code></pre>
</div>
</div>
</li>
@@ -1186,7 +896,7 @@ From github.com:apache/activemq-artemis
<p>Ensure you are up to date on your main also.</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git pull <span
class="nt">--rebase</span> apache main</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git pull <span
class="nt">--rebase</span> apache main</code></pre>
</div>
</div>
</li>
@@ -1194,7 +904,7 @@ From github.com:apache/activemq-artemis
<p>We actually recommend checking out main again, to make sure you
wouldn’t add any extra commits by accident:</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git fetch apache
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git fetch apache
<span class="gp">$</span><span class="w"> </span>git checkout apache/main
<span class="nt">-B</span> main</code></pre>
</div>
</div>
@@ -1206,7 +916,7 @@ The "#105" shows up as a link in the GitHub UI for
navigating to the PR from the
This will ensure the github pull request is closed even if the commit ID
changed due to eventual rebases.</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git merge <span
class="nt">--no-ff</span> 105 <span class="nt">-m</span> <span class="s2">"This
closes #105"</span></code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git merge <span
class="nt">--no-ff</span> 105 <span class="nt">-m</span> <span class="s2">"This
closes #105"</span></code></pre>
</div>
</div>
</li>
@@ -1214,7 +924,7 @@ This will ensure the github pull request is closed even if
the commit ID changed
<p>Push to the canonical Apache repo.</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git push apache main</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git push apache main</code></pre>
</div>
</div>
</li>
@@ -1222,7 +932,7 @@ This will ensure the github pull request is closed even if
the commit ID changed
</div>
</div>
<div class="sect2">
-<h3 id="using-the-automated-script"><a class="anchor"
href="#using-the-automated-script"></a><a class="link"
href="#using-the-automated-script">8.5. Using the automated script</a></h3>
+<h3 id="using-the-automated-script"><a class="anchor"
href="#using-the-automated-script"></a><a class="link"
href="#using-the-automated-script">6.5. Using the automated script</a></h3>
<div class="paragraph">
<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>
@@ -1233,7 +943,7 @@ This will execute the exact steps described on this
previous section.</p>
<p>Simply use:</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w">
</span><checkout-directory>/scripts/merge-pr.sh <PR number> Message
on the PR</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w">
</span><checkout-directory>/scripts/merge-pr.sh <PR number> Message
on the PR</code></pre>
</div>
</div>
<div class="paragraph">
@@ -1241,7 +951,7 @@ This will execute the exact steps described on this
previous section.</p>
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span><span class="nb">pwd</span>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span><span class="nb">pwd</span>
<span class="go">/checkouts/apache-activemq-artemis
</span><span class="gp">$</span><span class="w"> </span>./scripts/merge-PR.sh
175 ARTEMIS-229 address on Security Interface</code></pre>
@@ -1255,7 +965,7 @@ This will execute the exact steps described on this
previous section.</p>
<p>After this you can push to the canonical Apache repo.</p>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git push apache main</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git push apache main</code></pre>
</div>
</div>
</li>
@@ -1263,7 +973,7 @@ This will execute the exact steps described on this
previous section.</p>
</div>
</div>
<div class="sect2">
-<h3 id="use-a-separate-branch-for-your-changes"><a class="anchor"
href="#use-a-separate-branch-for-your-changes"></a><a class="link"
href="#use-a-separate-branch-for-your-changes">8.6. Use a separate branch for
your changes</a></h3>
+<h3 id="use-a-separate-branch-for-your-changes"><a class="anchor"
href="#use-a-separate-branch-for-your-changes"></a><a class="link"
href="#use-a-separate-branch-for-your-changes">6.6. Use a separate branch for
your changes</a></h3>
<div class="paragraph">
<p>It is recommended that you work away from main for two reasons:</p>
</div>
@@ -1281,7 +991,7 @@ Minimize your risks by working on a branch away from
main.</p>
</div>
</div>
<div class="sect2">
-<h3 id="notes"><a class="anchor" href="#notes"></a><a class="link"
href="#notes">8.7. Notes</a></h3>
+<h3 id="notes"><a class="anchor" href="#notes"></a><a class="link"
href="#notes">6.7. Notes</a></h3>
<div class="paragraph">
<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.
@@ -1290,7 +1000,7 @@ You can wait for the mirror to update before performing
the steps above or you c
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git branch main <span
class="nt">-u</span> apache/main</code></pre>
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git branch main <span
class="nt">-u</span> apache/main</code></pre>
</div>
</div>
<div class="paragraph">
@@ -1301,7 +1011,7 @@ You can wait for the mirror to update before performing
the steps above or you c
</div>
<div class="listingblock">
<div class="content">
-<pre class="rouge highlight"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git checkout main
+<pre class="rouge highlight nowrap"><code data-lang="console"><span
class="gp">$</span><span class="w"> </span>git checkout main
<span class="gp">$</span><span class="w"> </span>git branch apache_main <span
class="nt">--track</span> apache/main
<span class="gp">$</span><span class="w"> </span>git pull
<span class="gp">$</span><span class="w"> </span>git merge <span
class="nt">--no-ff</span> <span class="nb">pr</span>/105
@@ -1312,7 +1022,7 @@ You can wait for the mirror to update before performing
the steps above or you c
</div>
</div>
<div class="sect1">
-<h2 id="history"><a class="anchor" href="#history"></a><a class="link"
href="#history">9. History</a></h2>
+<h2 id="history"><a class="anchor" href="#history"></a><a class="link"
href="#history">7. History</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>The Apache ActiveMQ Artemis project was started in October 2014.
@@ -1364,7 +1074,7 @@ The top 10 committers are highlighted here:</p>
<p>For more information please visit the <a
href="https://github.com/hornetq/hornetq/tree/apache-donation">HornetQ GitHub
project</a>.</p>
</div>
<div class="sect2">
-<h3 id="rebasing-original-donation"><a class="anchor"
href="#rebasing-original-donation"></a><a class="link"
href="#rebasing-original-donation">9.1. Rebasing original donation</a></h3>
+<h3 id="rebasing-original-donation"><a class="anchor"
href="#rebasing-original-donation"></a><a class="link"
href="#rebasing-original-donation">7.1. Rebasing original donation</a></h3>
<div class="paragraph">
<p>It may be useful to look at the donation history combined with the artemis
history.
It is the case when eventually looking at old changes.</p>
@@ -1383,7 +1093,7 @@ It is the case when eventually looking at old changes.</p>
</div>
</div>
<div class="sect1">
-<h2 id="legal-notice"><a class="anchor" href="#legal-notice"></a><a
class="link" href="#legal-notice">10. Legal Notice</a></h2>
+<h2 id="legal-notice"><a class="anchor" href="#legal-notice"></a><a
class="link" href="#legal-notice">8. Legal Notice</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact