From fcad0a41f13f805c068c9423f075d622337b6223 Mon Sep 17 00:00:00 2001 From: Ryan Fitzgerald Date: Tue, 1 Jan 2013 02:38:08 -0800 Subject: [PATCH] Make the .gemspec canonical instead of generated --- Rakefile | 44 +++++------------------------------- pry.gemspec | 65 +++++++++++++++++------------------------------------ 2 files changed, 26 insertions(+), 83 deletions(-) diff --git a/Rakefile b/Rakefile index 7cc776ac..e4aabb26 100644 --- a/Rakefile +++ b/Rakefile @@ -7,30 +7,6 @@ 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", "Ryan Fitzgerald"] - s.email = ['jrmair@gmail.com', 'conrad.irwin@gmail.com', 'rwfitzge@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 -- spec/*`.split("\n") - s.add_dependency('coderay', '~> 1.0.5') - s.add_dependency('slop', ['~> 3.3.1']) - s.add_dependency('method_source','~> 0.8') - s.add_development_dependency('bacon', '~> 1.2') - s.add_development_dependency('open4', '~> 1.3') - s.add_development_dependency('rake', '~> 0.9') - s.add_development_dependency('guard', '~> 1.3.2') - s.add_development_dependency('mocha', '~> 0.13.1') - # TODO: make this a plain dependency: - s.add_development_dependency('bond', '~> 0.4.2') -end - def check_dependencies require 'bundler' Bundler.definition.missing_specs @@ -96,12 +72,12 @@ task :profile do Pry.start(TOPLEVEL_BINDING, :input => StringIO.new('exit')) end -desc "Build the gemspec file" -task :gemspec => "ruby:gemspec" +def modify_base_gemspec + eval(File.read('pry.gemspec')).tap { |s| yield s } +end namespace :ruby do - spec = Gem::Specification.new do |s| - apply_spec_defaults(s) + spec = modify_base_gemspec do |s| s.platform = Gem::Platform::RUBY end @@ -109,17 +85,10 @@ namespace :ruby do 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) + spec = modify_base_gemspec do |s| s.add_dependency('spoon', '~> 0.0') s.platform = 'java' end @@ -133,8 +102,7 @@ end [:mingw32, :mswin32].each do |v| namespace v do - spec = Gem::Specification.new do |s| - apply_spec_defaults(s) + spec = modify_base_gemspec do |s| s.add_dependency('win32console', '~> 1.3') s.platform = "i386-#{v}" end diff --git a/pry.gemspec b/pry.gemspec index 6680c6f8..a9147275 100644 --- a/pry.gemspec +++ b/pry.gemspec @@ -1,55 +1,30 @@ # -*- encoding: utf-8 -*- +require File.expand_path('../lib/pry/version', __FILE__) Gem::Specification.new do |s| - s.name = "pry" - s.version = "0.9.11" + s.name = "pry" + s.version = Pry::VERSION - s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.authors = ["John Mair (banisterfiend)", "Conrad Irwin", "Ryan Fitzgerald"] - s.date = "2012-12-27" - s.description = "An IRB alternative and runtime developer console" s.email = ["jrmair@gmail.com", "conrad.irwin@gmail.com", "rwfitzge@gmail.com"] - s.executables = ["pry"] - s.files = [".document", ".gemtest", ".gitignore", ".travis.yml", ".yardopts", "CHANGELOG", "CONTRIBUTORS", "Gemfile", "Guardfile", "LICENSE", "README.markdown", "Rakefile", "TODO", "bin/pry", "examples/example_basic.rb", "examples/example_command_override.rb", "examples/example_commands.rb", "examples/example_hooks.rb", "examples/example_image_edit.rb", "examples/example_input.rb", "examples/example_input2.rb", "examples/example_output.rb", "examples/example_print.rb", "examples/example_prompt.rb", "examples/helper.rb", "lib/pry.rb", "lib/pry/cli.rb", "lib/pry/code.rb", "lib/pry/code_object.rb", "lib/pry/command.rb", "lib/pry/command_set.rb", "lib/pry/commands.rb", "lib/pry/commands/amend_line.rb", "lib/pry/commands/bang.rb", "lib/pry/commands/bang_pry.rb", "lib/pry/commands/cat.rb", "lib/pry/commands/cd.rb", "lib/pry/commands/disable_pry.rb", "lib/pry/commands/easter_eggs.rb", "lib/pry/commands/edit.rb", "lib/pry/commands/edit_method.rb", "lib/pry/commands/exit.rb", "lib/pry/commands/exit_all.rb", "lib/pry/commands/exit_program.rb", "lib/pry/commands/find_method.rb", "lib/pry/commands/gem_cd.rb", "lib/pry/commands/gem_install.rb", "lib/pry/commands/gem_list.rb", "lib/pry/commands/gem_open.rb", "lib/pry/commands/gist.rb", "lib/pry/commands/help.rb", "lib/pry/commands/hist.rb", "lib/pry/commands/import_set.rb", "lib/pry/commands/install_command.rb", "lib/pry/commands/jump_to.rb", "lib/pry/commands/ls.rb", "lib/pry/commands/nesting.rb", "lib/pry/commands/play.rb", "lib/pry/commands/pry_backtrace.rb", "lib/pry/commands/pry_version.rb", "lib/pry/commands/raise_up.rb", "lib/pry/commands/reload_method.rb", "lib/pry/commands/reset.rb", "lib/pry/commands/ri.rb", "lib/pry/commands/save_file.rb", "lib/pry/commands/shell_command.rb", "lib/pry/commands/shell_mode.rb", "lib/pry/commands/show_command.rb", "lib/pry/commands/show_doc.rb", "lib/pry/commands/show_input.rb", "lib/pry/commands/show_source.rb", "lib/pry/commands/simple_prompt.rb", "lib/pry/commands/stat.rb", "lib/pry/commands/switch_to.rb", "lib/pry/commands/toggle_color.rb", "lib/pry/commands/whereami.rb", "lib/pry/commands/wtf.rb", "lib/pry/completion.rb", "lib/pry/config.rb", "lib/pry/core_extensions.rb", "lib/pry/custom_completions.rb", "lib/pry/helpers.rb", "lib/pry/helpers/base_helpers.rb", "lib/pry/helpers/command_helpers.rb", "lib/pry/helpers/documentation_helpers.rb", "lib/pry/helpers/options_helpers.rb", "lib/pry/helpers/text.rb", "lib/pry/history.rb", "lib/pry/history_array.rb", "lib/pry/hooks.rb", "lib/pry/indent.rb", "lib/pry/method.rb", "lib/pry/module_candidate.rb", "lib/pry/pager.rb", "lib/pry/plugins.rb", "lib/pry/pry_class.rb", "lib/pry/pry_instance.rb", "lib/pry/rbx_method.rb", "lib/pry/rbx_path.rb", "lib/pry/repl_file_loader.rb", "lib/pry/terminal_info.rb", "lib/pry/test/helper.rb", "lib/pry/version.rb", "lib/pry/wrapped_module.rb", "man/pry.1", "man/pry.1.html", "man/pry.1.ronn", "notes.yml", "pry.gemspec", "spec/cli_spec.rb", "spec/code_object_spec.rb", "spec/code_spec.rb", "spec/command_helpers_spec.rb", "spec/command_integration_spec.rb", "spec/command_set_spec.rb", "spec/command_spec.rb", "spec/commands/amend_line_spec.rb", "spec/commands/bang_spec.rb", "spec/commands/cat_spec.rb", "spec/commands/cd_spec.rb", "spec/commands/disable_pry_spec.rb", "spec/commands/edit_method_spec.rb", "spec/commands/edit_spec.rb", "spec/commands/exit_all_spec.rb", "spec/commands/exit_program_spec.rb", "spec/commands/exit_spec.rb", "spec/commands/find_method_spec.rb", "spec/commands/gem_list_spec.rb", "spec/commands/gist_spec.rb", "spec/commands/help_spec.rb", "spec/commands/hist_spec.rb", "spec/commands/jump_to_spec.rb", "spec/commands/ls_spec.rb", "spec/commands/play_spec.rb", "spec/commands/raise_up_spec.rb", "spec/commands/save_file_spec.rb", "spec/commands/show_doc_spec.rb", "spec/commands/show_input_spec.rb", "spec/commands/show_source_spec.rb", "spec/commands/whereami_spec.rb", "spec/completion_spec.rb", "spec/control_d_handler_spec.rb", "spec/exception_whitelist_spec.rb", "spec/fixtures/candidate_helper1.rb", "spec/fixtures/candidate_helper2.rb", "spec/fixtures/example.erb", "spec/fixtures/example_nesting.rb", "spec/fixtures/show_source_doc_examples.rb", "spec/fixtures/testrc", "spec/fixtures/testrcbad", "spec/helper.rb", "spec/helpers/bacon.rb", "spec/helpers/mock_pry.rb", "spec/history_array_spec.rb", "spec/hooks_spec.rb", "spec/indent_spec.rb", "spec/input_stack_spec.rb", "spec/method_spec.rb", "spec/prompt_spec.rb", "spec/pry_defaults_spec.rb", "spec/pry_history_spec.rb", "spec/pry_output_spec.rb", "spec/pry_spec.rb", "spec/sticky_locals_spec.rb", "spec/syntax_checking_spec.rb", "spec/wrapped_module_spec.rb", "wiki/Customizing-pry.md", "wiki/Home.md"] - s.homepage = "http://pry.github.com" - s.require_paths = ["lib"] - s.rubygems_version = "1.8.24" s.summary = "An IRB alternative and runtime developer console" - s.test_files = ["spec/cli_spec.rb", "spec/code_object_spec.rb", "spec/code_spec.rb", "spec/command_helpers_spec.rb", "spec/command_integration_spec.rb", "spec/command_set_spec.rb", "spec/command_spec.rb", "spec/commands/amend_line_spec.rb", "spec/commands/bang_spec.rb", "spec/commands/cat_spec.rb", "spec/commands/cd_spec.rb", "spec/commands/disable_pry_spec.rb", "spec/commands/edit_method_spec.rb", "spec/commands/edit_spec.rb", "spec/commands/exit_all_spec.rb", "spec/commands/exit_program_spec.rb", "spec/commands/exit_spec.rb", "spec/commands/find_method_spec.rb", "spec/commands/gem_list_spec.rb", "spec/commands/gist_spec.rb", "spec/commands/help_spec.rb", "spec/commands/hist_spec.rb", "spec/commands/jump_to_spec.rb", "spec/commands/ls_spec.rb", "spec/commands/play_spec.rb", "spec/commands/raise_up_spec.rb", "spec/commands/save_file_spec.rb", "spec/commands/show_doc_spec.rb", "spec/commands/show_input_spec.rb", "spec/commands/show_source_spec.rb", "spec/commands/whereami_spec.rb", "spec/completion_spec.rb", "spec/control_d_handler_spec.rb", "spec/exception_whitelist_spec.rb", "spec/fixtures/candidate_helper1.rb", "spec/fixtures/candidate_helper2.rb", "spec/fixtures/example.erb", "spec/fixtures/example_nesting.rb", "spec/fixtures/show_source_doc_examples.rb", "spec/fixtures/testrc", "spec/fixtures/testrcbad", "spec/helper.rb", "spec/helpers/bacon.rb", "spec/helpers/mock_pry.rb", "spec/history_array_spec.rb", "spec/hooks_spec.rb", "spec/indent_spec.rb", "spec/input_stack_spec.rb", "spec/method_spec.rb", "spec/prompt_spec.rb", "spec/pry_defaults_spec.rb", "spec/pry_history_spec.rb", "spec/pry_output_spec.rb", "spec/pry_spec.rb", "spec/sticky_locals_spec.rb", "spec/syntax_checking_spec.rb", "spec/wrapped_module_spec.rb"] + s.description = s.summary + s.homepage = "http://pry.github.com" - if s.respond_to? :specification_version then - s.specification_version = 3 + s.executables = ["pry"] + s.require_paths = ["lib"] + s.files = `git ls-files`.split("\n") + s.test_files = `git ls-files -- spec/*`.split("\n") - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q, ["~> 1.0.5"]) - s.add_runtime_dependency(%q, ["~> 3.3.1"]) - s.add_runtime_dependency(%q, ["~> 0.8"]) - s.add_development_dependency(%q, ["~> 1.2"]) - s.add_development_dependency(%q, ["~> 1.3"]) - s.add_development_dependency(%q, ["~> 0.9"]) - s.add_development_dependency(%q, ["~> 1.3.2"]) - s.add_development_dependency(%q, ["~> 0.13.1"]) - s.add_development_dependency(%q, ["~> 0.4.2"]) - else - s.add_dependency(%q, ["~> 1.0.5"]) - s.add_dependency(%q, ["~> 3.3.1"]) - s.add_dependency(%q, ["~> 0.8"]) - s.add_dependency(%q, ["~> 1.2"]) - s.add_dependency(%q, ["~> 1.3"]) - s.add_dependency(%q, ["~> 0.9"]) - s.add_dependency(%q, ["~> 1.3.2"]) - s.add_dependency(%q, ["~> 0.13.1"]) - s.add_dependency(%q, ["~> 0.4.2"]) - end - else - s.add_dependency(%q, ["~> 1.0.5"]) - s.add_dependency(%q, ["~> 3.3.1"]) - s.add_dependency(%q, ["~> 0.8"]) - s.add_dependency(%q, ["~> 1.2"]) - s.add_dependency(%q, ["~> 1.3"]) - s.add_dependency(%q, ["~> 0.9"]) - s.add_dependency(%q, ["~> 1.3.2"]) - s.add_dependency(%q, ["~> 0.13.1"]) - s.add_dependency(%q, ["~> 0.4.2"]) - end + s.add_dependency 'coderay', '~> 1.0.5' + s.add_dependency 'slop', '~> 3.3.1' + s.add_dependency 'method_source', '~> 0.8' + + s.add_development_dependency 'bacon', '~> 1.2' + s.add_development_dependency 'open4', '~> 1.3' + s.add_development_dependency 'rake', '~> 0.9' + s.add_development_dependency 'guard', '~> 1.3.2' + s.add_development_dependency 'mocha', '~> 0.13.1' + # TODO: make this a plain dependency: + s.add_development_dependency 'bond', '~> 0.4.2' end