diff options
author | John Mair <jrmair@gmail.com> | 2010-12-17 02:58:01 +1300 |
---|---|---|
committer | John Mair <jrmair@gmail.com> | 2010-12-17 02:58:01 +1300 |
commit | 2895bb245fd216be96da6e4d6b9e361248934450 (patch) | |
tree | bd0a0480b25a3eb11f1aba0ef9fc2825a4a16d3b /Rakefile | |
download | method_source-2895bb245fd216be96da6e4d6b9e361248934450.tar.gz |
first commit
Diffstat (limited to 'Rakefile')
-rw-r--r-- | Rakefile | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..4edeaac --- /dev/null +++ b/Rakefile @@ -0,0 +1,57 @@ +dlext = Config::CONFIG['DLEXT'] +direc = File.dirname(__FILE__) + +require 'rake/clean' +require 'rake/gempackagetask' +require "#{direc}/lib/method_source/version" + +CLOBBER.include("**/*.#{dlext}", "**/*~", "**/*#*", "**/*.log", "**/*.o") +CLEAN.include("ext/**/*.#{dlext}", "ext/**/*.log", "ext/**/*.o", + "ext/**/*~", "ext/**/*#*", "ext/**/*.obj", + "ext/**/*.def", "ext/**/*.pdb", "**/*_flymake*.*", "**/*_flymake") + +def apply_spec_defaults(s) + s.name = "method_source" + s.summary = "retrieve the sourcecode for a method" + s.version = MethodSource::VERSION + s.date = Time.now.strftime '%Y-%m-%d' + s.author = "John Mair (banisterfiend)" + s.email = 'jrmair@gmail.com' + s.description = s.summary + s.require_path = 'lib' + s.homepage = "http://banisterfiend.wordpress.com" + s.has_rdoc = 'yard' + s.files = Dir["ext/**/extconf.rb", "ext/**/*.h", "ext/**/*.c", "lib/**/*.rb", + "test/*.rb", "CHANGELOG", "README.markdown", "Rakefile"] +end + +task :test do + sh "bacon -k #{direc}/test/test.rb" +end + +namespace :ruby do + spec = Gem::Specification.new do |s| + apply_spec_defaults(s) + s.platform = Gem::Platform::RUBY + end + + Rake::GemPackageTask.new(spec) do |pkg| + pkg.need_zip = false + pkg.need_tar = false + end +end + +desc "build all platform gems at once" +task :gems => [:rmgems, "ruby:gem"] + +desc "remove all platform gems" +task :rmgems => ["ruby:clobber_package"] + +desc "build and push latest gems" +task :pushgems => :gems do + chdir("#{direc}/pkg") do + Dir["*.gem"].each do |gemfile| + sh "gem push #{gemfile}" + end + end +end |