Skip to content

Commit

Permalink
Merge branch 'master' into spec-activerecord
Browse files Browse the repository at this point in the history
  • Loading branch information
winton committed Dec 29, 2010
2 parents efbfc27 + 3bcd4eb commit 966ea07
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 53 deletions.
70 changes: 19 additions & 51 deletions Rakefile
Expand Up @@ -31,30 +31,24 @@ if defined?(Spec::Rake::SpecTask)
end end


namespace :gems do namespace :gems do
desc "Install gems (DEV=1|0 DOCS=1|0 SUDO=1|0)" desc "Install gems (DEV=0 DOCS=0 GEMSPEC=default SUDO=0)"
task :install do task :install do
file = File.dirname(__FILE__) + '/gems' dev = ENV['DEV'] == '1'
sudo = (ENV['SUDO'] ||= '0').to_i docs = ENV['DOCS'] == '1' ? '' : '--no-ri --no-rdoc'
docs = (ENV['DOCS'] ||= '0').to_i gemset = ENV['GEMSET']
sudo = sudo == 1 ? 'sudo' : '' sudo = ENV['SUDO'] == '1' ? 'sudo' : ''
docs = docs == 1 ? '' : '--no-ri --no-rdoc'
gems = []


if File.exists?(file) GemTemplate::Gems.gemset = gemset if gemset
File.open(file, 'r') do |f|
gems = f.readlines.collect do |line| if dev
line.split(' ') gems = GemTemplate::Gems.gemspec.development_dependencies
end
end
else else
gems = GemTemplate::Gems::TYPES[:gemspec] gems = GemTemplate::Gems.gemspec.dependencies
gems = GemTemplate::Gems::TYPES[:gemspec_dev] if ENV['DEV'] == '1'
gems.collect! do |g|
[ g.to_s, GemTemplate::Gems::VERSIONS[g] ]
end
end end


gems.each do |(name, version)| gems.each do |name|
name = name.to_s
version = GemTemplate::Gems.versions[name]
if Gem.source_index.find_name(name, version).empty? if Gem.source_index.find_name(name, version).empty?
version = version ? "-v #{version}" : '' version = version ? "-v #{version}" : ''
system "#{sudo} gem install #{name} #{version} #{docs}" system "#{sudo} gem install #{name} #{version} #{docs}"
Expand All @@ -65,41 +59,15 @@ namespace :gems do
end end
end end


desc "Install gem locally"
task :install => :package do
sh %{gem install pkg/#{gemspec.name}-#{gemspec.version}}
end

desc "Validate the gemspec" desc "Validate the gemspec"
task :gemspec do task :gemspec do
gemspec.validate gemspec.validate
end end


task :package => :gemspec desc "Install gem locally"
task :default => :spec task :install => :package do
sh %{gem install pkg/#{gemspec.name}-#{gemspec.version}}
end


# DELETE AFTER USING task :default => :spec
desc "Rename project" task :package => :gemspec
task :rename do
name = ENV['NAME'] || File.basename(Dir.pwd)
camelize = lambda do |str|
str.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
end
dir = Dir['**/gem_template*']
begin
from = dir.pop
if from
to = from.split('/')
to[-1].gsub!('gem_template', name)
FileUtils.mv(from, to.join('/'))
end
end while dir.length > 0
Dir["**/*"].each do |path|
if File.file?(path)
`sed -i '' 's/gem_template/#{name}/g' #{path}`
`sed -i '' 's/GemTemplate/#{camelize.call(name)}/g' #{path}`
no_space = File.read(path).gsub(/\s+\z/, '')
File.open(path, 'w') { |f| f.write(no_space) }
end
end
end
6 changes: 6 additions & 0 deletions gem_template.gemspec
@@ -1,4 +1,10 @@
# -*- encoding: utf-8 -*- # -*- encoding: utf-8 -*-
lib = File.expand_path('../lib/', __FILE__)
$:.unshift lib unless $:.include?(lib)

require 'gem_template/gems'
GemTemplate::Gems.gemset ||= :default

Gem::Specification.new do |s| Gem::Specification.new do |s|
GemTemplate::Gems.gemspec.hash.each do |key, value| GemTemplate::Gems.gemspec.hash.each do |key, value|
unless %w(dependencies development_dependencies).include?(key) unless %w(dependencies development_dependencies).include?(key)
Expand Down
1 change: 0 additions & 1 deletion lib/gem_template/gems.rb
Expand Up @@ -23,7 +23,6 @@ def initialize(hash)
Gems.config = SimpleStruct.new( Gems.config = SimpleStruct.new(
:gemsets => [ "#{File.expand_path('../../../', __FILE__)}/config/gemsets.yml" ], :gemsets => [ "#{File.expand_path('../../../', __FILE__)}/config/gemsets.yml" ],
:gemspec => "#{File.expand_path('../../../', __FILE__)}/config/gemspec.yml", :gemspec => "#{File.expand_path('../../../', __FILE__)}/config/gemspec.yml",
:testing => false,
:warn => true :warn => true
) )


Expand Down
1 change: 0 additions & 1 deletion spec/gem_template/gems_spec.rb
Expand Up @@ -9,7 +9,6 @@
GemTemplate::Gems.config.gemsets = [ GemTemplate::Gems.config.gemsets = [
"#{$root}/spec/fixtures/gemsets.yml" "#{$root}/spec/fixtures/gemsets.yml"
] ]
GemTemplate::Gems.config.testing = true
GemTemplate::Gems.config.warn = true GemTemplate::Gems.config.warn = true


GemTemplate::Gems.gemspec true GemTemplate::Gems.gemspec true
Expand Down

0 comments on commit 966ea07

Please sign in to comment.