mirror of
https://github.com/elastic/logstash.git
synced 2025-04-24 14:47:19 -04:00
refactor commands and arguments processing to allow spaces in paths
This commit is contained in:
parent
ea7a7a341b
commit
fff8fae97b
2 changed files with 46 additions and 29 deletions
17
bin/logstash
17
bin/logstash
|
@ -20,7 +20,7 @@ LS_HEAP_SIZE="${LS_HEAP_SIZE:=500m}"
|
|||
|
||||
unset CDPATH
|
||||
basedir=$(cd `dirname $0`/..; pwd)
|
||||
. ${basedir}/bin/logstash.lib.sh
|
||||
. "${basedir}/bin/logstash.lib.sh"
|
||||
|
||||
setup
|
||||
|
||||
|
@ -30,13 +30,18 @@ export HOME SINCEDB_DIR
|
|||
case $1 in
|
||||
deps) install_deps ;;
|
||||
env) env "$@" ;;
|
||||
-*)
|
||||
-*)
|
||||
# is the first argument a flag? If so, assume 'agent'
|
||||
program="$basedir/lib/logstash/runner.rb"
|
||||
exec $RUBYCMD -I$RUBYLIB "$program" agent "$@"
|
||||
LAUNCHARGS+=(-I"${RUBYLIB}")
|
||||
LAUNCHARGS+=("${basedir}/lib/logstash/runner.rb")
|
||||
LAUNCHARGS+=("agent")
|
||||
LAUNCHARGS+=("$@")
|
||||
exec "${LAUNCHCMD}" "${LAUNCHARGS[@]}"
|
||||
;;
|
||||
*)
|
||||
program="$basedir/lib/logstash/runner.rb"
|
||||
exec $RUBYCMD -I$RUBYLIB "$program" "$@"
|
||||
LAUNCHARGS+=(-I"${RUBYLIB}")
|
||||
LAUNCHARGS+=("${basedir}/lib/logstash/runner.rb")
|
||||
LAUNCHARGS+=("$@")
|
||||
exec "${LAUNCHCMD}" "${LAUNCHARGS[@]}"
|
||||
;;
|
||||
esac
|
||||
|
|
|
@ -1,16 +1,21 @@
|
|||
basedir=$(cd `dirname $0`/..; pwd)
|
||||
|
||||
setup_ruby() {
|
||||
export RUBYLIB="$basedir/lib"
|
||||
export RUBYLIB="${basedir}/lib"
|
||||
|
||||
# Verify ruby works
|
||||
if ! ruby -e 'puts "HURRAY"' 2> /dev/null | grep -q "HURRAY" ; then
|
||||
echo "No ruby program found. Cannot start."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# set $RUBY and $RUBYVER
|
||||
eval $(ruby -rrbconfig -e 'puts "RUBYVER=#{RbConfig::CONFIG["ruby_version"]}"; puts "RUBY=#{RUBY_ENGINE}"')
|
||||
RUBYCMD="ruby"
|
||||
export GEM_HOME="$basedir/vendor/bundle/${RUBY}/${RUBYVER}"
|
||||
|
||||
LAUNCHCMD="ruby"
|
||||
LAUNCHARGS=()
|
||||
|
||||
export GEM_HOME="${basedir}/vendor/bundle/${RUBY}/${RUBYVER}"
|
||||
export GEM_PATH=
|
||||
}
|
||||
|
||||
|
@ -38,35 +43,42 @@ setup_java() {
|
|||
export DRIP_INIT=
|
||||
fi
|
||||
|
||||
JAVA_OPTS="$JAVA_OPTS -Xmx${LS_HEAP_SIZE}"
|
||||
JAVA_OPTS="$JAVA_OPTS -XX:+UseParNewGC"
|
||||
JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC"
|
||||
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
|
||||
JAVA_OPTS_ARGS=()
|
||||
JAVA_OPTS_ARGS+=("-Xmx${LS_HEAP_SIZE}")
|
||||
|
||||
JAVA_OPTS="$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=75"
|
||||
JAVA_OPTS="$JAVA_OPTS -XX:+UseCMSInitiatingOccupancyOnly"
|
||||
JAVA_OPTS_ARGS+=("-XX:+UseParNewGC")
|
||||
JAVA_OPTS_ARGS+=("-XX:+UseConcMarkSweepGC")
|
||||
JAVA_OPTS_ARGS+=("-Djava.awt.headless=true")
|
||||
|
||||
JAVA_OPTS_ARGS+=("-XX:CMSInitiatingOccupancyFraction=75")
|
||||
JAVA_OPTS_ARGS+=("-XX:+UseCMSInitiatingOccupancyOnly")
|
||||
|
||||
if [ ! -z "$LS_USE_GC_LOGGING" ] ; then
|
||||
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails"
|
||||
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCTimeStamps"
|
||||
JAVA_OPTS="$JAVA_OPTS -XX:+PrintClassHistogram"
|
||||
JAVA_OPTS="$JAVA_OPTS -XX:+PrintTenuringDistribution"
|
||||
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCApplicationStoppedTime"
|
||||
JAVA_OPTS="$JAVA_OPTS -Xloggc:./logstash-gc.log"
|
||||
JAVA_OPTS_ARGS+=("-XX:+PrintGCDetails")
|
||||
JAVA_OPTS_ARGS+=("-XX:+PrintGCTimeStamps")
|
||||
JAVA_OPTS_ARGS+=("-XX:+PrintClassHistogram")
|
||||
JAVA_OPTS_ARGS+=("-XX:+PrintTenuringDistribution")
|
||||
JAVA_OPTS_ARGS+=("-XX:+PrintGCApplicationStoppedTime")
|
||||
JAVA_OPTS_ARGS+=("-Xloggc:./logstash-gc.log")
|
||||
echo "Writing garbage collection logs to ./logstash-gc.log"
|
||||
fi
|
||||
|
||||
export JAVACMD
|
||||
export JAVA_OPTS
|
||||
export RUBYLIB="$basedir/lib"
|
||||
export GEM_HOME="$basedir/vendor/bundle/jruby/1.9"
|
||||
export GEM_PATH=
|
||||
export JAVA_OPTS="${JAVA_OPTS_ARGS[@]}"
|
||||
}
|
||||
|
||||
setup_vendored_jruby() {
|
||||
RUBYVER=1.9
|
||||
RUBY=jruby
|
||||
RUBYCMD="$JAVACMD $JAVA_OPTS -jar $basedir/vendor/jar/jruby-complete-*.jar"
|
||||
|
||||
LAUNCHCMD="${JAVACMD}"
|
||||
LAUNCHARGS=("${JAVA_OPTS_ARGS[@]}")
|
||||
LAUNCHARGS+=("-jar")
|
||||
LAUNCHARGS+=("${basedir}"/vendor/jar/jruby-complete-*.jar)
|
||||
|
||||
export RUBYLIB="${basedir}/lib"
|
||||
export GEM_HOME="${basedir}/vendor/bundle/${RUBY}/${RUBYVER}"
|
||||
export GEM_PATH=
|
||||
}
|
||||
|
||||
setup() {
|
||||
|
@ -80,9 +92,9 @@ setup() {
|
|||
|
||||
install_deps() {
|
||||
if [ -f "$basedir/logstash.gemspec" ] ; then
|
||||
program="$basedir/gembag.rb"
|
||||
set -- "$basedir/logstash.gemspec"
|
||||
exec $RUBYCMD "$basedir/gembag.rb" "$@"
|
||||
LAUNCHARGS+=("${basedir}/gembag.rb")
|
||||
LAUNCHARGS+=("${basedir}/logstash.gemspec")
|
||||
exec "$LAUNCHCMD" "${LAUNCHARGS[@]}"
|
||||
else
|
||||
echo "Cannot install dependencies; missing logstash.gemspec. This 'deps' command only works from a logstash git clone."
|
||||
fi
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue