5 Gem::Specification.new do |gem|
6 gemspec = YAML.load_file('gemspec.yml')
8 gem.name = gemspec.fetch('name')
9 gem.version = gemspec.fetch('version') do
10 lib_dir = File.join(File.dirname(__FILE__),'lib')
11 $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
13 require 'ccandy/version'
17 gem.summary = gemspec['summary']
18 gem.description = gemspec['description']
19 gem.licenses = Array(gemspec['license'])
20 gem.authors = Array(gemspec['authors'])
21 gem.email = gemspec['email']
22 gem.homepage = gemspec['homepage']
24 glob = lambda { |patterns| gem.files & Dir[*patterns] }
26 gem.files = `git ls-files`.split($/)
27 gem.files = glob[gemspec['files']] if gemspec['files']
29 gem.executables = gemspec.fetch('executables') do
30 glob['bin/*'].map { |path| File.basename(path) }
32 gem.default_executable = gem.executables.first if Gem::VERSION < '1.7.'
34 gem.extensions = glob[gemspec['extensions'] || 'ext/**/extconf.rb']
35 gem.test_files = glob[gemspec['test_files'] || '{test/{**/}*_test.rb']
36 gem.extra_rdoc_files = glob[gemspec['extra_doc_files'] || '*.{txt,md}']
38 gem.require_paths = Array(gemspec.fetch('require_paths') {
39 %w[ext lib].select { |dir| File.directory?(dir) }
42 gem.requirements = gemspec['requirements']
43 gem.required_ruby_version = gemspec['required_ruby_version']
44 gem.required_rubygems_version = gemspec['required_rubygems_version']
45 gem.post_install_message = gemspec['post_install_message']
47 split = lambda { |string| string.split(/,\s*/) }
49 if gemspec['dependencies']
50 gemspec['dependencies'].each do |name,versions|
51 gem.add_dependency(name,split[versions])
55 if gemspec['development_dependencies']
56 gemspec['development_dependencies'].each do |name,versions|
57 gem.add_development_dependency(name,split[versions])