Gem::Specification.new do |s| s.name = 'bio' s.version = "<% ###### Below is executed in ERB environment ###### # Version can be specified by the environment variable env_ver = ENV['BIORUBY_GEM_VERSION'] env_ver = nil if env_ver.to_s.strip.empty? # By default, determined from lib/bio/version.rb load "./lib/bio/version.rb" unless defined?(BIO_VERSION_RB_LOADED) case Bio::BIORUBY_EXTRA_VERSION when nil suffix = nil when /\A\.(\d+)\z/ suffix = $1 when /\A\-dev\z/ suffix = Time.now.strftime("%Y%m%d") else raise "unsupported BIORUBY_EXTRA_VERSION" end ver = Bio::BIORUBY_VERSION.dup ver.push suffix if suffix %><%= (env_ver || ver.join('.')) ###### Above is executed in ERB environment ###### %>" s.author = "BioRuby project" s.email = "staff@bioruby.org" s.homepage = "http://bioruby.org/" s.license = "Ruby" s.summary = "Bioinformatics library" s.description = "BioRuby is a library for bioinformatics (biology + information science)." s.platform = Gem::Platform::RUBY s.files = [ <% ###### Below is executed in ERB environment ###### # Gets file list from the "git ls-files" command. files = (`git ls-files` rescue nil).to_s.split(/\r?\n/) files.delete_if { |x| x.empty? } # When git-ls-files isn't available, creates a list from current files. if !$? or !($?.success?) or files.size <= 0 then files = [ "README.rdoc", "README_DEV.rdoc", "ChangeLog", "KNOWN_ISSUES.rdoc", "RELEASE_NOTES.rdoc", "Rakefile", "bioruby.gemspec.erb", "bioruby.gemspec", "setup.rb", "extconf.rb", "LEGAL", "COPYING", "COPYING.ja", "GPL", "LGPL" ] + Dir.glob("{bin,doc,etc,gemfiles,lib,sample,test}/**/*").delete_if do |item| case item when /(\A|\/)CVS(\z|\/)/, /(\A|\/)rdoc(\z|\/)/, /\~\z/ true else false end end end %><%= files.sort.collect { |x| x.dump }.join(",\n ") ###### Above is executed in ERB environment ###### %> ] s.has_rdoc = true s.extra_rdoc_files = [ <%= ###### Below is executed in ERB environment ###### # Files whose suffix are .rdoc are selected. rdoc_files = files.find_all { |item| /\.rdoc\z/ =~ item } # Fail safe settings if rdoc_files.empty? then rdoc_files = [ 'README.rdoc', 'README_DEV.rdoc', 'RELEASE_NOTES.rdoc', 'doc/Changes-1.3.rdoc', ] end def rdoc_files.add_file(name) self.push(name) unless self.include?(name) end #rdoc_files.add_file "ChangeLog" #rdoc_files.add_file "LEGAL" rdoc_files.sort.collect { |x| x.dump }.join(",\n ") ###### Above is executed in ERB environment ###### %> ] s.rdoc_options << '--main' << 'README.rdoc' s.rdoc_options << '--title' << 'BioRuby API documentation' s.rdoc_options << '--exclude' << '\.yaml\z' s.rdoc_options << '--line-numbers' << '--inline-source' s.require_path = 'lib' s.bindir = "bin" s.executables = [ <%= ###### Below is executed in ERB environment ###### # Files in bin/ directory are selected. exec_files = files.find_all { |item| /\Abin\// =~ item } # Non-executable files are removed from the list. exec_files.delete_if { |item| !File.executable?(item) } # strip "bin/" exec_files.collect! { |item| item.sub(/\Abin\//, '') } # Fail safe settings if exec_files.empty? then exec_files = [ "bioruby", "br_biofetch.rb", "br_biogetseq.rb", "br_bioflat.rb", "br_pmfetch.rb" ] end exec_files.sort.collect { |x| x.dump }.join(",\n ") ###### Above is executed in ERB environment ###### %> ] s.default_executable = "bioruby" end