Class: Publish
- Inherits:
-
Object
- Object
- Publish
- Defined in:
- lib/publish.rb
Overview
< CommandArray
Instance Method Summary collapse
- #add(command) ⇒ Object
-
#initialize ⇒ Publish
constructor
A new instance of Publish.
- #update ⇒ Object
Constructor Details
#initialize ⇒ Publish
Returns a new instance of Publish.
7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/publish.rb', line 7 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 |
Instance Method Details
#add(command) ⇒ Object
47 48 49 |
# File 'lib/publish.rb', line 47 def add command self << command if(!include?(command)) end |
#update ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/publish.rb', line 20 def update Console.debug "Publish.update" if(defined?(DEV_TASKS)) if(DEV_TASKS).has_key?(:publish_path) if(DEV_TASKS[:publish_path].include?('svn://') || DEV_TASKS[:publish_path].include?('file:///')) 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}" add "<%Environment.copy_files(DEV_TASKS[:files][:artifact],'#{local_dir}')%>" add "<%Environment.svn_add_all('#{local_dir}')%>" add "svn commit #{local_dir}@ -m\"publish\"" add "<%FileUtils.rm_r('#{local_dir}')%>" end end end end end |