diff --git a/Rakefile b/Rakefile index 30bff1a99..eade6901e 100644 --- a/Rakefile +++ b/Rakefile @@ -1,8 +1,27 @@ require 'rake' require 'rake/testtask' -desc 'Default: run unit tests.' -task :default => :test +begin + require 'jeweler' + Jeweler::Tasks.new do |s| + s.name = "rubber" + s.summary = "A capistrano plugin for managing multi-instance deployments to the cloud (ec2)" + s.email = "matt@conwaysplace.com" + s.homepage = "http://github.com/wr0ngway/rubber" + s.description = "The rubber plugin enables relatively complex multi-instance deployments of RubyOnRails applications to AmazonŐs Elastic Compute Cloud (EC2). Like capistrano, rubber is role based, so you can define a set of configuration files for a role and then assign that role to as many concrete instances as needed. One can also assign multiple roles to a single instance. This lets one start out with a single ec2 instance (belonging to all roles), and add new instances into the mix as needed to scale specific facets of your deployment, e.g. adding in instances that serve only as an 'app' role to handle increased app server load." + s.rubyforge_project = 'rubber' + s.authors = ["Matt Conway"] + s.files = FileList["[A-Z]*", "{generators,lib,recipes}/**/*"] + s.add_dependency 'capistrano' + s.add_dependency 'amazon-ec2' + s.add_dependency 'aws-s3' + s.add_dependency 'nettica' + s.add_dependency 'httparty' + end + Jeweler::RubyforgeTasks.new +rescue LoadError + puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com" +end desc 'Test the rubber plugin.' Rake::TestTask.new(:test) do |t| @@ -11,3 +30,7 @@ Rake::TestTask.new(:test) do |t| t.pattern = 'test/**/*_test.rb' t.verbose = true end + +desc 'Default: run unit tests.' +task :default => :test + diff --git a/VERSION b/VERSION new file mode 100644 index 000000000..ac39a106c --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +0.9.0 diff --git a/generators/vulcanize/templates/base/lib/tasks/rubber.rake b/generators/vulcanize/templates/base/lib/tasks/rubber.rake new file mode 100644 index 000000000..c0ef771ad --- /dev/null +++ b/generators/vulcanize/templates/base/lib/tasks/rubber.rake @@ -0,0 +1,3 @@ +require 'rubber' +Rubber::initialize(File.dirname(__FILE__) + '../../', (ENV['RAILS_ENV'] ||= 'development')) +require 'rubber/tasks/rubber.rake' diff --git a/lib/tasks/rubber.rake b/lib/rubber/tasks/rubber.rake similarity index 97% rename from lib/tasks/rubber.rake rename to lib/rubber/tasks/rubber.rake index 85d939031..c3d38172c 100644 --- a/lib/tasks/rubber.rake +++ b/lib/rubber/tasks/rubber.rake @@ -1,13 +1,8 @@ -# Since the rake task is typically done outside rails env, we setup load -# path to include the lib dir -$:.unshift "#{File.dirname(__FILE__)}/.." - require 'fileutils' require 'date' require 'time' require 'rubber' -Rubber::initialize(File.dirname(__FILE__), (ENV['RAILS_ENV'] ||= 'production')) namespace :rubber do