Sha256: dc6c26ab5b62240dceb45fa71982da648b893acea28b03bce70c4060a81a9121
Contents?: true
Size: 1.91 KB
Versions: 3
Compression:
Stored size: 1.91 KB
Contents
require "rscons" require "optparse" module Rscons # Command-Line Interface functionality. module Cli # Default files to look for to execute if none specified. DEFAULT_RSCONSFILES = %w[Rsconsfile Rsconsfile.rb] class << self # Run the Rscons CLI. # # @param argv [Array] # Command-line parameters. # # @return [void] def run(argv) argv = argv.dup rsconsfile = nil OptionParser.new do |opts| opts.banner = "Usage: #{$0} [options]" opts.separator "" opts.separator "Options:" opts.on("-c", "--clean", "Perform clean operation") do Rscons.clean exit 0 end opts.on("-f FILE", "Execute FILE (default Rsconsfile)") do |f| rsconsfile = f end opts.on("-j NTHREADS", "Use NTHREADS parallel jobs (local default #{Rscons.n_threads})") do |n_threads| Rscons.n_threads = n_threads.to_i end opts.on_tail("--version", "Show version") do puts "Rscons version #{Rscons::VERSION}" exit 0 end opts.on_tail("-h", "--help", "Show this help.") do puts opts exit 0 end end.parse!(argv) if rsconsfile unless File.exists?(rsconsfile) $stderr.puts "Cannot read #{rsconsfile}" exit 1 end else rsconsfile = DEFAULT_RSCONSFILES.find do |f| File.exists?(f) end unless rsconsfile $stderr.puts "Could not find the Rsconsfile to execute." $stderr.puts "Looked in: [#{DEFAULT_RSCONSFILES.join(", ")}]" exit 1 end end begin load rsconsfile rescue Rscons::BuildError => e $stderr.puts e.message exit 1 end exit 0 end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rscons-1.11.1 | lib/rscons/cli.rb |
rscons-1.11.0 | lib/rscons/cli.rb |
rscons-1.10.0 | lib/rscons/cli.rb |