Sha256: 32ce6e46103f823c3a9178aca18f0c0c082168b57739d3ec60b8e7c68483a265

Contents?: true

Size: 1.97 KB

Versions: 1

Compression:

Stored size: 1.97 KB

Contents

require_relative('./environment.rb')
require_relative('./console.rb')

class Publish < Array

  def initialize
    #if(Environment.scm=='git')
	#  artifacts=Artifacts.new
	#  artifacts.each {|artifact|
	#    dest_dir = Environment.dev_root + "/dep/" + Environment.relative_directory + '/' + Environment.branch 
	#    dest = dest_dir + "/" + artifact
	#	dest_dir=File.dirname(dest)
	#	self.add "<%FileUtils.mkdir_p('#{dest_dir}')%>" if (!Dir.exists?(dest_dir))
	#	self.add "<%FileUtils.cp('#{artifact}','#{dest}')%>"
	#  }
	#end
  end

  def update
    if(defined?(DEV_TASKS))
	  if(DEV_TASKS).has_key?(:publish_path)
	    if(DEV_TASKS[:publish_path].include?('svn://'))
		  latestRev=Environment.svn_latest_revision 
		  svn_publish_uri="#{DEV_TASKS[:publish_path]}/#{DEV_TASKS[:relative_directory]}-#{latestRev}"
		  local_dir="#{Environment.dev_root}/tmp/#{DEV_TASKS[:relative_directory]}@#{latestRev}"
		  FileUtils.mkdir_p(File.dirname(local_dir)) if(!File.exists?(File.dirname(local_dir)))
		  dep_dir="#{Environment.dev_root}/dep/#{DEV_TASKS[:relative_directory]}@#{latestRev}"
		  svn_info=`svn info #{svn_publish_uri} 2>&1`
		  if(svn_info.include?('URL:'))
		    Console.debug "#{svn_publish_uri} already exists."
		  else
		    Console.debug "adding publish commands.."
		    add "svn mkdir #{svn_publish_uri} --parents -m\"publish\""
			add "svn checkout #{svn_publish_uri} #{local_dir}"
			Dir.glob(DEV_TASKS[:files][:artifact]).each{|a|
			  f="#{Environment.dev_root}/tmp/#{a}"
			  dest_dir=File.dirname("#{local_dir}/#{a}")
			  Console.debug "dest_dir=#{dest_dir}"
			  add "<%FileUtils.mkdir_p('#{dest_dir}') if !File.exists?('#{dest_dir}')%>"
			  add "<%FileUtils.cp('#{dep_dir}/#{a}','#{local_dir}/#{a}') if File.exists?('#{dep_dir}/#{a}')%>"
			  add "svn add #{local_dir}/#{a} --parents"
			}
			add "svn commit #{local_dir} -m\"publish\""
		  end
		end
	  end
	end
  end

  def add command
    self << command if(!include?(command))
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dev_tasks-0.0.146 lib/publish.rb