Module: Depengine::CLI
- Defined in:
- lib/depengine/cli.rb
Class Method Summary collapse
- .evaluate_recipe!(recipe) ⇒ Object
-
.run(args, _input = $stdin, _output = $stdout, error = $stderr) ⇒ Object
:nodoc:.
Class Method Details
.evaluate_recipe!(recipe) ⇒ Object
49 50 51 |
# File 'lib/depengine/cli.rb', line 49 def evaluate_recipe!(recipe) eval(recipe) # rubocop:disable Lint/Eval end |
.run(args, _input = $stdin, _output = $stdout, error = $stderr) ⇒ Object
:nodoc:
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/depengine/cli.rb', line 4 def run(args, _input = $stdin, _output = $stdout, error = $stderr) #:nodoc: @deploy_home = '.' @recipe_name = 'recipe/deploy.rb' args_size = args.size args. do |o| o. = "Usage: #{File.basename($PROGRAM_NAME)} [options]" o.separator '' o.on('-n', '--new [some_path]', 'create a new empty recipe directory structure') do |path| require_relative('helper/cli_helper') extend CLIHelper setup_new_recipe(path || '.') end o.on('-h', '--deployhome [DIRNAME]', 'Home of deployments.') do |dname| set :deploy_home, dname end o.on('-b', '--recipe-base-dir [DIRNAME]', 'Home of recipes. This takes precedence over --deployhome for recipe location.') do |dname| set :recipe_base_dir, dname end o.on('-r', '--recipe [FILENAME]', 'Filename of the recipe.') do |fname| @recipe_name = fname end o.on('-e', '--env [ENVNAME]', 'Environment name.') do |ename| set :env, ename end o.on('-t', '--maven_test_switch [SWITCH]', 'Disable mvn tests.') do |tname| set :maven_test_switch, tname end o.on('-v', '--version [VERSION]', 'Version.') do |vname| set :version, vname end o.parse! end unless args_size > 2 error << args. return 127 end recipe_filename = File.join(($recipe_config[:recipe_base_dir] || $recipe_config[:deploy_home]), @recipe_name) puts "Evaluating recipe #{recipe_filename}" evaluate_recipe!(File.open(recipe_filename).read) 0 end |