tasks/ann.rake in bones-1.3.3 vs tasks/ann.rake in bones-1.3.4

- old
+ new

@@ -1,19 +1,19 @@ -# $Id: ann.rake 536 2008-02-18 23:07:49Z tim_pease $ +# $Id$ begin require 'bones/smtp_tls' rescue LoadError require 'net/smtp' end require 'time' namespace :ann do - desc "Create an announcement file" - task :announcement do - File.open('announcement.txt','w') do |fd| + file PROJ.ann_file do + puts "Generating #{PROJ.ann_file}" + File.open(PROJ.ann_file,'w') do |fd| fd.puts("#{PROJ.name} version #{PROJ.version}") fd.puts(" by #{Array(PROJ.authors).first}") if PROJ.authors fd.puts(" #{PROJ.url}") if PROJ.url fd.puts(" (the \"#{PROJ.release_name}\" release)") if PROJ.release_name fd.puts @@ -24,19 +24,22 @@ fd.puts(PROJ.changes.sub(%r/^.*$/, '== CHANGES')) fd.puts PROJ.ann_paragraphs.each do |p| fd.puts "== #{p.upcase}" fd.puts - fd.puts paragraphs_of('README.txt', p).join("\n\n") + fd.puts paragraphs_of(PROJ.readme_file, p).join("\n\n") fd.puts end fd.puts PROJ.ann_text if PROJ.ann_text end end - desc "Send email announcement" - task :email => :announcement do + desc "Create an announcement file" + task :announcement => PROJ.ann_file + + desc "Send an email announcement" + task :email => PROJ.ann_file do from = PROJ.ann_email[:from] || PROJ.email to = Array(PROJ.ann_email[:to]) ### build a mail header for RFC 822 rfc822msg = "From: #{from}\n" @@ -45,11 +48,11 @@ rfc822msg << " (#{PROJ.release_name})" if PROJ.release_name rfc822msg << "\n" rfc822msg << "Date: #{Time.new.rfc822}\n" rfc822msg << "Message-Id: " rfc822msg << "<#{"%.8f" % Time.now.to_f}@#{PROJ.ann_email[:domain]}>\n\n" - rfc822msg << File.read('announcement.txt') + rfc822msg << File.read(PROJ.ann_file) params = [:server, :port, :domain, :acct, :passwd, :authtype].map do |key| PROJ.ann_email[key] end @@ -61,17 +64,13 @@ end ### send email Net::SMTP.start(*params) {|smtp| smtp.sendmail(rfc822msg, from, to)} end - - task :clobber_announcement do - rm 'announcement.txt' rescue nil - end end # namespace :ann desc 'Alias to ann:announcement' task :ann => 'ann:announcement' -task :clobber => %w(ann:clobber_announcement) +CLOBBER << PROJ.ann_file # EOF