Skip to content

Commit

Permalink
Remove Jeweler
Browse files Browse the repository at this point in the history
Gems are just as easy to release without Jeweler than it is with it.  It
usually gets needlessly injected as a runtime dependency (the gemspec it
generated for soca did mark itself as a development dependency in one of
the conditional branches, but in reality, using rubygems 1.8.7 and ruby
1.9.2, it's getting included as a runtime dependency). Why does this
matter?  Jeweler has other dependencies, such as bundler.  Not only such
as bundler, but bundler 1.0! If you are using bundler 1.1, you get
needless dependency headaches.

True, this could be fixed upstream in jeweler. But I don't think it's
worth it since it is so easy (easier?) to build gems without jeweler.

There was a place for jeweler back when we had servers that built gems
automatically. Since now the convention is to build the gem locally and
push it to the server, we can write as much ruby code as we like in the
gemspec. The gemspec gets expanded and re-serialized without the code,
so you can use things like Date.today, etc. (tar xzf the generated gem
if you don't believe me)
  • Loading branch information
timcharper committed Oct 28, 2011
1 parent eb84d42 commit f47f9b8
Show file tree
Hide file tree
Showing 7 changed files with 61 additions and 226 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -20,3 +20,4 @@ rdoc
pkg

## PROJECT::SPECIFIC
*.gem
17 changes: 1 addition & 16 deletions Gemfile
@@ -1,19 +1,4 @@
# A sample Gemfile
source "http://rubygems.org"

gem 'json', '~>1.4.6'
gem 'mime-types', '~>1.16'
gem 'typhoeus', '~>0.2.4'
gem 'thor', '~>0.14.0'
gem 'jim', '~>0.3.1'
gem 'compass', '~>0.10.5'
gem 'mustache', '~>0.11.2'
gem 'coffee-script', '~> 2.1.2'
group :development do
gem 'rake'
gem 'jeweler'
gem "yard", ">= 0"
end
group :test do
gem "shoulda", ">= 0"
end
gemspec
54 changes: 30 additions & 24 deletions Gemfile.lock
@@ -1,21 +1,34 @@
PATH
remote: .
specs:
soca (0.2.0)
coffee-script (~> 2.1.2)
compass (~> 0.10.5)
jim (~> 0.3.1)
json (~> 1.4.6)
mime-types (~> 1.16)
mustache (~> 0.11.2)
thor (~> 0.14.0)
typhoeus (~> 0.2.4)

GEM
remote: http://rubygems.org/
specs:
archive-tar-minitar (0.5.2)
coffee-script (2.1.3)
coffee-script-source
coffee-script-source (1.0.1)
coffee-script-source (1.1.2)
compass (0.10.6)
haml (>= 3.0.4)
downlow (0.1.4)
archive-tar-minitar (>= 0.5.2)
rubyzip (>= 0.9.4)
fakeweb (1.3.0)
fssm (0.2.5)
fssm (0.2.7)
git (1.2.5)
haml (3.0.25)
jeweler (1.5.2)
bundler (~> 1.0.0)
haml (3.1.3)
jeweler (1.6.4)
bundler (~> 1.0)
git (>= 1.2.5)
rake
jim (0.3.1)
Expand All @@ -38,39 +51,32 @@ GEM
yajl-ruby
yajl-ruby
json (1.4.6)
leftright (0.9.0)
mime-types (1.16)
mocha (0.9.10)
rake
leftright (0.9.1)
metaclass (0.0.1)
mime-types (1.17.2)
mocha (0.10.0)
metaclass (~> 0.0.1)
mustache (0.11.2)
rack (1.2.1)
rack-test (0.5.7)
rack (1.3.5)
rack-test (0.6.1)
rack (>= 1.0)
rake (0.8.7)
rake (0.9.2.2)
rubyzip (0.9.4)
shoulda (2.11.3)
test-unit (2.1.2)
test-unit (2.4.0)
thor (0.14.6)
typhoeus (0.2.4)
mime-types
mime-types
version_sorter (1.1.0)
yajl-ruby (0.8.0)
yard (0.6.4)
yajl-ruby (1.0.0)
yard (0.7.3)

PLATFORMS
ruby

DEPENDENCIES
coffee-script (~> 2.1.2)
compass (~> 0.10.5)
jeweler
jim (~> 0.3.1)
json (~> 1.4.6)
mime-types (~> 1.16)
mustache (~> 0.11.2)
rake
shoulda
thor (~> 0.14.0)
typhoeus (~> 0.2.4)
soca!
yard
27 changes: 0 additions & 27 deletions Rakefile
Expand Up @@ -3,33 +3,6 @@ require 'soca'
require 'bundler'
Bundler.require

begin
require 'jeweler'
Jeweler::Tasks.new do |gem|
gem.name = "soca"
gem.version = Soca::VERSION
gem.summary = %Q{Sammy on CouchApp}
gem.description = %Q{soca is a different way of writing apps for CouchDB. The structure is up to you.}
gem.email = "aaron@quirkey.com"
gem.homepage = "http://github.com/quirkey/soca"
gem.authors = ["Aaron Quint"]
gem.add_dependency 'json', '~>1.4.6'
gem.add_dependency 'mime-types', '~>1.16'
gem.add_dependency 'typhoeus', '~>0.2.4'
gem.add_dependency 'thor', '~>0.14.0'
gem.add_dependency 'jim', '~>0.3.1'
gem.add_dependency 'compass', '~>0.10.5'
gem.add_dependency 'mustache', '~>0.11.2'
gem.add_dependency 'coffee-script', '~> 2.1.2'
gem.add_development_dependency "shoulda", ">= 0"
gem.add_development_dependency "yard", ">= 0"
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
end
Jeweler::GemcutterTasks.new
rescue LoadError
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
end

require 'rake/testtask'
Rake::TestTask.new(:test) do |test|
test.libs << 'lib' << 'test'
Expand Down
1 change: 1 addition & 0 deletions VERSION
@@ -0,0 +1 @@
0.2.0
2 changes: 1 addition & 1 deletion lib/soca.rb
Expand Up @@ -7,7 +7,7 @@
$LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__))))

module Soca
VERSION = '0.2.0'
VERSION = File.read(File.expand_path("../VERSION", File.dirname(__FILE__))).chomp

class << self
attr_accessor :debug
Expand Down
185 changes: 27 additions & 158 deletions soca.gemspec
@@ -1,166 +1,35 @@
# Generated by jeweler
# DO NOT EDIT THIS FILE DIRECTLY
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
# -*- encoding: utf-8 -*-

Gem::Specification.new do |s|
s.name = %q{soca}
s.version = "0.2.0"
s.name = 'soca'
s.version = File.read(File.expand_path("VERSION", File.dirname(__FILE__))).chomp

s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.authors = ["Aaron Quint"]
s.date = %q{2011-03-21}
s.default_executable = %q{soca}
s.description = %q{soca is a different way of writing apps for CouchDB. The structure is up to you.}
s.email = %q{aaron@quirkey.com}
s.executables = ["soca"]
s.extra_rdoc_files = [
"LICENSE",
"README.md"
]
s.files = [
".document",
"Gemfile",
"Gemfile.lock",
"HISTORY",
"LICENSE",
"README.md",
"Rakefile",
"bin/soca",
"lib/soca.rb",
"lib/soca/cli.rb",
"lib/soca/plugin.rb",
"lib/soca/plugins/coffeescript.rb",
"lib/soca/plugins/compass.rb",
"lib/soca/plugins/jim.rb",
"lib/soca/plugins/macro.rb",
"lib/soca/plugins/mustache.rb",
"lib/soca/pusher.rb",
"lib/soca/templates/Jimfile",
"lib/soca/templates/config.js.erb",
"lib/soca/templates/couchapprc.erb",
"lib/soca/templates/css/screen.css",
"lib/soca/templates/db/views/by_type/map.js",
"lib/soca/templates/hooks/before_build.rb",
"lib/soca/templates/index.html.erb",
"lib/soca/templates/js/app.js",
"lib/soca/templates/js/vendor/jquery-1.4.2.js",
"lib/soca/templates/js/vendor/jquery.couch-0.11.js",
"lib/soca/templates/js/vendor/sammy-0.6.3.js",
"lib/soca/templates/js/vendor/sammy.couch-0.1.0.js",
"lib/soca/templates/js/vendor/sha1.js",
"lib/soca/templates/rewrites.js.erb",
"soca.gemspec",
"test/helper.rb",
"test/test_plugins.rb",
"test/test_soca_cli.rb",
"test/test_soca_pusher.rb",
"test/testapp/.couchapprc",
"test/testapp/Jimfile",
"test/testapp/config.js",
"test/testapp/css/app.css",
"test/testapp/db/views/only_map/map.js",
"test/testapp/db/views/recent/map.js",
"test/testapp/db/views/recent/reduce.js",
"test/testapp/hooks/before_build.rb",
"test/testapp/hooks/before_push.rb",
"test/testapp/index.html",
"test/testapp/js/app.js",
"test/testapp/js/default.js",
"test/testapp/js/vendor/jquery-1.4.2.js",
"test/testapp/js/vendor/json2.js",
"test/testapp/js/vendor/sammy-0.5.4.js",
"test/testapp/js/vendor/sammy.mustache-0.5.4.js",
"test/testapp/rewrites.js",
"test/testapp/templates/index.mustache"
]
s.homepage = %q{http://github.com/quirkey/soca}
s.require_paths = ["lib"]
s.rubygems_version = %q{1.3.7}
s.summary = %q{Sammy on CouchApp}
s.test_files = [
"test/helper.rb",
"test/test_plugins.rb",
"test/test_soca_cli.rb",
"test/test_soca_pusher.rb",
"test/testapp/hooks/before_build.rb",
"test/testapp/hooks/before_push.rb"
]
s.authors = ['Aaron Quint']
s.date = Date.today
s.default_executable = 'soca'
s.description = 'soca is a different way of writing apps for CouchDB. The structure is up to you.'
s.email = 'aaron@quirkey.com'
s.executables = ['soca']
s.homepage = 'http://github.com/quirkey/soca'
s.rubygems_version = '1.3.7'
s.summary = 'Sammy on CouchApp'
s.require_paths = ['lib']

if s.respond_to? :specification_version then
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
s.specification_version = 3
s.files = %w[.document Gemfile Gemfile.lock HISTORY LICENSE VERSION README.md Rakefile] + Dir.glob('{lib,test}/**/*')
s.extra_rdoc_files = %w[LICENSE README.md]
s.test_files = Dir.glob('test/**/*.rb')

if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
s.add_runtime_dependency(%q<json>, ["~> 1.4.6"])
s.add_runtime_dependency(%q<mime-types>, ["~> 1.16"])
s.add_runtime_dependency(%q<typhoeus>, ["~> 0.2"])
s.add_runtime_dependency(%q<thor>, ["~> 0.14.0"])
s.add_runtime_dependency(%q<jim>, ["~> 0.3.1"])
s.add_runtime_dependency(%q<compass>, ["~> 0.10.5"])
s.add_runtime_dependency(%q<mustache>, ["~> 0.11.2"])
s.add_runtime_dependency(%q<coffee-script>, ["~> 2.1.2"])
s.add_development_dependency(%q<rake>, [">= 0"])
s.add_development_dependency(%q<jeweler>, [">= 0"])
s.add_development_dependency(%q<shoulda>, [">= 0"])
s.add_development_dependency(%q<yard>, [">= 0"])
s.add_runtime_dependency(%q<json>, ["~> 1.4.6"])
s.add_runtime_dependency(%q<mime-types>, ["~> 1.16"])
s.add_runtime_dependency(%q<typhoeus>, ["~> 0.2"])
s.add_runtime_dependency(%q<thor>, ["~> 0.14.0"])
s.add_runtime_dependency(%q<jim>, ["~> 0.3.1"])
s.add_runtime_dependency(%q<compass>, ["~> 0.10.5"])
s.add_runtime_dependency(%q<mustache>, ["~> 0.11.2"])
s.add_runtime_dependency(%q<coffee-script>, ["~> 2.1.2"])
s.add_development_dependency(%q<shoulda>, [">= 0"])
s.add_development_dependency(%q<yard>, [">= 0"])
else
s.add_dependency(%q<json>, ["~> 1.4.6"])
s.add_dependency(%q<mime-types>, ["~> 1.16"])
s.add_dependency(%q<typhoeus>, ["~> 0.2"])
s.add_dependency(%q<thor>, ["~> 0.14.0"])
s.add_dependency(%q<jim>, ["~> 0.3.1"])
s.add_dependency(%q<compass>, ["~> 0.10.5"])
s.add_dependency(%q<mustache>, ["~> 0.11.2"])
s.add_dependency(%q<coffee-script>, ["~> 2.1.2"])
s.add_dependency(%q<rake>, [">= 0"])
s.add_dependency(%q<jeweler>, [">= 0"])
s.add_dependency(%q<shoulda>, [">= 0"])
s.add_dependency(%q<yard>, [">= 0"])
s.add_dependency(%q<json>, ["~> 1.4.6"])
s.add_dependency(%q<mime-types>, ["~> 1.16"])
s.add_dependency(%q<typhoeus>, ["~> 0.2"])
s.add_dependency(%q<thor>, ["~> 0.14.0"])
s.add_dependency(%q<jim>, ["~> 0.3.1"])
s.add_dependency(%q<compass>, ["~> 0.10.5"])
s.add_dependency(%q<mustache>, ["~> 0.11.2"])
s.add_dependency(%q<coffee-script>, ["~> 2.1.2"])
s.add_dependency(%q<shoulda>, [">= 0"])
s.add_dependency(%q<yard>, [">= 0"])
end
else
s.add_dependency(%q<json>, ["~> 1.4.6"])
s.add_dependency(%q<mime-types>, ["~> 1.16"])
s.add_dependency(%q<typhoeus>, ["~> 0.2"])
s.add_dependency(%q<thor>, ["~> 0.14.0"])
s.add_dependency(%q<jim>, ["~> 0.3.1"])
s.add_dependency(%q<compass>, ["~> 0.10.5"])
s.add_dependency(%q<mustache>, ["~> 0.11.2"])
s.add_dependency(%q<coffee-script>, ["~> 2.1.2"])
s.add_dependency(%q<rake>, [">= 0"])
s.add_dependency(%q<jeweler>, [">= 0"])
s.add_dependency(%q<shoulda>, [">= 0"])
s.add_dependency(%q<yard>, [">= 0"])
s.add_dependency(%q<json>, ["~> 1.4.6"])
s.add_dependency(%q<mime-types>, ["~> 1.16"])
s.add_dependency(%q<typhoeus>, ["~> 0.2"])
s.add_dependency(%q<thor>, ["~> 0.14.0"])
s.add_dependency(%q<jim>, ["~> 0.3.1"])
s.add_dependency(%q<compass>, ["~> 0.10.5"])
s.add_dependency(%q<mustache>, ["~> 0.11.2"])
s.add_dependency(%q<coffee-script>, ["~> 2.1.2"])
s.add_dependency(%q<shoulda>, [">= 0"])
s.add_dependency(%q<yard>, [">= 0"])
end
s.add_dependency 'json' , '~>1.4.6'
s.add_dependency 'mime-types' , '~>1.16'
s.add_dependency 'typhoeus' , '~>0.2.4'
s.add_dependency 'thor' , '~>0.14.0'
s.add_dependency 'jim' , '~>0.3.1'
s.add_dependency 'compass' , '~>0.10.5'
s.add_dependency 'mustache' , '~>0.11.2'
s.add_dependency 'coffee-script' , '~> 2.1.2'

s.add_development_dependency 'rake'
s.add_development_dependency 'yard', '>= 0'
s.add_development_dependency 'shoulda', '>= 0'
end

0 comments on commit f47f9b8

Please sign in to comment.