Permalink
Browse files

Remove jeweller for simpler hand-rolled release + ruby gemspec, simpl…

…ify Version
  • Loading branch information...
1 parent 32d6a67 commit 60a96b9f84d9a76c42c654472f35fc49bb47a5e5 @ianwhite committed Mar 8, 2011
Showing with 88 additions and 188 deletions.
  1. +1 −18 Gemfile
  2. +3 −10 Gemfile.lock.development
  3. +6 −0 History.txt
  4. +0 −23 Rakefile.d/jeweler.rake
  5. +44 −0 Rakefile.d/release.rake
  6. +0 −1 VERSION
  7. +1 −7 lib/pickle/version.rb
  8. +33 −129 pickle.gemspec
View
19 Gemfile
@@ -1,20 +1,3 @@
source "http://rubygems.org"
-gem "yard"
-gem "rake"
-gem "cucumber", ">=0.8"
-gem "rspec"
-
-group :test do
- gem "rspec-rails"
- gem "rails", "~>2.3"
- gem "cucumber-rails", ">=0.3.2"
- gem "factory_girl"
- gem "machinist"
- gem "jeweler"
- gem "rcov"
- gem "database_cleaner"
- gem "capybara"
- gem "webrat"
- gem "sqlite3-ruby"
-end
+gemspec
View
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
- orm_adapter (0.4.4)
+ pickle (0.4.4)
cucumber (>= 0.8)
rake
rspec (>= 1.3)
@@ -41,14 +41,9 @@ GEM
factory_girl (1.3.2)
ffi (0.6.3)
rake (>= 0.8.7)
- gemcutter (0.6.1)
gherkin (2.1.5)
trollop (~> 1.16.2)
git (1.2.5)
- jeweler (1.4.0)
- gemcutter (>= 0.1.0)
- git (>= 1.2.5)
- rubyforge (>= 2.0.0)
json_pure (1.4.6)
machinist (1.0.6)
mime-types (1.16)
@@ -69,8 +64,6 @@ GEM
rspec-rails (1.3.2)
rack (>= 1.0.0)
rspec (>= 1.3.0)
- rubyforge (2.0.4)
- json_pure (>= 1.1.7)
rubyzip (0.9.4)
selenium-webdriver (0.0.27)
ffi (>= 0.6.1)
@@ -94,9 +87,9 @@ DEPENDENCIES
cucumber-rails (>= 0.3.2)
database_cleaner
factory_girl
- jeweler
+ git (>= 1.2.5)
machinist
- orm_adapter!
+ pickle!
rails (~> 2.3)
rcov
rspec-rails
View
@@ -1,3 +1,9 @@
+== master
+
+* 1 minor improvemeent
+ * Simplify release process, and change Gemspec handling to facilitate faster failing when a development dep becomes incompatible [Ian White]
+
+
== 0.4.4
large object space fix, and allow escaped quotes as string values
View
@@ -1,23 +0,0 @@
-require 'jeweler'
-require 'pickle/version'
-
-Jeweler::Tasks.new do |s|
- s.name = "pickle"
- s.version = Pickle::Version::String
- s.summary = "Easy model creation and reference in your cucumber features"
- s.description = "Easy model creation and reference in your cucumber features"
- s.email = "ian.w.white@gmail.com"
- s.homepage = "http://github.com/ianwhite/pickle/tree"
- s.authors = ["Ian White"]
- s.add_dependency('rspec', ">=1.3")
- s.add_dependency('cucumber', ">=0.8")
- s.add_dependency('yard')
- s.add_dependency('rake')
-end
-
-Jeweler::GemcutterTasks.new
-
-namespace :release do
- desc "release to github and gemcutter"
- task :all => ['release', 'gemcutter:release']
-end
View
@@ -0,0 +1,44 @@
+# tasks for building and releasing the software
+require 'git'
+require 'pickle/version'
+
+task :build do
+ system "gem build pickle.gemspec"
+end
+
+namespace :release do
+ task :rubygems => :pre do
+ system "gem push pickle-#{Pickle::VERSION}.gem"
+ end
+
+ task :github => :pre do
+ tag = "v#{Pickle::VERSION}"
+ git = Git.open('.')
+
+ if (git.tag(tag) rescue nil)
+ raise "** repo is already tagged with: #{tag}"
+ end
+
+ git.add_tag(tag)
+ git.push('origin', tag)
+ end
+
+ task :pre => [:spec, :cucumber, :build] do
+ git = Git.open('.')
+
+ if File.exists?("Gemfile.lock") && File.read("Gemfile.lock") != File.read("Gemfile.lock.development")
+ cp "Gemfile.lock", "Gemfile.lock.development"
+ raise "** Gemfile.lock.development has been updated, please commit these changes."
+ end
+
+ if (git.status.changed + git.status.added + git.status.deleted).any?
+ raise "** repo is not clean, try committing some files"
+ end
+
+ if git.object('HEAD').sha != git.object('origin/master').sha
+ raise "** origin does not match HEAD, have you pushed?"
+ end
+ end
+
+ task :all => ['release:github', 'release:rubygems']
+end
View
@@ -1 +0,0 @@
-0.4.4
View
@@ -1,9 +1,3 @@
module Pickle
- module Version
- String = File.read(File.dirname(__FILE__) + '/../../VERSION').strip
- Array = String.split('.').map{|i| i.to_i}
- Major = Array[0]
- Minor = Array[1]
- Patch = Array[2]
- end
+ VERSION = "0.4.4"
end
View
@@ -1,134 +1,38 @@
-# Generated by jeweler
-# DO NOT EDIT THIS FILE DIRECTLY
-# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
-# -*- encoding: utf-8 -*-
+$:.push File.expand_path("../lib", __FILE__)
+require "pickle/version"
Gem::Specification.new do |s|
- s.name = %q{pickle}
- s.version = "0.4.4"
-
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.name = "pickle"
+ s.version = Pickle::VERSION.dup
+ s.platform = Gem::Platform::RUBY
s.authors = ["Ian White"]
- s.date = %q{2010-12-14}
- s.description = %q{Easy model creation and reference in your cucumber features}
- s.email = %q{ian.w.white@gmail.com}
- s.extra_rdoc_files = [
- "README.rdoc"
- ]
- s.files = [
- ".gitignore",
- "Gemfile",
- "Gemfile.lock",
- "History.txt",
- "License.txt",
- "README.rdoc",
- "Rakefile",
- "Rakefile.d/cucumber.rake",
- "Rakefile.d/jeweler.rake",
- "Rakefile.d/rcov.rake",
- "Rakefile.d/rspec.rake",
- "Rakefile.d/yard.rake",
- "Todo.txt",
- "VERSION",
- "features/app/app.rb",
- "features/app/blueprints.rb",
- "features/app/factories.rb",
- "features/app/views/notifier/email.erb",
- "features/app/views/notifier/user_email.erb",
- "features/email/email.feature",
- "features/generator/generators.feature",
- "features/path/models_page.feature",
- "features/path/named_route_page.feature",
- "features/pickle/create_from_active_record.feature",
- "features/pickle/create_from_factory_girl.feature",
- "features/pickle/create_from_machinist.feature",
- "features/step_definitions/email_steps.rb",
- "features/step_definitions/extra_email_steps.rb",
- "features/step_definitions/fork_steps.rb",
- "features/step_definitions/generator_steps.rb",
- "features/step_definitions/path_steps.rb",
- "features/step_definitions/pickle_steps.rb",
- "features/step_definitions/raise_error_steps.rb",
- "features/support/email.rb",
- "features/support/env.rb",
- "features/support/paths.rb",
- "features/support/pickle.rb",
- "features/support/pickle_app.rb",
- "init.rb",
- "lib/generators/pickle_generator.rb",
- "lib/pickle.rb",
- "lib/pickle/adapter.rb",
- "lib/pickle/adapters/active_record.rb",
- "lib/pickle/adapters/data_mapper.rb",
- "lib/pickle/adapters/mongoid.rb",
- "lib/pickle/config.rb",
- "lib/pickle/email.rb",
- "lib/pickle/email/parser.rb",
- "lib/pickle/email/world.rb",
- "lib/pickle/parser.rb",
- "lib/pickle/parser/matchers.rb",
- "lib/pickle/path.rb",
- "lib/pickle/path/world.rb",
- "lib/pickle/session.rb",
- "lib/pickle/session/parser.rb",
- "lib/pickle/version.rb",
- "lib/pickle/world.rb",
- "pickle.gemspec",
- "rails_generators/pickle/pickle_generator.rb",
- "rails_generators/pickle/templates/email.rb",
- "rails_generators/pickle/templates/email_steps.rb",
- "rails_generators/pickle/templates/paths.rb",
- "rails_generators/pickle/templates/pickle.rb",
- "rails_generators/pickle/templates/pickle_steps.rb",
- "spec/pickle/adapter_spec.rb",
- "spec/pickle/config_spec.rb",
- "spec/pickle/email/parser_spec.rb",
- "spec/pickle/email_spec.rb",
- "spec/pickle/parser/matchers_spec.rb",
- "spec/pickle/parser_spec.rb",
- "spec/pickle/path_spec.rb",
- "spec/pickle/session_spec.rb",
- "spec/pickle_spec.rb",
- "spec/spec_helper.rb"
- ]
- s.homepage = %q{http://github.com/ianwhite/pickle/tree}
- s.rdoc_options = ["--charset=UTF-8"]
- s.require_paths = ["lib"]
- s.rubygems_version = %q{1.3.7}
- s.summary = %q{Easy model creation and reference in your cucumber features}
- s.test_files = [
- "spec/pickle/adapter_spec.rb",
- "spec/pickle/config_spec.rb",
- "spec/pickle/email/parser_spec.rb",
- "spec/pickle/email_spec.rb",
- "spec/pickle/parser/matchers_spec.rb",
- "spec/pickle/parser_spec.rb",
- "spec/pickle/path_spec.rb",
- "spec/pickle/session_spec.rb",
- "spec/pickle_spec.rb",
- "spec/spec_helper.rb"
- ]
+ s.description = "Easy model creation and reference in your cucumber features"
+ s.summary = "Easy model creation and reference in your cucumber features."
+ s.email = "ian.w.white@gmail.com"
+ s.homepage = "http://github.com/ianwhite/pickle"
- if s.respond_to? :specification_version then
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
- s.specification_version = 3
-
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
- s.add_runtime_dependency(%q<rspec>, [">= 1.3"])
- s.add_runtime_dependency(%q<cucumber>, [">= 0.8"])
- s.add_runtime_dependency(%q<yard>, [">= 0"])
- s.add_runtime_dependency(%q<rake>, [">= 0"])
- else
- s.add_dependency(%q<rspec>, [">= 1.3"])
- s.add_dependency(%q<cucumber>, [">= 0.8"])
- s.add_dependency(%q<yard>, [">= 0"])
- s.add_dependency(%q<rake>, [">= 0"])
- end
- else
- s.add_dependency(%q<rspec>, [">= 1.3"])
- s.add_dependency(%q<cucumber>, [">= 0.8"])
- s.add_dependency(%q<yard>, [">= 0"])
- s.add_dependency(%q<rake>, [">= 0"])
- end
-end
+ s.rubyforge_project = "orm_adapter"
+ s.required_rubygems_version = ">= 1.3.6"
+ s.files = `git ls-files`.split("\n")
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
+ s.require_paths = ["lib"]
+
+ s.add_dependency "cucumber", ">=0.8"
+ s.add_dependency "rake"
+ s.add_dependency "rspec", ">=1.3"
+
+ s.add_development_dependency "bundler", ">= 1.0.0"
+ s.add_development_dependency "git", ">= 1.2.5"
+ s.add_development_dependency "yard"
+ s.add_development_dependency "rspec-rails"
+ s.add_development_dependency "rails", "~>2.3"
+ s.add_development_dependency "cucumber-rails", ">=0.3.2"
+ s.add_development_dependency "factory_girl"
+ s.add_development_dependency "machinist"
+ s.add_development_dependency "rcov"
+ s.add_development_dependency "database_cleaner"
+ s.add_development_dependency "capybara"
+ s.add_development_dependency "webrat"
+ s.add_development_dependency "sqlite3-ruby"
+end

0 comments on commit 60a96b9

Please sign in to comment.