Repository: activemq-artemis
Updated Branches:
  refs/heads/master 8f04442e8 -> c998e9a44


manual additions about maven plugin


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/edef0240
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/edef0240
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/edef0240

Branch: refs/heads/master
Commit: edef0240bd3155534130af8098335324d60cc2e0
Parents: 8f04442
Author: Clebert Suconic <[email protected]>
Authored: Mon Aug 31 21:03:46 2015 -0400
Committer: Clebert Suconic <[email protected]>
Committed: Tue Sep 1 23:44:46 2015 -0400

----------------------------------------------------------------------
 docs/user-manual/en/SUMMARY.md      |   1 +
 docs/user-manual/en/libaio.md       |  33 ++---
 docs/user-manual/en/maven-plugin.md | 223 +++++++++++++++++++++++++++++++
 3 files changed, 232 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/edef0240/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index f0413eb..923b905 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -53,6 +53,7 @@
 * [Intercepting Operations](intercepting-operations.md)
 * [Protocols and Interoperability](protocols-interoperability.md)
 * [Tools](tools.md)
+* [Maven Plugin](maven-plugin.md)
 * [Performance Tuning](perf-tuning.md)
 * [Configuration Reference](configuration-index.md)
 

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/edef0240/docs/user-manual/en/libaio.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/libaio.md b/docs/user-manual/en/libaio.md
index 787d044..a8a1ca7 100644
--- a/docs/user-manual/en/libaio.md
+++ b/docs/user-manual/en/libaio.md
@@ -62,16 +62,18 @@ These are the required linux packages to be installed for 
the compilation to wor
 
 -   libaio-dev - Compilation support for libaio
 
+-   cmake
+
 -   A full JDK installed with the environment variable JAVA\_HOME set to
     its location
 
 To perform this installation on RHEL or Fedora, you can simply type this at a 
command line:
 
-    sudo yum install libtool gcc-c++ gcc libaio libaio-devel
+    sudo yum install libtool gcc-c++ gcc libaio libaio-devel cmake
 
 Or on Debian systems:
 
-    sudo apt-get install libtool gcc-g++ gcc libaio libaio-dev
+    sudo apt-get install libtool gcc-g++ gcc libaio libaio- cmake
 
 > **Note**
 >
@@ -82,26 +84,7 @@ Or on Debian systems:
 ## Invoking the compilation
 
 In the source distribution or git clone, in the `artemis-native` directory, 
execute the shell
-script `compile-native.sh`. This script will invoke the proper maven profile 
to perform the native build.
-
-    someUser@someBox:/checkout-dir/artemis-native$ ./compile-native.sh
-    [INFO] Scanning for projects...
-    [INFO]
-    [INFO] 
------------------------------------------------------------------------
-    [INFO] Building ActiveMQ Artemis Native POM 1.0.0
-    [INFO] 
------------------------------------------------------------------------
-    [INFO]
-    [INFO] --- nar-maven-plugin:3.0.0:nar-validate (default-nar-validate) @ 
artemis-native ---
-    [INFO] Using AOL: amd64-Linux-gpp
-    [INFO]
-    [INFO] --- maven-enforcer-plugin:1.4:enforce (enforce-java) @ 
artemis-native ---
-    ...
-
-The produced library will be at
-`./target/nar/artemis-native-RELEASE-amd64-Linux-gpp-jni/lib/amd64-Linux-gpp/jni/
-libartemis-native-RELEASE.so`. Simply move that file over
-`bin` with the proper rename [library
-path](#using-server.library.path).
-
-If you want to perform changes on the Apache ActiveMQ Artemis libaio code, you 
could
-just call make directly at the `native-src` directory.
+script `compile-native.sh`. This script will invoke the proper commands to 
perform the native build.
+
+If you want more information refer to the [cmake web pages](http://cmake.org).
+

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/edef0240/docs/user-manual/en/maven-plugin.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/maven-plugin.md 
b/docs/user-manual/en/maven-plugin.md
new file mode 100644
index 0000000..2602ec8
--- /dev/null
+++ b/docs/user-manual/en/maven-plugin.md
@@ -0,0 +1,223 @@
+# Maven Plugins
+
+Since Artemis 1.1.0 Artemis provides the possibility of using Maven Plugins to 
manage the life cycle of servers.
+
+## When to use it
+
+These Maven plugins were initially created to manage server instances across 
our examples. They can create a server, start, and do any CLI operation over 
servers.
+
+You could for example use these maven plugins on your testsuite or deployment 
automation.
+
+
+## Goals
+
+There are three goals that you can use
+
+- create
+
+This will create a server accordingly to your arguments. You can do some extra 
tricks here such as installing extra libraries for external modules.
+
+- cli
+
+This will perform any CLI operation. This is basically a maven expression of 
the CLI classes
+
+- runClient
+
+This is a simple wrapper around classes implementing a static main call. 
Notice that this won't spawn a new VM or new Thread.
+
+
+## Declaration
+
+On your pom, use the plugins section:
+
+```xml
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>artemis-maven-plugin</artifactId>
+```
+
+## create goal
+
+I won't detail every operation of the create plugin here, but I will try to 
describe the main parameters:
+
+Name | Description
+:--- | :---
+configuration | A place that will hold any file to replace on the 
configuration. For instance if you are providing your own broker.xml. Default 
is "${basedir}/target/classes/activemq/server0"
+home | The location where you downloaded and installed artemis. Default is 
"${activemq.basedir}"
+alternateHome | This is used case you have two possible locations for your 
home (e.g. one under compile and one under production
+instance | Where the server is going to be installed. Default is 
"${basedir}/target/server0"
+liblist[] | A list of libraries to be installed under ./lib. ex: 
"org.jgroups:jgroups:3.6.0.Final"
+
+
+Example:
+
+```xml
+<executions>
+   <execution>
+      <id>create</id>
+      <goals>
+         <goal>create</goal>
+      </goals>
+      <configuration>
+         <ignore>${noServer}</ignore>
+      </configuration>
+   </execution>
+
+```
+
+
+## cli goal
+
+Some properties for the CLI
+
+Name | Description
+:--- | :---
+configuration | A place that will hold any file to replace on the 
configuration. For instance if you are providing your own broker.xml. Default 
is "${basedir}/target/classes/activemq/server0"
+home | The location where you downloaded and installed artemis. Default is 
"${activemq.basedir}"
+alternateHome | This is used case you have two possible locations for your 
home (e.g. one under compile and one under production
+instance | Where the server is going to be installed. Default is 
"${basedir}/target/server0"
+
+
+Similarly to the create plugin, the artemis exampels are using the cli plugin. 
Look at them for concrete examples.
+
+Example:
+```xml
+<execution>
+  <id>start</id>
+  <goals>
+     <goal>cli</goal>
+  </goals>
+  <configuration>
+     <spawn>true</spawn>
+     <ignore>${noServer}</ignore>
+     <testURI>tcp://localhost:61616</testURI>
+     <args>
+        <param>run</param>
+     </args>
+  </configuration>
+</execution>
+```
+
+
+### runClient goal
+
+This is a simple solution for running classes implementing the main method.
+
+Name | Description
+:--- | :---
+clientClass | A class implement a static void main(String arg[])
+args | A string array of arguments passed to the method
+
+Example:
+
+```xml
+               <execution>
+                  <id>runClient</id>
+                  <goals>
+                     <goal>runClient</goal>
+                  </goals>
+                  <configuration>
+                     
<clientClass>org.apache.activemq.artemis.jms.example.QueueExample</clientClass>
+                  </configuration>
+               </execution>
+```
+
+### Complete example
+
+
+The following example is a copy of the /examples/features/standard/queue 
example. You may refer to it directly under the examples directory tree.
+
+```xml
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+   <modelVersion>4.0.0</modelVersion>
+
+   <parent>
+      <groupId>org.apache.activemq.examples.broker</groupId>
+      <artifactId>jms-examples</artifactId>
+      <version>1.0.1-SNAPSHOT</version>
+   </parent>
+
+   <artifactId>queue</artifactId>
+   <packaging>jar</packaging>
+   <name>ActiveMQ Artemis JMS Queue Example</name>
+
+   <properties>
+      <activemq.basedir>${project.basedir}/../../../..</activemq.basedir>
+   </properties>
+
+   <dependencies>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-jms-client</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+   </dependencies>
+
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>artemis-maven-plugin</artifactId>
+            <executions>
+               <execution>
+                  <id>create</id>
+                  <goals>
+                     <goal>create</goal>
+                  </goals>
+                  <configuration>
+                     <ignore>${noServer}</ignore>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>start</id>
+                  <goals>
+                     <goal>cli</goal>
+                  </goals>
+                  <configuration>
+                     <spawn>true</spawn>
+                     <ignore>${noServer}</ignore>
+                     <testURI>tcp://localhost:61616</testURI>
+                     <args>
+                        <param>run</param>
+                     </args>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>runClient</id>
+                  <goals>
+                     <goal>runClient</goal>
+                  </goals>
+                  <configuration>
+                     
<clientClass>org.apache.activemq.artemis.jms.example.QueueExample</clientClass>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>stop</id>
+                  <goals>
+                     <goal>cli</goal>
+                  </goals>
+                  <configuration>
+                     <ignore>${noServer}</ignore>
+                     <args>
+                        <param>stop</param>
+                     </args>
+                  </configuration>
+               </execution>
+            </executions>
+            <dependencies>
+               <dependency>
+                  <groupId>org.apache.activemq.examples.broker</groupId>
+                  <artifactId>queue</artifactId>
+                  <version>${project.version}</version>
+               </dependency>
+            </dependencies>
+         </plugin>
+      </plugins>
+   </build>
+
+</project>
+
+```
\ No newline at end of file

Reply via email to