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