From b2d96abb42abbe2e01f010ffc9ac51f0f9a50002 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Wed, 29 Jul 2020 00:31:52 +0900 Subject: Extract version number from the source "requiring version.rb" strategy has some issues. - cannot work when cross-compiling - often introduces wrong namespace - must know the superclasses - costs at each runtime than at build-time etc. --- lib/pstore/pstore.gemspec | 15 +++++++++------ lib/pstore/version.rb | 3 --- 2 files changed, 9 insertions(+), 9 deletions(-) delete mode 100644 lib/pstore/version.rb (limited to 'lib/pstore') diff --git a/lib/pstore/pstore.gemspec b/lib/pstore/pstore.gemspec index e781c77043..d04fddcb0a 100644 --- a/lib/pstore/pstore.gemspec +++ b/lib/pstore/pstore.gemspec @@ -1,12 +1,15 @@ -begin - require_relative "lib/pstore/version" -rescue LoadError # Fallback to load version file in ruby core repository - require_relative "version" +# frozen_string_literal: true + +name = File.basename(__FILE__, ".gemspec") +version = ["lib", Array.new(name.count("-")+1, "..").join("/")].find do |dir| + break File.foreach(File.join(__dir__, dir, "#{name.tr('-', '/')}.rb")) do |line| + /^\s*VERSION\s*=\s*"(.*)"/ =~ line and break $1 + end rescue nil end Gem::Specification.new do |spec| - spec.name = "pstore" - spec.version = PStore::VERSION + spec.name = name + spec.version = version spec.authors = ["Yukihiro Matsumoto"] spec.email = ["matz@ruby-lang.org"] diff --git a/lib/pstore/version.rb b/lib/pstore/version.rb deleted file mode 100644 index 0e7a3fbd15..0000000000 --- a/lib/pstore/version.rb +++ /dev/null @@ -1,3 +0,0 @@ -class PStore - VERSION = "0.1.0" -end -- cgit v1.2.3