class Detroit::Toolchain::CLI
The CLI
class.
Public Class Methods
execute(argv=ARGV)
click to toggle source
argv - Command line arguments.
# File lib/detroit/toolchain/cli.rb, line 32 def self.execute(argv=ARGV) new.execute(*argv) end
new()
click to toggle source
Run the command line interface.
# File lib/detroit/toolchain/cli.rb, line 37 def initialize @options = { :toolchains => [], :assembly => nil, :trace => nil, :trial => nil, :debug => nil, :quiet => nil, :verbose => nil, :force => nil, :multitask => nil, :skip => [] } end
Public Instance Methods
application(options={})
click to toggle source
Returns Runner
instance given options.
# File lib/detroit/toolchain/cli.rb, line 85 def application(options={}) Runner.new(options) end
assembly()
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 115 def assembly @options[:assembly] end
assembly=(name)
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 120 def assembly=(name) @options[:assembly] = name.to_sym end
execute(*argv)
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 53 def execute(*argv) #if /\.assembly$/ =~ argv[0] # job = argv[1] # begin # application(cli_options).runscript(argv[0], job) # rescue => error # $stderr.puts error.message # exit -1 # end #else option_parser.parse!(argv) if argv.empty? # TODO: What about a defualt destination, e.g. test? $stderr.puts "No assembly destination given." exit -1 end if $DEBUG application(options).start(*argv) else begin application(options).start(*argv) rescue => error $stderr.puts error.message exit -1 end end end
force()
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 125 def force @options[:force] end
force=(boolean)
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 130 def force=(boolean) @options[:force] = !!boolean end
multitask()
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 105 def multitask @options[:multitask] end
multitask=(boolean)
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 110 def multitask=(boolean) @options[:multitask] = !!boolean end
option_assembly()
click to toggle source
@return [void]
# File lib/detroit/toolchain/cli.rb, line 214 def option_assembly usage.on('-a', '--assembly=NAME', "Select assembly. Default is `standard'.") do |a| self.assembly = a end end
option_config()
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 309 def option_config usage.on_tail('-c', '--config TOOL', "Produce a configuration template.") do |tool| puts application.config_template(tool).to_yaml exit end end
option_debug()
click to toggle source
@return [void]
# File lib/detroit/toolchain/cli.rb, line 283 def option_debug usage.on('--debug', "Run with $DEBUG set to true.") do $DEBUG = true end end
option_force()
click to toggle source
@return [void]
# File lib/detroit/toolchain/cli.rb, line 267 def option_force usage.on('-F', '--force', "Force operations.") do self.force = true end end
option_help()
click to toggle source
@return [void]
# File lib/detroit/toolchain/cli.rb, line 297 def option_help usage.on_tail('--help [TOOL]', "Display this help message.") do |tool| if tool application.display_help(tool) else puts usage end exit end end
option_loadpath()
click to toggle source
@return [void]
# File lib/detroit/toolchain/cli.rb, line 274 def option_loadpath usage.on('-I=PATH', "Add directory to $LOAD_PATH") do |dirs| dirs.to_list.each do |dir| $LOAD_PATH.unshift(dir) end end end
option_multitask()
click to toggle source
@return [void]
# File lib/detroit/toolchain/cli.rb, line 207 def option_multitask usage.on('-m', '--multitask', "Run work elements in parallel.") do self.multitask = true end end
option_parser()
click to toggle source
Create command line option parser.
# File lib/detroit/toolchain/cli.rb, line 175 def option_parser usage_banner option_multitask option_assembly option_toolchain option_skip option_trial option_trace option_loadpath option_force option_verbose option_quiet option_config option_debug option_warn option_help usage end
option_quiet()
click to toggle source
@return [void]
# File lib/detroit/toolchain/cli.rb, line 260 def option_quiet usage.on('-q', '--quiet', "Run silently.") do self.quiet = true end end
option_skip()
click to toggle source
@return [void]
# File lib/detroit/toolchain/cli.rb, line 228 def option_skip usage.on('-S', '--skip [NAME]', 'Skip a tool instance.') do |skip| self.skip << skip end end
option_toolchain()
click to toggle source
@return [void]
# File lib/detroit/toolchain/cli.rb, line 221 def option_toolchain usage.on('-t', '--toolchain [FILE]', 'Use specific toolchain file(s).') do |file| self.toolchains << file end end
option_trace()
click to toggle source
@return [void]
# File lib/detroit/toolchain/cli.rb, line 243 def option_trace usage.on('--trace', "Run in TRACE mode.") do #$TRACE = true self.trace = true end end
option_trial()
click to toggle source
@return [void]
# File lib/detroit/toolchain/cli.rb, line 235 def option_trial usage.on('--trial', "Run in TRIAL mode (no disk writes).") do #$TRIAL = true self.trial = true end end
option_verbose()
click to toggle source
@todo Do we really need verbose?
@return [void]
# File lib/detroit/toolchain/cli.rb, line 253 def option_verbose usage.on('--verbose', "Provide extra output.") do self.verbose = true end end
option_warn()
click to toggle source
@return [void]
# File lib/detroit/toolchain/cli.rb, line 290 def option_warn usage.on('--warn', "Run with $VERBOSE set to true.") do $VERBOSE = true # wish this were called $WARN end end
options()
click to toggle source
Command line options.
# File lib/detroit/toolchain/cli.rb, line 90 def options @options end
quiet()
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 155 def quiet @options[:quiet] end
quiet=(boolean)
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 160 def quiet=(boolean) @options[:quiet] = !!boolean end
skip()
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 100 def skip @options[:skip] end
toolchains()
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 95 def toolchains @options[:toolchains] end
trace()
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 145 def trace @options[:trace] end
trace=(boolean)
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 150 def trace=(boolean) @options[:trace] = !!boolean end
trial()
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 135 def trial @options[:trial] end
trial=(boolean)
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 140 def trial=(boolean) @options[:trial] = !!boolean end
usage()
click to toggle source
Cached instance of OptionParser.
@return [OptionParser]
# File lib/detroit/toolchain/cli.rb, line 197 def usage @usage ||= OptionParser.new end
verbose()
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 165 def verbose @options[:quiet] end
verbose=(boolean)
click to toggle source
# File lib/detroit/toolchain/cli.rb, line 170 def verbose=(boolean) @options[:verbose] = !!boolean end