lib/dev/Commands.rb in dev-1.0.146 vs lib/dev/Commands.rb in dev-1.0.147

- old
+ new

@@ -1,131 +1,40 @@ -require_relative 'cmd/Compile.rb' +["Compile","Replace","Setup","Test","Commit","Info","Update","Pull"].each{ |f| require_relative("cmd/#{f}.rb") } + module Dev class Commands < Hash def initialize + self[:setup]=Dev::Cmd::Setup.new + self[:replace]=Dev::Cmd::Replace.new + self[:compile]=Dev::Cmd::Compile.new + self[:test]=Dev::Cmd::Test.new + self[:commit]=Dev::Cmd::Commit.new + self[:update]=Dev::Cmd::Update.new + self[:pull]=Dev::Cmd::Pull.new refresh end def refresh puts_debug "Dev::Command.refresh" - self.delete :setup if self.has_key? :setup - #self.delete :compile if self.has_key? :compile - ["add","pull","setup","compile","test","features","commit","update"].each { |key| - if self.has_key?(key.to_sym) - puts_debug "CMD has key #{key}" - else - value=get_default_value(key.to_sym) - self[key.to_sym]=value if !value.nil? - puts_debug "CMD[#{(key.to_sym).to_s}]=#{value.to_s}" if !value.nil? - puts_debug "default value for #{key} was nil" - end - } + self[:setup].refresh(DEV[:dep]) if self[:setup].respond_to?("refresh") + self[:replace].refresh(DEV[:dep]) if self[:replace].respond_to?("refresh") + self[:compile].refresh if self[:compile].respond_to?("refresh") + self[:test].refresh if self[:test].respond_to?("refresh") + self[:commit].refresh if self[:commit].respond_to?("refresh") + self[:update].refresh if self[:update].respond_to?("refresh") + self[:pull].refresh if self[:pull].respond_to?("refresh") end - def get_default_value(key) - return get_default_value_setup if key==:setup - return get_default_value_commit if key==:commit - return get_default_value_test if key==:test - return Dev::Cmd::Compile.get_auto_compile_directives if key==:compile - return get_default_value_update if key==:update - return get_default_value_pull if key==:pull - nil - end - - def get_default_value_commit - array=Array.new - array << 'git commit -a -m "rake commit all"' if File.exists?(".git") - array << 'svn commit -m "rake commit all"' if File.exists?(".svn") - array=nil if array.empty? - return array - end - - def get_default_value_update - array=Array.new - array << 'svn update' if File.exists?(".svn") - array=nil if array.empty? - return array - end - def get_default_value_setup - array=Array.new - puts_debug "assigning default values for setup" - #array << "bundle install" if File.exists?("Gemfile") - array << "{ :cmd=> 'bundle install', :capture_output=> false}" if File.exists?("Gemfile") && "#{RUBY_VERSION}">="1.8.7" - - # dep,svn directives - puts_debug "checking for :dep hash...." - dep_hash=DEV.get_value(:dep) - puts_debug "dep_hash is nil" if dep_hash.nil? - unless dep_hash.nil? - puts_debug "dep_hash is not nil" - puts_debug "dep_hash is empty" if dep_hash.empty? - dep_hash.each do |key,value| - puts_debug ":dep[#{key.to_s}]" - if value.kind_of?(Hash) - dep=Dev::Dep.new(value) - dep.setup_commands.each{|cmd| array << cmd} - end - end - end - - puts_debug "mkdir directives..." - if(!Dir.glob("*.csproj").nil? && Dir.glob("*.csproj").length > 0) - array << "<%Dir.mkdir 'bin' unless File.exist?('bin')%>" - array << "<%Dir.mkdir 'bin/Debug' unless File.exist?('bin/Debug')%>" - array << "<%Dir.mkdir 'bin/Release' unless File.exist?('bin/Release')%>" - end - array=nil if array.empty? - return array - end - - def get_default_value_pull - array=Array.new - # dep,svn directives - dep_hash=DEV.get_value("dep") - unless dep_hash.nil? - dep_hash.each do |key,value| - if value.kind_of?(Hash) - dep=Dev::Dep.new(value) - dep.pull_commands.each{|cmd| array << cmd} - #puts_debug "pull array: " + array.to_s - end - end - end - array=nil if array.empty? - return array - end - - def get_default_value_test - puts_debug "Dev::Commands.get_default_value_test" - array=Array.new - - - array << "rspec --pattern='**/*.spec'" if DEV[:file_count].has_key?(:spec) && DEV[:file_count][:spec] > 0 - - Dir.glob("*.gemspec").each { |gs| - array << "{cmd: 'gem install ./#{gs.gsub('.gemspec','')}-#{DEV[:version]}.gem', capture_output: true}" - #array << "{cmd: 'gem install ./#{gs.gsub('.gemspec','')}-#{DEV[:version]}.gem', capture_output: false}" - #array << "{:cmd=> 'gem install #{gs.gsub('.gemspec','')}-#{DEV[:version]}.gem', :capture_output=> false}" - #array << "gem install ./#{gs.gsub('.gemspec','')}-#{DEV[:version]}.gem" - } #if DEV[:type]=="gem" - - #if self[:type]=="C#" - Dir.glob("*.{Test.csproj,Features.csproj}").each { |cs| - dll_name="bin/x86/Release/#{File.basename(cs,'.csproj')}.dll" - array << "\"<paths,nunit>\" /nologo #{dll_name} /xml:#{dll_name}.nunit-results.xml" if RUBY_PLATFORM.include?("w32") - array << "mono \"<paths,nunit>\" #{dll_name}" if !RUBY_PLATFORM.include?("w32") - } - #end - return array - end - + def info; Dev::Cmd::Info.execute; end def setup; execute_method "setup"; end def compile; execute_method "compile"; end def test; execute_method "test"; end def update;execute_method("update");end - def replace; DEV.replace; end + def replace + self[:replace].execute if self[:replace].respond_to?("execute") + end def execute_method(name) string_name=name.to_s puts_debug "method_missing name=" + string_name @@ -162,30 +71,25 @@ end call.puts_summary end end - def info - puts "DEV" - Hash.print_hash("",DEV) - puts " " - puts "CMD" - Hash.print_hash("",CMD) - puts " " - end + + + def add - unless self[:src_glob].nil? + unless DEV[:src_glob].nil? scm = Dev::Scm.new return if scm.scm_type == "none" - if self[:src_glob].kind_of?(Hash) - self[:src_glob].each do |name,value| + if DEV[:src_glob].kind_of?(Hash) + DEV[:src_glob].each do |name,value| puts " adding files " + value.to_s scm.add_file_glob(value) end else - puts " adding files " + self[:src_glob].to_s - scm.add_file_glob(self[:src_glob]) + puts " adding files " + DEV[:src_glob].to_s + scm.add_file_glob(DEV[:src_glob]) end end end def commit \ No newline at end of file