require 'rubygems' require 'rake' require 'rake/clean' require 'rake/testtask' require 'rake/rdoctask' require 'rake/packagetask' require 'rake/gempackagetask' require 'rake/contrib/rubyforgepublisher' require 'fileutils' require 'hoe' include FileUtils require File.join(File.dirname(__FILE__), 'lib', 'composite_primary_keys', 'version') AUTHOR = "Dr Nic Williams" EMAIL = "drnicwilliams@gmail.com" DESCRIPTION = "Composite key support for ActiveRecords" GEM_NAME = "composite_primary_keys" # what ppl will type to install your gem if File.exists?("~/.rubyforge/user-config.yml") # TODO this should prob go in a local/ file config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml"))) RUBYFORGE_USERNAME = config["username"] end RUBYFORGE_PROJECT = "compositekeys" HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org" REV = nil #File.read(".svn/entries")[/committed-rev="(\d+)"/, 1] rescue nil VERS = ENV['VERSION'] || (CompositePrimaryKeys::VERSION::STRING + (REV ? ".#{REV}" : "")) CLEAN.include ['**/.*.sw?', '*.gem', '.config','debug.log','*.db','logfile','log/**/*','**/.DS_Store', '.project'] RDOC_OPTS = ['--quiet', '--title', "newgem documentation", "--opname", "index.html", "--line-numbers", "--main", "README", "--inline-source"] class Hoe def extra_deps @extra_deps.reject { |x| Array(x).first == 'hoe' } 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.author = AUTHOR p.description = DESCRIPTION p.email = EMAIL p.summary = DESCRIPTION p.url = HOMEPATH p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT p.test_globs = ["test/**/test*.rb"] p.clean_globs |= CLEAN #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 = [['activerecord', '>= 2.2.0']] #An array of rubygem 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 hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc') PROJECT_ROOT = File.expand_path(".") require 'loader'