Sha256: 1686f8820b2beb70bcf3f121c44dd5859bc1ea18f9eb9634bde1cf2363c06c3c

Contents?: true

Size: 1.36 KB

Versions: 10

Compression:

Stored size: 1.36 KB

Contents

module Dev
module Cmd
class DeepPull
  def self.execute

    puts "checking dependencies in #{DEV[:directory]}"
    # loop over each DEP with dir: NAME@REVISION format
    DEV[:dep].each {|key,value|
	  if(value.has_key?(:dir) && value[:dir].include?('@'))
	    
		# make sure working directory exist
		dep_wrk_dir="#{DEV[:dev_root]}/wrk/#{value[:dir].gsub(/@[\d]+/,'')}"
		dep_uri="#{value[:uri].gsub('@REV','')}"

		puts "#{dep_wrk_dir}"

		if(File.exists?(dep_wrk_dir))
		  Dir.chdir(dep_wrk_dir){|dir|
		    call=Dev::SystemCall.new('svn update')
			call.puts_summary
		  }
		else
		  call=Dev::SystemCall.new("svn co #{dep_uri} #{dep_wrk_dir}")
		  call.puts_summary
		end
	    
		if(value.has_key?(:rake))
		  task=value[:rake]
		  Dir.chdir(dep_wrk_dir){ |dir|
		     original_text = File.read("#{dep_wrk_dir}/rakefile.rb")
		     call=Dev::SystemCall.new('rake deep_pull')
		     call.puts_summary
		     current_text = File.read("#{dep_wrk_dir}/rakefile.rb")
		     if(original_text != current_text)
			   if(task=='default')
			     call=Dev::SystemCall.new('rake setup')
			     call.puts_summary2(false)
			   end
		       call=Dev::SystemCall.new("rake #{task}")
			   call.puts_summary
		     end
		  }
		end
	  end
	}

	# shallow pull in this 
	puts ""
	Pull.execute

  end
end # class DeepPull
end # module Cmd
end # module Dev

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
dev-1.0.241 lib/dev/cmd/DeepPull.rb
dev-1.0.240 lib/dev/cmd/DeepPull.rb
dev-1.0.239 lib/dev/cmd/DeepPull.rb
dev-1.0.238 lib/dev/cmd/DeepPull.rb
dev-1.0.237 lib/dev/cmd/DeepPull.rb
dev-1.0.236 lib/dev/cmd/DeepPull.rb
dev-1.0.235 lib/dev/cmd/DeepPull.rb
dev-1.0.233 lib/dev/cmd/DeepPull.rb
dev-1.0.232 lib/dev/cmd/DeepPull.rb
dev-1.0.231 lib/dev/cmd/DeepPull.rb