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