Initial commit of the project.
[ccandy.git] / ccandy.gemspec
blob822ee808492ca90e231c03745779e6c1d3d869ac
1 # encoding: utf-8
3 require 'yaml'
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'
14                   Ccandy::VERSION
15                 end
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) }
31   end
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) }
40   })
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])
52     end
53   end
55   if gemspec['development_dependencies']
56     gemspec['development_dependencies'].each do |name,versions|
57       gem.add_development_dependency(name,split[versions])
58     end
59   end
60 end