Return-Path: X-Original-To: apmail-flume-commits-archive@www.apache.org Delivered-To: apmail-flume-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 17D9B10828 for ; Mon, 15 Apr 2013 03:59:41 +0000 (UTC) Received: (qmail 73542 invoked by uid 500); 15 Apr 2013 03:59:41 -0000 Delivered-To: apmail-flume-commits-archive@flume.apache.org Received: (qmail 73476 invoked by uid 500); 15 Apr 2013 03:59:40 -0000 Mailing-List: contact commits-help@flume.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flume.apache.org Delivered-To: mailing list commits@flume.apache.org Received: (qmail 73452 invoked by uid 99); 15 Apr 2013 03:59:39 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 15 Apr 2013 03:59:39 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 5E69681AE4E; Mon, 15 Apr 2013 03:59:39 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: jarcec@apache.org To: commits@flume.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: git commit: FLUME-1948: plugins.d directory(ies) should be separately overridable, independent of FLUME_HOME Date: Mon, 15 Apr 2013 03:59:39 +0000 (UTC) Updated Branches: refs/heads/trunk 4aaf4a3f8 -> 961b995a0 FLUME-1948: plugins.d directory(ies) should be separately overridable, independent of FLUME_HOME (Mike Percy via Jarek Jarcec Cecho) Project: http://git-wip-us.apache.org/repos/asf/flume/repo Commit: http://git-wip-us.apache.org/repos/asf/flume/commit/961b995a Tree: http://git-wip-us.apache.org/repos/asf/flume/tree/961b995a Diff: http://git-wip-us.apache.org/repos/asf/flume/diff/961b995a Branch: refs/heads/trunk Commit: 961b995a0432a58d43a01a3ca537ecb153d99b22 Parents: 4aaf4a3 Author: Jarek Jarcec Cecho Authored: Sun Apr 14 20:58:50 2013 -0700 Committer: Jarek Jarcec Cecho Committed: Sun Apr 14 20:58:50 2013 -0700 ---------------------------------------------------------------------- bin/flume-ng | 58 +++++++++++++++++++++++++++++++++------------------- 1 files changed, 37 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flume/blob/961b995a/bin/flume-ng ---------------------------------------------------------------------- diff --git a/bin/flume-ng b/bin/flume-ng index ee86c95..22b95b8 100755 --- a/bin/flume-ng +++ b/bin/flume-ng @@ -182,7 +182,11 @@ global options: --conf,-c use configs in directory --classpath,-C append to the classpath --dryrun,-d do not actually start Flume, just print the command - -Dproperty=value sets a JDK system property value + --plugins-path colon-separated list of plugins.d directories. See the + plugins.d section in the user guide for more details. + Default: \$FLUME_HOME/plugins.d + -Dproperty=value sets a Java system property value + -Xproperty=value sets a Java -X option agent options: --conf-file,-f specify a config file (required) @@ -235,6 +239,7 @@ LD_LIBRARY_PATH="" opt_conf="" opt_classpath="" +opt_plugins_dirs="" opt_java_props="" opt_dryrun="" @@ -268,6 +273,7 @@ case "$mode" in ;; esac +args="" while [ -n "$*" ] ; do arg=$1 shift @@ -286,6 +292,10 @@ while [ -n "$*" ] ; do --dryrun|-d) opt_dryrun="1" ;; + --plugins-path) + opt_plugins_dirs=$1 + shift + ;; -D*) opt_java_props="$opt_java_props $arg" ;; @@ -336,35 +346,41 @@ else FLUME_CLASSPATH="${FLUME_HOME}/lib/*" fi -# load plugins.d -unset plugin_lib plugin_libext plugin_native -PLUGINS_DIR=${FLUME_HOME}/plugins.d -if [[ -d ${PLUGINS_DIR} ]] -then - for plugin in ${PLUGINS_DIR}/* - do - if [[ -d $plugin/lib ]] - then - plugin_lib="${plugin_lib}${plugin_lib+:}${plugin}/lib/*" - fi - if [[ -d $plugin/libext ]] - then - plugin_libext="${plugin_libext}${plugin_libext+:}${plugin}/libext/*" - fi - if [[ -d $plugin/native ]] - then - plugin_native="${plugin_native}${plugin_native+:}${plugin}/native" - fi - done +# load plugins.d directories +PLUGINS_DIRS="" +if [ -n "${opt_plugins_dirs}" ]; then + PLUGINS_DIRS=$(sed -e 's/:/ /g' <<<${opt_plugins_dirs}) +else + PLUGINS_DIRS="${FLUME_HOME}/plugins.d" fi + +unset plugin_lib plugin_libext plugin_native +for PLUGINS_DIR in $PLUGINS_DIRS; do + if [[ -d ${PLUGINS_DIR} ]]; then + for plugin in ${PLUGINS_DIR}/*; do + if [[ -d "$plugin/lib" ]]; then + plugin_lib="${plugin_lib}${plugin_lib+:}${plugin}/lib/*" + fi + if [[ -d "$plugin/libext" ]]; then + plugin_libext="${plugin_libext}${plugin_libext+:}${plugin}/libext/*" + fi + if [[ -d "$plugin/native" ]]; then + plugin_native="${plugin_native}${plugin_native+:}${plugin}/native" + fi + done + fi +done + if [[ -n "${plugin_lib}" ]] then FLUME_CLASSPATH="${FLUME_CLASSPATH}:${plugin_lib}" fi + if [[ -n "${plugin_libext}" ]] then FLUME_CLASSPATH="${FLUME_CLASSPATH}:${plugin_libext}" fi + if [[ -n "${plugin_native}" ]] then if [[ -n "${FLUME_JAVA_LIBRARY_PATH}" ]]