AMQCLI-6 - Moving CLI into its own assembly project
Project: http://git-wip-us.apache.org/repos/asf/activemq-cli-tools/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq-cli-tools/commit/a7214cc9 Tree: http://git-wip-us.apache.org/repos/asf/activemq-cli-tools/tree/a7214cc9 Diff: http://git-wip-us.apache.org/repos/asf/activemq-cli-tools/diff/a7214cc9 Branch: refs/heads/master Commit: a7214cc984b078132e42310f2c60974897746622 Parents: c351b1f Author: Christopher L. Shannon (cshannon) <christopher.l.shan...@gmail.com> Authored: Wed Mar 8 07:50:43 2017 -0500 Committer: Christopher L. Shannon (cshannon) <christopher.l.shan...@gmail.com> Committed: Wed Mar 8 07:50:43 2017 -0500 ---------------------------------------------------------------------- activemq-kahadb-exporter/pom.xml | 21 +--- .../src/main/resources/bin/export | 107 ------------------- .../src/main/resources/conf/log4j.properties | 35 ------ .../src/main/resources/unix-bin.xml | 67 ------------ assembly/pom.xml | 64 +++++++++++ assembly/src/main/resources/bin/export | 107 +++++++++++++++++++ .../src/main/resources/conf/log4j.properties | 35 ++++++ assembly/src/main/resources/unix-bin.xml | 67 ++++++++++++ pom.xml | 11 +- 9 files changed, 286 insertions(+), 228 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq-cli-tools/blob/a7214cc9/activemq-kahadb-exporter/pom.xml ---------------------------------------------------------------------- diff --git a/activemq-kahadb-exporter/pom.xml b/activemq-kahadb-exporter/pom.xml index ff4e789..2b884ee 100644 --- a/activemq-kahadb-exporter/pom.xml +++ b/activemq-kahadb-exporter/pom.xml @@ -19,7 +19,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <parent> <groupId>org.apache.activemq</groupId> - <artifactId>activemq-cli-tools</artifactId> + <artifactId>activemq-cli-tools-parent</artifactId> <version>0.1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> @@ -54,14 +54,17 @@ <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> + <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> + <scope>test</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> + <scope>test</scope> </dependency> </dependencies> @@ -145,22 +148,6 @@ </xsdOptions> </configuration> </plugin> - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>source</id> - <configuration> - <descriptor>src/main/resources/unix-bin.xml</descriptor> - <tarLongFileMode>posix</tarLongFileMode> - </configuration> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> </plugins> </build> </project> http://git-wip-us.apache.org/repos/asf/activemq-cli-tools/blob/a7214cc9/activemq-kahadb-exporter/src/main/resources/bin/export ---------------------------------------------------------------------- diff --git a/activemq-kahadb-exporter/src/main/resources/bin/export b/activemq-kahadb-exporter/src/main/resources/bin/export deleted file mode 100644 index 0ccc33b..0000000 --- a/activemq-kahadb-exporter/src/main/resources/bin/export +++ /dev/null @@ -1,107 +0,0 @@ -#!/usr/bin/env sh -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -# a simple helper to get the current user -setCurrentUser(){ - CUSER="`whoami 2>/dev/null`" - # Solaris hack - if [ ! $? -eq 0 ]; then - CUSER="`/usr/ucb/whoami 2>/dev/null`" - fi -} - -# get a canonical path, macosx and slowlaris does not support radlink -f :-) -pathCanonical() { - local dst="${1}" - while [ -h "${dst}" ] ; do - ls=`ls -ld "${dst}"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - dst="$link" - else - dst="`dirname "${dst}"`/$link" - fi - done - local bas="`basename "${dst}"`" - local dir="`dirname "${dst}"`" - if [ "$bas" != "$dir" ]; then - dst="`pathCanonical "$dir"`/$bas" - fi - echo "${dst}" | sed -e 's#//#/#g' -e 's#/\./#/#g' -e 's#/[^/]*/\.\./#/#g' -} - - -# a simple helper to get the activemq installation dir -getActiveMQHome(){ - # get the real path to the binary - local REAL_BIN="`pathCanonical $0`" - local REAL_DIR="`dirname $REAL_BIN`/../" - REAL_DIR="`cd $REAL_DIR && pwd -P`" - if [ -z "$REAL_DIR" ];then - echo 'ERROR: unable to find real installtion path fo activemq, you have to define ACTIVEMQ_HOME manually in the config' >&2 - exit 1 - fi - echo "$REAL_DIR/" - -} - -# Active MQ installation dir -if [ -z "$ACTIVEMQ_HOME" ] ; then - ACTIVEMQ_HOME="`getActiveMQHome`" -fi - -# Active MQ base dir -if [ -z "$ACTIVEMQ_BASE" ] ; then - ACTIVEMQ_BASE="$ACTIVEMQ_HOME" -fi - -# Configure user specified classpath here or externally using this variable -if [ -z "$ACTIVEMQ_USER_CLASSPATH" ] ; then - ACTIVEMQ_USER_CLASSPATH="" -fi - -# ActiveMQ Classpath configuration -ACTIVEMQ_CLASSPATH="$ACTIVEMQ_BASE/lib/*:$ACTIVEMQ_BASE/conf/:$ACTIVEMQ_USER_CLASSPATH" - -ACTIVEMQ_DATA="$ACTIVEMQ_BASE/data/" - - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD=java - fi -fi - - -JAVA_ARGS= - -exec "$JAVACMD" \ - $JAVA_ARGS \ - -classpath "$ACTIVEMQ_CLASSPATH" \ - -Dactivemq.data=${ACTIVEMQ_DATA} \ - $DEBUG_ARGS \ - org.apache.activemq.cli.kahadb.exporter.Exporter "$@" - http://git-wip-us.apache.org/repos/asf/activemq-cli-tools/blob/a7214cc9/activemq-kahadb-exporter/src/main/resources/conf/log4j.properties ---------------------------------------------------------------------- diff --git a/activemq-kahadb-exporter/src/main/resources/conf/log4j.properties b/activemq-kahadb-exporter/src/main/resources/conf/log4j.properties deleted file mode 100644 index e4f054a..0000000 --- a/activemq-kahadb-exporter/src/main/resources/conf/log4j.properties +++ /dev/null @@ -1,35 +0,0 @@ -## --------------------------------------------------------------------------- -## Licensed to the Apache Software Foundation (ASF) under one or more -## contributor license agreements. See the NOTICE file distributed with -## this work for additional information regarding copyright ownership. -## The ASF licenses this file to You under the Apache License, Version 2.0 -## (the "License"); you may not use this file except in compliance with -## the License. You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## --------------------------------------------------------------------------- - -# -# The logging properties used during tests.. -# -log4j.rootLogger=INFO, out, stdout - -log4j.logger.org.apache.activemq=INFO - -# CONSOLE appender not used by default -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d [%-15.15t] - %-5p %-30.30c{1} - %m%n - -# File appender -log4j.appender.out=org.apache.log4j.FileAppender -log4j.appender.out.layout=org.apache.log4j.PatternLayout -log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] - %-5p %-30.30c{1} - %m%n -log4j.appender.out.file=${activemq.data}/activemq-exporter.log -log4j.appender.out.append=true http://git-wip-us.apache.org/repos/asf/activemq-cli-tools/blob/a7214cc9/activemq-kahadb-exporter/src/main/resources/unix-bin.xml ---------------------------------------------------------------------- diff --git a/activemq-kahadb-exporter/src/main/resources/unix-bin.xml b/activemq-kahadb-exporter/src/main/resources/unix-bin.xml deleted file mode 100644 index 7c34ae0..0000000 --- a/activemq-kahadb-exporter/src/main/resources/unix-bin.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<assembly> - - <id>bin</id> - <formats> - <format>tar.gz</format> - </formats> - - <includeBaseDirectory>true</includeBaseDirectory> - - - <dependencySets> - <dependencySet> - <directoryMode>755</directoryMode> - <fileMode>644</fileMode> - <outputDirectory>lib</outputDirectory> - - <unpack>false</unpack> - <useTransitiveDependencies>true</useTransitiveDependencies> - <!-- >includes> - <include>org.apache.activemq:activemq-kahadb-exporter</include> - </includes--> - </dependencySet> - </dependencySets> - - <fileSets> - <fileSet> - <directory>src/main/resources/bin</directory> - <outputDirectory>bin</outputDirectory> - <includes> - <include>export</include> - </includes> - <fileMode>0755</fileMode> - <directoryMode>0755</directoryMode> - <lineEnding>unix</lineEnding> - <filtered>false</filtered> - </fileSet> - <fileSet> - <directory>src/main/resources/conf</directory> - <outputDirectory>conf</outputDirectory> - <includes> - <include>log4j.properties</include> - </includes> - <fileMode>0644</fileMode> - <directoryMode>0755</directoryMode> - <lineEnding>unix</lineEnding> - <filtered>false</filtered> - </fileSet> - </fileSets> - -</assembly> http://git-wip-us.apache.org/repos/asf/activemq-cli-tools/blob/a7214cc9/assembly/pom.xml ---------------------------------------------------------------------- diff --git a/assembly/pom.xml b/assembly/pom.xml new file mode 100644 index 0000000..6c97782 --- /dev/null +++ b/assembly/pom.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor + license agreements. See the NOTICE file distributed with this work for additional + information regarding copyright ownership. The ASF licenses this file to + You under the Apache License, Version 2.0 (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy of + the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required + by applicable law or agreed to in writing, software distributed under the + License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS + OF ANY KIND, either express or implied. See the License for the specific + language governing permissions and limitations under the License. --> +<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"> + <parent> + <groupId>org.apache.activemq</groupId> + <artifactId>activemq-cli-tools-parent</artifactId> + <version>0.1.0-SNAPSHOT</version> + </parent> + <modelVersion>4.0.0</modelVersion> + + <artifactId>activemq-cli-tools</artifactId> + <packaging>pom</packaging> + <name>ActiveMQ CLI tools Assembly</name> + + <dependencies> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>activemq-kahadb-exporter</artifactId> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </dependency> + <dependency> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <executions> + <execution> + <id>source</id> + <configuration> + <descriptor>src/main/resources/unix-bin.xml</descriptor> + <tarLongFileMode>posix</tarLongFileMode> + </configuration> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> http://git-wip-us.apache.org/repos/asf/activemq-cli-tools/blob/a7214cc9/assembly/src/main/resources/bin/export ---------------------------------------------------------------------- diff --git a/assembly/src/main/resources/bin/export b/assembly/src/main/resources/bin/export new file mode 100644 index 0000000..0ccc33b --- /dev/null +++ b/assembly/src/main/resources/bin/export @@ -0,0 +1,107 @@ +#!/usr/bin/env sh +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + + +# a simple helper to get the current user +setCurrentUser(){ + CUSER="`whoami 2>/dev/null`" + # Solaris hack + if [ ! $? -eq 0 ]; then + CUSER="`/usr/ucb/whoami 2>/dev/null`" + fi +} + +# get a canonical path, macosx and slowlaris does not support radlink -f :-) +pathCanonical() { + local dst="${1}" + while [ -h "${dst}" ] ; do + ls=`ls -ld "${dst}"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + dst="$link" + else + dst="`dirname "${dst}"`/$link" + fi + done + local bas="`basename "${dst}"`" + local dir="`dirname "${dst}"`" + if [ "$bas" != "$dir" ]; then + dst="`pathCanonical "$dir"`/$bas" + fi + echo "${dst}" | sed -e 's#//#/#g' -e 's#/\./#/#g' -e 's#/[^/]*/\.\./#/#g' +} + + +# a simple helper to get the activemq installation dir +getActiveMQHome(){ + # get the real path to the binary + local REAL_BIN="`pathCanonical $0`" + local REAL_DIR="`dirname $REAL_BIN`/../" + REAL_DIR="`cd $REAL_DIR && pwd -P`" + if [ -z "$REAL_DIR" ];then + echo 'ERROR: unable to find real installtion path fo activemq, you have to define ACTIVEMQ_HOME manually in the config' >&2 + exit 1 + fi + echo "$REAL_DIR/" + +} + +# Active MQ installation dir +if [ -z "$ACTIVEMQ_HOME" ] ; then + ACTIVEMQ_HOME="`getActiveMQHome`" +fi + +# Active MQ base dir +if [ -z "$ACTIVEMQ_BASE" ] ; then + ACTIVEMQ_BASE="$ACTIVEMQ_HOME" +fi + +# Configure user specified classpath here or externally using this variable +if [ -z "$ACTIVEMQ_USER_CLASSPATH" ] ; then + ACTIVEMQ_USER_CLASSPATH="" +fi + +# ActiveMQ Classpath configuration +ACTIVEMQ_CLASSPATH="$ACTIVEMQ_BASE/lib/*:$ACTIVEMQ_BASE/conf/:$ACTIVEMQ_USER_CLASSPATH" + +ACTIVEMQ_DATA="$ACTIVEMQ_BASE/data/" + + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD=java + fi +fi + + +JAVA_ARGS= + +exec "$JAVACMD" \ + $JAVA_ARGS \ + -classpath "$ACTIVEMQ_CLASSPATH" \ + -Dactivemq.data=${ACTIVEMQ_DATA} \ + $DEBUG_ARGS \ + org.apache.activemq.cli.kahadb.exporter.Exporter "$@" + http://git-wip-us.apache.org/repos/asf/activemq-cli-tools/blob/a7214cc9/assembly/src/main/resources/conf/log4j.properties ---------------------------------------------------------------------- diff --git a/assembly/src/main/resources/conf/log4j.properties b/assembly/src/main/resources/conf/log4j.properties new file mode 100644 index 0000000..e4f054a --- /dev/null +++ b/assembly/src/main/resources/conf/log4j.properties @@ -0,0 +1,35 @@ +## --------------------------------------------------------------------------- +## Licensed to the Apache Software Foundation (ASF) under one or more +## contributor license agreements. See the NOTICE file distributed with +## this work for additional information regarding copyright ownership. +## The ASF licenses this file to You under the Apache License, Version 2.0 +## (the "License"); you may not use this file except in compliance with +## the License. You may obtain a copy of the License at +## +## http://www.apache.org/licenses/LICENSE-2.0 +## +## Unless required by applicable law or agreed to in writing, software +## distributed under the License is distributed on an "AS IS" BASIS, +## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +## See the License for the specific language governing permissions and +## limitations under the License. +## --------------------------------------------------------------------------- + +# +# The logging properties used during tests.. +# +log4j.rootLogger=INFO, out, stdout + +log4j.logger.org.apache.activemq=INFO + +# CONSOLE appender not used by default +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d [%-15.15t] - %-5p %-30.30c{1} - %m%n + +# File appender +log4j.appender.out=org.apache.log4j.FileAppender +log4j.appender.out.layout=org.apache.log4j.PatternLayout +log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] - %-5p %-30.30c{1} - %m%n +log4j.appender.out.file=${activemq.data}/activemq-exporter.log +log4j.appender.out.append=true http://git-wip-us.apache.org/repos/asf/activemq-cli-tools/blob/a7214cc9/assembly/src/main/resources/unix-bin.xml ---------------------------------------------------------------------- diff --git a/assembly/src/main/resources/unix-bin.xml b/assembly/src/main/resources/unix-bin.xml new file mode 100644 index 0000000..7c34ae0 --- /dev/null +++ b/assembly/src/main/resources/unix-bin.xml @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<assembly> + + <id>bin</id> + <formats> + <format>tar.gz</format> + </formats> + + <includeBaseDirectory>true</includeBaseDirectory> + + + <dependencySets> + <dependencySet> + <directoryMode>755</directoryMode> + <fileMode>644</fileMode> + <outputDirectory>lib</outputDirectory> + + <unpack>false</unpack> + <useTransitiveDependencies>true</useTransitiveDependencies> + <!-- >includes> + <include>org.apache.activemq:activemq-kahadb-exporter</include> + </includes--> + </dependencySet> + </dependencySets> + + <fileSets> + <fileSet> + <directory>src/main/resources/bin</directory> + <outputDirectory>bin</outputDirectory> + <includes> + <include>export</include> + </includes> + <fileMode>0755</fileMode> + <directoryMode>0755</directoryMode> + <lineEnding>unix</lineEnding> + <filtered>false</filtered> + </fileSet> + <fileSet> + <directory>src/main/resources/conf</directory> + <outputDirectory>conf</outputDirectory> + <includes> + <include>log4j.properties</include> + </includes> + <fileMode>0644</fileMode> + <directoryMode>0755</directoryMode> + <lineEnding>unix</lineEnding> + <filtered>false</filtered> + </fileSet> + </fileSets> + +</assembly> http://git-wip-us.apache.org/repos/asf/activemq-cli-tools/blob/a7214cc9/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 6e9f143..651d6a3 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.apache.activemq</groupId> - <artifactId>activemq-cli-tools</artifactId> + <artifactId>activemq-cli-tools-parent</artifactId> <version>0.1.0-SNAPSHOT</version> <packaging>pom</packaging> @@ -70,7 +70,14 @@ <dependencyManagement> <dependencies> - + + <!-- CLI Tools --> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>activemq-kahadb-exporter</artifactId> + <version>${project.version}</version> + </dependency> + <!-- ActiveMQ --> <dependency> <groupId>org.apache.activemq</groupId>