require 'rubygems' require 'rake/gempackagetask' require 'rubygems/specification' require 'date' require 'spec/rake/spectask' require File.expand_path("lib/ey-deploy/version", File.dirname(__FILE__)) GEM = "ey-deploy" GEM_VERSION = EY::VERSION AUTHOR = "EY Cloud Team" EMAIL = "cloud@engineyard.com" HOMEPAGE = "http://engineyard.com" SUMMARY = "A gem that deploys ruby applications on EY Cloud instances" spec = Gem::Specification.new do |s| s.name = GEM s.version = GEM_VERSION s.platform = Gem::Platform::RUBY s.has_rdoc = true s.extra_rdoc_files = ["README.rdoc", "LICENSE", 'TODO'] s.summary = SUMMARY s.description = s.summary s.author = AUTHOR s.email = EMAIL s.homepage = HOMEPAGE s.bindir = "bin" s.executables = %w(eysd) bundle = Bundler::Definition.from_gemfile('Gemfile') bundle.dependencies.each do |dep| next unless dep.groups.include?(:runtime) s.add_dependency(dep.name, dep.version_requirements.to_s) end s.require_path = 'lib' s.autorequire = GEM s.files = %w(LICENSE README.rdoc Rakefile TODO) + Dir.glob("{lib,spec}/**/*") end task :default => :spec desc "Run specs" Spec::Rake::SpecTask.new do |t| t.spec_files = FileList['spec/**/*_spec.rb'] t.spec_opts = %w(-fs --color) end Rake::GemPackageTask.new(spec) do |pkg| pkg.gem_spec = spec end desc "install the gem locally" task :install => [:package] do sh %{sudo gem install pkg/#{GEM}-#{GEM_VERSION}} end desc "create a gemspec file" task :make_spec do File.open("#{GEM}.gemspec", "w") do |file| file.puts spec.to_ruby end end