Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

138 lines (114 sloc) 3.415 kb
require 'rake/clean'
require 'rubygems/package_task'
$:.unshift 'lib'
require 'pry/version'
CLOBBER.include('**/*~', '**/*#*', '**/*.log')
CLEAN.include('**/*#*', '**/*#*.*', '**/*_flymake*.*', '**/*_flymake', '**/*.rbc', '**/.#*.*')
def apply_spec_defaults(s)
s.name = 'pry'
s.summary = "An IRB alternative and runtime developer console"
s.version = Pry::VERSION
s.date = Time.now.strftime '%Y-%m-%d'
s.authors = ["John Mair (banisterfiend)", "Conrad Irwin"]
s.email = ['jrmair@gmail.com', 'conrad.irwin@gmail.com']
s.description = s.summary
s.homepage = 'http://pry.github.com'
s.executables = ['pry']
s.files = `git ls-files`.split("\n")
s.test_files = `git ls-files -- test/*`.split("\n")
s.add_dependency('coderay', '~> 1.0.5')
s.add_dependency('slop', ['>= 2.4.4', '< 3'])
s.add_dependency('method_source','~> 0.7.1')
s.add_development_dependency('bacon', '~> 1.1')
s.add_development_dependency('open4', '~> 1.3')
s.add_development_dependency('rake', '~> 0.9')
end
def check_dependencies
require 'bundler'
Bundler.definition.missing_specs
eval('nil', TOPLEVEL_BINDING, '<main>') # workaround for issue #395
rescue LoadError
# if Bundler isn't installed, we'll just assume your setup is ok.
rescue Bundler::GemNotFound
raise RuntimeError, "You're missing one or more required gems. Run `bundle install` first."
end
desc "Set up and run tests"
task :default => [:test]
desc "Run tests"
task :test do
check_dependencies unless ENV['SKIP_DEP_CHECK']
sh "bacon -Itest -rubygems -a -q"
end
desc "Run pry"
task :pry do
check_dependencies unless ENV['SKIP_DEP_CHECK']
load 'bin/pry'
end
desc "Show pry version"
task :version do
puts "Pry version: #{Pry::VERSION}"
end
desc "Profile pry's startup time"
task :profile do
require 'profile'
require 'pry'
Pry.start(TOPLEVEL_BINDING, :input => StringIO.new('exit'))
end
desc "Build the gemspec file"
task :gemspec => "ruby:gemspec"
namespace :ruby do
spec = Gem::Specification.new do |s|
apply_spec_defaults(s)
s.platform = Gem::Platform::RUBY
end
Gem::PackageTask.new(spec) do |pkg|
pkg.need_zip = false
pkg.need_tar = false
end
task :gemspec do
File.open("#{spec.name}.gemspec", "w") do |f|
f << spec.to_ruby
end
end
end
namespace :jruby do
spec = Gem::Specification.new do |s|
apply_spec_defaults(s)
s.add_dependency('spoon', '~> 0.0')
s.platform = 'java'
end
Gem::PackageTask.new(spec) do |pkg|
pkg.need_zip = false
pkg.need_tar = false
end
end
[:mingw32, :mswin32].each do |v|
namespace v do
spec = Gem::Specification.new do |s|
apply_spec_defaults(s)
s.add_dependency('win32console', '~> 1.3')
s.platform = "i386-#{v}"
end
Gem::PackageTask.new(spec) do |pkg|
pkg.need_zip = false
pkg.need_tar = false
end
end
end
desc "build all platform gems at once"
task :gems => [:clean, :rmgems, 'ruby:gem', 'mswin32:gem', 'mingw32:gem', 'jruby:gem']
desc "remove all platform gems"
task :rmgems => ['ruby:clobber_package']
desc "reinstall gem"
task :reinstall => :gems do
sh "gem uninstall pry" rescue nil
sh "gem install #{File.dirname(__FILE__)}/pkg/pry-#{Pry::VERSION}.gem"
end
desc "build and push latest gems"
task :pushgems => :gems do
chdir("#{File.dirname(__FILE__)}/pkg") do
Dir["*.gem"].each do |gemfile|
sh "gem push #{gemfile}"
end
end
end
Jump to Line
Something went wrong with that request. Please try again.