summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2015-02-02 16:41:12 -0800
committerelijah <elijah@riseup.net>2015-02-02 16:41:12 -0800
commitc7d5c2798f47ed0a06f0ef57908c556580f72f9c (patch)
tree9639aa60ffb5229344fe677c2fadfeadcafb2597 /lib
parent406a5bc18a5e5733d081c785984f06ad730a8dba (diff)
more verbose --version (closes #4428)
Diffstat (limited to 'lib')
-rw-r--r--lib/leap_cli/commands/pre.rb69
-rw-r--r--lib/leap_cli/leapfile.rb7
2 files changed, 45 insertions, 31 deletions
diff --git a/lib/leap_cli/commands/pre.rb b/lib/leap_cli/commands/pre.rb
index 055f3a1..74d7e62 100644
--- a/lib/leap_cli/commands/pre.rb
+++ b/lib/leap_cli/commands/pre.rb
@@ -28,57 +28,66 @@ module LeapCli; module Commands
switch 'color', :negatable => true
pre do |global,command,options,args|
- #
+ initialize_leap_cli(true, global)
+ true
+ end
+
+ protected
+
+ #
+ # available options:
+ # :verbose -- integer log verbosity level
+ # :log -- log file path
+ # :color -- true or false, to log in color or not.
+ #
+ def initialize_leap_cli(require_provider, options={})
# set verbosity
- #
- LeapCli.set_log_level(global[:verbose].to_i)
+ options[:verbose] ||= 1
+ LeapCli.set_log_level(options[:verbose].to_i)
- #
# load Leapfile
- #
- unless LeapCli.leapfile.load
+ LeapCli.leapfile.load
+ if LeapCli.leapfile.valid?
+ Path.set_platform_path(LeapCli.leapfile.platform_directory_path)
+ Path.set_provider_path(LeapCli.leapfile.provider_directory_path)
+ if !Path.provider || !File.directory?(Path.provider)
+ bail! { log :missing, "provider directory '#{Path.provider}'" }
+ end
+ if !Path.platform || !File.directory?(Path.platform)
+ bail! { log :missing, "platform directory '#{Path.platform}'" }
+ end
+ elsif require_provider
bail! { log :missing, 'Leapfile in directory tree' }
end
- Path.set_platform_path(LeapCli.leapfile.platform_directory_path)
- Path.set_provider_path(LeapCli.leapfile.provider_directory_path)
- if !Path.provider || !File.directory?(Path.provider)
- bail! { log :missing, "provider directory '#{Path.provider}'" }
- end
- if !Path.platform || !File.directory?(Path.platform)
- bail! { log :missing, "platform directory '#{Path.platform}'" }
- end
- #
# set log file
- #
- LeapCli.log_file = global[:log] || LeapCli.leapfile.log
+ LeapCli.log_file = options[:log] || LeapCli.leapfile.log
LeapCli::Util.log_raw(:log) { $0 + ' ' + ORIGINAL_ARGV.join(' ')}
log_version
- LeapCli.log_in_color = global[:color]
-
- true
+ LeapCli.log_in_color = options[:color]
end
- private
-
#
# add a log entry for the leap command and leap platform versions
#
def log_version
if LeapCli.log_level >= 2
str = "leap command v#{LeapCli::VERSION}"
- cli_dir = File.dirname(__FILE__)
- if Util.is_git_directory?(cli_dir)
- str << " (%s %s)" % [Util.current_git_branch(cli_dir), Util.current_git_commit(cli_dir)]
+ if Util.is_git_directory?(LEAP_CLI_BASE_DIR)
+ str << " (%s %s)" % [Util.current_git_branch(LEAP_CLI_BASE_DIR),
+ Util.current_git_commit(LEAP_CLI_BASE_DIR)]
+ else
+ str << " (%s)" % LEAP_CLI_BASE_DIR
end
log 2, str
- str = "leap platform v#{Leap::Platform.version}"
- if Util.is_git_directory?(Path.platform)
- str << " (%s %s)" % [Util.current_git_branch(Path.platform), Util.current_git_commit(Path.platform)]
+ if LeapCli.leapfile.valid?
+ str = "leap platform v#{Leap::Platform.version}"
+ if Util.is_git_directory?(Path.platform)
+ str << " (%s %s)" % [Util.current_git_branch(Path.platform), Util.current_git_commit(Path.platform)]
+ end
+ log 2, str
end
- log 2, str
end
end
-
end; end
diff --git a/lib/leap_cli/leapfile.rb b/lib/leap_cli/leapfile.rb
index 8895f4d..7aaf10f 100644
--- a/lib/leap_cli/leapfile.rb
+++ b/lib/leap_cli/leapfile.rb
@@ -72,7 +72,8 @@ module LeapCli
unless @platform_branch.nil?
Util::log 0, :warning, "in Leapfile: @platform_branch is no longer supported."
end
- return true
+ @valid = true
+ return @valid
end
end
@@ -84,6 +85,10 @@ module LeapCli
edit_leaprc(property)
end
+ def valid?
+ !!@valid
+ end
+
private
#