class BitGirder::Ops::Java::JavaRunner
Public Class Methods
create_application_runner( opts )
click to toggle source
# File lib/bitgirder/ops/java.rb, line 104 def self.create_application_runner( opts ) not_nil( opts, :opts ) argv = [ has_key( opts, :main ) ] argv += ( opts[ :argv ] || [] ) JavaRunner.new( opts.merge( :command => "java", :argv => argv ) ) end
split_argv( argv )
click to toggle source
# File lib/bitgirder/ops/java.rb, line 114 def self.split_argv( argv ) res = { argv: [], sys_props: {}, jvm_args: [] } argv.each do |arg| case arg when /^-X/ then res[ :jvm_args ] << arg when /^-D(?:([^=]+)(?:=(.*))?)?$/ raise "Property without name" unless $1 res[ :sys_props ][ $1 ] = $2 || "" else res[ :argv ] << arg end end res end
Public Instance Methods
process_builder()
click to toggle source
# File lib/bitgirder/ops/java.rb, line 94 def process_builder BitGirder::Io::UnixProcessBuilder.new( :cmd => @java_env.jcmd( @command ), :argv => create_jv_argv, :env => @proc_env, :opts => @proc_opts ) end
Private Instance Methods
create_jv_argv()
click to toggle source
# File lib/bitgirder/ops/java.rb, line 78 def create_jv_argv res = [] unless @classpath.empty? res << "-classpath" << @java_env.as_classpath( @classpath ) end res += @jvm_args @sys_props.each_pair { |k, v| res << "-D#{k}=#{v}" } res += argv res.map { |v| v.to_s } end