65 lines
2.3 KiB
Ruby
65 lines
2.3 KiB
Ruby
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'
|