open_namespace.gemspec in open_namespace-0.4.0 vs open_namespace.gemspec in open_namespace-0.4.1
- old
+ new
@@ -1,102 +1,80 @@
# encoding: utf-8
require 'yaml'
Gem::Specification.new do |gemspec|
- files = if File.directory?('.git')
- `git ls-files`.split($/)
- elsif File.directory?('.hg')
- `hg manifest`.split($/)
- elsif File.directory?('.svn')
- `svn ls -R`.split($/).select { |path| File.file?(path) }
- else
- Dir['{**/}{.*,*}'].select { |path| File.file?(path) }
- end
+ root = File.dirname(__FILE__)
+ lib_dir = File.join(root,'lib')
+ files = `git ls-files`.split($/)
filter_files = lambda { |paths|
- case paths
- when Array
- (files & paths)
- when String
- (files & Dir[paths])
- end
+ files & case paths
+ when Array
+ paths
+ when String
+ Dir[paths]
+ end
}
version = {
- :file => 'lib/open_namespace/version.rb',
+ :file => 'open_namespace/version',
:constant => 'OpenNamespace::VERSION'
}
defaults = {
- 'name' => File.basename(File.dirname(__FILE__)),
- 'files' => files,
- 'executables' => filter_files['bin/*'].map { |path| File.basename(path) },
- 'test_files' => filter_files['{test/{**/}*_test.rb,spec/{**/}*_spec.rb}'],
- 'extra_doc_files' => filter_files['*.{txt,rdoc,md,markdown,tt,textile}'],
+ 'name' => File.basename(root),
+ 'files' => files,
+ 'require_paths' => ['ext', 'lib'].select { |dir| File.directory?(dir) },
+ 'executables' => filter_files['bin/*'].map { |path| File.basename(path) },
+ 'test_files' => filter_files['{test/{**/}*_test.rb,spec/{**/}*_spec.rb}'],
+ 'doc_files' => filter_files['*.{txt,rdoc,md,markdown,tt,textile}'],
+ 'extra_doc_files' => filter_files['*.{txt,rdoc,md,markdown,tt,textile}']
}
metadata = defaults.merge(YAML.load_file('gemspec.yml'))
- gemspec.name = metadata['name']
+ gemspec.name = metadata['name']
gemspec.version = if metadata['version']
metadata['version']
- elsif File.file?(version[:file])
- require File.join('.',version[:file])
+ else
+ $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
+
+ require version[:file]
eval(version[:constant])
end
- gemspec.summary = metadata.fetch('summary',metadata['description'])
+ gemspec.summary = metadata.fetch('summary',metadata['description'])
gemspec.description = metadata.fetch('description',metadata['summary'])
- case metadata['license']
- when Array
- gemspec.licenses = metadata['license']
- when String
- gemspec.license = metadata['license']
- end
+ gemspec.licenses = Array(metadata['license'])
+ gemspec.authors = Array(metadata['authors'])
- case metadata['authors']
- when Array
- gemspec.authors = metadata['authors']
- when String
- gemspec.author = metadata['authors']
- end
-
- gemspec.email = metadata['email']
+ gemspec.email = metadata['email']
gemspec.homepage = metadata['homepage']
- case metadata['require_paths']
- when Array
- gemspec.require_paths = metadata['require_paths']
- when String
- gemspec.require_path = metadata['require_paths']
- end
+ gemspec.require_paths = Array(metadata['require_paths'])
+ gemspec.files = filter_files[metadata['files']]
+ gemspec.files += Array(metadata['generated_files'])
+ gemspec.executables = metadata['executables']
+ gemspec.extensions = metadata['extensions']
- gemspec.files = filter_files[metadata['files']]
-
- gemspec.executables = metadata['executables']
- gemspec.extensions = metadata['extensions']
-
if Gem::VERSION < '1.7.'
gemspec.default_executable = gemspec.executables.first
end
- gemspec.test_files = filter_files[metadata['test_files']]
+ gemspec.test_files = filter_files[metadata['test_files']]
+ gemspec.extra_rdoc_files = Array(metadata['extra_doc_files'])
- unless gemspec.files.include?('.document')
- gemspec.extra_rdoc_files = metadata['extra_doc_files']
- end
-
gemspec.post_install_message = metadata['post_install_message']
- gemspec.requirements = metadata['requirements']
+ gemspec.requirements = metadata['requirements']
if gemspec.respond_to?(:required_ruby_version=)
gemspec.required_ruby_version = metadata['required_ruby_version']
end
if gemspec.respond_to?(:required_rubygems_version=)
- gemspec.required_rubygems_version = metadata['required_rubygems_version']
+ gemspec.required_rubygems_version = metadata['required_ruby_version']
end
parse_versions = lambda { |versions|
case versions
when Array