From 8bf0815a595ee755d91ca013572dd7911844d5db Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 18 Aug 2012 08:16:23 +0000 Subject: Rakefile: update fm_update task for freecode.com freshmeat is now freecode, and requires HTTPS --- Rakefile | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/Rakefile b/Rakefile index 27ba42f..1b29396 100644 --- a/Rakefile +++ b/Rakefile @@ -76,12 +76,15 @@ task :fm_update do require 'net/netrc' require 'json' version = ENV['VERSION'] or abort "VERSION= needed" - uri = URI.parse('http://freshmeat.net/projects/local-openid/releases.json') + uri = URI.parse('https://freecode.com/projects/local-openid/releases.json') rc = Net::Netrc.locate('local-openid-fm') or abort "~/.netrc not found" api_token = rc.password - changelog = tags.find { |t| t[:tag] == "v#{version}" }[:body] + _, subject, body = `git cat-file tag v#{version}`.split(/\n\n/, 3) tmp = Tempfile.new('fm-changelog') - tmp.syswrite(changelog) + tmp.puts subject + tmp.puts + tmp.puts body + tmp.flush system(ENV["VISUAL"], tmp.path) or abort "#{ENV["VISUAL"]} failed: #$?" changelog = File.read(tmp.path).strip @@ -93,7 +96,12 @@ task :fm_update do "changelog" => changelog, }, }.to_json - Net::HTTP.start(uri.host, uri.port) do |http| - p http.post(uri.path, req, {'Content-Type'=>'application/json'}) + + if ! changelog.strip.empty? && version =~ %r{\A[\d\.]+\d+\z} + Net::HTTP.start(uri.host, uri.port, :use_ssl => true) do |http| + p http.post(uri.path, req, {'Content-Type'=>'application/json'}) + end + else + warn "not updating freshmeat for v#{version}" end end -- cgit v1.2.3-24-ge0c7