Permalink
Browse files

Moving to Echoe from newgem.

  • Loading branch information...
1 parent ec274f2 commit 4a7f25d2240671ebfcc565316dc3a5b1b265c5fd @jnunemaker committed Dec 5, 2008
File renamed without changes.
View
@@ -1,11 +1,42 @@
-require 'config/requirements'
-require 'config/hoe' # setup Hoe + all gem configuration
-require "spec/rake/spectask"
+ProjectName = 'httparty'
+WebsitePath = "jnunemaker@rubyforge.org:/var/www/gforge-projects/#{ProjectName}"
-Dir['tasks/**/*.rake'].each { |rake| load rake }
+require 'rubygems'
+require 'rake'
+require 'echoe'
+require 'spec/rake/spectask'
+require "lib/#{ProjectName}/version"
-task :default => :spec
+Echoe.new(ProjectName, HTTParty::Version) do |p|
+ p.description = "Makes http fun! Also, makes consuming restful web services dead easy."
+ p.url = "http://#{ProjectName}.rubyforge.org"
+ p.author = "John Nunemaker"
+ p.email = "nunemaker@gmail.com"
+ p.extra_deps = [['activesupport', '>= 2.1']]
+ p.need_tar_gz = false
+ p.docs_host = WebsitePath
+end
+
+desc 'Upload website files to rubyforge'
+task :website do
+ sh %{rsync -av website/ #{WebsitePath}}
+ Rake::Task['website_docs'].invoke
+end
+
+task :website_docs do
+ Rake::Task['redocs'].invoke
+ sh %{rsync -av doc/ #{WebsitePath}/docs}
+end
+desc 'Preps the gem for a new release'
+task :prepare do
+ %w[manifest build_gemspec].each do |task|
+ Rake::Task[task].invoke
+ end
+end
+
+Rake::Task[:default].prerequisites.clear
+task :default => :spec
Spec::Rake::SpecTask.new do |t|
t.spec_files = FileList["spec/**/*_spec.rb"]
end
View
@@ -1,73 +0,0 @@
-require 'httparty/version'
-
-AUTHOR = 'John Nunemaker' # can also be an array of Authors
-EMAIL = "nunemaker@gmail.com"
-DESCRIPTION = "Makes http fun! Also, makes consuming restful web services dead easy."
-GEM_NAME = 'httparty' # what ppl will type to install your gem
-RUBYFORGE_PROJECT = 'httparty' # The unix name for your project
-HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
-DOWNLOAD_PATH = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
-EXTRA_DEPENDENCIES = [
- ['activesupport', '>= 2.1']
-] # An array of rubygem dependencies [name, version]
-
-@config_file = "~/.rubyforge/user-config.yml"
-@config = nil
-RUBYFORGE_USERNAME = "unknown"
-def rubyforge_username
- unless @config
- begin
- @config = YAML.load(File.read(File.expand_path(@config_file)))
- rescue
- puts <<-EOS
-ERROR: No rubyforge config file found: #{@config_file}
-Run 'rubyforge setup' to prepare your env for access to Rubyforge
- - See http://newgem.rubyforge.org/rubyforge.html for more details
- EOS
- exit
- end
- end
- RUBYFORGE_USERNAME.replace @config["username"]
-end
-
-
-REV = nil
-# UNCOMMENT IF REQUIRED:
-# REV = YAML.load(`svn info`)['Revision']
-VERS = HTTParty::VERSION::STRING + (REV ? ".#{REV}" : "")
-RDOC_OPTS = ['--quiet', '--title', 'httparty documentation',
- "--opname", "index.html",
- "--line-numbers",
- "--main", "README",
- "--inline-source"]
-
-class Hoe
- def extra_deps
- @extra_deps.reject! { |x| Array(x).first == 'hoe' }
- @extra_deps
- end
-end
-
-# Generate all the Rake tasks
-# Run 'rake -T' to see list of generated tasks (from gem root directory)
-$hoe = Hoe.new(GEM_NAME, VERS) do |p|
- p.developer(AUTHOR, EMAIL)
- p.description = DESCRIPTION
- p.summary = DESCRIPTION
- p.url = HOMEPATH
- p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
- p.test_globs = ["test/**/test_*.rb"]
- p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store'] #An array of file patterns to delete on clean.
-
- # == Optional
- p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
- p.extra_deps = EXTRA_DEPENDENCIES
-
- #p.spec_extras = {} # A hash of extra values to set in the gemspec.
- end
-
-CHANGES = $hoe.paragraphs_of('History.txt', 0..1).join("\\n\\n")
-PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "#{RUBYFORGE_PROJECT}/#{GEM_NAME}"
-$hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
-$hoe.rsync_args = '-av --delete --ignore-errors'
-$hoe.spec.post_install_message = File.open(File.dirname(__FILE__) + "/../PostInstall.txt").read rescue ""
View
@@ -1,15 +0,0 @@
-require 'fileutils'
-include FileUtils
-
-require 'rubygems'
-%w[rake hoe newgem rubigen].each do |req_gem|
- begin
- require req_gem
- rescue LoadError
- puts "This Rakefile requires the '#{req_gem}' RubyGem."
- puts "Installation: gem install #{req_gem} -y"
- exit
- end
-end
-
-$:.unshift(File.join(File.dirname(__FILE__), %w[.. lib]))
View
@@ -1,9 +1,3 @@
module HTTParty
- module VERSION #:nodoc:
- MAJOR = 0
- MINOR = 1
- TINY = 8
-
- STRING = [MAJOR, MINOR, TINY].join('.')
- end
-end
+ Version = '0.1.8'
+end
View
@@ -1,10 +0,0 @@
-#!/usr/bin/env ruby
-# File: script/console
-irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
-
-libs = " -r irb/completion"
-# Perhaps use a console_lib to store any extra methods I may want available in the cosole
-# libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
-libs << " -r #{File.dirname(__FILE__) + '/../lib/httparty.rb'}"
-puts "Loading httparty gem"
-exec "#{irb} #{libs} --simple-prompt"
View
@@ -1,14 +0,0 @@
-#!/usr/bin/env ruby
-APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
-
-begin
- require 'rubigen'
-rescue LoadError
- require 'rubygems'
- require 'rubigen'
-end
-require 'rubigen/scripts/destroy'
-
-ARGV.shift if ['--help', '-h'].include?(ARGV[0])
-RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
-RubiGen::Scripts::Destroy.new.run(ARGV)
View
@@ -1,14 +0,0 @@
-#!/usr/bin/env ruby
-APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
-
-begin
- require 'rubigen'
-rescue LoadError
- require 'rubygems'
- require 'rubigen'
-end
-require 'rubigen/scripts/generate'
-
-ARGV.shift if ['--help', '-h'].include?(ARGV[0])
-RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
-RubiGen::Scripts::Generate.new.run(ARGV)
View
@@ -1,82 +0,0 @@
-#!/usr/bin/env ruby
-
-GEM_NAME = 'httparty' # what ppl will type to install your gem
-RUBYFORGE_PROJECT = 'httparty'
-
-require 'rubygems'
-begin
- require 'newgem'
- require 'rubyforge'
-rescue LoadError
- puts "\n\nGenerating the website requires the newgem RubyGem"
- puts "Install: gem install newgem\n\n"
- exit(1)
-end
-require 'redcloth'
-require 'syntax/convertors/html'
-require 'erb'
-require File.dirname(__FILE__) + "/../lib/#{GEM_NAME}/version.rb"
-
-version = HTTParty::VERSION::STRING
-download = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
-
-def rubyforge_project_id
- RubyForge.new.autoconfig["group_ids"][RUBYFORGE_PROJECT]
-end
-
-class Fixnum
- def ordinal
- # teens
- return 'th' if (10..19).include?(self % 100)
- # others
- case self % 10
- when 1: return 'st'
- when 2: return 'nd'
- when 3: return 'rd'
- else return 'th'
- end
- end
-end
-
-class Time
- def pretty
- return "#{mday}#{mday.ordinal} #{strftime('%B')} #{year}"
- end
-end
-
-def convert_syntax(syntax, source)
- return Syntax::Convertors::HTML.for_syntax(syntax).convert(source).gsub(%r!^<pre>|</pre>$!,'')
-end
-
-if ARGV.length >= 1
- src, template = ARGV
- template ||= File.join(File.dirname(__FILE__), '/../website/template.html.erb')
-else
- puts("Usage: #{File.split($0).last} source.txt [template.html.erb] > output.html")
- exit!
-end
-
-template = ERB.new(File.open(template).read)
-
-title = nil
-body = nil
-File.open(src) do |fsrc|
- title_text = fsrc.readline
- body_text_template = fsrc.read
- body_text = ERB.new(body_text_template).result(binding)
- syntax_items = []
- body_text.gsub!(%r!<(pre|code)[^>]*?syntax=['"]([^'"]+)[^>]*>(.*?)</\1>!m){
- ident = syntax_items.length
- element, syntax, source = $1, $2, $3
- syntax_items << "<#{element} class='syntax'>#{convert_syntax(syntax, source)}</#{element}>"
- "syntax-temp-#{ident}"
- }
- title = RedCloth.new(title_text).to_html.gsub(%r!<.*?>!,'').strip
- body = RedCloth.new(body_text).to_html
- body.gsub!(%r!(?:<pre><code>)?syntax-temp-(\d+)(?:</code></pre>)?!){ syntax_items[$1.to_i] }
-end
-stat = File.stat(src)
-created = stat.ctime
-modified = stat.mtime
-
-$stdout << template.result(binding)
View
@@ -1,43 +0,0 @@
-desc 'Preps the gem for a new release'
-task :prep_for_release do
- require 'rio'
- Rake::Task['manifest:refresh'].invoke
- gemspec = %x[rake debug_gem]
- lines = gemspec.split("\n")
- rio('httparty.gemspec') < lines[1, lines.length-1].join("\n")
-end
-
-desc 'Release the website and new gem version'
-task :deploy => [:check_version, :website, :release] do
- puts "Remember to create SVN tag:"
- puts "svn copy svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/trunk " +
- "svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
- puts "Suggested comment:"
- puts "Tagging release #{CHANGES}"
-end
-
-desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
-task :local_deploy => [:website_generate, :install_gem]
-
-task :check_version do
- unless ENV['VERSION']
- puts 'Must pass a VERSION=x.y.z release version'
- exit
- end
- unless ENV['VERSION'] == VERS
- puts "Please update your version.rb to match the release version, currently #{VERS}"
- exit
- end
-end
-
-desc 'Install the package as a gem, without generating documentation(ri/rdoc)'
-task :install_gem_no_doc => [:clean, :package] do
- sh "#{'sudo ' unless Hoe::WINDOZE }gem install pkg/*.gem --no-rdoc --no-ri"
-end
-
-namespace :manifest do
- desc 'Recreate Manifest.txt to include ALL files'
- task :refresh do
- `rake check_manifest | patch -p0 > Manifest.txt`
- end
-end
View
@@ -1,7 +0,0 @@
-task :ruby_env do
- RUBY_APP = if RUBY_PLATFORM =~ /java/
- "jruby"
- else
- "ruby"
- end unless defined? RUBY_APP
-end
View
@@ -1,17 +0,0 @@
-desc 'Generate website files'
-task :website_generate => :ruby_env do
- (Dir['website/**/*.txt'] - Dir['website/version*.txt']).each do |txt|
- sh %{ #{RUBY_APP} script/txt2html #{txt} > #{txt.gsub(/txt$/,'html')} }
- end
-end
-
-desc 'Upload website files to rubyforge'
-task :website_upload do
- host = "#{rubyforge_username}@rubyforge.org"
- remote_dir = "/var/www/gforge-projects/#{PATH}/"
- local_dir = 'website'
- sh %{rsync -aCv #{local_dir}/ #{host}:#{remote_dir}}
-end
-
-desc 'Generate and upload website files'
-task :website => [:website_upload, :publish_docs]

0 comments on commit 4a7f25d

Please sign in to comment.