summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorDinh Danh Le <dinh.danh.le@ericsson.com>2018-08-22 12:41:50 +0100
committerDinh Danh Le <dinh.danh.le@ericsson.com>2018-08-22 22:19:38 +0100
commita5a4427b505a5b0d79bb394093c9d6f6395d9a1f (patch)
tree63e31fd0cadb956f2dcd87022cfbdfb89d122fc2 /tools
parente633cd8e2e4bd0dc20a8727a3c35eaacf00a136f (diff)
Add docs for tools package & update main apex-pdp
Change-Id: I2990157eb7bae51f7d38a652fd8dd488b7287cea Signed-off-by: Dinh Danh Le <dinh.danh.le@ericsson.com> Issue-ID: POLICY-867
Diffstat (limited to 'tools')
-rw-r--r--tools/model-generator/pom.xml19
-rw-r--r--tools/model-generator/src/site/css/site.css100
-rw-r--r--tools/model-generator/src/site/images/logos.pngbin0 -> 162383 bytes
-rw-r--r--tools/model-generator/src/site/site.xml27
-rw-r--r--tools/pom.xml17
-rw-r--r--tools/simple-wsclient/pom.xml20
-rw-r--r--tools/simple-wsclient/src/site-docs/adoc/fragments/clients.adoc22
-rw-r--r--tools/simple-wsclient/src/site-docs/adoc/fragments/run-console.adoc77
-rw-r--r--tools/simple-wsclient/src/site-docs/adoc/fragments/run-echo.adoc79
-rw-r--r--tools/simple-wsclient/src/site/asciidoc/clients.adoc14
-rw-r--r--tools/simple-wsclient/src/site/asciidoc/run-console.adoc14
-rw-r--r--tools/simple-wsclient/src/site/asciidoc/run-echo.adoc14
-rw-r--r--tools/simple-wsclient/src/site/css/site.css100
-rw-r--r--tools/simple-wsclient/src/site/images/logos.pngbin0 -> 162383 bytes
-rw-r--r--tools/simple-wsclient/src/site/site.xml31
-rw-r--r--tools/src/site/css/site.css100
-rw-r--r--tools/src/site/images/logos.pngbin0 -> 162383 bytes
-rw-r--r--tools/src/site/site.xml27
-rw-r--r--tools/tools-common/pom.xml20
-rw-r--r--tools/tools-common/src/site-docs/adoc/fragments/example-cli-version.adoc50
-rw-r--r--tools/tools-common/src/site-docs/adoc/fragments/example-cli.adoc125
-rw-r--r--tools/tools-common/src/site/asciidoc/example-cli-version.adoc14
-rw-r--r--tools/tools-common/src/site/asciidoc/example-cli.adoc14
-rw-r--r--tools/tools-common/src/site/css/site.css100
-rw-r--r--tools/tools-common/src/site/images/logos.pngbin0 -> 162383 bytes
-rw-r--r--tools/tools-common/src/site/site.xml30
26 files changed, 1013 insertions, 1 deletions
diff --git a/tools/model-generator/pom.xml b/tools/model-generator/pom.xml
index 5da446c77..99e31e624 100644
--- a/tools/model-generator/pom.xml
+++ b/tools/model-generator/pom.xml
@@ -57,4 +57,21 @@
<version>${project.version}</version>
</dependency>
</dependencies>
-</project>
+
+ <profiles>
+ <profile>
+ <id>apexSite</id>
+ <activation>
+ <property>
+ <name>apexSite</name>
+ </property>
+ </activation>
+ <distributionManagement>
+ <site>
+ <id>${project.artifactId}-site</id>
+ <url>${apex.adsite.prefix}/modules/${project.parent.artifactId}/${project.artifactId}/</url>
+ </site>
+ </distributionManagement>
+ </profile>
+ </profiles>
+</project> \ No newline at end of file
diff --git a/tools/model-generator/src/site/css/site.css b/tools/model-generator/src/site/css/site.css
new file mode 100644
index 000000000..ef8bd4d15
--- /dev/null
+++ b/tools/model-generator/src/site/css/site.css
@@ -0,0 +1,100 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+@import url(http://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.0/css/font-awesome.css);
+
+
+/*************** Table definitions *******************/
+
+tableblock > .title, .tableblock > caption { line-height: 1.4; color: #7a2518; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; }
+
+.tableblock > caption { text-align: left; font-weight: bold; white-space: nowrap; overflow: visible; max-width: 0; }
+
+table.tableblock { background: white; margin-bottom: 1.25em; border: solid 1px #dddddd; }
+table.tableblock thead, table.tableblock tfoot { background: whitesmoke; font-weight: bold; }
+table.tableblock thead tr th, table.tableblock thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222222; text-align: left; }
+table.tableblock tr th, table.tableblock tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #222222; }
+table.tableblock tr.even, table.tableblock tr.alt, table.tableblock tr:nth-of-type(even) { background: #f9f9f9; }
+table.tableblock thead tr th, table.tableblock tfoot tr th, table.tableblock tbody tr td, table.tableblock tr td, table.tableblock tfoot tr td { display: table-cell; line-height: 1.6; }
+
+table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; }
+
+table.tableblock.grid-all { border-collapse: separate; border-spacing: 1px; -webkit-border-radius: 4px; border-radius: 4px; border-top: 1px solid #dddddd; border-bottom: 1px solid #dddddd; }
+
+table.tableblock.frame-topbot, table.tableblock.frame-none { border-left: 0; border-right: 0; }
+
+table.tableblock.frame-sides, table.tableblock.frame-none { border-top: 0; border-bottom: 0; }
+
+table.tableblock td .paragraph:last-child p, table.tableblock td > p:last-child { margin-bottom: 0; }
+
+th.tableblock.halign-left, td.tableblock.halign-left { text-align: left; }
+
+th.tableblock.halign-right, td.tableblock.halign-right { text-align: right; }
+
+th.tableblock.halign-center, td.tableblock.halign-center { text-align: center; }
+
+th.tableblock.valign-top, td.tableblock.valign-top { vertical-align: top; }
+
+th.tableblock.valign-bottom, td.tableblock.valign-bottom { vertical-align: bottom; }
+
+th.tableblock.valign-middle, td.tableblock.valign-middle { vertical-align: middle; }
+
+p.tableblock.header { color: #222222; font-weight: bold; }
+
+
+
+/*************** KBD Macro definitions *******************/
+
+kbd.keyseq { color: #555555; }
+
+kbd:not(.keyseq) { display: inline-block; color: #222222; font-size: 0.75em; line-height: 1.4; background-color: #F7F7F7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; margin: -0.15em 0.15em 0 0.15em; padding: 0.2em 0.6em 0.2em 0.5em; vertical-align: middle; white-space: nowrap; }
+
+kbd kbd:first-child { margin-left: 0; }
+
+kbd kbd:last-child { margin-right: 0; }
+
+
+/*************** Admontion Blocks definitions *******************/
+.admonitionblock td.content > .title, .exampleblock > .title, .imageblock > .title, .videoblock > .title, .listingblock > .title, .literalblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, .sidebarblock > .title, .tableblock > .title, .verseblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-align: left; font-weight: bold; }
+
+.admonitionblock > table { border: 0; background: none; width: 100%; margin-top: 1em; margin-bottom: 1em;}
+.admonitionblock > table td.icon { text-align: center; width: 80px; }
+.admonitionblock > table td.icon img { max-width: none; }
+.admonitionblock > table td.icon .title { font-weight: bold; text-transform: uppercase; }
+.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #dddddd; color: #6f6f6f; }
+.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; }
+
+.admonitionblock td.icon [class^="fa icon-"]:before {font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #005498; color: #003f72; }
+.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; }
+.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; }
+.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; }
+.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; }
+
+
+
+/*************** Misc definitions *******************/
+
+*:not(pre) > code { font-size: 0.9375em; padding: 1px 3px 0; white-space: nowrap; background-color: #f2f2f2; border: 1px solid #cccccc; -webkit-border-radius: 4px; border-radius: 4px; text-shadow: none; }
+
+pre, pre > code { line-height: 1.4; color: inherit; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; }
+
+code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #6d180b; }
+
diff --git a/tools/model-generator/src/site/images/logos.png b/tools/model-generator/src/site/images/logos.png
new file mode 100644
index 000000000..915d6e59d
--- /dev/null
+++ b/tools/model-generator/src/site/images/logos.png
Binary files differ
diff --git a/tools/model-generator/src/site/site.xml b/tools/model-generator/src/site/site.xml
new file mode 100644
index 000000000..2030132a1
--- /dev/null
+++ b/tools/model-generator/src/site/site.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ ================================================================================
+ This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+ Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+
+ SPDX-License-Identifier: CC-BY-4.0
+ ============LICENSE_END=========================================================
+
+ @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+
+-->
+<project name="APEX Tools Model-Generators">
+ <body>
+ <menu name="APEX Tools Model-Generators">
+ <item href="javadocs/index.html" name="API Doc" />
+ </menu>
+ <menu ref="reports" inherit="top"/>
+ <menu ref="modules"/>
+
+ <breadcrumbs>
+ <item name="Model-Generators" href="index.html"/>
+ </breadcrumbs>
+ </body>
+</project> \ No newline at end of file
diff --git a/tools/pom.xml b/tools/pom.xml
index d824f3dd3..0ad9e17e5 100644
--- a/tools/pom.xml
+++ b/tools/pom.xml
@@ -38,4 +38,21 @@
<module>simple-wsclient</module>
<module>model-generator</module>
</modules>
+
+ <profiles>
+ <profile>
+ <id>apexSite</id>
+ <activation>
+ <property>
+ <name>apexSite</name>
+ </property>
+ </activation>
+ <distributionManagement>
+ <site>
+ <id>${project.artifactId}-site</id>
+ <url>${apex.adsite.prefix}/modules/${project.artifactId}/</url>
+ </site>
+ </distributionManagement>
+ </profile>
+ </profiles>
</project> \ No newline at end of file
diff --git a/tools/simple-wsclient/pom.xml b/tools/simple-wsclient/pom.xml
index 2a49b9571..be18247d8 100644
--- a/tools/simple-wsclient/pom.xml
+++ b/tools/simple-wsclient/pom.xml
@@ -73,4 +73,24 @@
</plugin>
</plugins>
</build>
+
+ <profiles>
+ <profile>
+ <id>apexSite</id>
+ <activation>
+ <property>
+ <name>apexSite</name>
+ </property>
+ </activation>
+ <properties>
+ <adsite-tools-wsclients-dir>${project.basedir}/src</adsite-tools-wsclients-dir>
+ </properties>
+ <distributionManagement>
+ <site>
+ <id>${project.artifactId}-site</id>
+ <url>${apex.adsite.prefix}/modules/${project.parent.artifactId}/${project.artifactId}/</url>
+ </site>
+ </distributionManagement>
+ </profile>
+ </profiles>
</project> \ No newline at end of file
diff --git a/tools/simple-wsclient/src/site-docs/adoc/fragments/clients.adoc b/tools/simple-wsclient/src/site-docs/adoc/fragments/clients.adoc
new file mode 100644
index 000000000..e1531bf79
--- /dev/null
+++ b/tools/simple-wsclient/src/site-docs/adoc/fragments/clients.adoc
@@ -0,0 +1,22 @@
+//
+// ============LICENSE_START=======================================================
+// Copyright (C) 2016-2018 Ericsson. All rights reserved.
+// ================================================================================
+// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+//
+// SPDX-License-Identifier: CC-BY-4.0
+// ============LICENSE_END=========================================================
+//
+// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+//
+
+== Simple Websocket Clients
+
+In a full installation, the APEX applications provide two demo Websocket clients: echo and console.
+The __echo__ client connects to a Websocket server and prints all events it receives (reading text/string from Websocket).
+The __console__ client connects to a Websocket server, takes strings from the console (multi-line JSON encoded string starting with ‘{‘ and ending with ‘}’) and sends them as text via a Websocket.
+
+Both demo clients use `Java-WebSocket` and have no further dependency on APEX:
+
+- link:https://search.maven.org/#artifactdetails%7Corg.java-websocket%7CJava-WebSocket%7C1.3.4%7Cjar[Websocket implementation]
diff --git a/tools/simple-wsclient/src/site-docs/adoc/fragments/run-console.adoc b/tools/simple-wsclient/src/site-docs/adoc/fragments/run-console.adoc
new file mode 100644
index 000000000..04d37613a
--- /dev/null
+++ b/tools/simple-wsclient/src/site-docs/adoc/fragments/run-console.adoc
@@ -0,0 +1,77 @@
+//
+// ============LICENSE_START=======================================================
+// Copyright (C) 2016-2018 Ericsson. All rights reserved.
+// ================================================================================
+// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+//
+// SPDX-License-Identifier: CC-BY-4.0
+// ============LICENSE_END=========================================================
+//
+// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+//
+
+== Run the Websocket Console Client
+
+The console client is included in an APEX full installation.
+To run the client, open a new shell (Unix, Cygwin) or command prompt (`cmd` on Windows).
+Then use the APEX application launcher to start the client.
+
+[IMPORTANT]
+.APEX engine needs to run first
+====
+The example assumes that an APEX engine configured for __consume__ carrier technology Websocket and __JSON__ event protocol is executed first.
+====
+
+
+[width="100%",options="header",cols="5a,5a"]
+|====================
+| Unix, Cygwin | Windows
+|
+[source%nowrap,sh]
+----
+# $APEX_HOME/bin/apexApps.sh ws-console [args]
+----
+|
+[source%nowrap,bat]
+----
+> %APEX_HOME%\bin\apexApps.bat ws-console [args]
+----
+|====================
+
+Use the following command line arguments for server and port of the Websocket server.
+The port should be the same as configured in the APEX engine.
+The server host should be the host on which the APEX engine is running
+
+- `-p` defines the Websocket port to connect to (defaults to `8887`)
+- `-s` defines the host on which a Websocket server is running (defaults to `localhost`)
+
+Let's assume that there is an APEX engine running, configured for consume Websocket carrier technology, as server, for port 42450, with consume event protocol JSON,.
+If we start the console client on the same host, we can omit the `-s` options.
+We start the console client as:
+
+[source%nowrap,bat]
+----
+# $APEX_HOME/bin/apexApps.sh ws-console -p 42450 <1>
+> %APEX_HOME%\bin\apexApps.sh ws-console -p 42450 <2>
+----
+<1> Start client on Unix or Cygwin
+<2> Start client on Windows
+
+Once started successfully, the client will produce the following messages (assuming we used `-p 42450` and an APEX engine is running on `localhost` with the same port:
+
+[source%nowrap,bat]
+----
+
+ws-simple-console: starting simple event console
+ --> server: localhost
+ --> port: 42450
+
+ - terminate the application typing 'exit<enter>' or using 'CTRL+C'
+ - events are created by a non-blank starting line and terminated by a blank line
+
+
+ws-simple-console: opened connection to APEX (Web Socket Protocol Handshake)
+
+----
+
diff --git a/tools/simple-wsclient/src/site-docs/adoc/fragments/run-echo.adoc b/tools/simple-wsclient/src/site-docs/adoc/fragments/run-echo.adoc
new file mode 100644
index 000000000..213b4acbc
--- /dev/null
+++ b/tools/simple-wsclient/src/site-docs/adoc/fragments/run-echo.adoc
@@ -0,0 +1,79 @@
+//
+// ============LICENSE_START=======================================================
+// Copyright (C) 2016-2018 Ericsson. All rights reserved.
+// ================================================================================
+// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+//
+// SPDX-License-Identifier: CC-BY-4.0
+// ============LICENSE_END=========================================================
+//
+// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+//
+
+== Run the Websocket Echo Client
+
+The echo client is included in an APEX full installation.
+To run the client, open a new shell (Unix, Cygwin) or command prompt (`cmd` on Windows).
+Then use the APEX application launcher to start the client.
+
+[IMPORTANT]
+.APEX engine needs to run first
+====
+The example assumes that an APEX engine configured for __produce__ carrier technology Websocket and __JSON__ event protocol is executed first.
+====
+
+
+[width="100%",options="header",cols="5a,5a"]
+|====================
+| Unix, Cygwin | Windows
+|
+[source%nowrap,sh]
+----
+# $APEX_HOME/bin/apexApps.sh ws-echo [args]
+----
+|
+[source%nowrap,bat]
+----
+> %APEX_HOME%\bin\apexApps.bat ws-echo [args]
+----
+|====================
+
+Use the following command line arguments for server and port of the Websocket server.
+The port should be the same as configured in the APEX engine.
+The server host should be the host on which the APEX engine is running
+
+- `-p` defines the Websocket port to connect to (defaults to `8887`)
+- `-s` defines the host on which a Websocket server is running (defaults to `localhost`)
+
+Let's assume that there is an APEX engine running, configured for produce Websocket carrier technology, as server, for port 42452, with produce event protocol JSON,.
+If we start the console client on the same host, we can omit the `-s` options.
+We start the console client as:
+
+[source%nowrap,bat]
+----
+# $APEX_HOME/bin/apexApps.sh ws-echo -p 42452 <1>
+> %APEX_HOME%\bin\apexApps.bat ws-echo -p 42452 <2>
+----
+<1> Start client on Unix or Cygwin
+<2> Start client on Windows
+
+Once started successfully, the client will produce the following messages (assuming we used `-p 42452` and an APEX engine is running on `localhost` with the same port:
+
+[source%nowrap,bat]
+----
+
+
+ws-simple-echo: starting simple event echo
+ --> server: localhost
+ --> port: 42452
+
+Once started, the application will simply print out all received events to standard out.
+Each received event will be prefixed by '---' and suffixed by '===='
+
+
+ws-simple-echo: opened connection to APEX (Web Socket Protocol Handshake)
+
+
+----
+
diff --git a/tools/simple-wsclient/src/site/asciidoc/clients.adoc b/tools/simple-wsclient/src/site/asciidoc/clients.adoc
new file mode 100644
index 000000000..fb2842b05
--- /dev/null
+++ b/tools/simple-wsclient/src/site/asciidoc/clients.adoc
@@ -0,0 +1,14 @@
+//
+// ============LICENSE_START=======================================================
+// Copyright (C) 2016-2018 Ericsson. All rights reserved.
+// ================================================================================
+// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+//
+// SPDX-License-Identifier: CC-BY-4.0
+// ============LICENSE_END=========================================================
+//
+// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+//
+
+include::{adsite-tools-wsclients-dir}/site-docs/adoc/fragments/clients.adoc[]
diff --git a/tools/simple-wsclient/src/site/asciidoc/run-console.adoc b/tools/simple-wsclient/src/site/asciidoc/run-console.adoc
new file mode 100644
index 000000000..05c824fc7
--- /dev/null
+++ b/tools/simple-wsclient/src/site/asciidoc/run-console.adoc
@@ -0,0 +1,14 @@
+//
+// ============LICENSE_START=======================================================
+// Copyright (C) 2016-2018 Ericsson. All rights reserved.
+// ================================================================================
+// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+//
+// SPDX-License-Identifier: CC-BY-4.0
+// ============LICENSE_END=========================================================
+//
+// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+//
+
+include::{adsite-tools-wsclients-dir}/site-docs/adoc/fragments/run-console.adoc[]
diff --git a/tools/simple-wsclient/src/site/asciidoc/run-echo.adoc b/tools/simple-wsclient/src/site/asciidoc/run-echo.adoc
new file mode 100644
index 000000000..d8091c1c2
--- /dev/null
+++ b/tools/simple-wsclient/src/site/asciidoc/run-echo.adoc
@@ -0,0 +1,14 @@
+//
+// ============LICENSE_START=======================================================
+// Copyright (C) 2016-2018 Ericsson. All rights reserved.
+// ================================================================================
+// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+//
+// SPDX-License-Identifier: CC-BY-4.0
+// ============LICENSE_END=========================================================
+//
+// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+//
+
+include::{adsite-tools-wsclients-dir}/site-docs/adoc/fragments/run-echo.adoc[]
diff --git a/tools/simple-wsclient/src/site/css/site.css b/tools/simple-wsclient/src/site/css/site.css
new file mode 100644
index 000000000..ef8bd4d15
--- /dev/null
+++ b/tools/simple-wsclient/src/site/css/site.css
@@ -0,0 +1,100 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+@import url(http://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.0/css/font-awesome.css);
+
+
+/*************** Table definitions *******************/
+
+tableblock > .title, .tableblock > caption { line-height: 1.4; color: #7a2518; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; }
+
+.tableblock > caption { text-align: left; font-weight: bold; white-space: nowrap; overflow: visible; max-width: 0; }
+
+table.tableblock { background: white; margin-bottom: 1.25em; border: solid 1px #dddddd; }
+table.tableblock thead, table.tableblock tfoot { background: whitesmoke; font-weight: bold; }
+table.tableblock thead tr th, table.tableblock thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222222; text-align: left; }
+table.tableblock tr th, table.tableblock tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #222222; }
+table.tableblock tr.even, table.tableblock tr.alt, table.tableblock tr:nth-of-type(even) { background: #f9f9f9; }
+table.tableblock thead tr th, table.tableblock tfoot tr th, table.tableblock tbody tr td, table.tableblock tr td, table.tableblock tfoot tr td { display: table-cell; line-height: 1.6; }
+
+table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; }
+
+table.tableblock.grid-all { border-collapse: separate; border-spacing: 1px; -webkit-border-radius: 4px; border-radius: 4px; border-top: 1px solid #dddddd; border-bottom: 1px solid #dddddd; }
+
+table.tableblock.frame-topbot, table.tableblock.frame-none { border-left: 0; border-right: 0; }
+
+table.tableblock.frame-sides, table.tableblock.frame-none { border-top: 0; border-bottom: 0; }
+
+table.tableblock td .paragraph:last-child p, table.tableblock td > p:last-child { margin-bottom: 0; }
+
+th.tableblock.halign-left, td.tableblock.halign-left { text-align: left; }
+
+th.tableblock.halign-right, td.tableblock.halign-right { text-align: right; }
+
+th.tableblock.halign-center, td.tableblock.halign-center { text-align: center; }
+
+th.tableblock.valign-top, td.tableblock.valign-top { vertical-align: top; }
+
+th.tableblock.valign-bottom, td.tableblock.valign-bottom { vertical-align: bottom; }
+
+th.tableblock.valign-middle, td.tableblock.valign-middle { vertical-align: middle; }
+
+p.tableblock.header { color: #222222; font-weight: bold; }
+
+
+
+/*************** KBD Macro definitions *******************/
+
+kbd.keyseq { color: #555555; }
+
+kbd:not(.keyseq) { display: inline-block; color: #222222; font-size: 0.75em; line-height: 1.4; background-color: #F7F7F7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; margin: -0.15em 0.15em 0 0.15em; padding: 0.2em 0.6em 0.2em 0.5em; vertical-align: middle; white-space: nowrap; }
+
+kbd kbd:first-child { margin-left: 0; }
+
+kbd kbd:last-child { margin-right: 0; }
+
+
+/*************** Admontion Blocks definitions *******************/
+.admonitionblock td.content > .title, .exampleblock > .title, .imageblock > .title, .videoblock > .title, .listingblock > .title, .literalblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, .sidebarblock > .title, .tableblock > .title, .verseblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-align: left; font-weight: bold; }
+
+.admonitionblock > table { border: 0; background: none; width: 100%; margin-top: 1em; margin-bottom: 1em;}
+.admonitionblock > table td.icon { text-align: center; width: 80px; }
+.admonitionblock > table td.icon img { max-width: none; }
+.admonitionblock > table td.icon .title { font-weight: bold; text-transform: uppercase; }
+.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #dddddd; color: #6f6f6f; }
+.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; }
+
+.admonitionblock td.icon [class^="fa icon-"]:before {font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #005498; color: #003f72; }
+.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; }
+.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; }
+.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; }
+.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; }
+
+
+
+/*************** Misc definitions *******************/
+
+*:not(pre) > code { font-size: 0.9375em; padding: 1px 3px 0; white-space: nowrap; background-color: #f2f2f2; border: 1px solid #cccccc; -webkit-border-radius: 4px; border-radius: 4px; text-shadow: none; }
+
+pre, pre > code { line-height: 1.4; color: inherit; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; }
+
+code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #6d180b; }
+
diff --git a/tools/simple-wsclient/src/site/images/logos.png b/tools/simple-wsclient/src/site/images/logos.png
new file mode 100644
index 000000000..915d6e59d
--- /dev/null
+++ b/tools/simple-wsclient/src/site/images/logos.png
Binary files differ
diff --git a/tools/simple-wsclient/src/site/site.xml b/tools/simple-wsclient/src/site/site.xml
new file mode 100644
index 000000000..03c5f2203
--- /dev/null
+++ b/tools/simple-wsclient/src/site/site.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ ================================================================================
+ This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+ Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+
+ SPDX-License-Identifier: CC-BY-4.0
+ ============LICENSE_END=========================================================
+
+ @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+
+-->
+<project name="APEX Tools Simple-WS-Clients">
+ <body>
+ <menu name="APEX Tools Simple-WS-Clients">
+ <item href="clients.html" name="Simple Websocket Clients" />
+ <item href="run-console.html" name="Run Console Client" />
+ <item href="run-echo.html" name="Run Echo Client" />
+
+ <item href="javadocs/index.html" name="API Doc" />
+ </menu>
+ <menu ref="reports" inherit="top"/>
+ <menu ref="modules"/>
+
+ <breadcrumbs>
+ <item name="Simple-WS-Clients" href="index.html"/>
+ </breadcrumbs>
+ </body>
+</project> \ No newline at end of file
diff --git a/tools/src/site/css/site.css b/tools/src/site/css/site.css
new file mode 100644
index 000000000..ef8bd4d15
--- /dev/null
+++ b/tools/src/site/css/site.css
@@ -0,0 +1,100 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+@import url(http://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.0/css/font-awesome.css);
+
+
+/*************** Table definitions *******************/
+
+tableblock > .title, .tableblock > caption { line-height: 1.4; color: #7a2518; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; }
+
+.tableblock > caption { text-align: left; font-weight: bold; white-space: nowrap; overflow: visible; max-width: 0; }
+
+table.tableblock { background: white; margin-bottom: 1.25em; border: solid 1px #dddddd; }
+table.tableblock thead, table.tableblock tfoot { background: whitesmoke; font-weight: bold; }
+table.tableblock thead tr th, table.tableblock thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222222; text-align: left; }
+table.tableblock tr th, table.tableblock tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #222222; }
+table.tableblock tr.even, table.tableblock tr.alt, table.tableblock tr:nth-of-type(even) { background: #f9f9f9; }
+table.tableblock thead tr th, table.tableblock tfoot tr th, table.tableblock tbody tr td, table.tableblock tr td, table.tableblock tfoot tr td { display: table-cell; line-height: 1.6; }
+
+table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; }
+
+table.tableblock.grid-all { border-collapse: separate; border-spacing: 1px; -webkit-border-radius: 4px; border-radius: 4px; border-top: 1px solid #dddddd; border-bottom: 1px solid #dddddd; }
+
+table.tableblock.frame-topbot, table.tableblock.frame-none { border-left: 0; border-right: 0; }
+
+table.tableblock.frame-sides, table.tableblock.frame-none { border-top: 0; border-bottom: 0; }
+
+table.tableblock td .paragraph:last-child p, table.tableblock td > p:last-child { margin-bottom: 0; }
+
+th.tableblock.halign-left, td.tableblock.halign-left { text-align: left; }
+
+th.tableblock.halign-right, td.tableblock.halign-right { text-align: right; }
+
+th.tableblock.halign-center, td.tableblock.halign-center { text-align: center; }
+
+th.tableblock.valign-top, td.tableblock.valign-top { vertical-align: top; }
+
+th.tableblock.valign-bottom, td.tableblock.valign-bottom { vertical-align: bottom; }
+
+th.tableblock.valign-middle, td.tableblock.valign-middle { vertical-align: middle; }
+
+p.tableblock.header { color: #222222; font-weight: bold; }
+
+
+
+/*************** KBD Macro definitions *******************/
+
+kbd.keyseq { color: #555555; }
+
+kbd:not(.keyseq) { display: inline-block; color: #222222; font-size: 0.75em; line-height: 1.4; background-color: #F7F7F7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; margin: -0.15em 0.15em 0 0.15em; padding: 0.2em 0.6em 0.2em 0.5em; vertical-align: middle; white-space: nowrap; }
+
+kbd kbd:first-child { margin-left: 0; }
+
+kbd kbd:last-child { margin-right: 0; }
+
+
+/*************** Admontion Blocks definitions *******************/
+.admonitionblock td.content > .title, .exampleblock > .title, .imageblock > .title, .videoblock > .title, .listingblock > .title, .literalblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, .sidebarblock > .title, .tableblock > .title, .verseblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-align: left; font-weight: bold; }
+
+.admonitionblock > table { border: 0; background: none; width: 100%; margin-top: 1em; margin-bottom: 1em;}
+.admonitionblock > table td.icon { text-align: center; width: 80px; }
+.admonitionblock > table td.icon img { max-width: none; }
+.admonitionblock > table td.icon .title { font-weight: bold; text-transform: uppercase; }
+.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #dddddd; color: #6f6f6f; }
+.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; }
+
+.admonitionblock td.icon [class^="fa icon-"]:before {font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #005498; color: #003f72; }
+.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; }
+.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; }
+.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; }
+.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; }
+
+
+
+/*************** Misc definitions *******************/
+
+*:not(pre) > code { font-size: 0.9375em; padding: 1px 3px 0; white-space: nowrap; background-color: #f2f2f2; border: 1px solid #cccccc; -webkit-border-radius: 4px; border-radius: 4px; text-shadow: none; }
+
+pre, pre > code { line-height: 1.4; color: inherit; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; }
+
+code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #6d180b; }
+
diff --git a/tools/src/site/images/logos.png b/tools/src/site/images/logos.png
new file mode 100644
index 000000000..915d6e59d
--- /dev/null
+++ b/tools/src/site/images/logos.png
Binary files differ
diff --git a/tools/src/site/site.xml b/tools/src/site/site.xml
new file mode 100644
index 000000000..e5e2b5a0d
--- /dev/null
+++ b/tools/src/site/site.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ ================================================================================
+ This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+ Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+
+ SPDX-License-Identifier: CC-BY-4.0
+ ============LICENSE_END=========================================================
+
+ @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+
+-->
+
+<project name="APEX Tools">
+ <body>
+ <menu name="APEX Tools">
+ </menu>
+ <menu ref="reports" inherit="top"/>
+ <menu ref="modules"/>
+
+ <breadcrumbs>
+ <item name="Tools" href="index.html"/>
+ </breadcrumbs>
+ </body>
+</project> \ No newline at end of file
diff --git a/tools/tools-common/pom.xml b/tools/tools-common/pom.xml
index ecaef255d..4032833dd 100644
--- a/tools/tools-common/pom.xml
+++ b/tools/tools-common/pom.xml
@@ -69,4 +69,24 @@
</resource>
</resources>
</build>
+
+ <profiles>
+ <profile>
+ <id>apexSite</id>
+ <activation>
+ <property>
+ <name>apexSite</name>
+ </property>
+ </activation>
+ <properties>
+ <adsite-tools-common-dir>${project.basedir}/src</adsite-tools-common-dir>
+ </properties>
+ <distributionManagement>
+ <site>
+ <id>${project.artifactId}-site</id>
+ <url>${apex.adsite.prefix}/modules/${project.parent.artifactId}/${project.artifactId}/</url>
+ </site>
+ </distributionManagement>
+ </profile>
+ </profiles>
</project> \ No newline at end of file
diff --git a/tools/tools-common/src/site-docs/adoc/fragments/example-cli-version.adoc b/tools/tools-common/src/site-docs/adoc/fragments/example-cli-version.adoc
new file mode 100644
index 000000000..031a3776d
--- /dev/null
+++ b/tools/tools-common/src/site-docs/adoc/fragments/example-cli-version.adoc
@@ -0,0 +1,50 @@
+//
+// ============LICENSE_START=======================================================
+// Copyright (C) 2016-2018 Ericsson. All rights reserved.
+// ================================================================================
+// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+//
+// SPDX-License-Identifier: CC-BY-4.0
+// ============LICENSE_END=========================================================
+//
+// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+//
+
+== Autoversioning an Application
+
+The APEX utilities project provides means to versioning an application automatically towards the APEX version it is written for.
+This is realized by generating a file called `app-version.txt` that includes the Maven project version.
+This file is then automatically deployed in the folder `etc` of a full APEX distribution.
+The CLI Parser here provides a mthod to access this version for an application.
+
+First, create a new CLI Parser object, add some options (in the example an option for version, but any options will do), then parse the command line:
+
+[source,java,linenums,subs="attributes+"]
+----
+include::{adsite-tools-common-dir}/test/java/org/onap/policy/apex/tools/common/docs/ExampleAppVersion.java[tags=setupParser,indent=0]
+----
+
+Next, we check if the version option was used in the command line and print application name and version if it was used:
+
+[source,java,linenums,subs="attributes+"]
+----
+include::{adsite-tools-common-dir}/test/java/org/onap/policy/apex/tools/common/docs/ExampleAppVersion.java[tags=processCliVersion,indent=0]
+----
+
+The output will be:
+
+[source,sh,subs="attributes+"]
+----
+myApp {release-version}
+----
+
+The auto-version information comes from the method call `cli.getAppVersion()` in line 2 in the example above.
+The method is defined in the `CliParser` class as:
+
+[source,java,linenums,subs="attributes+"]
+----
+include::{adsite-tools-common-dir}/main/java/org/onap/policy/apex/tools/common/CliParser.java[tags=cliParserVersion,indent=0]
+----
+
+The file `app-version.txt` is automatically added to an APEX full distribution, as described above (for details on this see the POM files in the APEX application packaging projects).
diff --git a/tools/tools-common/src/site-docs/adoc/fragments/example-cli.adoc b/tools/tools-common/src/site-docs/adoc/fragments/example-cli.adoc
new file mode 100644
index 000000000..3755502ef
--- /dev/null
+++ b/tools/tools-common/src/site-docs/adoc/fragments/example-cli.adoc
@@ -0,0 +1,125 @@
+//
+// ============LICENSE_START=======================================================
+// Copyright (C) 2016-2018 Ericsson. All rights reserved.
+// ================================================================================
+// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+//
+// SPDX-License-Identifier: CC-BY-4.0
+// ============LICENSE_END=========================================================
+//
+// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+//
+
+== CLI Example
+
+Using the APEX CLI utilities can be done as follows.
+First, add the dependency of the utility project to your POM file.
+
+[source,xml,subs="attributes+"]
+----
+<dependency>
+ <groupId>com.ericsson.apex.apps</groupId>
+ <artifactId>apex-apps</artifactId>
+ <version>{release-version}</version>
+</dependency>
+----
+
+Now, create a new application project, for instance `MyApp`.
+In this project, create a new main application class as `Application.java`.
+In this class, create a new main method as `public static void main(String[] args)`.
+
+No use the provided `CliOptions` and `CliParser`.
+Manually importing means to add the following lines to the start of your application (in Eclipse this import will be done automatically):
+
+[source,java, linenums,subs="attributes+"]
+----
+include::{adsite-tools-common-dir}/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java[tags=import,indent=0]
+----
+
+Now, inside your `main()` method, start setting some general application properties.
+Important are the application name and some description of your application.
+For instance:
+
+[source,java,linenums,subs="attributes+"]
+----
+include::{adsite-tools-common-dir}/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java[tags=setApp,indent=0]
+----
+
+Next, create a new CLI Parser and add a few CLI options from the standard `CliOptions`.
+The following example adds options for help, version, and a model file:
+
+[source,java,linenums,subs="attributes+"]
+----
+include::{adsite-tools-common-dir}/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java[tags=setCli,indent=0]
+----
+
+Next, parse the given CLI arguments:
+
+[source,java,linenums,subs="attributes+"]
+----
+include::{adsite-tools-common-dir}/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java[tags=parseCli,indent=0]
+----
+
+Once the command line is parsed, we can look into the individual options, check if they are set, and then act accordingly.
+We start with the option for __help__.
+If the option is present, we print a help screen and return:
+
+[source,java,linenums,subs="attributes+"]
+----
+include::{adsite-tools-common-dir}/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java[tags=processCliHelp,indent=0]
+----
+
+Next, we process the option for __version__.
+Here, we want to print a version for our application and return.
+The CLI Parser already provides a method to obtain the correct version for an APEX build, so we use that:
+
+[source,java,linenums,subs="attributes+"]
+----
+include::{adsite-tools-common-dir}/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java[tags=processCliVersion,indent=0]
+----
+
+Once help and version arguments are processed, we can proceed to look at all other options.
+We have added an option for a model file, so check this option and test if we can actually load a model file with the given argument.
+If we can load a model, everything is ok.
+If we cannot load a model, we print an error and return.
+
+[source,java,linenums,subs="attributes+"]
+----
+include::{adsite-tools-common-dir}/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java[tags=processCliModel,indent=0]
+----
+
+With a model file being loadable, we finish parsing command line arguments.
+We also print some status messages to note that the application now is ready to start:
+
+[source,java,linenums,subs="attributes+"]
+----
+include::{adsite-tools-common-dir}/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java[tags=someStartPrint,indent=0]
+----
+
+The last action now is to run the actual application.
+The example below is taken from a version of the `Model2Cli` application, which creates a new object and runs it in a `try` block, since exceptions might be thrown by the object:
+
+[source,java,linenums,subs="attributes+"]
+----
+include::{adsite-tools-common-dir}/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java[tags=yourApp,indent=0]
+----
+
+If this new application is now called with the command line `-h` or `--help` it will print the following help screen:
+
+[source,sh,subs="attributes+"]
+----
+test-app v{release-version} - a test app for documenting how to use the CLI utilities
+usage: test-app
+ -h,--help prints this help and usage screen
+ -m,--model <MODEL-FILE> set the input policy model file
+ -v,--version prints the application version
+----
+
+If this new application is called with the option `-v` or `--version` it will print its version information as:
+
+[source,sh,subs="attributes+"]
+----
+test-app {release-version}
+----
+
diff --git a/tools/tools-common/src/site/asciidoc/example-cli-version.adoc b/tools/tools-common/src/site/asciidoc/example-cli-version.adoc
new file mode 100644
index 000000000..83183e8ee
--- /dev/null
+++ b/tools/tools-common/src/site/asciidoc/example-cli-version.adoc
@@ -0,0 +1,14 @@
+//
+// ============LICENSE_START=======================================================
+// Copyright (C) 2016-2018 Ericsson. All rights reserved.
+// ================================================================================
+// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+//
+// SPDX-License-Identifier: CC-BY-4.0
+// ============LICENSE_END=========================================================
+//
+// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+//
+
+include::{adsite-tools-common-dir}/site-docs/adoc/fragments/example-cli-version.adoc[]
diff --git a/tools/tools-common/src/site/asciidoc/example-cli.adoc b/tools/tools-common/src/site/asciidoc/example-cli.adoc
new file mode 100644
index 000000000..3d7808d79
--- /dev/null
+++ b/tools/tools-common/src/site/asciidoc/example-cli.adoc
@@ -0,0 +1,14 @@
+//
+// ============LICENSE_START=======================================================
+// Copyright (C) 2016-2018 Ericsson. All rights reserved.
+// ================================================================================
+// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+//
+// SPDX-License-Identifier: CC-BY-4.0
+// ============LICENSE_END=========================================================
+//
+// @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+//
+
+include::{adsite-tools-common-dir}/site-docs/adoc/fragments/example-cli.adoc[]
diff --git a/tools/tools-common/src/site/css/site.css b/tools/tools-common/src/site/css/site.css
new file mode 100644
index 000000000..ef8bd4d15
--- /dev/null
+++ b/tools/tools-common/src/site/css/site.css
@@ -0,0 +1,100 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+@import url(http://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.0/css/font-awesome.css);
+
+
+/*************** Table definitions *******************/
+
+tableblock > .title, .tableblock > caption { line-height: 1.4; color: #7a2518; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; }
+
+.tableblock > caption { text-align: left; font-weight: bold; white-space: nowrap; overflow: visible; max-width: 0; }
+
+table.tableblock { background: white; margin-bottom: 1.25em; border: solid 1px #dddddd; }
+table.tableblock thead, table.tableblock tfoot { background: whitesmoke; font-weight: bold; }
+table.tableblock thead tr th, table.tableblock thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222222; text-align: left; }
+table.tableblock tr th, table.tableblock tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #222222; }
+table.tableblock tr.even, table.tableblock tr.alt, table.tableblock tr:nth-of-type(even) { background: #f9f9f9; }
+table.tableblock thead tr th, table.tableblock tfoot tr th, table.tableblock tbody tr td, table.tableblock tr td, table.tableblock tfoot tr td { display: table-cell; line-height: 1.6; }
+
+table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; }
+
+table.tableblock.grid-all { border-collapse: separate; border-spacing: 1px; -webkit-border-radius: 4px; border-radius: 4px; border-top: 1px solid #dddddd; border-bottom: 1px solid #dddddd; }
+
+table.tableblock.frame-topbot, table.tableblock.frame-none { border-left: 0; border-right: 0; }
+
+table.tableblock.frame-sides, table.tableblock.frame-none { border-top: 0; border-bottom: 0; }
+
+table.tableblock td .paragraph:last-child p, table.tableblock td > p:last-child { margin-bottom: 0; }
+
+th.tableblock.halign-left, td.tableblock.halign-left { text-align: left; }
+
+th.tableblock.halign-right, td.tableblock.halign-right { text-align: right; }
+
+th.tableblock.halign-center, td.tableblock.halign-center { text-align: center; }
+
+th.tableblock.valign-top, td.tableblock.valign-top { vertical-align: top; }
+
+th.tableblock.valign-bottom, td.tableblock.valign-bottom { vertical-align: bottom; }
+
+th.tableblock.valign-middle, td.tableblock.valign-middle { vertical-align: middle; }
+
+p.tableblock.header { color: #222222; font-weight: bold; }
+
+
+
+/*************** KBD Macro definitions *******************/
+
+kbd.keyseq { color: #555555; }
+
+kbd:not(.keyseq) { display: inline-block; color: #222222; font-size: 0.75em; line-height: 1.4; background-color: #F7F7F7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; margin: -0.15em 0.15em 0 0.15em; padding: 0.2em 0.6em 0.2em 0.5em; vertical-align: middle; white-space: nowrap; }
+
+kbd kbd:first-child { margin-left: 0; }
+
+kbd kbd:last-child { margin-right: 0; }
+
+
+/*************** Admontion Blocks definitions *******************/
+.admonitionblock td.content > .title, .exampleblock > .title, .imageblock > .title, .videoblock > .title, .listingblock > .title, .literalblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, .sidebarblock > .title, .tableblock > .title, .verseblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-align: left; font-weight: bold; }
+
+.admonitionblock > table { border: 0; background: none; width: 100%; margin-top: 1em; margin-bottom: 1em;}
+.admonitionblock > table td.icon { text-align: center; width: 80px; }
+.admonitionblock > table td.icon img { max-width: none; }
+.admonitionblock > table td.icon .title { font-weight: bold; text-transform: uppercase; }
+.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #dddddd; color: #6f6f6f; }
+.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; }
+
+.admonitionblock td.icon [class^="fa icon-"]:before {font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
+.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #005498; color: #003f72; }
+.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; }
+.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; }
+.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; }
+.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; }
+
+
+
+/*************** Misc definitions *******************/
+
+*:not(pre) > code { font-size: 0.9375em; padding: 1px 3px 0; white-space: nowrap; background-color: #f2f2f2; border: 1px solid #cccccc; -webkit-border-radius: 4px; border-radius: 4px; text-shadow: none; }
+
+pre, pre > code { line-height: 1.4; color: inherit; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; }
+
+code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #6d180b; }
+
diff --git a/tools/tools-common/src/site/images/logos.png b/tools/tools-common/src/site/images/logos.png
new file mode 100644
index 000000000..915d6e59d
--- /dev/null
+++ b/tools/tools-common/src/site/images/logos.png
Binary files differ
diff --git a/tools/tools-common/src/site/site.xml b/tools/tools-common/src/site/site.xml
new file mode 100644
index 000000000..8d6a38325
--- /dev/null
+++ b/tools/tools-common/src/site/site.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ ================================================================================
+ This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+ Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+
+ SPDX-License-Identifier: CC-BY-4.0
+ ============LICENSE_END=========================================================
+
+ @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+
+-->
+<project name="APEX Tools Common">
+ <body>
+ <menu name="APEX Tools Common">
+ <item href="example-cli.html" name="CLI Example" />
+ <item href="example-cli-version.html" name="Autoversion Example" />
+
+ <item href="javadocs/index.html" name="API Doc" />
+ </menu>
+ <menu ref="reports" inherit="top"/>
+ <menu ref="modules"/>
+
+ <breadcrumbs>
+ <item name="Common" href="index.html"/>
+ </breadcrumbs>
+ </body>
+</project> \ No newline at end of file